Code Monkey home page Code Monkey logo

mep's Introduction

Minimum Energy Path Tools

Codacy Badge CircleCI Coverage Status

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

The results will be like the following

LEPS example LEPS_NEB

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

LEPSHarm_example LEPS_NEB

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

LEPS example LEPS_NEB

With CI-NEB

LEPS example LEPS_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

[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.

mep's People

Contributors

chc273 avatar codacy-badger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

fyalcin

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.