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

计算化学公社

 找回密码
 现在注册!
查看: 1018|回复: 0

[VASP] 解决VASP计算SCF/几何优化/过渡态不收敛的方法总结 (待更新)

[复制链接]

56

帖子

1

威望

568

eV
积分
644

Level 4 (黑子)

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

本文由作者转发自http://blog.wangruixing.cn/2019/05/01/scf/,版权归作者Jin-Cheng Liu所有,文章从未向任何其他个人或组织授权转载过,严禁任何人以任何形式转载文章内容(但非常欢迎转发文章链接)!
达到NELM步数上限时SCF仍没有收敛是实际研究中极为容易碰见的问题,VASP中经常会碰到电子步不收敛的情况,也叫做SCF不收敛。经常会在电子结构比较复杂的体系中碰到。


SCF不收敛尝试以下方法:#
(1)先检查初始几何结构是不是合理,非常离谱的初始结构会导致SCF难收敛。
(2)检查初始磁矩设置(MAGMOM)是否合理,对于无磁性体系给与默认的磁矩或者高初始磁矩可能会出现Error EDDDAV: Call to ZHEGV failed报错。特殊的磁性排列的体系(AFM, FM),MAGMOM要设置合理。
(3)对于DFT+U和ICHARGE=11的任务,添加LMAXMIN=4 (对于d区体系),添加LMAXMIN=6 (对于f区体系)。
(4)检查是不是ISTART=1 或 ICHARG = 1读取了不合理的波函数,如果是,rm WAVECAR CHGCAR重新跑。
(5)更换ALGO,Fast或VeryFast,或Normal。
(6)对于杂化泛函计算使用ALGO=All,或ALGO=Damped。(此法也可用于 非杂化泛函的计算,SCF收敛以后要读取WAVECAR再用ALGO=Fast或Normal重新收敛一遍)
(7)尝试使用更大的SIGMA值,如SIGMA=0.5,先粗略收敛,再读取WAVECAR用小的SIGMA计算。(此方法经常奏效,但是读波函数再次用小SIGMA优化有可能碰到仍不收敛的情况。)
(8)对于非磁性体系(闭壳层ISPIN=1)添加:(注意AMIX和BMIX对收敛有很大影响,可以自己调试)
AMIX = 0.2
BMIX = 0.0001 #almost zero, but 0 will crash some versions
(9)对于磁性体系(自旋极化,ISPIN=2)添加:
AMIX = 0.2
BMIX = 0.0001 #almost zero, but 0 will crash some versions
AMIX MAG = 0.8
BMIX MAG = 0.0001 #almost zero, but 0 will crash some versions
(10) 尝试更换不同的ISMEAR。(金属等导体用ISMEAR >= 1,半导体用ISMEAR = 0)
(11) 提高积分精度,PREC=Accurate,提高辅助格点精度,ADDGRID = .TRUE. 。
(12) 换用不同K点计算收敛,再读取CHGCAR,用高K点计算。
(13) 如果在结构优化或者MD过程中,某一步突然不收敛,使用MAXMIX = 50
(14) 尝试用更小的ENCUT或者更大的ENCUT的预收敛。
(15) 换更小的赝势或者更soft的赝势。


几何结构优化不收敛尝试以下方法:#
(1)如果力在接近收敛的区域震荡,很有可能是电子步精度不够高,尝试EDIFF=1E-6或者EDIFF = 1E-7
(2)如果力在接近收敛的区域震荡尝试IBRION=1
(3)如果初始结构不好,或者在优化的前几步结构就崩了,IBRION=2,步长POTIM缩小到0.2或0.1。(尤其是对双原子分子的优化,要限制步长)。如果在极小点附近出现震荡,POTIM可以缩小到0.05。
(4)调整初始结构。过渡态优化失败不收敛最大的原因就是初始结构不合理。
(5)如果体系结构复杂,原子多导致结构收敛慢,力收敛趋势和能量收敛趋势向下,尝试增加收敛步数,NSW=1000。尤其是对于加了vdW校正的,优化收敛会变得非常慢。
(6)尝试IBRION=3,阻尼md的方法往往对超大体系收敛效果好。
(7)调整晶体的对称性,或先使用ISYM=0优化,如果优化一开始的初猜结构具有较高对称性,那么优化过程中这个对称性多数情况下会一直保持。如果实际上体系本身势能面极小点的结构并没有那么高的对称性,则很容易造成优化不能收敛,而且即便收敛了也会有虚频。
(8)改变收敛标准:几何优化的收敛标准一般为EDIFFG= -0.02,
对于体系较大难以收敛的体系,见到文献里有用EDIFFG= -0.05的。但是不建议使用更大的收敛标准了。
(9)使用更精确的积分格点精度,PREC=Accurate等。


