[no subject]



Dear Dr. Bill Ross and other SHAKE users:
 I have some experience
 with the SHAKE algorithm in MD that pertains to the recent discussion.
 I have used SHAKE in my own MD code for some time and regularly do
 runs of hundreds of thousands of time steps with excellent energy
 conservation, etc. These are my opinions about some of the problems
 mentioned:
 1. Dr. Adi M. Treasurywala writes that SHAKE cannot be done with the
 leapfrog algorithm. I have used SHAKE with van Gunsteren's
 formulation of the leapfrog algorithm (J. Comp. Chem.) with no
 problems. The implimentation of SHAKE within AMBER should be the same
 as the dynamics code is essentially the same as van Gunsteren's (GROMOS).
 I'm not really an AMBER user so this might vary with different
 versions of the program.
 The problem with energy conservation is related to the tolerance
 used in SHAKE. The value suggested by van Gunsteren (1.0e-4) is
 too small to prevent persistent energy drift. Changing to a value
 of 1.0e-6 should cure these problems. I believe CHARMM uses 1.0e-9
 which does not result in an improvement in energy conservation in my
 work over 1.0e-6. The price you pay for a smaller tolerance is an
 increased number of iterations for SHAKE to converge. Even with
 very small tolerances SHAKE will usually converge within about
 20 iterations.
 2. Dr. Lisa Balbes writes about problems restarting with binary files.
 If a true
 restart is desired with a continuous trajectory one certainly would
 not want to disturb the run by applying an arbitrary round-off of the
 positions and/or velocities. I have had no trouble with
 restarts using double precision binary files and there is nothing
 inherant in the use of SHAKE that should prevent this.
 3. Several researchers mention mutiple time step methods. I have used
 the method of Otto Teleman (J. Comp. Chem.) and Allen and Tildlesly
 describe another method in their book "Computer Simulations of
 Liquids". Both methods work fine. However, SHAKE is much easier
 to code if all you want to do is constrain bond lengths, which
 gives the most increase in time step (best bang for the buck).
 4. The mention of problems with constant pressure simulations can
 be alleviated by coding the rescaling of coordinates to maintian
 bond lengths. For example, moving the centers of mass of molecules
 rather than actually stretching or contracting them to respond
 to pressure. I haven't done much with this so I am not clear if
 a particular method gives better or worse results. Some of the other
 problems with periodic boundary conditions that Dr. Dave Pearlman
 describes are just code bugs that could be easily fixed.
 John Nicholas
 nicholas #*at*# tcg.anl.gov