Re: [AMBER-Developers] inconsistency in sander manual and code for restart velocities

From: David A. Case <>
Date: Wed, 7 Jan 2009 16:35:05 -0500

On Tue, Jan 06, 2009, Carlos Simmerling wrote:

> hi all- I've been tracking down a bug in sander for amber9/10 and know
> that one exists, but it's hard to say if it's in the manual or the code.
> I just want some quick feedback since there could be several ways to
> "fix" it. it's related to all of the overly complicated combinations of
> irest, ntx, tempi and init.
> my understanding, along with page 26 of the amber10 manual, is that
> for a PBC system, if one wants to restart with box info from inpcrd
> (say from a constant pressure run), then one should use ntx=5.
> from the manual:
> ntx = 5 X and V are read formatted; box information will be read if
> ntb>0. The velocity information will only be used if irest=1.

I need to check for sure, but I *think* the following is a correct
statement about sander:

Box information is always taken from inpcrd, at least for formatted
restarts. If this is broken for unformatted restarts, that is a bug.
[This means that the box is read from inpcrd even if ntx=1. Hence the
workaround for Carlos' situation would be to use ntx=1.]

> it's the last part that's wrong. if I set ntx=5 to read the box, but
> irest=0 so that my velocities are assigned by sander, setvel() is
> still not called in sander.f (it is only called if ntx <=3). this
> means the run is the same no matter what the random seed is. also,
> init is passed to setvel but never used.

I appreciate the desire not to break backwards compatibility, but the
behavior described here really seems like nothing but a bug. If
irest=0, the velocities in inpcrd should be ignored, and setvel() should
be called to assign velocities.

> SO, I think the problem is that we use ntx for deciding on calling
> setvel, but we really should use ntx for reading them, and irest for
> calling setvel...

I'd appreciate detailed proposals, but right now, I don't see anyway to
have reasonable behavior without at least a small break from the past.
I doubt (hope?) that there aren't many scripts out there with ntx=5 and
irest=0. (People might poke around their directories to check this.)
And, of course, we need to fix the documentation about what happens when


AMBER-Developers mailing list
Received on Fri Jan 09 2009 - 01:13:31 PST
Custom Search