过渡态优化不收敛依次尝试以下方法:#
过渡态收敛要比几何优化困难的多,经常会碰到各种问题导致过渡态优化不收敛,原因非常多,再另外的博文中具体分析,所有用来解决几何优化不收敛的方法同样使用与过渡态。
(1)用nebmake.pl产生的初始点是线性插值的,很可能不合理。用idpp.py脚本非线型插点,可以避免不合理的初始结构。
(2)CI-NEB插点的数目不合理,(NEB是插点越多越精确,但是CI-NEB不是越多越精确!!!因为能量最高的点会自动climb到鞍点,如果CI-NEB计算正确结束,用1个点和用10个点找出来的过渡态是一样的。)
dist.pl ini/CONTCAR fin/CONTCAR的返回值除以0.8大概就是要插的点的数目。
(3)先用NEB或者CINEB进行粗收敛
EDIFF = 1E-5;EDIFFG = -0.5;IBRION = 3;POTIM = 0 ;IOPT = 7;ICHAIN = 0;LCLIMB = .TRUE.
​ 再用DIMER或者更高精度NEB精收敛
(4)再用DIMER精收敛的方法:
在NEB文件夹依次运行nebresults.pl和neb2dim.pl产生新的dim文件夹下进行Dimer运算,修改INCAR
EDIFF = 1E-7;EDIFFG = -0.03;IBRION = 3;POTIM = 0;ICHAIN = 2;IOPT = 2
注意:这里新生成的POSCAR使用的原NEB文件夹里的两个能量最高的结构的中点,如果粗收敛用的NEB是没问题的,但是粗收敛用的CINEB则需要把原CI-NEB文件夹里能量最高的点所对应的结构复制过来,
比如:cp ../03/CONTCAR ./POSCAR
MODECAR可以用neb2dim.pl自动产生的,
也可以先给新POSCAR算个频率,看一下振动方向,把自己认为最可能是过渡态的虚频的振动模复制出来做成MODECAR的格式。(该振动一般是频率最高的一个虚频)
也可以直接把所有原子的振动模都写成0,只把最关键的一个或几个原子(发生转移的)的模手动设置。(该方法只适用于发生转移的原子明显,且其他原子几乎不动的情况)
(5)再用CI-NEB精收敛的方法:
运行vfin.pl保存粗收敛的计算结果,再把所有CONTCAR复制成POSCAR重新计算,修改INCAR
EDIFF = 1E-7;EDIFFG = -0.03;IBRION = 3;POTIM = 0 ;IOPT = 1或2;ICHAIN = 0;LCLIMB = .TRUE.
或者用VASP自带的DIIS收敛方法(此法往往比vtst自带的收敛算法更易收敛):
EDIFF = 1E-7;EDIFFG = -0.03;IBRION = 1;POTIM = 0.1 ;IOPT = 0;ICHAIN = 0;LCLIMB = .TRUE.

评分

参与人数 5eV +20 收起 理由
SherryLiu + 4
王二葛 + 3 谢谢分享
gyy + 3 赞!
wrtgcn + 5 好物!
hit_liaols + 5 好物!

查看全部评分

您需要登录后才可以回帖 登录 | 现在注册!

本版积分规则

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

GMT+8, 2019-8-21 11:59 , Processed in 0.144050 second(s), 25 queries .

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