pele.transition_states.NEB.optimize

NEB.optimize(quenchRoutine=None, **kwargs)[source]

Optimize the band

Notes

the potential for the NEB optimization is not Hamiltonian. This means that there is no meaningful energy associated with the potential. Therefore, during the optimization, we can do gradient following, but we can’t rely on the energy for, e.g. determining step size, which is the default behavior for many optimizers. This can be worked around by choosing a small step size and a large maxErise, or by using an optimizer that uses only gradients.

scipy.lbfgs_b seems to work with NEB pretty well, but lbfgs_py and mylbfgs tend to fail. If you must use one of those try, e.g. maxErise = 1., maxstep=0.01, tol=1e-2

Quenchroutine :quench algorithm to use for optimization.
Quenchparams :parameters for the quench

Previous topic

pele.transition_states.NEB.getEnergyGradient

Next topic

pele.transition_states.NEB.printState