[gmx-developers] energy conservation with constraints

Berk Hess hessb at mpip-mainz.mpg.de
Tue Apr 11 17:18:40 CEST 2006


Hi,

I forgot two minus signs, inaccurate constraining should
always decrease the energy. I have added sp shake.

The energy drift over 100 ps as a fraction of Ekin is:
dp, settle dp 0.0%
sp, settle sp -0.6%
sp, settle dp: -0.3%
dp, settle dp, x rounded to sp at the beginning of each step: 0.0%
dp, lincs dp order 8, iter 8: 0.0%
dp, lincs dp order 8, iter 4: -0.3%
sp, lincs sp order 8, iter 8: -2.1%
sp, shake sp, tolerance 1e-5: +-0.3%
sp, shake sp, tolerance 1e-4: -2.2%

Shake with tol=1e-5 shows roughly the same magnitude of drift as settle,
but it is diffusive and does not go down systematically as settle and 
lincs do.

Also I did not mention the effect of the double precision constraint code.
One can see that with settle this halves the drift. But for more
accuracy more variables (x and/or v) must be stored in double precision.

Unfortunately my sp code with dp constrains currently does not seem
to work with lincs.

The large increase in error with lincs when going from double to single
precision show that with high order and iteration numbers one could
probably gain accuracy by changing to variables to double in the lincs
algorithm.
I'll have a look into this.

Berk.




More information about the gromacs.org_gmx-developers mailing list