class pele.transition_states.NEB(path, potential, distance=<function distance_cart at 0x37850c8>, k=100.0, adjustk_freq=0, adjustk_tol=0.1, adjustk_factor=1.05, with_springenergy=False, dneb=True, copy_potential=False, quenchParams=None, quenchRoutine=None, save_energies=False, verbose=-1, events=None, use_minimizer_callback=True)[source]

Doubly nudged elastic band implementation

Parameters :

path: iteratable

iteratable object of all images

potential :

the potential object

distance : callable

distance function for the elastic band

k : float, optional

the elastic band spring constant

adjustk_freq : integer

frequency to adjust k, set to zero to disable

adjustk_tol : float

tolerance for adjusting k up or down

adjustk_factor : float

the multiplicative factor used to adjust k

dneb: bool, optional

do double nudging, default True

with_springenergy: boolean, optional

add the spring energy to the total energy of the band, default is False

copy_potential : bool, optional

if True a separate copy of the potential will be made for each image. This can be used to keep neighbor lists from being rebuilt over and over again.

quenchRoutine : callable

the quench routine to use in optimizing the band

quenchParams :

parameters passed to the quench routine. The default tolerance for quench is 1e-4

save_energies : bool

if True and quenchParams.iprint exists and is positive, then the energy along the NEB path will be printed to a file of the form “neb.EofS.####” every iprint steps.

verbose : integer

verbosity level

events : list of callables

list of callback functions called just before getEnergyGradient returns

use_minimizer_callback: boolean, optional

use the callback function of theminimizer to adjust k, it is not recommended to change this to false

See also

used to construct required parameter path
alternate interpolater


use the Interpolation tools in this package to construct the initial path from a starting and ending point


MakeAllMaximaClimbing() Make all maxima along the neb climbing images.
MakeHighestImageClimbing() Make the image with the highest energy a climbing image
NEBForce(isclimbing, image, left, right, ...) Calculate NEB force for 1 image. That contains projected real force and spring force.
copy() create a copy of the current neb
getEnergy(coords) this is a very dumb way of getting the energy. it should be replaced
getEnergyGradient(coords1d) Calculates the gradient for the whole NEB. only use force based minimizer!
optimize([quenchRoutine]) Optimize the band ..
printState() print the current state of the NEB. Useful for bug testing
tangent(central, left, right, gleft, gright) New uphill tangent formulation
tangent_old(central, left, right, gleft, gright) Old tangent construction based on average of neighbouring images

Previous topic

Next topic