git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@4912 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp
2010-09-30 21:22:06 +00:00
parent 743cefce14
commit b0e9777544
10 changed files with 183 additions and 100 deletions

View File

@ -13,11 +13,11 @@
</H3>
<P><B>Syntax:</B>
</P>
<PRE>fix ID group-ID neb kspring
<PRE>fix ID group-ID neb Kspring
</PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
<LI>neb = style name of this fix command
<LI>kspring = inter-replica spring constant
<LI>Kspring = inter-replica spring constant (force/distance units)
</UL>
<P><B>Examples:</B>
</P>
@ -25,17 +25,20 @@
</PRE>
<P><B>Description:</B>
</P>
<P>Add inter-replica forces to atoms in the group for a multi-partition
<P>Add inter-replica forces to atoms in the group for a multi-replica
simulation run via the <A HREF = "neb.html">neb</A> command to perform a nudged
elastic band (NEB) calculation for transition state finding. Hi-level
explanations of NEB are given with the <A HREF = "neb.html">neb</A> command and in
<A HREF = "Section_howto.html#neb">this section</A> of the doc pages. The fix neb
command is used to define how inter-replica forces are computed.
<A HREF = "Section_howto.html#4_5">this section</A> of the manual. The fix neb
command must be used with the "neb" command to define how
inter-replica forces are computed.
</P>
<P>Atoms in the two end-point replicas do not experience inter-replica
forces, but those in intermediate replicas do. The 3N-length vector
of interatomic forces Fi = -Grad(V) acting on the atoms of each
intermediate replica I is altered to become:
<P>Only the N atoms in the fix group experience inter-replica forces.
Atoms in the two end-point replicas do not experience these forces,
but those in intermediate replicas do. During the initial stage of
NEB, the 3N-length vector of interatomic forces Fi = -Grad(V) acting
on the atoms of each intermediate replica I is altered, as described
in the <A HREF = "#Henkelman1">(Henkelman1)</A> paper, to become:
</P>
<PRE>Fi = -Grad(V) + (Grad(V) dot That) That + Kspring (|Ri+i - Ri| - |Ri - Ri-1|) That
</PRE>
@ -43,13 +46,13 @@ intermediate replica I is altered to become:
coordinates of its neighbor replicas. That (t with a hat over it) is
the unit "tangent" vector for replica I which is a function of Ri,
Ri-1, Ri+1, and the potential energy of the 3 replicas; it points
roughly in the direction of (Ri+i - Ri-1). The first two terms in the
above equation are the component of the interatomic forces
perpendicular to the tangent vector. The last term is a spring force
between replica I and its neighbors, parallel to the tangent vector
direction with the specified spring constant.
roughly in the direction of (Ri+i - Ri-1); see the
<A HREF = "#Henkelman1">(Henkelman1)</A> paper for details.
</P>
<P>NOTE: That is defined in what papers?
<P>The first two terms in the above equation are the component of the
interatomic forces perpendicular to the tangent vector. The last term
is a spring force between replica I and its neighbors, parallel to the
tangent vector direction with the specified spring constant <I>Kspring</I>.
</P>
<P>The effect of the first two terms is to push the atoms of each replica
toward the minimum energy path (MEP) of conformational states that
@ -62,19 +65,16 @@ parallel to the MEP itself.
neighbors in a direction along the MEP, so that the final set of
states are equidistant from each other.
</P>
<P>A NEB calculation is performed in two stages, as described by the neb
command. In the second stage, the forces on atoms in the replica
nearest the top of the energy barrier are altered so that it climbs to
the top of the barrier and finds the saddle point. The forces on
atoms in this replica become:
<P>During the second stage of NEB, the forces on the N atoms in the
replica nearest the top of the energy barrier are altered so that it
climbs to the top of the barrier and finds the saddle point. The
forces on atoms in this replica are described in the
<A HREF = "#Henkelman2">(Henkelman2)</A> paper, and become:
</P>
<PRE>Fi = -Grad(V) + 2 (Grad(V) dot that) that
<PRE>Fi = -Grad(V) + 2 (Grad(V) dot That) That
</PRE>
<P>The inter-replica forces for the other replicas are unchanged from the
first equation.
</P>
<P>NOTE: discuss how to do NEB on a subset of atoms - group ID of fix neb
command.
first equation.
</P>
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
</P>
@ -84,7 +84,10 @@ are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various <A HREF = "Section_howto.html#4_15">output
commands</A>. No parameter of this fix can be
used with the <I>start/stop</I> keywords of the <A HREF = "run.html">run</A> command.
This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>.
</P>
<P>The forces due to this fix are imposed during an energy minimization,
as invoked by the <A HREF = "minimize.html">minimize</A> command via the
<A HREF = "neb.html">neb</A> command.
</P>
<P><B>Restrictions:</B>
</P>
@ -98,12 +101,13 @@ more info on packages.
</P>
<P><B>Default:</B> none
</P>
<A NAME = "HJ1"></A>
<A NAME = "Henkelman"></A>
<P><B>(Henkelman1)</B> Henkelman and Jonsson, J Phys Chem, 113, 9978-9985 (2000).
<P><B>(Henkelman1)</B> Henkelman and Jonsson, J Chem Phys, 113, 9978-9985 (2000).
</P>
<A NAME = "HJ2"></A>
<A NAME = "Henkelman"></A>
<P><B>(Henkelman2)</B> Henkelman and Jonsson, J Phys Chem, 113, 99019904 (2000).
<P><B>(Henkelman2)</B> Henkelman, Uberuaga, Jonsson, J Chem Phys, 113,
9901-9904 (2000).
</P>
</HTML>

