Improved dimer method: Difference between revisions
(Created page with "The dimer method<ref name="henkelman1999"/> is a technique for the optimization of transition states. In VASP, the method improved by Heyden et al.~\cite{Heyden:05} (IDM) is i...") |
No edit summary |
||
Line 1: | Line 1: | ||
The dimer method<ref name="henkelman1999"/> is a technique for the optimization of transition states. | 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: | ||
In VASP, the method improved by Heyden et al. | *The curvature along the dimer axis is computed using finite diferences The initial dimer direction must be provided by user (see below). | ||
detailed presentation of the method can be found in | *The dimer is rotated such as its axis is parallel with the direction of the maximal negative curvature. | ||
Algorithm for IDM consists of the following cyclically repeated steps: | *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. | ||
curvature along the dimer axis is computed using finite diferences | |||
The initial dimer direction must be provided by user (see below). | |||
dimer is rotated such as its axis is parallel with the direction | |||
of the maximal negative curvature | |||
optimization step is taken | |||
the unstable direction (i.e. dimer axis) while it is minimized in | |||
all other directions | |||
The method is invoked by setting { | The method is invoked by setting {{TAG|IBRION}=44 in the {{TAG|INCAR}} file. | ||
Furthermore, user must specify direction of the unstable mode. | 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: | ||
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 defined by user is irrelevant. | |||
ammonia flipping | |||
ammonia flipping | 1. | ||
1. | 6. 0. 0. | ||
6. 0. 0. | 0. 7. 0. | ||
0. 7. 0. | 0. 0. 8. | ||
0. 0. 8. | H N | ||
H N | 3 1 | ||
3 1 | cart | ||
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 {{TAG|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): | |||
{\ | *{{TAG|FINDIFF}=1 Use a forward ({{TAG|FINDIFF}=1) or central ({{TAG|FINDIFF}=2) difference formula for the numerical differentiation to compute the curvature along the dimer direction | ||
\ | *{{TAG|DIMER_DIST}}=0.01 The step size for a numerical differentiation (in <math>\AA</math>) | ||
*{{TAG|MINROT}=0.01 Dimer is rotated only if the predicted rotation angle is greater than {{TAG|MINROT}} (rad.) | |||
*{{TAG|STEP_SIZE}}=0.01 Trial step size for 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 | Important information about the progress of optimization is written in the {{TAG|OUTCAR}} file after the expression ''DIMER METHOD''. | ||
in the file | |||
In particular, it is useful to check the curvature along the dimer direction, | 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). | ||
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 ({ | IMPORTANT NOTE: The current implementation does not support lattice optimizations ({{TAG|ISIF}}>2) and can be used only for the relaxation of atomic positions. | ||
\subsubsection{Initial dimer axis}\label{hint} | \subsubsection{Initial dimer axis}\label{hint} | ||
Line 274: | Line 221: | ||
<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="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> | </references> | ||
---- | ---- |
Revision as of 14:08, 25 January 2017
The dimer method[1] 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 [2]. 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 dimer is rotated such as 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 {{TAG|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 defined by user 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):
- {{TAG|FINDIFF}=1 Use a forward ({{TAG|FINDIFF}=1) or central ({{TAG|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 )
- {{TAG|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 )
- {{TAG|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 (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 (ISIF>2) and can be used only for the relaxation of atomic positions.
\subsubsection{Initial dimer axis}\label{hint} The direction of unstable vibrational mode can be obtained by performing vibrational analysis ({\tt IBRION}=5, see Sec.~\ref{sec:IBRION=5and6}) and taking the x-, y-, and z- components of the imaginary vibrational mode (after division by SQRT(mass)!) parallel with the reaction coordinate. Note that in order to plot "Eigenvectors after division by SQRT(mass)", {\tt NWRITE}=3\index{INCAR!N!NWRITE|textit} should be used.
\subsubsection{Practical example}\label{example} In this example, 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 IDM simulation should be a reasonable guess for the transition state. POSCAR with the initial guess for the ammonia flipping:
\begin{verbatim} 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
\end{verbatim}
As an input for the dimer method, direction of unstable mode (dimer axis) is needed. This can be obtained by performing vibrational analysis. The INCAR file should contain the following lines:
\begin{verbatim} 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) \end{verbatim}
After completing the vibrational analysis, we look up the hardest imaginary mode (Eigenvectors after division by SQRT(mass)!) in the OUTCAR file:
\begin{verbatim}
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.000== References ==
Cite error: <ref>
tag with name "Sander" defined in <references>
is not used in prior text.
Contents 005 0.522067 -0.000007
0.000000 0.000000 0.000000 0.000001 -0.111442 0.000001
\end{verbatim}
and use the last three columns to define the dimer axis in POSCAR:
\begin{verbatim}== References ==
Cite error: <ref>
tag with name "Sander" defined in <references>
has group attribute "" which does not appear in prior text.
ammonia flipping 1. 6. 0. 0. 0. 7. 0.== References ==
Cite error: <ref>
tag with name "Sander" defined in <references>
has group attribute "" which does not appear in prior text.
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.504== References ==
Cite error: <ref>
tag with name "Sander" defined in <references>
has group attribute "" which does not appear in prior text.
Contents 000
0.000000 0.000000 0.000000 ! coordinates for atom N ! here we define trial unstable direction: 0.000001 0.522103 -0.000009 == References ==
Cite error: <ref>
tag with name "Sander" defined in <references>
has group attribute "" which does not appear in prior text.
Contents== References ==
Cite error: <ref>
tag with name "Sander" defined in <references>
has group attribute "" which does not appear in prior text.
! components for atom 1 -0.000006 0.530068 0.000000 -0.000005 0.522067 -0.000007== References ==
Cite error: <ref>
tag with name "Sander" defined in <references>
has group attribute "" which does not appear in prior text.
Contents== References ==
Cite error: <ref>
tag with name "Sander" defined in <references>
has group attribute "" which does not appear in prior text.
References
Cite error: <ref>
tag with name "Sander" defined in <references>
has group attribute "" which does not appear in prior text.
References
Cite error: <ref>
tag with name "Sander" defined in <references>
has group attribute "" which does not appear in prior text.
References
Cite error: <ref>
tag with name "Sander" defined in <references>
has group attribute "" which does not appear in prior text.
0.000001 -0.111442 0.000001 ! components for atom N
\end{verbatim}
In order to perform IDM calculation, INCAR should contain the following lines:
\begin{verbatim} NSW = 100 Prec=Normal IBRION=44 ! use the dimer method as optimization engine EDIFFG=-0.03 \end{verbatim}
With this setting, 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).
References
Cite error: <ref>
tag with name "henkelman1999" defined in <references>
has group attribute "" which does not appear in prior text.
Cite error: <ref>
tag with name "heyden2005" defined in <references>
has group attribute "" which does not appear in prior text.