计算化学公社

标题: VASP计算过渡态常见问题总结(待更新) [打印本页]

作者
Author:
啦啦黑还黑    时间: 2019-5-1 00:32
标题: VASP计算过渡态常见问题总结(待更新)
本帖最后由 啦啦黑还黑 于 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的计算精度(即提高力的计算精度至关重要)


作者
Author:
薛定谔的老猫    时间: 2019-5-1 14:26
非常感谢分享,我有一个疑问就是,按理说过渡态的搜索,一般Gaussian比较好,为啥好多人用vasp?是相变过程么?这两者分别有啥优势呢?感谢!
作者
Author:
啦啦黑还黑    时间: 2019-5-1 14:52
薛定谔的老猫 发表于 2019-5-1 14:26
非常感谢分享,我有一个疑问就是,按理说过渡态的搜索,一般Gaussian比较好,为啥好多人用vasp?是相变过程 ...

vasp算过渡态可用于处理周期性体系,比如:表面催化反应,电极材料中离子迁移。相变是比较复杂的过程单独用VASP还不行,还需要其他的程序如USPEX,Calypso,SSW等连用。
Gaussian算过渡态只能处理孤立的体系。
作者
Author:
薛定谔的老猫    时间: 2019-5-1 15:07
啦啦黑还黑 发表于 2019-5-1 14:52
vasp算过渡态可用于处理周期性体系,比如:表面催化反应,电极材料中离子迁移。相变是比较复杂的过程单独 ...

好的,非常感谢
作者
Author:
jhkwoaini123    时间: 2019-5-5 17:28
请问你说消虚频向着较小的方向消,是什么意思?该怎么操作呢?
作者
Author:
啦啦黑还黑    时间: 2019-5-5 20:21
jhkwoaini123 发表于 2019-5-5 17:28
请问你说消虚频向着较小的方向消,是什么意思?该怎么操作呢?

过渡态应该就一个虚频,如果还有其他的虚频,说明该虚频振动的方向上没有被充分优化,可以顺着该方向稍微位移一下重新算过渡态,可能把这些虚频消掉。看vaspkit手册功能507.
https://github.com/tamaswells/VA ... 4%BB%8B%E7%BB%8D.md
作者
Author:
小诗哥不屈服    时间: 2019-9-19 20:14
啦啦黑还黑 发表于 2019-5-5 20:21
过渡态应该就一个虚频,如果还有其他的虚频,说明该虚频振动的方向上没有被充分优化,可以顺着该方向稍微 ...

你好,我算出一个两个虚频的过渡态,然后其中一个是35cm左右,想用vaspkit的507功能消除这个小虚频,但是输出是这样的提示,  -->> (01) Reading Structural Parameters from CONTCAR File...
+---------------------------------------------------------------+
|               Selective Dynamics is Activated!                |
+---------------------------------------------------------------+
Warning! Molecule was found periodic in the box!
  -->> (02) Analyzing Molecular Symmetry Information...
Molecular Symmetry is:
Molecular symmetry is:
  -->> (03) Reading positions From CONTCAR File...
  -->> (04) Reading Structural Parameters from CONTCAR File...
+---------------------------------------------------------------+
|               Selective Dynamics is Activated!                |
+---------------------------------------------------------------+
  -->> (05) Reading Frequences From OUTCAR File...
Frequencies have excluded the rotational and translational ones!
No imaginary-freq to be corrected!
+---------------------------------------------------------------+
|                         * DISCLAIMER *                        |
|      Check the Consistency of Your Results if Necessary       |
|         Any Suggestions for Improvements are Welcome          |
|                     (^.^) GOOD LUCK (^.^)                     |
|---------------------------------------------------------------|
| We Would Appreciate if You Cite in Your Research with VASPKIT.|
| Ref: V. Wang, N. Xu, J.C. LIU, G. Tang, et al, VASPKIT: A Pre-|
| and Post-Processing Program for VASP Code, arXiv:1908.08269.  |
+---------------------------------------------------------------+

还没有POSCAR_NEW是为什么呢
作者
Author:
pww1997    时间: 2020-3-12 23:51
小诗哥不屈服 发表于 2019-9-19 20:14
你好,我算出一个两个虚频的过渡态,然后其中一个是35cm左右,想用vaspkit的507功能消除这个小虚频,但是 ...

你好 请问这个问题你解决了吗?
作者
Author:
Jack    时间: 2020-4-25 17:13
啦啦黑还黑 发表于 2019-5-1 14:52
vasp算过渡态可用于处理周期性体系,比如:表面催化反应,电极材料中离子迁移。相变是比较复杂的过程单独 ...