View File

@ -10,11 +10,11 @@ fix neb command :h3
[Syntax:]
fix ID group-ID neb kspring :pre
fix ID group-ID neb Kspring :pre
ID, group-ID are documented in "fix"_fix.html command
neb = style name of this fix command
kspring = inter-replica spring constant :ul
Kspring = inter-replica spring constant (force/distance units) :ul
[Examples:]
@ -22,17 +22,20 @@ fix 1 active neb 10.0 :pre
[Description:]
Add inter-replica forces to atoms in the group for a multi-partition
Add inter-replica forces to atoms in the group for a multi-replica
simulation run via the "neb"_neb.html command to perform a nudged
elastic band (NEB) calculation for transition state finding. Hi-level
explanations of NEB are given with the "neb"_neb.html command and in
"this section"_Section_howto.html#neb of the doc pages. The fix neb
command is used to define how inter-replica forces are computed.
"this section"_Section_howto.html#4_5 of the manual. The fix neb
command must be used with the "neb" command to define how
inter-replica forces are computed.
Atoms in the two end-point replicas do not experience inter-replica
forces, but those in intermediate replicas do. The 3N-length vector
of interatomic forces Fi = -Grad(V) acting on the atoms of each
intermediate replica I is altered to become:
Only the N atoms in the fix group experience inter-replica forces.
Atoms in the two end-point replicas do not experience these forces,
but those in intermediate replicas do. During the initial stage of
NEB, the 3N-length vector of interatomic forces Fi = -Grad(V) acting
on the atoms of each intermediate replica I is altered, as described
in the "(Henkelman1)"_#Henkelman1 paper, to become:
Fi = -Grad(V) + (Grad(V) dot That) That + Kspring (|Ri+i - Ri| - |Ri - Ri-1|) That :pre
@ -40,13 +43,13 @@ Ri are the atomic coordinates of replica I; Ri-1 and Ri+1 are the
coordinates of its neighbor replicas. That (t with a hat over it) is
the unit "tangent" vector for replica I which is a function of Ri,
Ri-1, Ri+1, and the potential energy of the 3 replicas; it points
roughly in the direction of (Ri+i - Ri-1). The first two terms in the
above equation are the component of the interatomic forces
perpendicular to the tangent vector. The last term is a spring force
between replica I and its neighbors, parallel to the tangent vector
direction with the specified spring constant.
roughly in the direction of (Ri+i - Ri-1); see the
"(Henkelman1)"_#Henkelman1 paper for details.
NOTE: That is defined in what papers?
The first two terms in the above equation are the component of the
interatomic forces perpendicular to the tangent vector. The last term
is a spring force between replica I and its neighbors, parallel to the
tangent vector direction with the specified spring constant {Kspring}.
The effect of the first two terms is to push the atoms of each replica
toward the minimum energy path (MEP) of conformational states that
@ -59,19 +62,16 @@ The effect of the last term is to push each replica away from its two
neighbors in a direction along the MEP, so that the final set of
states are equidistant from each other.
A NEB calculation is performed in two stages, as described by the neb
command. In the second stage, the forces on atoms in the replica
nearest the top of the energy barrier are altered so that it climbs to
the top of the barrier and finds the saddle point. The forces on
atoms in this replica become:
During the second stage of NEB, the forces on the N atoms in the
replica nearest the top of the energy barrier are altered so that it
climbs to the top of the barrier and finds the saddle point. The
forces on atoms in this replica are described in the
"(Henkelman2)"_#Henkelman2 paper, and become:
Fi = -Grad(V) + 2 (Grad(V) dot that) that :pre
Fi = -Grad(V) + 2 (Grad(V) dot That) That :pre
The inter-replica forces for the other replicas are unchanged from the
first equation.
NOTE: discuss how to do NEB on a subset of atoms - group ID of fix neb
command.
first equation.
[Restart, fix_modify, output, run start/stop, minimize info:]
@ -81,7 +81,10 @@ are relevant to this fix. No global or per-atom quantities are stored
by this fix for access by various "output
commands"_Section_howto.html#4_15. No parameter of this fix can be
used with the {start/stop} keywords of the "run"_run.html command.
This fix is not invoked during "energy minimization"_minimize.html.
The forces due to this fix are imposed during an energy minimization,
as invoked by the "minimize"_minimize.html command via the
"neb"_neb.html command.
[Restrictions:]
@ -95,8 +98,9 @@ more info on packages.
[Default:] none
:link(HJ1)
[(Henkelman1)] Henkelman and Jonsson, J Phys Chem, 113, 9978-9985 (2000).
:link(Henkelman)
[(Henkelman1)] Henkelman and Jonsson, J Chem Phys, 113, 9978-9985 (2000).
:link(HJ2)
[(Henkelman2)] Henkelman and Jonsson, J Phys Chem, 113, 99019904 (2000).
:link(Henkelman)
[(Henkelman2)] Henkelman, Uberuaga, Jonsson, J Chem Phys, 113,
9901-9904 (2000).

