VASP计算错题集
万事开头难,学习第一性原理计算的一年中碰到了很多让我困惑的问题,在这里总结整理出来(随时更新),防止师弟师妹们陷入困惑,真的很让人头大,并且超级费时间,希望能帮助避雷!如果师弟师妹们出现了其他问题欢迎和我一起探讨,也欢迎分享解决问题的方案。
1.NELMIN:指定电子自洽步骤的最小数量。这个参数原来我在做计算的时候是不设置的,而且在学习过程中觉得这个参数无可厚非。后来在我将绝缘相算成了金属相时却又苦苦找不到原因的时候,才发现这个参数的重要性,所以在做计算出现类似错误的情况下,大家也可以试试将NELMIN=4添加到INCAR文件,也许会解决困扰很久的问题!
2.计算中出现了图示的WARNING,这个一般是可以忽略不计的,但是看着总是感觉很膈应,可以在INCAR中设置NCORE=4一般就会解决这个警告,如果计算采用四个核,也可以设置NCORE=8,这种设置可以避免WARNING的出现,有时甚至会加快计算速度,如果严谨一点并且核时充足的情况下,建议测试NCORE参数,我记得偶尔看到过别的大佬分享的帖子,NCORE=4 6 8等不同的参数所消耗的计算时间时长不同的,对于以后长期计算来说节省核时是有利的,但是一般来说NCORE=4是够用了。
3.出现了yhrun:tasks Killed的错误,任务莫名其妙被杀掉了,我斟酌了一下,认为这个错误的出现时因为quota储存空间不足,可以把目录下没用的计算清一清,尤其是多余的WAVECAR,CHGCAR等文件,超级占内存。这个问题还是很值得注意的,万一没有注意到内存溢出,又提交了任务计算,等之后发现任务被杀掉了还好,要是出现了计算完了数据却没有写入的情况,导致后期分析发现怎么都不对,那就要吃大亏了。
4.the old and the new charge density differ:这个错误的意思是新旧电荷混合出现了问题,在INCAR文件中设置ALGO=Fast即可解决,尤其是对于大体系的计算还是推荐使用ALGO=Fast参数的,它中和了计算速度和稳定性,是一个很好的处理电荷混合的方式。
5.Error EDDDAV:Call to ZHEGV failed. Returncode = 13 1 14:这个错误的出现我通过调控混合参数AMIX解决了它,在磁性体系的计算中,尤其是较大的体系中,混合参数的使用时难以避免的,极其容易出现电子的跳跃,收敛不到磁基态等情况,结果不合理又找不出错误的原因,就很烦。其实在磁性体系的计算中可以查看计算完成的OUTCAR文件,有些电子的自旋方向发生了翻转,而有些没有,总体而言没什么规律,那大概率时算错了,因此即使注意计算进程,调整参数也是很重要的,VASP手册上也有对于AMIX参数给出的经验公式:AMIXoptimal=AMIXcurrent*Γmean,在得到的结果中平均特征值Γmean接近1,表示较为合理,当然了这是手册中给出的经验式子,具体情况还需要具体分析。
对于这个问题,有的大佬也提出了修改INCAR中的NCORE,NPAR或者KPAR等参数也会有很好的效果,错误来源于核数设置,在调控参数未果时也可以试一试,因为我的体系修改了AMIX后解决了这个问题,所以这个方法我没有做尝试。具体操作方法:INCAR中添加ADDFRID=.T.并注释掉并行参数,然后ALGO=Fast,基本上可以保证不报错。
6.计算过程中总是出现ZBRENT的警告,我在修改了参数POTIM后很好的解决了这个问题,原本的POTIM设置的0.02过小,导致收敛过程中出现了电子步难以自洽或者寻找不到最小值的情况,增大POTIM=0.5后解决了这个问题,并且很快收敛。当然了如果出现了这个警告,但是弛豫或者自洽过程仍再继续,也可以不予处理,因为殊途同归,按理说从初始结构走向基态的过程中,不管是走哪条路径,只要最后的结果达到收敛要求,应该就是可以分析考虑的数据。也有一些其他参数可以做修改以便解决诸类问题:降低EDIFF,增大ENCUT,改变计算方法IBRION等都可能作为处理ZBRENT的方法。
7.弛豫过程中出现yhrun:got SIGCONT,这个完全不需要担心,是系统管理员临时维护系统,为了避免影响用户作业而将其挂起的操作。
8.ERROR in subspace rotation PSSYEVX:not enough eigenvalues found 8820 3920:这个错误的出现需要重视,一般是初始结构的不合理造成的,建议回炉重造,检查是不是初始结构过于不合理。也可以采用中等精度PREC=Medium弛豫模型后再使用高精度PREC=Accurate弛豫。
9.WARNING in EDDRMM:call to ZHEGV failed,returncode= 8 4 158:类似于ZBRENT警告,出现在了弛豫过程中,可以不予理会。初步分析可能是由于磁性结构的混合参数设置不合理引起的,处理方法类似于处理Error EDDDAV:Call to ZHEGV failed. Returncode = 13 1 14一样,调整混合参数或者并行参数,建议使用并行参数使用偶数核而不采用计数核。
10.WARNING:Sub-Space-Matrix is not heritian in DAV 57出现这种警告后导致计算无法继续,错误来源于计算d轨道过程的电荷混合,如果没有LMAXMIN=4可以考虑加上,或者设置ALGO=Fast后重新计算,很好的解决了这个问题。
11.RHOSYG internal error: stars are not distinct, try to increase SYMPREC to e.g.
1E-4:VASP无法成功对称倒易空间中的电荷密度,网页上说,遇到这种情况, 设置 ISYM = 0,
我不明白的一件事时搭建模型的时候我是有make P1的,也就是说本身是没有对称性的,设置这个参数没有什么意义呀,以前弛豫过程也没有碰到这个问题,是不是模型初始结构不太合理导致的?但是不得不说确实消除了这个问题,至于对于计算结果有什么影响我还不能深入的去比较(无从下手),但是INCAR里加上这个参数和我想计算的初衷也不冲突,因此暂时认为能继续优化并收敛的话就算是对的。
12.VERY BAD NEWS! internal error in subroutine IBZKPT:
Reciprocal lattice and k-lattice belong to different class of lattices. Often results are still usefu :这个问题比较大,一般由初始结构不合理导致!可以在INCAR中加入ALGO=Fast或者ALGO=48,也可以尝试SYMPREC= 1E-5或者SYMPREC= 1E-4 等方法解决此问题,但是建议仔细核查初始结构是否合理可靠再继续计算!我通过优化初始模型并增加了ALGO=Fast解决了这个问题。
13 任务没有正常弛豫结束,出现了一下错误:
”yhrun: error: cn924: task 76: Bus error
yhrun: First task exited 60s ago
yhrun: tasks 0-75,77-111: running
yhrun: task 76: exited abnormally
yhrun: Terminating job step 7959465.0
yhrun: Job step aborted: Waiting up to 32 seconds for job step to finish.”
初步认为是1.内存不够,导致任务被杀死;2.超算平台节点脱节,计算出现故障;3.环境设置需要修改。具体是什么原因还需要修改后佐证!
14 计算过程中出现了forrtl: No such file or directory
forrtl: severe (29): file not found, unit 61,…:诶,这错误完全是由于个人问题导致的(我碰到的情况是这样),在计算过程中我为了让我的计算更加条理化,我把我的文件夹重新命了个名,导致最后计算完成后储存文件时找不到原来的路径,从而储存失败,白白计算一场,引以为戒!
15.计算过程中出现警告, WARNING: DENTET: can’t reach specified precision
Number of Electrons is NELECT = 95.9998063935607:网上说可能是由于ISMEAR=-5和K点数量导致的问题,可以添加ALGO以及AMIN的参数在INCAR文件,但是我尝试过后并没有解决此类问题!退而求其次,讲ISMEAR=-5改成ISMEAR=0解决了此类问题,我觉得改变K点数量应该也可以处理!
16.出现错误导致计算进行不下去,错误提示:
RHOSYG internal error: stars are not distinct, try to increase SYMPREC to e.g.
RHOSYG internal error: stars are not distinct, try to increase SYMPREC to e.g.
1E-4 VASP 无法成功对称倒易空间中的电荷密度。不幸的是,将SYMPREC增加到1E-4的建议也无济于事。建议微调模型后重试。比如我的POSCAR文件这样修改后就正常计算了:
...
Direct0.000000000 0.681810021 0.2500000000.000000000 0.967519999 0.2500000000.000000000 0.610379994 0.750000000
...
修改成了:
...
Direct0.123456231 0.681810021 0.2512153120.000000000 0.967519999 0.2500000000.000000000 0.610379994 0.750000000
...
17.有很多时候计算过程中会出现一些Very Bad News,Warning,ZBRENT等很多奇奇怪怪看不明白的东西,最后却又收敛了,不知道从何下手修改,我认为如果不是对结果要求特别高,一般存有警告或者系统判断有错误自动调整后都能继续算完的结果都可以继续使用!