Improved dimer method

From VASP Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

The dimer method[1] is a technique for the optimization of transition states. In VASP, the improved dimer method (IDM) by Heyden et al. is implemented, and a detailed presentation of the method can be found in their paper[2]. The algorithm for IDM consists of the following cyclically repeated steps:

  • The curvature along the dimer axis is computed using finite differences. The initial dimer direction must be provided (see below).
  • The dimer is rotated such that its axis is parallel with the direction of the maximal negative curvature.
  • An optimization step is taken, and the potential energy is maximized along the unstable direction, (i.e., dimer axis) while it is minimized in all other directions.

The method is invoked by setting IBRION=44 in the INCAR file.

Furthermore, the user must specify the direction of the unstable mode. The corresponding dimensional vector is defined in the POSCAR file after the lines with atomic coordinates and a separating blank line. Note that the dimer direction is automatically normalized, i.e., the norm of the dimer axis is irrelevant. An example of a POSCAR file for a simulation with the dimer method is given in the following:

ammonia flipping
1.
6. 0. 0.
0. 7. 0.
0. 0. 8.
H N
3 1
cart
       -0.872954        0.000000       -0.504000        ! coordinates for atom 1
        0.000000        0.000000        1.008000
        0.872954        0.000000       -0.504000
        0.000000        0.000000        0.000000        ! coordinates for atom N
       ! here we define trial unstable direction:
        0.000001    0.522103   -0.000009        ! components for atom 1
       -0.000006    0.530068    0.000000
       -0.000005    0.522067   -0.000007
        0.000001   -0.111442    0.000001        ! components for atom N

As in the other structural optimization algorithms in VASP, convergence is controlled through the EDIFFG tag.

Experienced users can affect the performance of the dimer method by modifying the numerical values of the following parameters (the given example values are the default values):

  • FINDIFF=1 Use a forward (FINDIFF=1) or central (FINDIFF=2) difference formula for the numerical differentiation to compute the curvature along the dimer direction
  • DIMER_DIST=0.01 The step size for a numerical differentiation (in )
  • MINROT=0.01 Dimer is rotated only if the predicted rotation angle is greater than MINROT (rad.)
  • STEP_SIZE=0.01 Trial step size for optimization step (in )
  • STEP_MAX=0.1 Trust radius (upper limit) for the optimization step (in )

Important information about the progress of optimization is written in the OUTCAR file after the expression DIMER METHOD.

In particular, it is useful to check the curvature along the dimer direction, which should be a negative number (a long sequence of positive numbers usually indicates that the algorithm fails to converge to the correct transition state).

Mind: The current implementation does not support lattice optimizations (ISIF>2) and can be used only for the relaxation of atomic positions.

Initial dimer axis

The direction of an unstable vibrational mode can be obtained by performing the vibrational analysis (IBRION=5) and taking the x-, y-, and z- components of the imaginary vibrational mode (after division by !) parallel with the reaction coordinate. Note that in order to plot "Eigenvectors after division by SQRT(mass)", NWRITE=3 should be used.

Practical example

In this example, the transition state for the ammonia flipping is computed. All calculations discussed here were performed using the PBE functional, Brillouin zone sampling was restricted to the gamma point. This practical example can be completed in a few seconds on a standard desktop PC. The starting structure for the IDM simulation should be a reasonable guess for the transition state. A POSCAR file with the initial guess for the ammonia flipping looks like this:

ammonia flipping
1.
6. 0. 0.
0. 7. 0.
0. 0. 8.
H N
3 1
cart
       -0.872954        0.000000       -0.504000
        0.000000        0.000000        1.008000
        0.872954        0.000000       -0.504000
        0.000000        0.000000        0.000000

As an input for the dimer method, the direction of the unstable mode (dimer axis) is needed. This can be obtained by performing vibrational analysis. The INCAR file should contain the following lines:

NSW = 1
Prec = Normal
IBRION = 5                 ! perform vibrational analysis
NFREE = 2                  ! select central differences algorithm
POTIM = 0.02               ! step for the numerical differenciation 
NWRITE = 3                 ! write down eigenvectors of dynamical matrix after division by SQRT(mass)

After completing the vibrational analysis, we look up the hardest imaginary mode (Eigenvectors after division by SQRT(mass)!) in the OUTCAR file:

 12 f/i=   23.224372 THz   145.923033 2PiTHz  774.681641 cm-1    96.048317 meV
             X         Y         Z           dx          dy          dz
      5.127046  0.000000  7.496000     0.000001    0.522103   -0.000009
      0.000000  0.000000  1.008000    -0.000006    0.530068    0.000000
      0.872954  0.000000  7.496000    -0.000005    0.522067   -0.000007
      0.000000  0.000000  0.000000     0.000001   -0.111442    0.000001

and use the last three columns to define the dimer axis in the POSCAR file:

ammonia flipping
1.
6. 0. 0.
0. 7. 0.
0. 0. 8.
H N
3 1
cart
       -0.872954        0.000000       -0.504000        ! coordinates for atom 1
        0.000000        0.000000        1.008000
        0.872954        0.000000       -0.504000
        0.000000        0.000000        0.000000        ! coordinates for atom N
        ! here we define trial unstable direction:
        0.000001    0.522103   -0.000009        ! components for atom 1
       -0.000006    0.530068    0.000000
       -0.000005    0.522067   -0.000007
        0.000001   -0.111442    0.000001        ! components for atom N

In order to perform IDM calculation, the INCAR file should contain the following lines:

NSW = 100           
Prec=Normal
IBRION=44           !  use the dimer method as optimization engine
EDIFFG=-0.03

With this setting, the algorithm converges in just a few relaxation steps. Further vibrational analysis can be performed to prove that the relaxed structure is indeed a first-order saddle point (one imaginary frequency).

Related tags and articles

FINDIFF, DIMER_DIST, MINROT, STEP_SIZE, STEP_MAX

References