neb
esta.transitionState.neb
¶
finding the transition state using Neb class given initial and final atomic structures using
- normal NEB.
- Climbing NEB.
- Automatic NEB methods .. to be done.
author = 'sk'
email = 'sonukumar.physics@gmail.com'
date = 'Nov, 2017'
.. note:: We take N+1 images in the elastic band. The end point images are input relaxed structures (reactant and product as an example). The N-1 images are created or feed and after that these images are optimized to get converged elastic band. i.e. 0 1 2 3 ... i ... N ---> N+1 images; 0 and N images are fixed
.. _link: http://aip.scitation.org/doi/10.1063/1.1323224
Neb
¶
class Neb: calculate the nedged force on all the images in the elastic band
nedged force = (true force/dft force )_perpendicular componet + (spring force)_parallel component
get_force_ci
property
¶
get force on the climbing image
.. note:: force_ci = force_dft - 2* dot_product (force_dft_vector , tangent_vector) tangent_vector
__init__(position, force, energy=None)
¶
Parameters:
-
position
(array
) –array of rank 3 or shape (n_images, natoms, 3) specifying atomic positions of all images; NOTE: position variable for all the images => position contains all the images present in the elastic band!!!
-
force
(array
) –array of rank 3 or shape (n_images, natoms, 3) specifying atomic forces on all images
Returns:
-
force_nedged
(array
) –array of rank 3 or shape (n_images, natoms, 3) specifying nedged forces on all images
get_tangent()
¶
get an estimate of the tangent at each image along the elastic band
.. note::
Two ways to estimation:
1) Graeme Henkelman, et al. OURNAL OF CHEMICAL PHYSICS VOLUME 113, NUMBER 22 8 DECEMBER 2000
2) Graeme Henkelman and H Jonsson , JOURNAL OF CHEMICAL PHYSICS VOLUME 113, NUMBER 22 8 DECEMBER 2000; note: improved estimate needs energy of each image present in position variable
Parameters:
-
energy
–array of energies (DFT or some other energy calculator) of length equal to the number of images in the elastic band (also need position and force ---> from self.position, self.force)
Returns:
-
tangent
(array
) –array of rank 3 with shape (n_images, natoms, 3); tangent array at each inbetween images to get perpendicular and parallel component of true/dft forces and spring forces Note: first and last tangents are kept zero and never used!!
get_spring_force_parallel(spring_constant=None)
¶
get the spring force parallel to the tangent, given the self.atomic positions and spring_constant (optional)
get_force_perpen()
¶
get the perpendicular force acting on each image excluding end points;
.. note:: force_perpendicular = force_dft - dot_product (force_dft , tangent_vector) tangent_vector
force_dft is force obtained from dft or some model calculation!