diff --git a/doc/mass.html b/doc/mass.html index 1f5d7216ce..ee18fb6898 100644 --- a/doc/mass.html +++ b/doc/mass.html @@ -65,9 +65,9 @@ is normally not used.
If you define a hybrid atom style which includes one (or more) sub-styles which require per-type mass and one (or more) -sub-styles which require per-atom mass, then you must define both. In -this case the per-type mass will be ignored; only the per-atom mass -will be used by LAMMPS. +sub-styles which require per-atom mass, then you must define both. +However, in this case the per-type mass will be ignored; only the +per-atom mass will be used by LAMMPS.
Restrictions:
diff --git a/doc/mass.txt b/doc/mass.txt index 8f2682e55d..bb7d5ffb96 100644 --- a/doc/mass.txt +++ b/doc/mass.txt @@ -62,9 +62,9 @@ is normally not used. If you define a "hybrid atom style"_atom_style.html which includes one (or more) sub-styles which require per-type mass and one (or more) -sub-styles which require per-atom mass, then you must define both. In -this case the per-type mass will be ignored; only the per-atom mass -will be used by LAMMPS. +sub-styles which require per-atom mass, then you must define both. +However, in this case the per-type mass will be ignored; only the +per-atom mass will be used by LAMMPS. [Restrictions:] diff --git a/doc/min_modify.html b/doc/min_modify.html index ce70358a2a..f22c4dc5d5 100644 --- a/doc/min_modify.html +++ b/doc/min_modify.html @@ -32,30 +32,29 @@Description:
This command sets parameters that affect the energy minimization -algorithms. The various settings may affect the convergence rate and -overall number of force evaluations required by a minimization, so -users can experiment with these parameters to tune their -minimizations. +algorithms selected by the min_style command. The +various settings may affect the convergence rate and overall number of +force evaluations required by a minimization, so users can experiment +with these parameters to tune their minimizations.
-The minimization algorithms have an outer iteration (conjugate -gradient or steepest descent) 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 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. +
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 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.
-The choice of line search algorithm can be selected via the line -keyword. The default backtracking search is very robust and should -always find a local energy minimum. However, it will "converge" when -it can no longer reduce the energy of the system. Individual atom -forces may still be larger than desired at this point, because the -energy change is measured as the difference of two large values -(energy before and energy after) and that difference may be smaller -than machine epsilon even if atoms could move in the gradient -direction to reduce forces further. +
The choice of line search algorithm for the cg and sd minimization +styles can be selected via the line keyword. The default +backtracking search is robust and should always find a local energy +minimum. However, it will "converge" when it can no longer reduce the +energy of the system. Individual atom forces may still be larger than +desired at this point, because the energy change is measured as the +difference of two large values (energy before and energy after) and +that difference may be smaller than machine epsilon even if atoms +could move in the gradient direction to reduce forces further.
By contast, the quadratic line search algorithm is often able to reduce forces closer to 0.0. It may also be more efficient than the diff --git a/doc/min_modify.txt b/doc/min_modify.txt index fd6e134c87..7716c605cb 100644 --- a/doc/min_modify.txt +++ b/doc/min_modify.txt @@ -27,30 +27,29 @@ min_modify dmax 0.2 :pre [Description:] This command sets parameters that affect the energy minimization -algorithms. The various settings may affect the convergence rate and -overall number of force evaluations required by a minimization, so -users can experiment with these parameters to tune their -minimizations. +algorithms selected by the "min_style"_min_style.html command. The +various settings may affect the convergence rate and overall number of +force evaluations required by a minimization, so users can experiment +with these parameters to tune their minimizations. -The minimization algorithms have an outer iteration (conjugate -gradient or steepest descent) 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 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. +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 +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. -The choice of line search algorithm can be selected via the {line} -keyword. The default backtracking search is very robust and should -always find a local energy minimum. However, it will "converge" when -it can no longer reduce the energy of the system. Individual atom -forces may still be larger than desired at this point, because the -energy change is measured as the difference of two large values -(energy before and energy after) and that difference may be smaller -than machine epsilon even if atoms could move in the gradient -direction to reduce forces further. +The choice of line search algorithm for the {cg} and {sd} minimization +styles can be selected via the {line} keyword. The default +backtracking search is robust and should always find a local energy +minimum. However, it will "converge" when it can no longer reduce the +energy of the system. Individual atom forces may still be larger than +desired at this point, because the energy change is measured as the +difference of two large values (energy before and energy after) and +that difference may be smaller than machine epsilon even if atoms +could move in the gradient direction to reduce forces further. By contast, the {quadratic} line search algorithm is often able to reduce forces closer to 0.0. It may also be more efficient than the diff --git a/doc/min_style.html b/doc/min_style.html index 8530fb6d4c..149d7d0903 100644 --- a/doc/min_style.html +++ b/doc/min_style.html @@ -15,12 +15,12 @@
min_style style-
Examples:
min_style cg -min_style sd +min_style hftn
Description:
@@ -35,6 +35,18 @@ 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. +Style hftn is a Hessian-free truncated Newton algorithm. At each +iteration a quadratic model of the energy potential is solved by a +conjugate gradient inner iteration. The Hessian (second derivatives) +of the energy is not formed directly, but approximated in each +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 command. +
Style sd is a steepest descent algorithm. At each iteration, the search direction is set to the downhill direction corresponding to the force vector (negative gradient of energy). Typically, steepest diff --git a/doc/min_style.txt b/doc/min_style.txt index e8049a2531..f9dc60cbbc 100755 --- a/doc/min_style.txt +++ b/doc/min_style.txt @@ -11,12 +11,12 @@ min_style command :h3 min_style style :pre -style = {cg} or {sd} :ul +style = {cg} or {hftn} or {sd} :ul [Examples:] min_style cg -min_style sd :pre +min_style hftn :pre [Description:] @@ -31,6 +31,18 @@ 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. +Style {hftn} is a Hessian-free truncated Newton algorithm. At each +iteration a quadratic model of the energy potential is solved by a +conjugate gradient inner iteration. The Hessian (second derivatives) +of the energy is not formed directly, but approximated in each +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. + Style {sd} is a steepest descent algorithm. At each iteration, the search direction is set to the downhill direction corresponding to the force vector (negative gradient of energy). Typically, steepest diff --git a/doc/shape.html b/doc/shape.html index 00e704e9a3..400ad2825b 100644 --- a/doc/shape.html +++ b/doc/shape.html @@ -85,8 +85,8 @@ all 3 shape components the same.
If you define a hybrid atom style which includes one (or more) sub-styles which require per-type shape and one (or more) sub-styles which require per-atom diameter, then you must define both. -In this case the per-type shape will be ignored; only the per-atom -diameter will be used by LAMMPS. Note that this means you can not +However, in this case the per-type shape will be ignored; only the +per-atom diameter will be used by LAMMPS. This means you cannot currently mix aspherical particles with per-atom diameter particles.
Restrictions: diff --git a/doc/shape.txt b/doc/shape.txt index 791e1b33ef..176df444ae 100644 --- a/doc/shape.txt +++ b/doc/shape.txt @@ -82,8 +82,8 @@ all 3 shape components the same. If you define a "hybrid atom style"_atom_style.html which includes one (or more) sub-styles which require per-type shape and one (or more) sub-styles which require per-atom diameter, then you must define both. -In this case the per-type shape will be ignored; only the per-atom -diameter will be used by LAMMPS. Note that this means you can not +However, in this case the per-type shape will be ignored; only the +per-atom diameter will be used by LAMMPS. This means you cannot currently mix aspherical particles with per-atom diameter particles. [Restrictions:]