[gmx-developers] Drift in Conserved-Energy with Nose-Hoover thermostat
Bernhard
b.reuter at uni-kassel.de
Wed Jul 15 17:40:38 CEST 2015
I also did a NVE simulation with the same parameters, system and
starting conditions but with manually set rlist=1.012nm (since
verlet-buffer-drift doesnt work in NVE):
There I also got a linear drift (but smaller) of 0.78 kJ/mol/ps
(3.436*10^-5 kJ/mol/ps per atom).
For comparison reasons I also did a NVT Nose-Hoover Simulation with
manually set rlist=1.012nm:
There I got a comparable linear drift of 0.67 kJ/mol/ps (2.94*10^-5
kJ/mol/ps per atom).
So no differences between NVE and NVT so far in my opinion...
Best,
Bernhard
Am 15/07/15 um 17:10 schrieb Shirts, Michael R. (mrs5pt):
> The conserved quantity in nose-hoover is not quite as good as the
> conserved energy, which should have no drift at all. For NH, the
> conserved quantity should drift as a random Gaussian process with mean
> zero (i.e. go with sqrt(N)). It shouldn't be drifting linearly.
>
> I would check to see if your system conserved energy when run with NVE
> (use the endpoint of the NPT simulation). It's easier to diagnose any
> problems with an NVE simulation, which should have virtually no drift, vs
> a NVT simulation, which has random noise drift. Odds are, if there is a
> problem with the NVT simulation, it will also show up in the NVE
> simulation if only the thermostat is removed.
>
> Also, consider looking at http://pubs.acs.org/doi/abs/10.1021/ct300688p
> for tests of whether the ensemble generated is correct.
>
> Best,
> ~~~~~~~~~~~~
> Michael Shirts
> Associate Professor
> Department of Chemical Engineering
> University of Virginia
> michael.shirts at virginia.edu
> (434) 243-1821
>
>
>
> On 7/15/15, 10:58 AM, "Bernhard" <b.reuter at uni-kassel.de> wrote:
>
>> Dear Gromacs Users and Developers,
>>
>> I have a problem regarding energy conservation in my 10ns NVT
>> protein+water+ions (22765 atoms) production (minimization and
>> equilibration for more than 15ns was carried out in NPT before)
>> simulations using a Nose-Hoover thermostat (tau=2.5ps).
>> On first glance everything looks fine - the potential, kinetic and total
>> energy are nearly perfectly constant (with normal fluctuations) - but
>> when I checked the "Conserved-Energy" quantity that g_energy outputs I
>> had to recognize a significant (nearly perfectly) linear downward drift
>> of this "to-be-conserved" quantity of around 1.7 kJ/mol/ps (7.48*10^-5
>> kJ/mol/ps per atom).
>> This appears somehow disturbing to me since I would expect that this
>> Conserved-Energy is the conserved energy of the extended Nose-Hoover
>> Hamiltonian - which should by definition be conserved.
>>
>> If it would be a drift caused by normal round-off error due to single
>> precision I would expect it to grow with Sqrt(N) and not with N (linear)
>> (N=number of steps).
>> So I would like to know if this is a normal behaviour and also what
>> could cause this (buffer size, precision, constraints etc)?
>> Also I would like to know, if I am correct with my guess that the
>> "Conserved-Energy" quantity is in this case the energy of the extended
>> Nose-Hoover Hamiltonian?
>> The .mdp file is atatched (don't be confused about rlist=1 - since Im
>> using the Verlet-scheme the verlet-buffer-drift option should be by
>> default active and determine the rlist value (Verlet buffer-size)
>> automatically).
>>
>> Best regards,
>> Bernhard
>>
>> ; Run parameters
>> integrator = md ; leap-frog integrator
>> nsteps = 10000000 ; 10000 ps = 10 ns
>> dt = 0.001 ; 1 fs
>> ; Output control
>> nstxout = 5000 ; save coordinates every ps
>> nstvout = 5000 ; save velocities every ps
>> nstxtcout = 1000 ; xtc compressed trajectory output every ps
>> nstenergy = 1000 ; save energies every ps
>> nstlog = 5000 ; update log file every ps
>> ; Bond parameters
>> continuation = yes ; continue from NPT
>> constraint_algorithm = lincs ; holonomic constraints
>> constraints = h-bonds ; all bonds (even heavy atom-H bonds)
>> constrained
>> lincs_iter = 1 ; accuracy of LINCS
>> lincs_order = 4 ; also related to accuracy
>> ; Neighborsearching
>> cutoff-scheme = Verlet ; Verlet cutoff-scheme instead of
>> group-scheme (no charge-groups used)
>> ns_type = grid ; search neighboring grid cells
>> nstlist = 10 ; 10 fs
>> rlist = 1.0 ; short-range neighborlist cutoff (in nm)
>> rcoulomb = 1.0 ; short-range electrostatic cutoff (in nm)
>> rvdw = 1.0 ; short-range van der Waals cutoff (in nm)
>> ; Electrostatics
>> coulombtype = PME ; Particle Mesh Ewald for long-range
>> electrostatics
>> pme_order = 4 ; cubic interpolation
>> fourierspacing = 0.12 ; grid spacing for FFT
>> ; Temperature coupling is on
>> tcoupl = nose-hoover ; modified Berendsen thermostat
>> tc-grps = Protein Non-Protein ; two coupling groups - more
>> accurate
>> tau_t = 2.5 2.5 ; time constant, in ps
>> ref_t = 300 300 ; reference temperature, one for each
>> group, in K
>> ; Pressure coupling is off
>> pcoupl = no ; no pressure coupling in NVT
>> ; Periodic boundary conditions
>> pbc = xyz ; 3-D PBC
>> ; Dispersion correction
>> DispCorr = EnerPres ; account for cut-off vdW scheme
>> ; Velocity generation
>> gen_vel = no ; don¹t assign velocities from Maxwell
>> distribution
>>
>> --
>> Gromacs Developers mailing list
>>
>> * Please search the archive at
>> http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List before
>> posting!
>>
>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>>
>> * For (un)subscribe requests visit
>> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers
>> or send a mail to gmx-developers-request at gromacs.org.
More information about the gromacs.org_gmx-developers
mailing list