Transition States (pele.transition_states)

This module contains functions and classes related to local transition state searches. Most of these algorithms will not need to be directly called by the user. However it is important to know how these work because they form some of the core routines of landscape exploration.

(Doubly-) Nudged Elastic Band

The following functions implement the Nudged Elastic Band and Doubly-Nudged Elastic Band method. The user should interact via the driver class:

NEBDriver(potential, coords1, coords2[, k, ...]) driver class for NEB

In the backend, the work is done by the following functions.

NEB(path, potential[, distance, k, ...]) Doubly nudged elastic band implementation
InterpolatedPath(initial, final, nimages[, ...]) Wraps interpolation that it can be accessed like a list / array without storing the nodes
InterpolatedPathDensity(initial, final, distance) Return a InterpolatedPath object with the appropriate

Orthogonalize to zero eigenvectors

These functions make a vector orthogonal to known zero eigenvectors (eigenvectors with a zero eigenvalue). Typically these correspond to known symmetries of the system like translational invariance, rotational invariance. Frozen degrees of freedom also contribute zero eigenvecotrs

orthogopt(v, coords[, norm, translation_only]) make a vector orthogonal to eigenvectors of the Hessian corresponding to overall
orthogopt_translation_only(v, coords[, ...]) a convience wrapper for orthogopt with the translation_only flag set to True
zeroEV_translation(coords) return the set of zero eigenvalue vectors corresponding to uniform translation
zeroEV_rotation(coords) return the set of zero eigenvalue vectors corresponding to global rotation
zeroEV_cluster(coords) return the set of zero eigenvalue vectors corresponding to uniform translation and rotation
gramm_schmidt(v) make a set of vectors orthogonal to each other.

Finding minima on either side of a transition state

When a transition state is found we step off either side of the transition state to find the minima which the transition state connects. This routine controls that process

minima_from_ts(pot, xt[, n, quench]) step off either side of a transition state and quench to find the minima