[gmx-developers] Re: [Fwd: Re: results]

David spoel at xray.bmc.uu.se
Mon Aug 8 21:14:44 CEST 2005

On Mon, 2005-08-08 at 13:48 -0400, Michael Shirts wrote:
> Hi, all-
> First, let me know if I should repost this on the developer list for
> wider discussion.
Now it's on the developers list, let's keep it here.

> I think a clear, simple, next step is to move to velocity verlet. 
> This should avoid all the problems with various temperature/pressure
> control algorithms with leapfrog, as the simulation variables are the
> velocity and position at time t, not any half steps.
> This has come up on the mailing list before, and it was suggested that
> implement both leapfrog and velocity verlet as allowed integration
> algorithms.  In my private version of 3.1.4 (yea, I know, I'm behind
> the times ;), I've done this -- but it is an unholy mess, because it
> requires two bookkeeping systems to keep track of a lot of different
> things (temperature/pressure control, restraints), etc.  I would argue
> for eplacing leapfrog with velocity.
> The only good argument that I know of for keeping leapfrog is for
> maintaining the ability to rerun previous trajectories for
> repeatability.  But given the chaotic nature of the system, and the
> number of other changes that have been introduced recently,
> repeatability is already pretty much impossible.  If one wants to
> repeat calculations, one should use a previous version of the code.
> There have been arguments that leapfrog leads to a better estimation
> for the velocity, but the trajectories produced by leapfrog and
> velocity verlet are exactly the same if started from the equivalent
> starting states (i.e., updating the velocities from t-1/2dt to t
> before starting velocity verlet simulations).  I've tested this with
> my version.
> I'd also like to point out that with constraints, the velocities in
> GROMACS are determined by position differences (or at least were in v
> 3.1.4), which is equivalent to position verlet -- in this case, again,
> the positions are identical between trajectories generated with
> leapfrog and velocity, but the velocities suffer a loss of precision.
> I really don't see why Berendsen temperature or pressure control
> should be supported.  Neither implements the correct ensemble. 
> Andersen and Nose-Hoover temperature control implementations are
> correct, and should be encouraged.  Andersen pressure control is
> correct for systems without shear, at least with the molecular virial
> -- I'll have to read up a little more on the case of constraints,
> though.  I can comitt to doing that.  I know from personal experience,
> with constraints Andersen pressure control leads to a conserved
> quantity -- but I admit it might not lead to the correct one. . . I
> need to read through the Martyna series of papers a little more
> closely.
> Thoughts?
Yes, being trained by Berendsen, please allow me to be biased. First I
think the algorithms should be there because of choice, and users should
be encouraged to take an informed decision.

Second, the Nose-Hoover thermostat gives the correct ensemble for your
system plus "something else". In fact it therefore does not give you the
correct ensemble for what you are interested in. 

Third it is very useful to strive for proper algorithms, in particular
for reasons of reproducibility of simulations. However, the accuracy of
the results is dependent on many variables, and in particular the force
field introduces systematic errors that cannot be compensated for by
other means. Moreover, small errors in e.g. the temperature coupling
algorithm are negligible compared to systematic bias due to force field,
finite system size etc.

In summary I'm all for better algorithms, but I vote for keeping the old
ones as well. This means that we'll have to look into ways to make the
integration part more modular, such that we, as an old friend used to
say, can separate the Math from the Physics.

David van der Spoel, PhD, Assoc. Prof., Molecular Biophysics group,
Dept. of Cell and Molecular Biology, Uppsala University.
Husargatan 3, Box 596,          75124 Uppsala, Sweden
phone:  46 18 471 4205          fax: 46 18 511 755
spoel at xray.bmc.uu.se    spoel at gromacs.org   http://xray.bmc.uu.se/~spoel

More information about the gromacs.org_gmx-developers mailing list