请选择 进入手机版 | 继续访问电脑版

计算化学公社

 找回密码
 现在注册!
查看: 674|回复: 5

[VASP] VASP计算过渡态常见问题总结(待更新)

[复制链接]

56

帖子

1

威望

568

eV
积分
644

Level 4 (黑子)

发表于 2019-5-1 00:32:22 | 显示全部楼层 |阅读模式
本帖最后由 啦啦黑还黑 于 2019-5-1 00:55 编辑

本文由作者转自http://blog.wangruixing.cn/2019/05/01/transitionstate/,权归作者Jin-Cheng Liu所有,文章从未向任何其他个人或组织授权转载过,严禁任何人以任何形式转载文章内容(但非常欢迎转发文章链接)!


问题一:CI-NEB计算得到的中间有点的能量比初态和末态都要低。



解:这时候有两种可能,
一是在初态和末态之间还存在至少一个极小点;
二是,初态和末态本就不是极小点,需要用更严格的精度重新继续计算初态和末态。


问题二:CI-NEB计算开始出现极大的原子受力,比如10 eV/Angstrom 以上


解:这个原因肯定是差点的初始结构不合理,办法用idpp方法,许楠博士提供了idpp.py脚本使用pymatgen实现了这个功能,需要调用pymatgen和pymatgen_diffusion

from pymatgen.core import Structure
from pymatgen_diffusion.neb.pathfinder import IDPPSolver
import numpy as np
import os
import sys

sys.stdout = open(os.devnull, 'w')

if len(sys.argv) <4:
    raise SystemError('Sytax Error! Run as python idpp ini/POSCAR fin/POSCAR 4')

init_struct = Structure.from_file(sys.argv[1], False)
final_struct = Structure.from_file(sys.argv[2], False)

obj = IDPPSolver.from_endpoints(endpoints=[init_struct, final_struct], nimages=int(sys.argv[3]),
                                sort_tol=1.0)
new_path = obj.run(maxiter=5000, tol=1e-5, gtol=1e-3,step_size=0.05,\
                         max_disp=0.05, spring_const=5.0)

for i in range(len(new_path)):
    image_file='{0:02d}'.format(i)
    if not os.path.exists(image_file):
        os.makedirs(image_file)
    POSCAR_file=image_file+'/POSCAR'
    new_path.to(fmt="poscar", filename=POSCAR_file)

sys.stdout = sys.__stdout__
#Image Dependent Pair Potential for improved interpolation of NEB initial guess
#Reference: S. Smidstrup, A. Pedersen, K. Stokbro and H. Jonsson, Improved initial guess for minimum energy path calculations, J. Chem. Phys. 140, 214106 (2014).
print("Improved interpolation of NEB initial guess has been generated. BYE.")


用法:
python3 ./idpp.py ini/POSCAR fin/POSCAR 4
或者把不合理的POSCAR下载下来,人工调整这些不合理结构。


问题三:DIMER计算一直不收敛,过程中NEWMODECAR的振动模已经完全偏离了我们预想的方式。



解:是否出现这种问题可以运行dimmode.pl脚本,把生成的dimmode.xyz放到Jmol里看轨迹,振动方向是不是已经完全偏离我们设想的过渡态。
这时候有可能是力的计算精度不好和初始结构不可理造成的,解决方法有几种,比如可以先固定住其他和反应不相干的原子找过渡态,然后在此基础上再正常固定原子算。


问题四:已经接近收敛,但是很久受力不能达到收敛标准EDIFFG。



解:
一可能是力的精度不够,用PREC=accurate,EDIFF=1E-7,
二可能是过渡态的优化算法不合适,尝试IOPT=1或2或7,或者IOPT=0,用vasp自带的DIIS优化。
三可能是力的收敛标准过于严格,EDIFFG = -0.02或-0.03对于过渡态来说就可以了。
最有效的解决方案是使用我在 解决VASP计算不收敛的方法总结博文中提供的粗收敛+精收敛方案。


问题五:没有虚频或者有两个以上的虚频。



解:
首先我们要确保频率计算的精度够高,至少要和过渡态的EDIFF要求一样。
如果没有虚频,那计算肯定是错的,最可能的还是力的精度不够。算法决定了一般用CI-NEB和Dimer计算正常结束不会碰到没有虚频的情况。
如果有多个虚频,这个是常见问题,也可能是力的精度不够,这时候可以把结构向着较小的那个虚频的方向做微小的位移重新作为初始结构计算,俗称消虚频。


问题六:插点结构非常混乱
要检查初态和末态的原子顺序是不是一一对应的!这个是新手的常见错误,所以在计算初态和末态的时候就要注意不要打乱相应的原子顺序。
提高SCF的计算精度(即提高力的计算精度至关重要)

评分

参与人数 1eV +3 收起 理由
普通人2004 + 3 精品内容

查看全部评分

65

帖子

0

威望

510

eV
积分
575

Level 4 (黑子)

发表于 2019-5-1 14:26:17 | 显示全部楼层
非常感谢分享,我有一个疑问就是,按理说过渡态的搜索,一般Gaussian比较好,为啥好多人用vasp?是相变过程么?这两者分别有啥优势呢?感谢!

56

帖子

1

威望

568

eV
积分
644

Level 4 (黑子)

 楼主| 发表于 2019-5-1 14:52:03 | 显示全部楼层
薛定谔的老猫 发表于 2019-5-1 14:26
非常感谢分享,我有一个疑问就是,按理说过渡态的搜索,一般Gaussian比较好,为啥好多人用vasp?是相变过程 ...

vasp算过渡态可用于处理周期性体系,比如:表面催化反应,电极材料中离子迁移。相变是比较复杂的过程单独用VASP还不行,还需要其他的程序如USPEX,Calypso,SSW等连用。
Gaussian算过渡态只能处理孤立的体系。

65

帖子

0

威望

510

eV
积分
575

Level 4 (黑子)

发表于 2019-5-1 15:07:26 | 显示全部楼层
啦啦黑还黑 发表于 2019-5-1 14:52
vasp算过渡态可用于处理周期性体系,比如:表面催化反应,电极材料中离子迁移。相变是比较复杂的过程单独 ...

好的,非常感谢

5

帖子

0

威望

51

eV
积分
56

Level 2 能力者

发表于 2019-5-5 17:28:29 | 显示全部楼层
请问你说消虚频向着较小的方向消,是什么意思?该怎么操作呢?

56

帖子

1

威望

568

eV
积分
644

Level 4 (黑子)

 楼主| 发表于 2019-5-5 20:21:13 | 显示全部楼层
jhkwoaini123 发表于 2019-5-5 17:28
请问你说消虚频向着较小的方向消,是什么意思?该怎么操作呢?

过渡态应该就一个虚频,如果还有其他的虚频,说明该虚频振动的方向上没有被充分优化,可以顺着该方向稍微位移一下重新算过渡态,可能把这些虚频消掉。看vaspkit手册功能507.
https://github.com/tamaswells/VA ... 4%BB%8B%E7%BB%8D.md
您需要登录后才可以回帖 登录 | 现在注册!

本版积分规则

手机版|北京科音自然科学研究中心|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949-1号 )

GMT+8, 2019-8-26 18:27 , Processed in 0.157734 second(s), 25 queries .

快速回复 返回顶部 返回列表