Skip to content

neb

esta.transitionState.neb

finding the transition state using Neb class given initial and final atomic structures using

  1. normal NEB.
  2. Climbing NEB.
  3. 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!