equilibration vs. production (LAMMPS)

Dear All,

I have a basic question regarding MD simulation and I will appreciate if you can help me with that. When I was running my simulations using GULP, after relaxation, I used to have two other steps: equilibration and production (sampling?). Now I have a similar simulation to run using LAMMPS. I use “fix NVT” command to run my simulation in NVT ensemble which ,as you know, uses a thermostat to keep temperature at a reasonable level. I think this includes the equilibration step. But what about the production or sampling step? I have problems understanding the difference between equilibration and production. Can you explain it to me? What needs to be done in production or sampling step? How can I replicate this step in LAMMPS.

Thank you,

Navid

Navid Sakhavand
Graduate Research Assistant
Department of Civil and Environmental Engineering
Rice University, Houston, TX 77005
navids@…623…

Dear All,

I have a basic question regarding MD simulation and I will appreciate if you
can help me with that. When I was running my simulations using GULP, after
relaxation, I used to have two other steps: equilibration and production
(sampling?). Now I have a similar simulation to run using LAMMPS. I use “fix
NVT” command to run my simulation in NVT ensemble which ,as you know, uses a
thermostat to keep temperature at a reasonable level. I think this includes
the equilibration step. But what about the production or sampling step? I
have problems understanding the difference between equilibration and
production. Can you explain it to me? What needs to be done in production or

this is definitely an issue that you should primarily
study about using a text book on MD and/or one
on statistical mechanics.

sampling step? How can I replicate this step in LAMMPS.

in very broad terms, equilibrium is reached when
the distribution of "local" states of the individual
particles in your system has become representative
of the "global" state of your system.

the reason for needing equilibration is that typically
an initial structure and the distribution of momenta
is not a representative state, but that over time when
running with a means to change add or remove
kinetic energy, you system will approach such a state.
so monitoring the _total_ energy of a system is a
measure of the status of the equilibration.

however, in unfavorable cases, e.g. glasses, this
can be deceiving and you may be trapped in a
meta-stable state, significantly away from the
real equilibrium. the probability is the larger, the
smaller your system is due to finite size effects
limiting the wavelength of fluctuations.

so in the simple case, you run your equilibration
until the total energy doesn't change and you
have reached a plateau. often you can just run
and decide after the fact, which part of your
trajectory you can use for statistical analysis.
how long it takes and what is a good indicator
is very system and problem dependent.

for a more detailed and in depth explanation,
look into a text book. that is what they are
good for. :wink:

cheers,
    axel.

Dear Dr. Kohlmeyer,

Thank you for your reply. What I found in the books is as you explained.
Based on my understanding of your explanations, if I run a simulation using
LAMMPS for enough time period, first I would get equilibration and after
stabilization of total energy, production phase will start. Therefore, the
elapsed time for equilibration and production is problem dependent and not
known in advance. Now something which is confusing me is the ability in GULP
which allows the user to define time period for equilibration and production
and I was trying to so the same in LAMMPS.

Regards,

Navid

Dear Dr. Kohlmeyer,

Thank you for your reply. What I found in the books is as you explained.
Based on my understanding of your explanations, if I run a simulation using
LAMMPS for enough time period, first I would get equilibration and after
stabilization of total energy, production phase will start. Therefore, the
elapsed time for equilibration and production is problem dependent and not
known in advance. Now something which is confusing me is the ability in GULP

exactly, this applies to all MD codes.

which allows the user to define time period for equilibration and production
and I was trying to so the same in LAMMPS.

once you have gained experience with a family of problems,
you can usually predict roughly how long it would take to
reach sufficient equilibrium. one would then add some safety
margin (20-50% of the time) to make certain and then set
up a single calculation where you have multiple "run" statements,
perhaps even combined with a "minimize" at the very beginning.

you won't initialize the trajectory recording and any analysis
modules (computes and/or fixes) until the last run that would
start the production. in many cases, the production would be
extended across multiple "run"s due to batch scheduler
configuration and performance of the compute resource.

hope that explains what you are looking for. i don't know
GULP, so i have to guess what this does for real.

cheers,
    axel.

Dear Dr. Kohlmeyer,

As far as I understood, production will automatically be achieved after
several time steps of equilibration. Monitoring of energy will tell when
production is started. With such definition, assignment of specific time
period for production and equilibration, before the simulations starts, does
not make any sense. Am I right?
You mentioned that:
" you won't initialize the trajectory recording and any analysis modules
(computes and/or fixes) until the last run that would start the production."

If I don’t apply any "fix", for instance "fix NVT", before production
starts, what is happening before that?
Are you saying that I should first relax the system, let the system run for
some time without applying any "fix" (equilibration) and then start applying
"fix"es (production)?

Thank you so much in advance,

Navid

Dear Dr. Kohlmeyer,

As far as I understood, production will automatically be achieved after
several time steps of equilibration. Monitoring of energy will tell when
production is started. With such definition, assignment of specific time
period for production and equilibration, before the simulations starts, does
not make any sense. Am I right?

Yes, mostly. However, the determination of when a system is suitably
equilibrated is not that simple. The total energy fluctuates and it's
sliding window average may approach a final converged value rather
slowly and it is not easy to know how wide the window should be. On
the other hand, your system may not need to be perfectly equilibrated
to provide meaningful results. There are no strict and simple to
follow rules. Once you have done some tests with your system of
interest, however, you should get a sense for what is proper.

You mentioned that:
" you won't initialize the trajectory recording and any analysis modules
(computes and/or fixes) until the last run that would start the production."

If I don’t apply any "fix", for instance "fix NVT", before production
starts, what is happening before that?

You cannot run an MD without time integration. Atoms won't move.

Are you saying that I should first relax the system, let the system run for
some time without applying any "fix" (equilibration) and then start applying
"fix"es (production)?

No. I was more thinking about any commands that you would need to
produce results for later analysis with. For example "dump" or "fix
ave/time"

Axel