Minimal energy path tools for atomistic systems

# Minimum Energy Path Tools

## Introduction

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

Currently the following methods are implemented:

Nudged elastic band method 

Climbing image nudged elastic band method 

## 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 = neb.run(verbose=True) # run


The results will be like the following  Similar results can be obtained using the LEPS model with harmonics LEPSHarm  ### CI-NEB

Every thing is the same except that

neb =NEB(leps, path, climbing=True, n_climbs=1) # set one image for climbing
history = neb.run(verbose=True, 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  With CI-NEB  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).

## References

 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.

 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

This version 0.0.1

Uploaded source
Uploaded py3