lammps/doc/minimize.txt

96 lines
3.6 KiB
Plaintext
Raw Normal View History

"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)
:line
minimize command :h3
[Syntax:]
minimize tolerance maxiter maxeval :pre
tolerance = stopping tolerance
maxiter = max iterations of minimizer
maxeval = max number of total force/energy evaluations :ul
[Examples:]
minimize 1.0e-4 100 1000 :pre
[Description:]
Perform an energy minimization of the system, by adjusting each atom's
atomic coordinates. The algorithm used is set by the
"min_style"_min_style.html command. Minimize commands can be
interspersed with "run"_run.html commands to alternate between
relaxation and dynamics. The minimizers are implemented in a robust
fashion that should allow for systems with highly overlapped atoms
(large energies and forces) to still be minimized by pushing the atoms
off of each other.
A minimization involves an outer iteration loop which sets the search
direction along which coordinates are changed. An inner iteration is
then performed using a line search algorithm. The line search
typically evaluates forces and energies several times to set new
coordinates. The minimization stops if any of several criteria are
met:
the change in energy between outer iterations is less than the tolerance
the number of outer iterations exceeds maxiter
the number of force evaluations exceeds maxeval
the 3N dimensional force vector goes (nearly) to zero :ul
For the first criterion, the specified tolerance is unitless; it is
met when the ratio of the energy delta to the energy magnitude is
equal to the tolerance (e.g. one part in 10^4 in the example above).
During a minimization, the outer iteration count is treated as a
timestep. Output is triggered by this timestep, e.g. thermodynamic
output or dump and restart files.
For optimal convergence, a "pair style"_pair_style.html that goes
smoothly to 0.0 at the cutoff distance for both energy and force
should typically be used though this is not required. Examples
include {pair/lj/charmm/coul/charmm} and {pair/lj/charmm/coul/long}.
If a {soft} potential is used the Astop value is used for the
prefactor (no time dependence).
Only fixes that apply force constraints are invoked during
minimization. The list of the currently implemented ones include fix
{addforce}, {aveforce}, {enforce2d}, {indent}, {lineforce},
{planeforce}, {setforce}, and {wall/lj93}. Note that {indent},
{wall/lj93} have an associated potential energy. If you want that
energy to be included in the total potential energy of the system (the
quantity being minimized), you must enable the
"fix_modify"_fix_modify.html {energy} option for that fix.
Following the minimization a statistical summary is printed that
includes the energy change and convergence criteria information.
[Restrictions:]
Two features that are not yet implemented listed here, in case someone
knows how they could be coded:
Two fixes not invoked by a minimization are "fix shake"_fix_shake.html
and "fix rigid"_fix_rigid.html. The effect of a fix shake can be
approximated during a minimization by using stiff spring constants for
the bonds and/or angles that would normally be constrained by the
SHAKE algorithm.
The volume of the simulation domain is not allowed to change during a
minimzation. Ideally we would allow a fix such as {npt} to impose an
external pressure that would be included in the minimization
(i.e. allow the box dimensions to change), but this has not yet been
implemented.
[Related commands:]
"min_modify"_min_modify.html, "min_style"_min_style.html,
"run_style"_run_style.html
[Default:] none