VASP中文网站 > 新手入门 > VASP晶格优化怎么设置 VASP晶格优化不收敛怎么排查
VASP晶格优化怎么设置 VASP晶格优化不收敛怎么排查
发布时间:2026/07/21 09:41:21

  VASP晶格优化应当如何设置,以及VASP晶格优化不收敛时怎样进行排查,在进行能带、态密度、弹性性质和声子计算之前,这两个问题是经常遇到的。晶格优化不仅要降低原子所受到的力,还可能涉及晶胞体积、晶格形状和晶格常数的变化。当参数设置不合适的时候,计算会出现能量来回振荡、原子位置反复移动、晶胞持续收缩,或者达到最大离子步数之后仍未收敛这些情况。排查时,需要把电子自洽、离子运动和晶胞应力这三个部分分开检查,不能只盯着最后一行是否出现了收敛提示。

  一、VASP晶格优化怎么设置

 

  在设置晶格优化以前,需要先明确到底有哪些自由度会被放开。块体材料、表面模型、二维材料和分子体系所采用的方式并不相同。如果把不该变化的真空层或本来应当固定的区域也放开了,晶胞就有可能朝着错误的方向收缩。

 

  1、确定需要优化的自由度

 

  在【INCAR】当中,通过ISIF这个参数来设定原子位置、晶胞形状和体积是否参与优化。

 

  只优化原子位置的时候,可以使用ISIF=2;对于块体材料,需要同时优化原子位置、晶胞形状和体积的时候,常常用ISIF=3。表面或者二维材料,通常不适合让包含真空层的所有晶格方向都自由变化,可以固定晶胞,或者加上适当的约束条件。至于原子是否允许移动,还可以在POSCAR里面,通过Selective dynamics这个选项单独进行控制。

 

  2、设置离子优化算法和停止条件

 

  在【INCAR】里面设置IBRION、NSW、POTIM和EDIFFG这几个参数,它们分别用来控制优化算法、最大步数、每一步移动的距离以及停止条件。

 

  IBRION=2使用的是共轭梯度算法,通常情况下是一个比较稳妥的起点;如果结构本身已经比较接近能量最低点,也可以尝试IBRION=1。NSW需要给出足够多的离子步数,EDIFFG如果设为负值,就表示所有原子受力的绝对值都低于这个数值之后停止,例如EDIFFG=-0.02,意思就是把力作为收敛的判断依据。POTIM控制的是每一步的移动幅度,如果在默认数值附近不太稳定,可以适当调小一些。

 

  3、提高晶胞优化所需的精度

 

  在【INCAR】当中明确设置ENCUT和PREC,并且在【KPOINTS】里面使用经过收敛测试的K点网格。

 

  晶胞体积发生变化的时候,平面波基组会跟着晶胞一起改变,截断能如果设得太低,就可能引入Pulay应力,使得平衡体积和晶格常数出现偏差。做体积优化的时候,可以先从ENCUT不低于POTCAR中最大ENMAX的1.3倍这个程度开始测试,并且使用PREC=Accurate。这并非一成不变的答案,最终还是要比较不同ENCUT和K点密度下面的晶格参数、压力和总能量,看看它们是否稳定。

 

  二、VASP晶格优化不收敛怎么排查

 

  晶格优化一直不收敛,并不一定是离子优化算法自身的问题。要知道,每一个离子步都要先完成电子自洽,如果电子能量和电荷密度本身就不够稳定,那么得到的力和应力也会跟着波动,晶胞就很难沿着正确的方向收敛下去。

 

  1、先检查初始结构和电子自洽

 

  打开【OUTCAR】和【OSZICAR】,查看每一个离子步当中的电子迭代次数、总能量的变化、最大受力和压力。

 

  如果电子迭代经常达到NELM的上限,或者能量在好几个数值之间来回跳动,那就需要先把电子自洽方面的问题处理好。检查一下原子之间的距离是不是太近了、晶格常数是不是明显不合理、金属体系的展宽方式是否合适,还有磁性体系的ISPIN和MAGMOM是否与材料状态相符。假如初始结构距离最低点实在太远,也可以先把晶胞固定住,对原子位置做一轮预优化,然后再把晶格放开。结构优化通常只能找到初始结构附近的局部最低点,因此初始结构本身是很重要的。

  2、观察受力是否振荡或者突然变大

 

  如果原子在相邻的步骤之间来回移动,最大受力忽高忽低,可以先试着减小POTIM,或者改用更为稳健的IBRION=2。当初始结构比较差、受力非常大的时候,也可以先用IBRION=3做短时间的预优化,等到结构进入比较平缓的区域之后,再切回共轭梯度算法。VASP当中不同的离子优化算法,对初始结构和步长的敏感程度是各不相同的。

 

  3、检查晶胞是否出现了异常变形

 

  查看【OUTCAR】当中的应力张量、外部压力以及每一步的晶胞参数,判断体积是否在持续缩小、晶格角度是否快速偏离,或者某个方向发生了不合理的拉伸。

 

  碰到这些情况的时候,就需要重点检查ENCUT、K点密度和初始的晶格结构。Pulay应力有可能把晶胞推向偏小的体积,而过稀的K点也会让能量与体积的关系变得不够平滑。这时可以提高截断能、加密K点,并且分阶段进行优化。如果晶胞变化已经很大,使用当前的CONTCAR重新开始计算,也有助于建立起一套更适合新晶胞的基组。

 

  三、VASP晶格优化结果怎么确认

 

  计算显示达到了停止条件,并不代表这个结构一定适合拿去做后续的计算。还需要去检查残余的受力、应力、晶胞的变化以及最终的电子状态,避免把“程序停止了”错误地当成“物理结果已经可靠了”。

 

  1、检查最终的受力和应力

 

  确认最大的原子受力已经达到了项目自己设定的阈值,同时还要查看剩余的压力和应力分量。如果原子受力已经很小,但晶胞仍然承受着较大的压力,这就说明晶格可能还没有充分优化,或者截断能、K点和外部压力的设置还需要再次调整。

 

  2、核对优化前后的结构变化

 

  把【POSCAR】和【CONTCAR】里面的晶格常数、晶格角度和原子位置放在一起比较,确认这些变化符合材料本身的结构特征。

 

  如果晶胞体积变化得过于剧烈、层间距出现了不正常的缩短,或者对称性发生了难以解释的改变,就需要重新检查初始结构、约束条件以及色散修正等设置。不能仅仅因为最终的能量降低了,就接受一个明显不合理的结构。

 

  3、补做一次静态计算

 

  将最终的结构作为新的输入,在固定晶胞和原子位置的条件下,重新进行一次高精度的静态自洽计算。进行静态计算的时候,仍然要使用之前验证过的ENCUT、K点、赝势和交换关联泛函,避免优化和最终性质计算采用不一致的势能面。这样做可以重新确认总能量、费米能级和电子收敛状态,也方便后续接着进行能带、态密度或者其他性质的计算。

  总结

 

  VASP晶格优化应当如何设置,以及VASP晶格优化不收敛时怎样进行排查,重点在于同时控制好优化的自由度、离子算法和电子计算的精度。设置时要根据体系选择合适的ISIF,通过IBRION、NSW、POTIM和EDIFFG来控制离子优化,并对ENCUT和K点进行收敛测试。不收敛的时候,应当先检查电子自洽,再去观察初始结构、受力振荡、晶胞变形和Pulay应力。最后还要核对CONTCAR的结构、残余压力和最大受力,并补做一次高精度的静态计算,才能判断晶格优化是否已经真正可靠。

135 2431 0251