[gmx-users] nve energy conservation

Mark Abraham mark.j.abraham at gmail.com
Wed Mar 21 14:39:02 CET 2018


On Tue, Mar 20, 2018 at 9:03 PM Jo <jojo412202 at gmail.com> wrote:

> Thanks everyone for your reply.
> I see your point that it could just be some error cancellation from
> constraints and parameters.
> I was previously using gromacs-5.1.4, and changed to gromacs-2018, and the
> drift seems to be much smaller! I get something similar to what Mark had
> posted -0.000025 kJ/mol/ps/atom for 1000 SPCE waters with settles at 298K
> for single precision.  With double precision, there is no noticeable drift
> for a short test run of only 200 ps. Any idea why this is? Is there some
> default setting that changed?


> Mark, regarding your earlier questions: My application is to calculate very
> precise and accurate dynamic properties (diffusion, viscosity) of NaCl in
> water. There are a number of works in literature where people use NVT
> simulations to calculate these properties, but I wanted to check if the
> thermostat affected the dynamics any by running an NVE simulation.

Certainly a thermostat could do this, and some of the early efforts in the
field did. But your quality check should probably focus on observations of
dynamical quantities. Obviously there's a point at which poor energy
conservation will mean that any other quantity won't be accurate.

Why will NVE reveal whether dynamical properties are disturbed, vs say some
of the non-NVE integration setups in GROMACS that have and report a
conserved quantity in the 2018 release?

>   Also I
> want to better understand how NVE simulations work and all the controlling
> factors.

Sure. Be aware that also the integration implementations used in MD often
prefer to focus on conserving the momentum, because the energy does not
affect the sampling (but an MC implementation would approach that question
very differently).

>From figure 3.5 in the reference manual, I think 10^-5 drift (kJ/mol/ps) is
> acceptable.

Seems thin to me. Why not measure dynamical properties of interest with
more or less drift and see what you see?

Can you help me better understand what verlet-buffer-tolerance does?  My
> understanding from the documentation is that it determines the width of the
> buffer outside of the cutoff for the neighborlist, but I am not clear why
> energy can be added or lost by manipulating this parameter.

If a particle was in the interaction radius but wasn't in the buffered
list, its contribution to the energy will be missed. More importantly, its
contribution to the force will be missed, and that can lead to a systematic

> Also, I am not sure how to judge what is an acceptable width of fluctuation
> NVE simulations?  Does it correspond to random error (from the paper
> <https://www.biorxiv.org/content/biorxiv/early/2016/10/24/083055.full.pdf
> >Mark
> referenced)?

That's your core question. You're modelling a physical system. That model
physics and the implementation integration of the differential equations
that result are intrinsically limited, and those limitations have different
consequences for different observables. If your model produces quantities
consistent with experiment, then you have a basis for using it for
predictions. But you're unlikely to find a model+implementation that does
so for all possible quantities ;-)


More information about the gromacs.org_gmx-users mailing list