minimize

This keyword is used to minimize the energy of the system. Currently, the fast inertial relaxation engine (FIRE) [Bitzek2006] [Guénolé2020] method and the steepest descent (SD) method have been implemented.

Syntax

This keyword is used as follows:

minimize <method> <force_tolerance> <maximal_number_of_steps>

Here, method can be sd (the steepest descent method) or fire (the FIRE method). force_tolerance is in units of eV/Å. When the largest absolute force component among the \(3N\) force components in the system is smaller than force_tolerance, the energy minimization process will stop even though the number of steps (interations) performed is smaller than maximal_number_of_steps. maximal_number_of_steps is the maximal number of steps (interations) to be performed for the energy minimization process.

Examples

Example 1

The command:

minimize sd 1.0e-6 10000

means that one wants to do an energy minimization using the steepest descent method, with a force tolerance of \(10^{-6}\) eV/Å for up to 10,000 steps.

Example 2

If you have no idea how small force_tolerance should be, you can simply asign a negative number to it:

minimize sd -1 10000

In this case, the energy minimization process will definitely run 10,000 steps.

Example 3

The command:

minimize fire 1.0e-5 1000

means that one wants to do an energy minimization using the FIRE method, with a force tolerance of \(10^{-5}\) eV/Å for up to 1,000 steps.

Caveats

  • This keyword should occur after the potential keyword.

  • Currently, the simulation box is fixed during the energy minimization.