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

mep的Python项目详细描述


最小能量路径工具

CircleCICoverage Status

简介

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

目前实现了以下方法:

Nudged elastic band method [1]

Climbing image nudged elastic band method [2]

如何使用

常规NEB

frommep.optimizeimportScipyOptimizerfrommep.pathimportPathfrommep.nebimportNEBfrommep.modelsimportLEPSleps=LEPS()# Test model op=ScipyOptimizer(leps)# local optimizer for finding local minimax0=op.minimize([1,4],bounds=[[0,4],[-2,4]]).x# minima onex1=op.minimize([3,1],bounds=[[0,4],[-2,4]]).x# minima twopath=Path.from_linear_end_points(x0,x1,101,1)# set 101 images, and k=1neb=NEB(leps,path)# initialize NEBhistory=neb.run(verbose=True)# run

结果如下

LEPS exampleLEPS_NEB

使用含有谐波的leps模型可以得到类似的结果LEPSHarm

LEPSHarm_exampleLEPS_NEB

ci-neb

一切都是一样的,只不过

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

为了进行比较,使用5幅图像的LEPSHarm电位的正常neb给出以下结果

LEPS exampleLEPS_NEB

使用CI-NEB

LEPS exampleLEPS_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.

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
迭代值时的java HashMap线程安全性   java Android:从sqlite数据库检索数据   java OpeNni:颜色坐标到深度坐标   替换Java将所有逗号替换为分号,引号内的逗号除外   java如何获取数据库中的图像,并将其设置为特定行的表的“tooltipText()   java如何使用“没有休息吗?   java Spring引导与Gradle版本的Gradle问题   java无法更新oracle中的clob字段   用Java创建一个简单的银行账户   java openfire服务器是否实现了地雷功能?   java Android获取支持的区域设置列表   用sqlite安卓实现java简单数学计算   JavaAEMServlet获取请求头值   在java中生成随机16位数字   有类似dotnetkicks的东西吗。com for Java   xml@xmlanyement不会解组为特定的Java类型,而是在JAXBElement处停止   尝试反序列化对象时发生java错误   java如何将JSON对象从POSTMAN发送到Restful Web服务   com的java性能。太阳网httpserver。HttpServer和HttpURLConnection?