-
Notifications
You must be signed in to change notification settings - Fork 2
Nudged Elastic Band
The usual way of optimizing reaction paths within VASP is by doing a Nudged Elastic Band (NEB) calculation. It starts from the optimized structures of the reactants and products of a reaction and linearly interpolate the path between them by a number of equidistantly placed structures (images). Starting from this simple linear interpolation, the actual path is optimized by moving the intermediate structures to minimize the total energy, and by simultaneously changing the inter-image distances. Finally, the energy of the highest image along the path is maximized, serving as initial structure for a TS optimization.
The preimplemented NEB tool in VASP has limited features, therefore, an external program updated called VTST for VASP should be added to your VASP version. The installation manual can be found on the website as well.
The following steps need to be done to optimize a NEB reaction path:
A: Optimize the structures of reactant and product. See on the geometry optimization page for details.
B: Copy the CONTCAR
file of reactant and product to a new folder and decide, how many frames the reaction path between the endpoints shall have. The more frames, the better the convergence of the NEB will become, but the calculation effort will raise linearly with this number. A good compromise might be 8 or 16 structures. For 8 structures, rename the CONTCAR
of the reactant to POSCAR00
and that of the product to POSCAR09
.
C: Execute the script neb_make.pl
from the VTST scripts folder (download here). Then, depending on the names of the POSCAR
files, a number of folders (for the example above: 00
, 01
, 02
, 03
, 04
, 05´,
06,
07,
08,
09) are generated, in which
POSCAR` files of the linearly interpolated initial structures of the path segments (images) are located.
D: In the main folder containing the newly generated folders, place the usual VASP input files (but no POSCAR
!). The INCAR
must contain the following additional keywords:
-
IMAGES = [number]
The number of NEB images (reaction path segments) between the fixed endpoints. In the example above, the number must be 8. -
SPRING = -5
The spring constant between two images along the path. For NEB, use a negative value. -
ICHAIN = 0
Activates the NEB method. -
LCLIMB = .TRUE.
Activates the climbing image method, i.e., the targeted optimization of the transition state of the reaction along the path. -
LNEBCELL = .FALSE.
Turns on SS-NEB (Used withISIF = 3
, i.e., optimization of the cell size/volume, not relevant for most cases!) -
IOPT = 3
Uses a special optimization routine from the Henkelman groip (Quick-Min) for the automatic choice ofIBRION = 1
orIBRION = 3
(force-based optimizer). -
IBRION = 3
Disable VASP default optimizers forIOPT = 3
. -
POTIM = 0
Sets the VASP geometry optimization step to zero such that all the work is done by the VTST addon. -
TIMESTEP = 0.1
Dynamical time step (?), might not be needed at all.
E: Start the calculation in the main folder simiar to a usual VASP calculation. Note that the total number of used processors must be divisable through the number of images! During the calculation, the progress can be checked with the [eval_neb.py](add link) script from the main folder where the calculation has been started.
F: After finishing, look for the structure with the highest energy and check if it is really a transition state. Copy the CONTCAR
file in the respective folder into a new one a do a frequency calculation. Only one (large) imaginary mode should appear, which points along the reaction path.
After the calculation has been finished, use the [eval_neb.py](add link) script again to evaluate the final results. Since also the energies of the first and last minima are needed to get the full path, copy the OUTCARs from the geometry optimizations to the folders 00
and N+1
!