# min_style command

## Syntax

```
min_style style
```

- style =
*cg*or*hftn*or*sd*or*quickmin*or*fire*or*spin*

## Examples

```
min_style cg
min_style spin
min_style fire
```

## Description

Choose a minimization algorithm to use when a minimize command is performed.

Style *cg* is the Polak-Ribiere version of the conjugate gradient (CG)
algorithm. At each iteration the force gradient is combined with the
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 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
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 an 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
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), where the damping parameter is related to the
projection of the velocity vector along the current force vector for
each atom. The velocity of each atom is initialized to 0.0 by this
style, at the beginning of a minimization.

Style *fire* is a damped dynamics method described in
(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. The velocity
of each atom is initialized to 0.0 by this style, at the beginning of
a minimization.

Style *spin* is a damped spin dynamics with an adaptive
timestep.
See the min/spin doc page for more information.

Either the *quickmin* and *fire* styles are useful in the context of
nudged elastic band (NEB) calculations via the neb command.

Note

The damped dynamic minimizers use whatever timestep you have defined via the timestep command. Often they will converge more quickly if you use a timestep about 10x larger than you would normally use for dynamics simulations.

Note

The *quickmin*, *fire*, and *hftn* styles do not yet support the
use of the fix box/relax command or minimizations
involving the electron radius in eFF models.

## Restrictions

none

## Default

```
min_style cg
```

**(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.

**(Bitzek)** Bitzek, Koskinen, Gahler, Moseler, Gumbsch, Phys Rev Lett,
97, 170201 (2006).