Re: CSVR + eABF, system temperature set to zero

From: Giacomo Fiorin (giacomo.fiorin_at_gmail.com)
Date: Tue Feb 12 2019 - 07:19:53 CST

On Tue, Feb 12, 2019 at 8:10 AM Jérôme Hénin <jerome.henin_at_ibpc.fr> wrote:

> Dear Michael,
>
>
> On Tue, 12 Feb 2019 at 05:18, Giacomo Fiorin <giacomo.fiorin_at_gmail.com>
> wrote:
>
>> 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 https://github.com/Colvars/colvars.
>>
>> 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 <mail_at_vondomaros.eu
>> 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.
>

This is probably true about Lowe-Andersen, but Bussi's CSVR thermostat
should probably be accounted for.

>
>
>> 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.
>
> Best,
> Jerome
>
>

-- 
Giacomo Fiorin
Associate Professor of Research, Temple University, Philadelphia, PA
Contractor, National Institutes of Health, Bethesda, MD
http://goo.gl/Q3TBQU
https://github.com/giacomofiorin

This archive was generated by hypermail 2.1.6 : Tue Dec 31 2019 - 23:20:29 CST