[gmx-users] Time reversibility and settle

Francesco Mercuri mercuri at email.com
Thu May 12 22:15:18 CEST 2005

> From: "Berk Hess" <gmx3 at hotmail.com>
> Subject: RE: [gmx-users] Time reversibility and settle
> To: gmx-users at gromacs.org
> Message-ID: <BAY16-F33190B1FA2A430A5C107F8E100 at phx.gbl>
> Content-Type: text/plain; format=flowed
> > From: "Francesco Mercuri" <mercuri at email.com>
> > Reply-To: Discussion list for GROMACS users <gmx-users at gromacs.org>
> > To: gmx-users at gromacs.org
> > Subject: [gmx-users] Time reversibility and settle
> > Date: Wed, 11 May 2005 07:31:20 -0500
> >
> > Hi all,
> > I'm trying to perform some time-reversibility tests with Gromacs on
> > small water clusters. I wonder whether using "settle" for constraining
> > the geometry of water molecules still keeps time-reversibility.
> > Test calculations give very poor time-reversibility properties.
> > In principle, the dynamics of constrained systems could still be 
> > symplectic and
> > time-reversible (as shown by a few papers of Leimkuhler et al.), but,
> > probably, some modifications of the integration scheme are needed in order
> > to get a "true" time-reversible MD.
> > Does anybody got any experience about that? Or any suggestion to improve
> > time-reversibility?
> Leap-frog with settle is analytically time reversible.
> But numerically it will almost never be time reversible.
> Since MD is chaotic trajectories will diverge exponentially,
> also the time reverse.
> You can make the exponential time constant a lot smaller
> by changing from your compilation from single to double precision.
> Berk.
> _________________________________________________________________

Hello and thank you for your reply.
However, my question about the time reversibility of a leap-frog integrator
with settle (e.g. for TIP3P water molecules) was concerned with the
actual implementation in Gromacs, rather than the analytical point
of view. In other words, is this implementation of leap-frog +
settle still time-reversible in the limit of infinite numerical
This question arises since I tried different numerical
accuracies (single, double and quadruple precision numbers and
operations; for the latter I had to rewrite large parts of the
code...) with, in all cases, similar (and pretty large) 
deviations from the "forward" trajectory when reversing the time.
On the other hand, just bypassing the "settle" subroutine
(e.g. by commenting all the code related to the original
implementation of settle by Miyamoto and Kollman), it works as
expected: the algorithm is almost perfectly time-reversible
and the only "noise" is due to numerical inaccuracies, with
deviations comparable, in the three different cases (single,
double, long double) to the accuracy of numbers.
Thus, I'm trying to understand whether just resetting the position
of atoms, as done in the current implementation of "settle",
still leads to a time-reversible MD (in the limit of infinite
machine accuracy).
Any suggestion about that?
Thank you and regards,


Sign-up for Ads Free at Mail.com

More information about the gromacs.org_gmx-users mailing list