Re: [AMBER] Assigning new velocities from Maxwell-Boltzmann distribution (ntx = 1)

From: German P. Barletta <pbarletta.gmail.com>
Date: Tue, 11 Aug 2020 20:46:27 -0300

Thank you for your answers. I tried setting the temperature with ptraj but
ran into a new problem.

Taking the 7th frame and assigning new velocities to the whole system and
letting cpptraj know I intend to use SHAKE for all hydrogens:
----
parm lb3f.prmtop
trajin lb3f.nc 7 7
setvelocity ntc 2
trajout a.rst7
go
----
Checking everything went ok:
----
parm lb3f.prmtop
trajin a.rst7
temperature ntc 2 out temp
go
----
But the bad news is temp file looks like this:
----
#Frame    Tdata_00001
      1     213.6664
----from
I checked the source code and *setvelocity* looks fine but *temperature* does
a weird thing:
------------
double Frame::CalcTemperature(AtomMask const& mask, int deg_of_freedom)
const {
...
double fac = (Constants::GASK_KCAL/2.0) * deg_of_freedom; // Estimate for
DoF
...
 total_KE *= 0.5;
 return total_KE / fac;
------------
If I'm not mistaken, the 2.0 and the 0.5 cancel each other.
Being suspicious of the *temperature* function, I launched a replica from
my *a.rst7* frame without restarting simulation and reading the velocities.
I also set *ntpr = 1* so I could get the temperature after the 1st step.
Sure enough, *pmemd.cuda* agrees with *setvelocity*:
---
NSTEP =        1   TIME(PS) =       0.002  TEMP(K) =   303.02  PRESS =
    0.0
---
So, I think there's a bug in the *temperature* function.
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Tue Aug 11 2020 - 17:00:03 PDT
Custom Search