快乐科研,快乐生活分享 http://blog.sciencenet.cn/u/guolingju 夫未战而庙算胜者,得算多也;未战而庙算不胜者,得算少也.多算胜少算,而况于无算乎?

博文

VASP计算过渡态(CI-NEB)初始结构生成脚本汇总

已有 1145 次阅读 2024-3-12 21:42 |个人分类:第一性原理(vasp)|系统分类:科研笔记

Script for Generating Initial Structures in VASP Calculations of Transition States (CI-NEB)  

 使用VASP计算过渡态,最重要的步骤就是在得到了初态和末态结构之后,进行反应路径的插值,插值的优劣直接关系到后面的过渡态搜索的难易。现在把常用的插值脚本和使用方法,特别是在ase出现以后的idpp插值方法总结如下:

准备工作:

a.编译VTST版本的VASPhttp://hmli.ustc.edu.cn/doc/app/vasp.5.4.1-vtst.htm)

b.安装python环境和ASE(https://www.bilibili.com/read/cv18586518/)

c.下载vtstscripts,并将路径放到环境变量里。

https://blog.csdn.net/qq_41230342/article/details/103179738

方法1、nebmake.pl

https://theory.cm.utexas.edu/vtsttools/scripts.html

更详细请参照:https://blog.shishiruqi.com/2019/08/19/cineb/

用法:

nebmake.pl POSCAR_ini  POSCAR_fin  6

POSCAR_ ini:反应物的坐标文件

POSCAR_fin:产物的坐标文件

数字6:插入的点数

当然,这个传统的功能已经集成在vaspkit和qvasp里。

方法2、idpp脚本1(附件:idpp_lipai.py)

(https://zhuanlan.zhihu.com/p/397534264?utm_id=0)

用法:

python idpp_lipai.py

input num of images: 输入插值点的数目

ini structure:输入反应物坐标文件名

fin structure: 输入产物坐标文件名

注意代码里:

os.system("mkdir 00")

os.system("cp ini 00/POSCAR")  # 更改ini 为反应物坐标文件名

os.system("mkdir "+num)

os.system("cp fin "+num+"/POSCAR") # 更改fin 为反应物坐标文件名

方法3、idpp脚本2(附件:idpp_ponychen.py)

(https://github.com/ponychen123/Vasptools/blob/master/idpp.py)

(http://bbs.keinsci.com/thread-27778-1-1.html)

用法:

python idpp.py 6 POSCAR_ini  POSCAR_fin

POSCAR_ ini:反应物的坐标文件

POSCAR_fin:产物的坐标文件

数字6:插入的点数

方法4、idpp脚本3_基于ase(附件:makeneb.py)

https://zhuanlan.zhihu.com/p/469883137)

用法:这个脚本有一些选项可选:

python makeneb.py -h  #查看帮助

image.png

常规用法:

python makeneb.py -i POSCAR_ini POSCAR_fin -n 6 -o --method idpp

POSCAR_ ini:反应物的坐标文件

POSCAR_fin:产物的坐标文件

数字6插入4个点!!

                 --method idpp选择idpp方法

方法5、idpp脚本4_基于ase(附件:idpp_Han.py)

(https://gitlab.com/ase/ase/-/issues/1130)

用法:原来的脚本只是用来查看反应路径的动画,加入了一段输出指令后,

就可以一次输出所有坐标文件,又能同时弹出ase gui查看动画了。

修改文件:

# Read initial and final states:

initial = read('POSCAR_ini')  # POSCAR_ ini:反应物的坐标文件

final = read('POSCAR_fin')    #POSCAR_fin:产物的坐标文件

images += [initial.copy() for i in range(6)]  #数字6插入6个点

运行命令:

python idpp_Han.py

image.png

vtstcode-198.tgz

vtstscripts.tgz

idpp_lipai.py

idpp-ponychen.py

makeneb.py

idpp_Han.py



https://blog.sciencenet.cn/blog-478347-1424696.html

上一篇:ISMEAR取值
下一篇:VASP计算中ISMEAR取值的官方注意事项
收藏 IP: 124.16.156.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-20 11:05

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部