SeqQuest input - NEB transition state finder
MPI-capable
Table of Contents
- Overview
- Input options
- Details
- Troubleshooting
Overview
This page gives a description of the input section that controls
the "Nudged Elastic Band" (NEB) transition state finder.
This is a complicated calculation that requires very careful input.
It involves multiple images in a "chain-of-states" calculation, and
the generation of the intermediate states between the reactant and
product geometries can be very tricky, and lead to poorly behaved
geometries, possibly even leading to atoms being placed on top of
one another. Hence, use of this feature requires very careful
construction on the part of the user. To trigger an NEB calculation,
enter a "do neb" instruction in the
command options.
There is a NEB Tutorial
available that provides additional guidance in the use of NEB
to find transition states.
The code implements a method based on that described in:
"Nudged elastic band method for finding minimum energy paths of transitions",
H. Jonsson, G.Mills, and K.W. Jacobsen,
in "Classical and Quantum Dynamics in Condensed Phase Simulations"
ediited by B.J. Berne, G. Ciccoti, and D.F. Coker (World Scientific,
Singapore, 1998), p385.
and
"A climbing image nudged elastic band method for finding saddle points
and minimum energy paths"
G. Henkelman, B.P. Uberuaga, and Hannes Jonsson, J. Chem. Phys.
113, 9901 (2000).
Important: experience indicates that relaxation of a NEB
chain of geometries is very challenging. The Broyden method that
is the Quest default for geometry relaxation will usually fail.
Hence, when doing a NEB calculation, it is recommended that the
user invoke a dynamical method (e.g., ASD) for relaxing geometries
in the geometry relaxation section.
Input options
There are two parts to the input section. A beginning part, which
is highly structured, keyword-driven, with both required and optional
data that must be in a particular order (such as for the
setup structure data), and a
following section of data that is optional, also keyword-driven.
The keywords must be left-justified, but all data input is free-format.
- neb data - begin NEB input data section
- images - the number of (intermediate) NEB images
- images (int)
- einitial - total energy (Ry) of starting point of band
- energy_start (real)
- [coordinates] - list of atomic coordinates, start of band
- do i_atom = 1, n_atom
- x_atom y_atom z_atom (3*real)
- enddo
- - OR -
- [atom, types, and positions?] - list of atoms as in setup:
- do i_atom = 1, n_atom
- label_atom type_atom x_atom y_atom z_atom (2*char,3*real)
- enddo
- efinal - total energy (Ry) of end point of band
- energy_end (real)
- coordinates - list of atomic coordinates, end of band
- do i_atom = 1, n_atom
- x_atom y_atom z_atom (3*real)
- enddo
- - OR -
- atom, types, and positions? - list of atoms as in setup:
- do i_atom = 1, n_atom
- label_atom type_atom x_atom y_atom z_atom (2*char,3*real)
- enddo
-
End of structured required section, begin optional (any order) input:
- ...
-
Note: invocation of following three options is changing.
- antikink | no_antikink - tangent = to uphill image, or
from downhill to uphill image
- ...
- climb - invoke climbing image (highest image only)
- ...
- extreme | no_extreme - push nearest images to min/max, or not
- ...
- restart | no_restart - restart NEB (very iffy, code untested),
or prevent restart
- ...
- nebspring - spring constant connecting NEB images
- spring_neb (real)
...
- image - intermediate image for input of coords
- image (int)
- coordinates - list of atomic coordinates for this image
- do i_atom = 1, n_atom
- x_atom y_atom z_atom (3*real)
- enddo
- - OR -
- atom, types, and positions? - list of atoms as in setup:
- do i_atom = 1, n_atom
- label_atom type_atom x_atom y_atom z_atom (2*char,3*real)
- enddo
- ...
- end neb data
Return to Top
Details
The NEB method is intended to find the minimum energy path (MEP) between
two points - which can be thought of reactant and product of a reaction
- to find a path that traverses a transition barrier. The two points are
usually local equilibria, but there is no requirement this be so.
The requirement is solely that the end-points be on a MEP. For example,
one could use the NEB to find the path between a saddle point (i.e.
highest point on a MEP, the transition state) and one of the end-point
equilibrium configurations.
The atomic configuration entered in the setup phase is, by default, taken
to be the initial (reactant) state, and the atom types (elements)
of the atom list are taken from the setup phase input.
NB: make sure that the endpoint and any images entered in the NEB input
have the same order of atom types as in the setup.
The NEB code does not check for consistency of atom types.
The user must take care not to transmute elements in the NEB input!
While input of atomic positions in the NEB section is possible
through either the coordinate - OR - atom, types, and position form
(the latter as in the setup phase), during the NEB input, all atom type
information is ignored.
Even though the initial state default is the geometry given in the
setup, it can be overridden in the NEB input section.
Even if the user does not override the initial state coordinates, the
input must provide a total energy einitial for the initial state.
The final state endpoint total energy efinal and coordinates
are both required in the NEB input. The energies are used in
defining the uphill/downhill directions for the antikink (highly
recommended) prescription and the extreme option.
The restart option is not entirely validated. The safest procedure
is to transfer the last recorded band image geometries into the NEB input
file, and begin the MEP minimization anew (dropping the history).
The NEB code fills in missing images in the NEB using linear interpolation.
Occasionally, this may result in a pathological configuration (e.g., atoms
being at the same point in space) that needs to be avoided.
Or there might be an earlier, partially
converged NEB calculation that the user would like to start from.
The NEB input file has the facility to input each of the individual
NEB image configurations using the image/coordinate keywords
in the optional section of the NEB input file. The user can input any or
all of the images. The code will fill in any missing (empty) images with
linear interpolation between the nearest image configurations for which
it has coordinates. Note that the code outputs, both in the standard
listing file, and in the NEB restart file, image coordinates that can
be directly transferred into the NEB input data section.
Important: all the NEB images share the system information
(cell, k-sample, symmetry, atom types, geometry constraints) described in
the setup phase section of the input file.
Note that the intermediate images in the NEB may have
less symmetry than the two end points (reactant and product),
and the input file will need to be modified to reflect this.
The same atoms will be "frozen" in all images, the same supercell
will be used, and the atom types as listed in the setup phase data
will be used across all images (make sure that the atoms in the
two endpoints of the NEB are in the same order).
Return to Top
Troubleshooting
Experience in NEB calculations is limited. The below is a description
of possible approaches to deal with certain problems.
- The NEB is taking a large number of steps to converge
(also check geometry
troubleshooting).
- Rumor is this problem is characteristic of NEB calculations.
Please forward summaries of successful approaches here.
Possible suggestions:
Add or reduce number of images, increase or decrease the NEB
spring constant, try alternate relaxation methods, turn the
"extreme" option off, incrementally add more images to the NEB,
apply constraints to geometry minimization (esp. frame
constraints to molecular NEB calculations), ...
- One of the NEB images crashes in the setup phase in the first NEB step.
- Perhaps the linear interpolation between the NEB endpoints created
a geometry where two atoms have the same position in space?
Check the endpoints. Make sure the atoms are in the same order
in both the reactant and product geometries. If indeed two atoms
cross in space, create an explicit geometry for that image in the NEB
such that the atoms do not coincide in position, and insert it into
the NEB input section (using the image keyword above).
- One or more of the geometries "blows up" during the NEB.
- Perhaps the geometry relaxation method was Broyden (the default)?
Change the minimization method to a dynamical method (ASD, etc.).
Take the last "good" set of images in the calculation, and transfer
into the NEB input file, and begin the calculation again.
Also check geometry
troubleshooting.
- In a parallel NEB calculation, all images are identical.
- Two possibilities:
- Check that the initial and final state in your input
are correct
- Check that you are using the MPI rather than serial executable.
If you use the serial executable in an MPI run, each
processor will run the same serial NEB sequence.
Return to Top
or NEB Tutorial
or Input Manual
or User Guides
or SeqQuest Home
Send questions and comments to:
Peter Schultz
at
paschul@sandia.gov
Last updated:
January 30, 2006