numerical inaccuracy upon restart

From: Blake Charlebois (
Date: Wed Aug 25 2004 - 09:24:08 CDT

Hello everyone,

This is further to a post by Harald Tepper
( in
which he noted that one run of length t does not produce the same results as
two consecutive runs of length t/2 each, which suggests that it is best to
avoid splitting a run into several smaller runs. The details of my own
similar test, in which I found that restarting introduces small differences
in the total system energy at the 8th significant digit, are at the end of
this message.

This interests me because I am using a computational facility at which I
cannot run jobs for more than 8 hours.

>From the discussion on shadow orbits, etc., by Frenkel & Smit (Understanding
Molecular Dynamics from Algorithms to Applications, 2002, pp. 71-74) and
from the discussion of single and double precision in Appendix A of the
GROMACS manual (pp. 169-170), I would expect that neither slight imprecision
nor slight inaccuracy leads to trajectories that are more inaccurate than
would result from high numerical precision and accuracy. Therefore,
repeatedly terminating and restarting simulations will not decrease

Am I correct in assuming that repeatedly terminating and restarting
simulations is ok for free dynamics runs and for steered MD runs?

Thank you,
Blake Charlebois


System: a protein solvated in water
Atoms in system: 12696
Number of processors: 4 (on one machine)
Timestep: 1.0 fs
Temperature control: none

I tried several runs using binary coordinate and velocity files:
A) a 200-fs run (initial step 0) starting from an initial set of coordinates
and velocities
B1) a 100-fs run (initial step 0) starting from the same initial state as A
B2) a 100-fs run (initial step 100) starting from the end of B1

I used the same random number seed for all runs.

I specified an output every timestep:
outputEnergies 1
outputPressure 1
stepspercycle 1

I monitored total system energy.

The first 100 fs of run A seems to be identical to run B1. However, the
second 100 fs of run A is different from run B2. For instance, energies in A
and B1 are the same while energies in A and B2 are the same to at least 7
significant figures. The discrepancy does not seem to increase over 100 fs.
I would have expected a them to be the same to a few more digits. I suppose
errors propagate quickly in such a large system.

The backbone RMSD between A and B1 seems to be zero while the backbone RMSD
between A and B2 seems to be (very roughly) 4e-7 Angstroms. It is 6e-7 for
the entire protein and 1e-6 Angstroms for all atoms including solvent.

Loosely related:

This archive was generated by hypermail 2.1.6 : Wed Feb 29 2012 - 15:38:50 CST