Improved dimer method: Difference between revisions

From VASP Wiki
No edit summary
No edit summary
Line 1: Line 1:
The dimer method<ref name="henkelman1999"/> is a technique for the optimization of transition states. In VASP, the method improved by Heyden et al.(IDM) is implemented, detailed presentation of the method can be found in reference <ref name="heyden2005"/>. Algorithm for IDM consists of the following cyclically repeated steps:
The dimer method{{Cite|henkelman:jpc:1999}} 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{{Cite|heyden:jpc:2005}}. The algorithm for IDM consists of the following cyclically repeated steps:
*The curvature along the dimer axis is computed using finite diferences The initial dimer direction must be provided by user (see below).
*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 as its axis is parallel with the direction of the maximal negative curvature.
*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.
*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 {{TAG|IBRION}}=44 in the {{TAG|INCAR}} file.
The method is invoked by setting {{TAG|IBRION}}=44 in the {{TAG|INCAR}} file.


Furthermore, the user must specify the direction of the unstable mode. The corresponding <math>3N</math> dimensional vector is defined in the {{TAG|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 defined by user is irrelevant. An example of a {{TAG|POSCAR}} file for a simulation with the dimer method is given in the following:
Furthermore, the user must specify the direction of the unstable mode. The corresponding <math>3N</math> dimensional vector is defined in the {{FILE|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 {{FILE|POSCAR}} file for a simulation with the dimer method is given in the following:


  ammonia flipping
  ammonia flipping
Line 35: Line 35:
*{{TAG|STEP_MAX}}=0.1 Trust radius (upper limit) for the optimization step (in <math>\AA</math>)
*{{TAG|STEP_MAX}}=0.1 Trust radius (upper limit) for the optimization step (in <math>\AA</math>)


Important information about the progress of optimization is written in the {{TAG|OUTCAR}} file after the expression ''DIMER METHOD''.
Important information about the progress of optimization is written in the {{FILE|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 (long sequence of positive numbers usually indicates that the algorithm fails to converge to the correct transition state).
 
IMPORTANT NOTE: The current implementation does not support lattice optimizations ({{TAG|ISIF}}>2) and can be used only for the relaxation of atomic positions.


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).
{{NB|mind| The current implementation does not support lattice optimizations ({{TAG|ISIF}}>2) and can be used only for the relaxation of atomic positions.}}


== Initial dimer axis ==
== Initial dimer axis ==


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


== Practical example ==
== 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 {{TAG|POSCAR}} file with the initial guess for the ammonia flipping looks like this:
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 {{FILE|POSCAR}} file with the initial guess for the ammonia flipping looks like this:


  ammonia flipping
  ammonia flipping
Line 64: Line 61:
         0.000000        0.000000        0.000000
         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 {{TAG|INCAR}} file should contain the following lines:
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 {{FILE|INCAR}} file should contain the following lines:


  NSW = 1
  {{TAGBL|NSW}} = 1
  Prec = Normal
  {{TAGBL|Prec}} = Normal
  IBRION = 5                ! perform vibrational analysis
  {{TAGBL|IBRION}} = 5                ! perform vibrational analysis
  NFREE = 2                  ! select central differences algorithm
  {{TAGBL|NFREE}} = 2                  ! select central differences algorithm
  POTIM = 0.02              ! step for the numerical differenciation  
  {{TAGBL|POTIM}} = 0.02              ! step for the numerical differenciation  
  NWRITE = 3                ! write down eigenvectors of dynamical matrix after division by SQRT(mass)
  {{TAGBL|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 {{TAG|OUTCAR}} file:
After completing the vibrational analysis, we look up the hardest imaginary mode (Eigenvectors after division by SQRT(mass)!) in the {{FILE|OUTCAR}} file:


   12 f/i=  23.224372 THz  145.923033 2PiTHz  774.681641 cm-1    96.048317 meV
   12 f/i=  23.224372 THz  145.923033 2PiTHz  774.681641 cm-1    96.048317 meV
Line 82: Line 79:
       0.000000  0.000000  0.000000    0.000001  -0.111442    0.000001
       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 {{TAG|POSCAR}} file:
and use the last three columns to define the dimer axis in the {{FILE|POSCAR}} file:


  ammonia flipping
  ammonia flipping
Line 102: Line 99:
         0.000001  -0.111442    0.000001        ! components for atom N
         0.000001  -0.111442    0.000001        ! components for atom N


In order to perform IDM calculation, the {{TAG|INCAR}} file should contain the following lines:
In order to perform IDM calculation, the {{FILE|INCAR}} file should contain the following lines:


  NSW = 100           
  {{TAGBL|NSW}} = 100           
  Prec=Normal
  {{TAGBL|Prec}}=Normal
  IBRION=44          !  use the dimer method as optimization engine
  {{TAGBL|IBRION}}=44          !  use the dimer method as optimization engine
  EDIFFG=-0.03
  {{TAGBL|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).
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).
 
{{sc|Improved Dimer Method|Examples|Examples that use this tag}}


== Related tags and articles ==
== Related tags and articles ==
Line 117: Line 112:


== References ==
== References ==
<references>
<ref name="henkelman1999">[http://aip.scitation.org/doi/10.1063/1.480097 G. Henkelman and H. Jónsson, J. Chem. Phys. 111, 7010 (1999).]</ref>
<ref name="heyden2005">[http://aip.scitation.org/doi/10.1063/1.2104507 A. Heyden, A. T. Bell and F. J. Keil, J. Chem. Phys. 123, 224101 (2005).]</ref>
</references>


----
----


[[Category: Transition states]][[Category:Ionic minimization]][[Category:Atoms and Molecules]][[Category:Howto]]
[[Category:Transition states]][[Category:Ionic minimization]][[Category:Howto]]

Revision as of 14:33, 12 November 2023

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