View File

@ -41,7 +41,9 @@ with these parameters to tune their minimizations.
inner iteration which is steps along a one-dimensional line search in
a particular search direction. The <I>dmax</I> parameter is how far any
atom can move in a single line search in any dimension (x, y, or z).
Thus a value of 0.1 in real <A HREF = "units.html">units</A> means no atom will move
For the <I>quickmin</I> and <I>fire</I> minimization styles, the <I>dmax</I> setting
is how far any atom can move in a single iteration (timestep). Thus a
value of 0.1 in real <A HREF = "units.html">units</A> means no atom will move
further than 0.1 Angstroms in a single outer iteration. This prevents
highly overlapped atoms from being moved long distances (e.g. through
another atom) due to large forces.

View File

@ -36,7 +36,9 @@ The {cg} and {sd} minimization styles have an outer iteration and an
inner iteration which is steps along a one-dimensional line search in
a particular search direction. The {dmax} parameter is how far any
atom can move in a single line search in any dimension (x, y, or z).
Thus a value of 0.1 in real "units"_units.html means no atom will move
For the {quickmin} and {fire} minimization styles, the {dmax} setting
is how far any atom can move in a single iteration (timestep). Thus a
value of 0.1 in real "units"_units.html means no atom will move
further than 0.1 Angstroms in a single outer iteration. This prevents
highly overlapped atoms from being moved long distances (e.g. through
another atom) due to large forces.

