Re: CSVR + eABF, system temperature set to zero

From: Jérôme Hénin (
Date: Tue Feb 12 2019 - 07:10:26 CST

Dear Michael,

On Tue, 12 Feb 2019 at 05:18, Giacomo Fiorin <>

> This is not a bug, but to paraphrase a major software house, "it's a (lack
> of) a feature" :-) NAMD does not have a general method to provide the
> ensemble's target temperature, but it can be given one, so that these cases
> are all considered.
> If you would like, you can modify the code yourself with your patch for
> everybody's benefit at
> I'll let others comment on the role of the temperature in the various
> estimators, but seeing as kT appears at the denominator of many quantities
> the derivation of any sampling method is flawed for T=0.
> Giacomo
> On Mon, Feb 11, 2019, 7:53 PM Michael von Domaros <
> wrote:
>> Dear NAMD users,
>> I'm trying to run meta-eABF in combination with the CSVR thermostat. When
>> doing so, I get the error message "WARNING: ABF should not be run without a
>> thermostat or at 0 Kelvin!".
>> This appears to be the case, because the function cvm::temperature()
>> returns 0.0 K for CSVR, which is because CSVR is not included in
>> colvarproxy_namd.C. After I added the corresponding if statement, the
>> warning went away. Is this a bug?
>> Related question: Why is loweAnderson commented out at the same place?
I'm not sure. It's been that way ever since that code was written,
apparently. I don't see a reason not to enable it.

> Are there compelling reasons why one should not use any of these
>> thermostats with eABF?
Velocity rescaling does not generate a correct statistical ensemble, and I
don't know of a good reason to use it for anything at all, really.

> Second problem: As far as I understand the code, cvm::temperature() is
>> also used in the calculation of the CZAR gradients in
>> colvarbias_abf::write_gradient_samples(). A system temperature of zero
>> would make the kT ln(rho(z)) term of the czar estimator zero, so results
>> would be wrong. Is this correct?
That is correct. Neither CZAR, nor ABF, nor free energy in general makes
much sense at T=0K.

> I'm asking, because a co-worker is doing meta-eABF with CSVR in NAMD and
>> her PMF's converge to those obtained through ABF with a langevin
>> thermostat, despite of these issues above. When I asked her to do a 0
>> length run with langevin on, which should rewrite the CZAR files with the
>> correct temperature, she observed discontinuities in her PMF at the window
>> boundaries.
That may also involve a separate issue, which is that CZAR is defined based
on sampling in a contiguous window. Stitching together separate windows
will produce artefacts. The correct way to combine those windows is to run
CZAR in each window individually, and then merge the resulting free energy
gradients "by hand", and integrate them. I still need to clarify this in
the documentation.


This archive was generated by hypermail 2.1.6 : Thu Dec 31 2020 - 23:17:10 CST