User Tools

Site Tools


neb_simulation

Input

Here we provide brief description how to run Nudged Elastic Band ([http://theory.cm.utexas.edu/henkelman/research/saddle/ NEB]) simulations to explore reaction pathways between two known atomic configurations. More details about the method including list of references can be found [http://theory.cm.utexas.edu/henkelman/research/saddle/ here].

To start, we need an initial and final atomic configuration.

  • The initial configuration is defined in input *.bas file defined in fireball.in input file. Final configuration is defined in other *.bas file, which name is defined in neb.optional file (see bellow).
  • Next step, we need to activate ineb flag in the section OPTION of the fireball.in input file:
&OPTION
ineb = 1 
&END
  • In addition, we create an extra input file neb.optional including parameters to control NEB searching process. This file has to be presented in the working directory (This file will probably converted into section format of fireball.in soon, for details please checkout your current version). The format of neb.optional file is following:
1.0                 ! spring strength (k_neb)
0.03                ! tolerance of displacement (tol_displ_neb)
0.05                ! tolerance of force (tol_ftot_neb)
0.003               ! tolerance of energy (tol_etot_neb)
16                  ! neb images (including the initial and final image)  (nimg_neb)
1000                ! max. number of neb iterations (niter_neb_max)
2.0                 ! time step for NEB optimization verlet method (dt_neb)
0                   ! restart (irestart)
final.bas           ! file name including the final configuration (file_neb))

Output & Convergence

Information about the convergence status/progress can be checked out searching lines with a string NEB in output file; e.g. typing from command line:

grep "NEB" $output_name

you'll get a summary in the following format:

...
   NEB_RES no. iter =  52
   NEB_RES displ :  RES =      0.00977406  TOL =       0.03000000
   NEB_RES etot  :  RES =      0.05848069  TOL =       0.00300000
   NEB_RES ftot  :  RES =      0.64556157  TOL =       0.05000000
   NEB_RES no. iter =  53
   NEB_RES displ :  RES =      0.00968433  TOL =       0.03000000
   NEB_RES etot  :  RES =      0.05707478  TOL =       0.00300000
   NEB_RES ftot  :  RES =      0.62786898  TOL =       0.05000000
   NEB_RES no. iter =  54
   NEB_RES displ :  RES =      0.00960022  TOL =       0.03000000
   NEB_RES etot  :  RES =      0.05630221  TOL =       0.00300000
   NEB_RES ftot  :  RES =      0.62082779  TOL =       0.05000000
   NEB_RES no. iter =  55
...

In addition actual optimized position of each NEB image is stored in answer_neb_XX.bas file; where XX means image no.. File answer_neb_XX.xyz contains whole optimization history of an individual image. Files answer_image.bas and answer_image.xyz contain all, last optimized, NEB images including the initial and final ones.

Note: The files answer_image.bas can be directly used for a restart of NEB-optimization process.

Main sources of convergence troubles:

  • large time step: Initial forces can be pretty large, therefore a small time step is advisable to avoid any numerical instabilities of [http://en.wikipedia.org/wiki/Verlet_integration Verlet] alghorithm used to integrate the equations of motion.
  • wrong initial guess of NEB images: Linear extrapolation is used to build up set of NEB images at begin. In special cases, where the reaction trajectories are complicated, can lead to unrealistic configurations with atoms close to each other. Such configurations will suffer large repulsive forces which consequently may lead to numerical instabilities during optimization.
  • weak spring constant: If the potential energy surface is complicated, the imaginary elastic band can get kinked. On other hand, large spring constant will lead to less precise estimation of the saddle point.

Restart

There is possibility to make a restart of previous run on penultimate line in the file neb.optional:

1.0                 ! spring strength (k_neb)
0.03                ! tolerance of displacement (tol_displ_neb)
0.05                ! tolerance of force (tol_ftot_neb)
0.003               ! tolerance of energy (tol_etot_neb)
16                  ! neb images (including the initial and final image)  (nimg_neb)
1000                ! max. number of neb iterations (niter_neb_max)
0.5                 ! time step for NEB optimization verlet method (dt_neb)
1                   ! restart (irestart)
final.bas           ! file name including the final configuration (file_neb))

In this case, an initial NEB images will be uploaded from a file declared on the next line of neb.optional file. Format of this file has to be indentical to the answer_image.bas file, where the first line containing total number of NEB images.

neb_simulation.txt · Last modified: 2011/02/18 13:13 (external edit)