 # [lammps-users] Automatic checking of MD simulation

Hello, all users,

I think it would be necessary that MD code has the automatic checking function for the convergence (enough equilibration) as like ab initio convergence checking. Rather one has to set the simulation time sufficient long (run 5000000) to reach the equilibration based on the experience. Is it possible to do this in Lammps?

Best, Chol-Jun

Hello, all users,

hello chol-jun,

I think it would be necessary that MD code has the automatic checking
function for the convergence (enough equilibration) as like ab initio
convergence checking. Rather one has to set the simulation time

while this would be a nice to have, this is practically not possible.

in quantum chemistry calculations you can generate an estimate
for how far you are away from the ground state, the equivalent in
classical modelling would be a geometry optimization, _not_ an MD.

to use the term 'convergence' for 'being in equilibrium' is something
very different. since the dimensionality of your phase space is so enormous,
you cannot check everything and one just has to use statistical
estimates and ultimately some sort of 'leap of faith' to decide whether
equilibrium has been reached or not. in principle, you system can look
as if you are equilibrated and still 'find' a different local minimum in
phase space (and thus fall out of equilibrium) at _any_ time.

sufficient long (run 5000000) to reach the equilibration based on the
experience. Is it possible to do this in Lammps?

how long is enough depends a lot on what kind of property you want
to determine. some properties (e.g. radial distribution functions) converge
quickly and are also less dependend on the system size, while others
(e.g. self-diffusion) can seem to be converged after a several nanoseconds
but if you look at different chunks of the same size from a longer trajectory,
they may 'converge' to rather different results. so how would you define
convergence here? in my personal experience it proved to be the best
way to assume equilibrium rather quickly, i.e. when there is no significant
drift in the total energy and then collect data for analysis and then decide
what part to cut off from the beginning of the trajectory as not completely
equilibrated after the fact (by looking at different size parts of the
trajectory
independently).

it might help to have a look or two into your favorite text book on
statistical mechanics for confirmation.

cheers,
axel.

LAMMPS has an "if" command you can
use, to exit on a test of a variable. So if
you can define a variable that computes what
you are calling convergence, then you
could make a loop where you

run 10000
if \$converge < 0.01 then exit

and keep looping until the exit condition is met

Steve

Chol-Jung,

For some systems/properties, looking at the convergence of
thermodynamic averages can be useful. Take a look at

S.K. Schiferl and D.C. Wallace, Statistical errors in molecular
dynamics averages. J. Chem. Phys 83 (1985), pp. 5203–5209
or more recently:
W. Yang, R. Bitetti-Putzer, M. Karplus: Free energy simulations: Use
of reverse cumulative averaging to determine the equilibrated region
and the time required for convergence. J. Chem. Phys. 120, 2618 (2004)

However, the deviation between two independent simulations is often
larger than the statistical error in each of the simulations, due to
reasons that Axel pointed out.

-Peter