Default | |

if NSW=0 or 1 | -1 |

else | 0 |

IBRION determines how the ions are updated and moved. For IBRION=0, a molecular dynamics is performed, whereas all other algorithms are destined for relaxations into a local energy minimum. For difficult relaxation problems it is recommended to used the conjugate gradient algorith (IBRION=2), which - at present - posses the most reliable backup routines. Damped molecular dynamics are often usefull, when starting from very bad initial guesses. Close to the local minimum the RMM-DIIS is usually the best choice.

**-1**- No update; ions are not moved, but NSW outer loops are performed. In each outer loop the electronic degrees of freedom are re-optimized (for NSW>0 this makes obviously not much sense, except for test purposes). If no ionic updated is required use NSW=0 instead.
**0**-
Standard ab-initio molecular dynamics. A Verlet algorithm (or
fourth order predictor corrector if vasp was linked with stepprecor.o)
is used to integrate Newton's equations of motion.
POTIM supplies the timestep in femto seconds.
The parameter SMASS allows additional control (see Sec. 7.27).
*Mind:*At the moment only constant volume MD's are possible. **1**-
A quasi-Newton (or variable metric) algorithm is used to relax
the ions into their instantaneous
groundstate. The forces and the stress tensor are used as search directions
to find the equilibrium position.
Total energy is not taken into account.
This algorithm was updated in vasp.4.2 (in comparison to vasp.3.2) and seems to be
almost as stable IBRION=2 and is close to the minimum much faster
than IBRION=2.
A RMM-DIIS quasi-Newton[24] algorithm is used in which an approximation for the inverse Hessian matrix is build up by taking into account information from previous iterations. The initial Hessian matrix is diagonal and equal to POTIM. Old informations (which can lead to linear dependencies) are automatically removed from the iteration history. Usualy not more information must be kept in the iteration history than degrees of freedom. Naively the number of degrees of freedom is 3*(NIONS-1) or 3*(NIONS-2) for isoltated molecules. However symmetry, or constrained minimization can reduce the this number significantly. There are two algorithms build in to remove information from the iteration history. i) If NFREE is set in the INCAR file, only up to NFREE ionic steps are kept in the iteration history. ii) If NFREE is not specified, the criterion whether information is removed from the iteration history is based on the eigenvalue spectrum of the inverse Hessian matrix: if one eigenvalue of the inverse Hessian matrix is larger than 8, information from previous steps is discarded. For complex problems NFREE can usually be set to a rather large values (i.e. 10-20), however systems of low dimensionality require a carfull setting of NFREE (possibly even an exact counting of the number of degrees of freedom). To increase NFREE beyond 20 rarely improves convergence. If NFREE is set to too large numbers the RMM-DIIS algorithm might even blow up. It can also blow up if the algorithm is started far from the equilibrium position.

The choice of a reasonable POTIM is also important and can speed up calculations significantly, we recommend to find an optimal POTIM using IBRION=2 or performing a few test calculations (see below).

**2**-
A conjugate-gradient algorithm
(a simple discussion of this algorithm can be found for instance in [26])
is used to relax the ions into their instantaneous
groundstate.
In the first step ions (and cell shape) are changed along the direction of the
steepest descent (i.e. the direction of the calculated forces and stress tensor).
The conjugate gradient method requires a line minimization, which
is performed in several steps:
i) first a trial step into the search direction (scaled gradients) is done,
with the length of the trial step controlled
by the POTIM parameter (section 7.20). Then the energy and
the forces are recalculated.
ii)
The approximate minimum of the total energy is calculated form a cubic
(or quadratic) interpolation
taking into account the change of the total energy and the change of the forces
(3 pieces of information), then a
corrector step to the approximate minimum is performed.
iii) After the corrector step the forces and energy are recalculated and
it is checked whether the forces
contain a significant component parallel to the previous search
direction. If this is the
case the line minimization is improved by further corrector steps
using a variant of Brent's algorithm[26].
To summarize: In the first ionic step the forces are calculated for the initial configuration read from POSCAR, the second step is a trial (or predictor step), the third step is a corrector step. If the line minimization was sufficiently accurate, the cycle starts again, resulting in the following sequence:

NSTEP: 1 initial position 2 trial step 3 corrector step, i.e. positions corresponding to anticipated minimum 4 trial step 5 corrector step ... **3**-
If a damping factor
is supplied in the INCAR file by means of the SMASS tag,
a damped second order equation of motion is used for the
update of the ionic degrees of freedom:
where SMASS supplies the damping factor , and POTIM controls . In fact a simple velocity Verlet algorithm is used to integrate the equation, the discretized equation reads:

It is easy to see that for a simple steepest descent algorithm is obtained. Therefore corresponds to maximal damping, corresponds to no damping. The optimal damping factor depends on the Hessian matrix (second derivate matrix) of the ionic system. A reasonable first guess for is usually 0.4.

If SMASS is not set in the INCAR file (respectively SMASS<0), a velocity quench algorithm is used. In that case ions are updated according to a second order equation of motion using the Verlet algorithm (i.e. energy would be conserved), and whenever the force on one ion is anti-parallel to the current velocity, the velocities on that ion are zeroed.

*Mind:*For IBRION=3, a reasonable time step*must*be supplied by the POTIM parameter. Too large time steps will result in divergence, too small one will slow down the convergence. The stable time step is usually the twice the*smallest*line minimization step in the conjugate gradient algorithm.

For IBRION=1,2 and 3, the flag ISIF (see section 7.21) determines whether the ions and/or the cell shape is changed. No update of the cell shape is supported for molecular dynamics (IBRION=0).

Within all relaxation algorithms (IBRION=1,2 and 3) the parameter POTIM should
be supplied in the INCAR file. It should be stressed that
for IBRION>0, *the forces are scaled internally before calling
the minimization routine*. Therefore for relaxations, POTIM has
no physical meaning and serves only as a scaling factor. For many systems,
the optimal POTIM is around 0.5.

Because the Quasi-Newton algorithm and the damped algorithms are sensible to the choice of this parameter, use IBRION=2 if you are not sure how large the optimal POTIM is. In that case the OUTCAR file and stdout will contain both a line indicating a reliable POTIM. For IBRION=2, the following lines will be written to stdout after each corrector step (usually each odd step):

trial: gam= .00000 g(F)= .152E+01 g(S)= .000E+00 ort = .000E+00 (trialstep = .82)The quantity

After at the end of a trial step, the following lines are written to stdout:

trial-energy change: -1.153185 1.order -1.133 -1.527 -.739 step: 1.7275(harm= 2.0557) dis= .12277 next Energy= -1341.57 (dE= -.142E+01)The quantity

The OUTCAR file will contain the following lines, at the end of each trial step:

trial-energy change: -1.148928 1.order -1.126 -1.518 -.735 (g-gl).g = .152E+01 g.g = .152E+01 gl.gl = .000E+00 g(Force) = .152E+01 g(Stress)= .000E+00 ortho = .000E+00 gamma = .00000 opt step = 1.72745 (harmonic = 2.05575) max dist = .12277085 next E = -1341.577507 (d E = 1.42496)The line

For IBRION=1 less information is printed. IBRION=1 should be used only close to the minimum with an already known setting for POTIM (determined with a run with IBRION=2).

Mon Mar 29 10:38:29 MEST 1999