View File

@ -15,12 +15,12 @@
</P>
<PRE>min_style style
</PRE>
<UL><LI>style = <I>cg</I> or <I>hftn</I> or <I>sd</I>
<UL><LI>style = <I>cg</I> or <I>hftn</I> or <I>sd</I> or <I>quickmin</I> or <I>fire</I>
</UL>
<P><B>Examples:</B>
</P>
<PRE>min_style cg
min_style hftn
min_style fire
</PRE>
<P><B>Description:</B>
</P>
@ -33,7 +33,7 @@ previous iteration information to compute a new search direction
perpendicular (conjugate) to the previous search direction. The PR
variant affects how the direction is chosen and how the CG method is
restarted when it ceases to make progress. The PR variant is thought
to be the most effective CG choice.
to be the most effective CG choice for most problems.
</P>
<P>Style <I>hftn</I> is a Hessian-free truncated Newton algorithm. At each
iteration a quadratic model of the energy potential is solved by a
@ -43,9 +43,8 @@ conjugate search direction by a finite difference directional
derivative. When close to an energy minimum, the algorithm behaves
like a Newton method and exhibits a quadratic convergence rate to high
accuracy. In most cases the behavior of <I>hftn</I> is similar to <I>cg</I>,
but it offers another minimizer alternative if <I>cg</I> seems to perform
poorly. This style is not affected by the
<A HREF = "min_modify.html">min_modify</A> command.
but it offers an alternative if <I>cg</I> seems to perform poorly. This
style is not affected by the <A HREF = "min_modify.html">min_modify</A> command.
</P>
<P>Style <I>sd</I> is a steepest descent algorithm. At each iteration, the
search direction is set to the downhill direction corresponding to the
@ -53,14 +52,45 @@ force vector (negative gradient of energy). Typically, steepest
descent will not converge as quickly as CG, but may be more robust in
some situations.
</P>
<P>Style <I>quickmin</I> is a damped dynamics method described in
<A HREF = "#Sheppard">(Sheppard)</A>, where the damping parameter is related to the
projection of the velocity vector along the current force vector for
each atom.
</P>
<P>Style <I>fire</I> is a damped dynamics method described in
<A HREF = "#Bitzek">(Bitzek)</A>, which is similar to <I>quickmin</I> but adds a variable
timestep and alters the projection operation to maintain components of
the velocity non-parallel to the current force vector.
</P>
<P>Either the <I>quickmin</I> and <I>fire</I> styles are useful in the context of
nudged elastic band (NEB</I> calculations via the <A HREF = "neb.html">neb</A> command.
</P>
<P>IMPORTANT NOTE: The <I>quickmin</I> and <I>fire</I> styles do not yet support
the use of the <A HREF = "fix_box_relax.html">fix box/relax</A> command or
minimizations involving the electron radius in <A HREF = "pair_eff.html">eFF</A>
models.
</P>
<P><B>Restrictions:</B> none
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "min_modify.html">min_modify</A>, <A HREF = "minimize.html">minimize</A>
<P><A HREF = "min_modify.html">min_modify</A>, <A HREF = "minimize.html">minimize</A>, <A HREF = "neb.html">neb</A>
</P>
<P><B>Default:</B>
</P>
<PRE>min_style cg
</PRE>
<HR>
<A NAME = "Sheppard"></A>
<P><B>(Sheppard)</B> Sheppard, Terrell, Henkelman, J Chem Phys, 128, 134106
(2008). See ref 1 in this paper for original reference to Qmin in
Jonsson, Mills, Jacobsen.
</P>
<A NAME = "Bitzek"></A>
<P><B><I>Bitzek</I></B> Bitzek, Koskinen, Gahler, Moseler, Gumbsch, Phys Rev Lett,
97, 170201 (2006).
</P>
</HTML>

View File

@ -11,12 +11,12 @@ min_style command :h3
min_style style :pre
style = {cg} or {hftn} or {sd} :ul
style = {cg} or {hftn} or {sd} or {quickmin} or {fire} :ul
[Examples:]
min_style cg
min_style hftn :pre
min_style fire :pre
[Description:]
@ -29,7 +29,7 @@ previous iteration information to compute a new search direction
perpendicular (conjugate) to the previous search direction. The PR
variant affects how the direction is chosen and how the CG method is
restarted when it ceases to make progress. The PR variant is thought
to be the most effective CG choice.
to be the most effective CG choice for most problems.
Style {hftn} is a Hessian-free truncated Newton algorithm. At each
iteration a quadratic model of the energy potential is solved by a
@ -39,9 +39,8 @@ conjugate search direction by a finite difference directional
derivative. When close to an energy minimum, the algorithm behaves
like a Newton method and exhibits a quadratic convergence rate to high
accuracy. In most cases the behavior of {hftn} is similar to {cg},
but it offers another minimizer alternative if {cg} seems to perform
poorly. This style is not affected by the
"min_modify"_min_modify.html command.
but it offers an alternative if {cg} seems to perform poorly. This
style is not affected by the "min_modify"_min_modify.html command.
Style {sd} is a steepest descent algorithm. At each iteration, the
search direction is set to the downhill direction corresponding to the
@ -49,12 +48,42 @@ force vector (negative gradient of energy). Typically, steepest
descent will not converge as quickly as CG, but may be more robust in
some situations.
Style {quickmin} is a damped dynamics method described in
"(Sheppard)"_#Sheppard, where the damping parameter is related to the
projection of the velocity vector along the current force vector for
each atom.
Style {fire} is a damped dynamics method described in
"(Bitzek)"_#Bitzek, which is similar to {quickmin} but adds a variable
timestep and alters the projection operation to maintain components of
the velocity non-parallel to the current force vector.
Either the {quickmin} and {fire} styles are useful in the context of
nudged elastic band (NEB} calculations via the "neb"_neb.html command.
IMPORTANT NOTE: The {quickmin} and {fire} styles do not yet support
the use of the "fix box/relax"_fix_box_relax.html command or
minimizations involving the electron radius in "eFF"_pair_eff.html
models.
[Restrictions:] none
[Related commands:]
"min_modify"_min_modify.html, "minimize"_minimize.html
"min_modify"_min_modify.html, "minimize"_minimize.html, "neb"_neb.html
[Default:]
min_style cg :pre
:line
:link(Sheppard)
[(Sheppard)] Sheppard, Terrell, Henkelman, J Chem Phys, 128, 134106
(2008). See ref 1 in this paper for original reference to Qmin in
Jonsson, Mills, Jacobsen.
:link(Bitzek)
[{Bitzek}] Bitzek, Koskinen, Gahler, Moseler, Gumbsch, Phys Rev Lett,
97, 170201 (2006).

View File

@ -50,15 +50,21 @@ slowly drains all kinetic energy from the system. The <A HREF = "pair_soft.html
soft</A> potential can be used to un-overlap atoms while
running dynamics.
</P>
<P>A minimization involves an outer iteration loop which sets the search
direction along which atom 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. Currently, a backtracking algorithm is used which
may not be optimal in terms of the number of force evaulations
performed, but appears to be more robust than previous line searches
we've tried. The backtracking method is described in Nocedal and
Wright's Numerical Optimization (Procedure 3.1 on p 41).
<P>The <A HREF = "min_style.html">minimization styles</A> <I>cg</I>, <I>sd</I>, and <I>hftn</I>
involves an outer iteration loop which sets the search direction along
which atom 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.
Currently, a backtracking algorithm is used which may not be optimal
in terms of the number of force evaulations performed, but appears to
be more robust than previous line searches we've tried. The
backtracking method is described in Nocedal and Wright's Numerical
Optimization (Procedure 3.1 on p 41).
</P>
<P>The <A HREF = "min_style.html">minimization styles</A> <I>quickmin</I> and <I>fire</I> perform
damped dynamics using an Euler integration step. Thus they require a
<A HREF = "timestep.html">timestep</A> be defined, typically the same value used for
<A HREF = "run.html">running dynamics</A> with the system.
</P>
<P>The objective function being minimized is the total potential energy
of the system as a function of the N atom coordinates:
@ -85,7 +91,7 @@ of the atoms.
<UL><LI>the change in energy between outer iterations is less than <I>etol</I>
<LI>the 2-norm (length) of the global force vector is less than the <I>ftol</I>
<LI>the line search fails because the step distance backtracks to 0.0
<LI>the number of outer iterations exceeds <I>maxiter</I>
<LI>the number of outer iterations or timesteps exceeds <I>maxiter</I>
<LI>the number of total force evaluations exceeds <I>maxeval</I>
</UL>
<P>For the first criterion, the specified energy tolerance <I>etol</I> is

View File

@ -47,15 +47,21 @@ slowly drains all kinetic energy from the system. The "pair_style
soft"_pair_soft.html potential can be used to un-overlap atoms while
running dynamics.
A minimization involves an outer iteration loop which sets the search
direction along which atom 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. Currently, a backtracking algorithm is used which
may not be optimal in terms of the number of force evaulations
performed, but appears to be more robust than previous line searches
we've tried. The backtracking method is described in Nocedal and
Wright's Numerical Optimization (Procedure 3.1 on p 41).
The "minimization styles"_min_style.html {cg}, {sd}, and {hftn}
involves an outer iteration loop which sets the search direction along
which atom 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.
Currently, a backtracking algorithm is used which may not be optimal
in terms of the number of force evaulations performed, but appears to
be more robust than previous line searches we've tried. The
backtracking method is described in Nocedal and Wright's Numerical
Optimization (Procedure 3.1 on p 41).
The "minimization styles"_min_style.html {quickmin} and {fire} perform
damped dynamics using an Euler integration step. Thus they require a
"timestep"_timestep.html be defined, typically the same value used for
"running dynamics"_run.html with the system.
The objective function being minimized is the total potential energy
of the system as a function of the N atom coordinates:
@ -82,7 +88,7 @@ The minimization procedure stops if any of several criteria are met:
the change in energy between outer iterations is less than {etol}
the 2-norm (length) of the global force vector is less than the {ftol}
the line search fails because the step distance backtracks to 0.0
the number of outer iterations exceeds {maxiter}
the number of outer iterations or timesteps exceeds {maxiter}
the number of total force evaluations exceeds {maxeval} :ul
For the first criterion, the specified energy tolerance {etol} is

View File

@ -264,11 +264,11 @@ langevin</A>, <A HREF = "fix_viscous.html">fix viscous</A>
<A NAME = "Henkelman1"></A>
<P><B>(Henkelman1)</B> Henkelman and Jonsson, J Phys Chem, 113, 9978-9985 (2000).
<P><B>(Henkelman1)</B> Henkelman and Jonsson, J Chem Phys, 113, 9978-9985 (2000).
</P>
<A NAME = "Henkelman2"></A>
<P><B>(Henkelman2)</B> Henkelman, Uberuaga, Jonsson, J Phys Chem, 113,
<P><B>(Henkelman2)</B> Henkelman, Uberuaga, Jonsson, J Chem Phys, 113,
9901-9904 (2000).
</P>
<A NAME = "Nakano"></A>

View File

@ -260,10 +260,10 @@ langevin"_fix_langevin.html, "fix viscous"_fix_viscous.html
:line
:link(Henkelman1)
[(Henkelman1)] Henkelman and Jonsson, J Phys Chem, 113, 9978-9985 (2000).
[(Henkelman1)] Henkelman and Jonsson, J Chem Phys, 113, 9978-9985 (2000).
:link(Henkelman2)
[(Henkelman2)] Henkelman, Uberuaga, Jonsson, J Phys Chem, 113,
[(Henkelman2)] Henkelman, Uberuaga, Jonsson, J Chem Phys, 113,
9901-9904 (2000).
:link(Nakano)