1.过程报错:WARNING in EDDRMM: call to ZHEGV failed, returncode = 8 4 1
如下图
并且优化了30多离子步后,报下面错误,程序结束,没有显示优化完成。
curvature: 0.00 expect dE= 0.891-320 dE for cont linesearch 0.480-320
ZBRENT: fatal error in bracketing
please rerun with smaller EDIFF, or copy CONTCAR
to POSCAR and continue
2.解决办法
增加 POTIM = 0.05
该SIGMA = 0.2,收敛更快
把EDIFFG从-0.02改成-0.03。 把收敛精度调低,0.01已经是极限了
IBRION和ISMEAR以及各种MIX,只要最后收敛了,收敛到的都是局域的能量最低点,不会因为方法不同而使基态变化。IBRION=2(CG方法)常用于大范围地寻找能量低点,IBRION=1(quasi-Newton)在搜寻范围较小但能得到精确的结果(CG基本EDIFFG=-0.01就是极限了,当然0.01已经很精确了)
参考:科学网-优化无故中断 “ZBRENT: fatal error in bracketing”-于晓霞的博文 (sciencenet.cn)
Warning!
the distance between some ions is very small please check the nearest neighbor list in the OUTCAR file
Error EDDDAV:Call to ZHEGV failed.
Returncode =7 1 8造成这个的原因,要么是由于一开始的体系就不是很好,这没办法。另外的话,可能是赝势选的有问题,如果还不行,那就再试试换一个算法,CG牛顿互换,IBRION2或者1。
个人建议,觉得出现这个应该是电子离的太近有重叠,所以建议重新搭个结构。
参考: 写个VASP错误报备积累贴 - 知乎 (zhihu.com)
3.另外,我发现每一个离子步的电子步都是60,因为电子步默认是60,故我感觉是我的结构不合理导致的。我的结构超胞是2x2x1,应该是这个原因
下面两行如果你能看懂,说明优化的基本情况已经摸清了。
电子步(SCF):
EDIFF
<====>NELM
离子步(结构优化):
EDIFFG
<====>NSW
IBRION = 2
时,对POTIM
的依赖性很强,因此我们计算的时候要设置一个合理值。在我们的计算中,由于初始的原子间距离很小,第一步计算时,得到的原子间的初始排斥力很强,第二步中,VASP默认的POTIM
值是0.50,前面两步导致了尝试步中离子的移动过大,以至于后面没有办法矫正回来,最后导致计算出错。
这里
POTIM
的作用相信大家有了一个大体的了解。在IBRION=2
时(这是前提!!),如果初始结构很差,设置较小的POTIM
可以有效的避免过度矫正。初始结构越好,POTIM
的选择也就越随意
参考:Ex15 论合理结构的重要性(三) | Learn VASP The Hard Way (bigbrosci.com)
4.解决电子步不收敛的办法
达到步数上限时SCF仍没有收敛是实际研究中极为容易碰见的问题,VASP中经常会碰到电子不收敛的情况,也叫做SCF不收敛。经常会在电子结构比较复杂的体系中碰到。以下是我提供的可能解决方案,有不妥的地方,欢迎讨论。同时欢迎加入理论计算化学研习社qq群:905699144依次尝试以下方法:(1)先检查几何结构是不是合理,非常离谱的初始结构会导致SCF难收敛。(2)依次检查已经设置的参数,对照ppt的建议,是不是选择合理,对于+U和ICHARGE=11的任务,添加LMAXMIN=4 (对于d区体系),添加LMAXMIN=6 (对于f区体系)。(3)检查是不是ISTART=1读取了不合理的波函数,如果是,rm WAVECAR CHGCAR重新跑。(4)如果ALGO=Fast或者VeryFast,换成Normal。(5)尝试使用更大的SIGMA值,先粗略收敛,再读取CHGCAR和WAVECAR用小的SIGMA计算。(5)对于非磁性体系(闭壳层ISPIN=1)添加:(注意AMIX和BMIX对收敛有很大影响,可以自己调试)AMIX = 0.2
BMIX = 0.0001 #almost zero, but 0 will crash some versions(6)对于磁性体系(自旋极化,ISPIN=2)添加:AMIX = 0.2BMIX = 0.0001 #almost zero, but 0 will crash some versionsAMIX MAG = 0.8BMIX MAG = 0.0001 #almost zero, but 0 will crash some versions(7) 尝试更换不同的ISMEAR。(8) 检查体系是不是特殊的磁性排列,即MAGMOM设置是否合理。(9) 提高积分精度,PREC=Accurate 。(10) 提高格点精度,ADDGRID = .TRUE. 。(11) 先用1 1 1 K点计算收敛,再读取CHGCAR,用高K点计算。(12) 尝试不同的ALGO 比如:ALGO=Conjugate。(13) 如果在结构优化或者MD过程中,某一步突然不收敛,使用MAXMIX = 50(14) 尝试用更小的ENCUT或者更大的ENCUT的预收敛。(15) 换更小的赝势或者更soft的赝势。(16) 最后给出一个VASP官方教程里解决的不收敛的方法:1.用ALGO=N (是否收敛N to 2,Y to 6)2. ICHARG=12 (no charge update,非自洽计算,N to5, Y to 3)3. ICHARG=2 AMIX=0.1 ; BMIX=0.01(N to 4, Y to 6)4. increase BMIXBMIX=3.0 ; AMIN=0.01(N to 5, Y to 6)5. Bug report6. Use this setting
参考: 解决VASP中SCF不收敛的方法总结 - 第一性原理 (First Principle) - 计算化学公社 (keinsci.com)