跳转到主要内容

原子系统最小能量路径工具

项目描述

最小能量路径工具

CircleCI Coverage Status

简介

此软件包包含在原子模拟中寻找最小能量路径的各种方法。

目前实现了以下方法

推进弹性带方法 [1]

爬升图像推进弹性带方法 [2]

使用方法

常规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

结果将如下所示

LEPS example LEPS_NEB

使用具有谐波的LEPS模型(LEPSHarm)可以得到类似的结果

LEPSHarm_example LEPS_NEB

CI-NEB

除了以下内容外,所有内容都相同

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

为了比较,使用具有5个图像的常规NEB和LEPSHarm势能给出了以下结果

LEPS example LEPS_NEB

使用CI-NEB

LEPS example LEPS_NEB

我们可以看到,仅使用5个图像,CINEB得到Ea = 3.63 eV,与我们使用101个图像运行的结果相同!然而,仅使用常规NEB,此Ea值却小得多(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.

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。

源代码分发

mep-0.0.1.tar.gz (12.9 kB 查看哈希值)

上传时间 源代码

构建分发

mep-0.0.1-py3-none-any.whl (11.3 kB 查看哈希值)

上传时间 Python 3

支持