请问VASP和SSW联用怎么处理?
作者
Author:
郑亚鹏    时间: 2020-6-23 10:23
在算过渡态的时候,减小K点粗算的时候(把K点设置为1 1 1),使用IPOT=1的算法,过渡态可以正常计算,并且能量曲线是正常的,这应该是说明过渡态的插点是合理的;但是当进行精算的时候,即把K点密度增大为3 5 1,计算就会报错,导致计算卡在第一个离子步,运行不下去,请问这样的问题您有没有遇到过?有么有办法解决?报错的信息如下:{    0,    0}:  On entry to
PZSTEIN parameter number    4 had an illegal value
{    0,    1}:  On entry to
PZSTEIN parameter number    4 had an illegal value
{    0,    2}:  On entry to
PZSTEIN parameter number    4 had an illegal value
{    0,    3}:  On entry to
PZSTEIN parameter number    4 had an illegal value
{    0,    4}:  On entry to
PZSTEIN parameter number    4 had an illegal value
{    0,    5}:  On entry to
PZSTEIN parameter number    4 had an illegal value
{    0,    8}:  On entry to
PZSTEIN parameter number    4 had an illegal value
{    0,    9}:  On entry to
PZSTEIN parameter number    4 had an illegal value
作者
Author:
Jaydu1996    时间: 2020-7-2 09:58
郑亚鹏 发表于 2020-6-23 10:23
在算过渡态的时候,减小K点粗算的时候(把K点设置为1 1 1),使用IPOT=1的算法,过渡态可以正常计算,并且 ...

你好,请问你的问题解决了吗,我也遇到了类似的错误
作者
Author:
坚持就完事了    时间: 2020-7-2 19:22
郑亚鹏 发表于 2020-6-23 10:23
在算过渡态的时候,减小K点粗算的时候(把K点设置为1 1 1),使用IPOT=1的算法,过渡态可以正常计算,并且 ...

请问您解决了吗,我也遇到了类似问题。
作者
Author:
Jaydu1996    时间: 2020-7-4 15:07
坚持就完事了 发表于 2020-7-2 19:22
请问您解决了吗,我也遇到了类似问题。

一般遇到这个东西还是初始结构不合理导致的,尝试改一下初始结构,或者计算前使用ulimit –s unlimited(此命令),我是使用后面这个命令解决的,但是没有调整初始结构,不过我的初始结构确实不大合理
作者
Author:
郑亚鹏    时间: 2020-7-6 09:11
坚持就完事了 发表于 2020-7-2 19:22
请问您解决了吗,我也遇到了类似问题。

添加AMIX, BMIX这几个参数应该是可以解决的,具体的参数设置可以参考vasp手册
作者
Author:
多次拒绝斯佳丽    时间: 2021-1-4 09:05
本帖最后由 多次拒绝斯佳丽 于 2021-1-4 09:07 编辑

感谢分享!!!
作者
Author:
lyzhang    时间: 2023-3-13 16:48

您好,请问过渡态计算收敛,但是没有虚频,增加收敛精度到E-7和-0.001后,有的结构出现了较小虚频,但是有的结构依然没有虚频,而且对照文献了路径没问题,能垒也基本符合,这是为什么呢
作者
Author:
hxf-tyut    时间: 2023-12-24 20:39
老师,想问一下关于第一个问题,我可不可以用neb中那个最低的能量为初态重新跑一下neb呢?
作者
Author:
user0203    时间: 2023-12-29 11:15
你好,想问下是否计算过无vtst的 Improved Dimer Method?这个算出来的CONTCAR就直接是对应过渡态吗?

作者
Author:
Persona    时间: 2024-4-1 16:09
想问一个问题,我nebresult.pl 得到的结果
Unziping the OUTCARs ... done
Do nebbarrier.pl ; nebspline.pl
0
1.07934842923202

1.07840865296352

1.07785368802619

1.00151656406817

1.00138767019718

sh: gnuplot: 未找到命令
Do nebef.pl
Do nebmovie.pl
Do nebjmovie.pl
Do nebconverge.pl
mv: 无法获取"vaspout1.eps" 的文件状态(stat): 没有那个文件或目录
mv: 无法获取"vaspout2.eps" 的文件状态(stat): 没有那个文件或目录
mv: 无法获取"vaspout3.eps" 的文件状态(stat): 没有那个文件或目录
mv: 无法获取"vaspout4.eps" 的文件状态(stat): 没有那个文件或目录
Zipping the OUTCARs again ... done

Forces and Energy:
   0         0.000000     -1228.545600         0.000000
   1         0.006226     -1228.611500        -0.065900
   2         0.003301     -1228.322800         0.222800
   3         0.006623     -1227.605900         0.939700
   4         0.009915     -1228.425700         0.119900
   5         0.000000     -1228.797800        -0.252200

Extremum 1 found at image  1.261740 with energy: -0.077194
Extremum 2 found at image  3.000067 with energy:  0.939675
Extremum 3 found at image  4.995483 with energy: -0.252217


怎么处理呢
作者
Author:
zmjsce    时间: 2024-11-3 15:58
Persona 发表于 2024-4-1 16:09
**** 作者被禁止或删除 内容自动屏蔽 ****

能量和力的趋势已经有了。报错是因为没有安装gnuplot的包。
centos下的话:
yum install gunplot





欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3