3.13.1 不同体系不同任务的输入文件#

任何一个计算任务开始之前,请务必确保你的POSCAR是你想要的,同时确认POTCAR中的元素对应的赝势没有弄错。对于POSCAR来说,元素是否正确,元素顺序和原子坐标信息是否对应等,并且其中没有原子重叠的情况。一般在vesta肉眼看不出原子是否重叠,可以用ovito查看RDF(径向分布函数)来判断是否有原子重叠,如果RDF在0附近有峰,说明有原子距离十分近。自行网上搜索“OVITO下载,OVITO查看RDF”。

目前为止,DFT计算中常见的主要基本计算内容都已经介绍。针对不同的结构,不同的任务,考虑各种效应时,都需要针对地设置INCAR中不同的参数,并配合相应的KPOINTS文件。要明确你的体系是否要考虑磁性、强关联效应(+U)、VDW、SOC等效应;如果需要考虑这其中一种或多种,则结构优化、静态计算、能带态密度计算、声子、AIMD等一系列计算都需要在INCAR中加上相应的参数。有时候SOC对声子谱影响很小,一般在算声子时不考虑SOC,因为SOC算声子的时候计算量和内存需求很大。但是磁性体系算声子时一定要考虑磁性(已经明确的磁性体系不考虑磁性时,原子间的力算得不对,声子频率自然也不对,其余如+U,VDW同理)。

特别强调,对于磁性体系,一般跑300K或者更高温度的AIMD时,是不需要开自旋参数的,其物理含义是:磁性是材料在低温下的状态,大部分磁性材料在300K以上变非磁了,因此不开自旋参数做MD模拟更合理。当然有很多磁性体系在更高温度仍能保持磁性,需要分情况讨论。

(1) 如果含有d/f电子,比如含过渡金属,尤其是V, Cr, Mn, Fe, Co, Ni以及稀土元素等,通常需要考虑是否有磁性,ISPIN=2以及MAGMOM参数;如果是它们的O/S化物,还可能需要进一步考虑强关联效应(+U),具体需要看相关体系的计算文献。

(2) 如果体系是层状材料,或者含小分子基团,则一般需要考虑VDW作用。

(3) 如果体系含有重元素,原子序数超过50的,一般还需要考虑SOC效应,尤其是对于能带结构和带隙的影响。

(4) 绝大部分计算时最常用的两种泛函是PBE和LDA。有时候某些性质如状态方程等也会用到如SCAN等高级一些的泛函,此外,一些分子体系也可能需要杂化泛函如B3LYP等。对于半导体和绝缘体,如果要获得体系准确的带隙,一般用杂化泛函,比如典型的HSE06;有些半导体体系也会用DFT+U的方法获得与实验匹配的带隙;不同泛函的使用,通过在INCAR中设置相应参数实现

https://www.vasp.at/wiki/index.php/List_of_hybrid_functionals

https://blog.shishiruqi.com/2019/05/20/hse/

(5) 有时候PBE或者HSE算出来的能带最上方几条锯齿形太严重,可以通过在INCAR中提高NBANDS参数(见2.3.5)再重新做的band计算即可。

(6) 当研究稀土元素时,VASP提供两套赝势,一套是把f电子作为芯电子,一套是将其视为价电子。原则上需要用后者的赝势进行计算,但通常此时在计算中容易遇到SCF不收敛的问题,解决方法见2.3.5;有时候也会直接用不含f电子的赝势文件。

(7) 原子数越多的计算,一般建议使用更多的cpu核心数,通过修改任务提交脚本实现。过多使用核数,可能造成计算资源浪费,边际效用递减。个人经验,保持核数和原子数接近是比较有性价比的选择之一。

(8) 在所有计算中合理利用NCORE和KPAR参数,以加速计算。但有一些计算,如算bader或者ELF,或者DFPT计算声子时,可能不支持设置NCORE为非1(默认1)。

(9) 不同的计算任务用了不同的vasp版本,或者在不同的服务器算的,会影响结果吗?一般不会,只要确保赝势版本是5.4.4版本以后即可,且是PBE而非PW91(目前一般下载到的都是新版的PBE)。但为了安全起见,最好拿一个结构在不同服务器或者VASP版本下测试静态计算的能量和力的差别。