Skip to main content

Minimal energy path tools for atomistic systems

Project description

Minimum Energy Path Tools

CircleCI Coverage Status


This package contains various methods for finding the minimal energy path in atom simulations.

Currently the following methods are implemented:

Nudged elastic band method [1]

Climbing image nudged elastic band method [2]

How to use

Regular NEB

from mep.optimize import ScipyOptimizer
from mep.path import Path
from mep.neb import NEB
from mep.models import LEPS

leps = LEPS() # Test model 
op = ScipyOptimizer(leps) # local optimizer for finding local minima
x0 = op.minimize([1, 4], bounds=[[0, 4], [-2, 4]]).x # minima one
x1 = op.minimize([3, 1], bounds=[[0, 4], [-2, 4]]).x # minima two

path = Path.from_linear_end_points(x0, x1, 101, 1)  # set 101 images, and k=1
neb =NEB(leps, path) # initialize NEB
history = # run

The results will be like the following


Similar results can be obtained using the LEPS model with harmonics LEPSHarm

LEPSHarm_example LEPS_NEB


Every thing is the same except that

neb =NEB(leps, path, climbing=True, n_climbs=1) # set one image for climbing
history =, n_steps=10, n_climb_steps=100) # run normal NEB for 10 steps and then switch to CINEB

For comparison, normal NEB using LEPSHarm potential with 5 images gives the following




We can see that using only 5 images, the CINEB gets Ea = 3.63 eV, the same as the one we ran with 101 images! With only normal NEB, however, this Ea value is substantially smaller (3.25 eV).


[1] Henkelman, G., & Jónsson, H. (2000). Improved tangent estimate in the nudged elastic band method for finding minimum energy paths and saddle points. The Journal of chemical physics, 113(22), 9978-9985.

[2] Henkelman, G., Uberuaga, B. P., & Jónsson, H. (2000). A climbing image nudged elastic band method for finding saddle points and minimum energy paths. The Journal of chemical physics, 113(22), 9901-9904.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mep-0.0.1.tar.gz (12.9 kB view hashes)

Uploaded source

Built Distribution

mep-0.0.1-py3-none-any.whl (11.3 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page