3.3.4 结构优化计算总结#

(1)结构优化本质就是一系列依次进行的静态自洽计算,所以它相比于静态自洽计算(scf),就是多了一些控制离子步的参数,主要是这五个NSW,IBRION,POTIM,EIDFFG,PSTRESS。

(2)首先要确保初始结构合理,比如不能出现某些原子距离很近的情况,可以用原子的经验半径去判断,这个数据可查https://ptable.com/,一般两个原子距离不会小于0.8Å(除了一些特殊的分子,比如H2的键长0.74Å);

(3)一定要查看result或者OUTCAR确保计算顺利完成。一方面,要确保每一个离子步中电子步都收敛,此时结构的演化才是正确的。如果偶尔几步离子步中出现电子步只迭代到了1E-3,始终没法达到预设的EDIFF;而后续的离子步中电子步又收敛了,此时的结果也是可信的。

同时,要确保最后压强趋于预设压强(1kbar量级的波动可以忽略),以及原子受力逐渐接近预设值EDIFFG。如果体系有磁性,那么结构优化过程中也需要开启磁性参数ISPIN,并且考虑设置初始磁矩;磁性部分的内容请看后面章节。

(4)如果你的relax计算顺利完成,可以读取最后一个离子步的能量,OSZICAR中的E0值,作为该结构优化后的总能。或者拿优化后的结构单独做一次静态计算以获得能量。可以自己测试对比二者结果的差异。

(5)有时候体系比较复杂时,比如大几十个原子甚至上百原子,结构优化的精度标准可以适当放宽,比如EDIFFG=-0.05;EDIFF=1E-5。或者采用两次优化的策略,第一次用低精度,k111+低截断能,目的是快速找到合理的局域能量最低构型附近的结构。第二次提高精度,读取第一次的CONTCAR进行relax计算。并且,在relax过程中,一定要查看压强和力,确保压强接近预设值(默认是0kbar,最终压强可以在1kbar量级附近抖动),以及力要小于EDIFFG;如果优化到最大离子步时,力仍然没有完全达到预设值,那需要把CONTCAR命名为POSCAR,其余INCAR,KPOINTS和POTCAR不变,新建文件夹,在里面继续优化。新建文件夹的目的是避免覆盖前一次relax计算,以便于后面查看数据。个人建议,养成新建文件夹计算的习惯,尽量不要覆盖原始数据,除非你已经很清楚地知道前面的数据对自己没有用。

(6)结构优化最常出现的报错就是当前EDIFF不够,此时result或者OUTCAR会提示你减小EDIFF或者复制CONTCAR为POSCAR继续优化,遵循程序的建议操作即可。

(7)结构优化要合理利用好ISIF参数, ISIF的取值有很多:

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

通常情况下都需要ISIF=3的优化,相当于在某一压强下充分弛豫释放结构内部全部应力。但如果是研究超胞掺杂模型,或者是某一金属表面吸附官能团的问题,可以考虑做ISIF=2的固定晶胞的离子优化。ISIF=2和3是初学阶段用得较多的选择,其它设置可以根据需要采用。