主要参考文章:《VASP手册》
对于材料DFT计算来说,在“平面波-贗势”框架下求解KS方程进行SCF自洽计算往往是DFT计算中较为关键的部分。而对于收敛条件的参数设定则会决定体系最终的收敛情况。
所以对于自洽循环以及影响自洽的参数,有必要进行详细的学习。本会主要记录vasp软件中与自洽计算较为相关的几个参数:NSW
、NEML
、EDIFF
、EDIFFG
等。
一、平面波-贗势框架下的自洽运算
首先,放出平面波-贗势框架下自洽计算的流程图:
由上图可知,对于任何一个材料体系的DFT计算而言,如果没有已知的WAVECAR
和CHCGAR
,则计算的第一步通常都是初始化波函数(对应于ISTART=0
ISTART-tag)和初始化电子密度(对应于ICHARG=2
ICHARG-tag)。由此来进行电子密度和能量本征值的自洽计算。
自洽计算本身又包含了两个循环,分别是电子密度的自洽循环(又称电子步
)和体系能量本征值的自洽循环(又称离子步
)。而EDIFF
和EDIFFG
就是控制这两个循环的收敛判据(又称收敛精度
)。
除了收敛判据之外,我们还需要有两个循环终止条件,来防止程序无法达到收敛精度而无法终止。它们就是NEML
(电子步的循环终止参数)和NSW
(离子步的循环终止参数),它们分别控制了在一次计算中电子步和离子步所能达到的最大数值。如果达到了这个最大数值,那么无论体系是否达到收敛精度,计算都将终止。
而所谓的进行离子步自洽计算
,也就是我们常说的结构弛豫
、结构优化
。
二、vsap中自洽运算的参数选择
2.1 自洽运算的精度与上限
根据上文所述,对于自洽顺序我们有两组控制参数:
对于电子步:NEML
:电子自洽循环上限。一般默认为60步。根据vasp手册,如果NEML在40步内无法收敛,则意味着在当前条件下,电子步无法收敛,需要考虑更改其他参数设置(ALOG和)。EDIFF
:电子能量收敛判据。一般默认为^{-4}eV$。根据vasp手册,在大多数情况下不需要调整这个数值。
对于离子步:NSW
:离子自洽循环上限。控制离子步数,一般根据体系的收敛难易进行测试。EDIFFG
:离子能量收敛判据。一般默认为EDIFF*10
。
这里我们着重讨论EDIFFG
参数。
根据手册中提示,EDIFFG
参数有正负之分:
当EDIFFG>0
时,EDIFFG的收敛判据为eV
,即以体系本征能量的变化量为判据进行收敛。
当EDIFFG<0
时,EDIFFG的收敛判据为eV/A
,即以作用在每个原子上的力的变化量为判据进行收敛。
网上推荐的EDIFFG参数一般在-0.01 - -0.03
之间,根据实际测试,对于作用在每个原子上的力的变化量而言,0.01
已经是一个十分小的数值了。
2.2 影响自洽运算的因素
当我们在进行具体实例的计算是,会发现有的时候体系结构难以收敛,有的时候是电子步难以收敛,有的时候是离子步难以收敛,下面分别对这两种情况的影响因素进行介绍
(1)影响电子步自洽计算的因素
对于电子步而言,主要的影响因素有:
- 初始结构的合理性
- K点密度的选择(即KPOINT文件)
- 电子自洽算法的选择(即ALGO参数)
- 高斯展宽(即SIGMA参数)
- 是否考虑电子自旋(即ISPIN参数)
- 电子步收敛判据(即EDIFF参数)
(2)影响离子步自洽计算的因素
对于电子步而言,主要的影响因素有:
- 初始结构的合理性
- 离子弛豫算法的选择(即IBRION参数)
- 离子弛豫步长(即POTIM参数)
- 离子步收敛判据(即EDIFFG参数)
当我们了解了影响电子步和离子步收敛的主要因素之后,我们就可以对于实际遇到的不收敛问题做出分析和修改。
2.3 实际问题
体系:PZT(10原子体系)
贗势选用:paw_pbe
特别地,对于Pb原子使用了Pb_d贗势
INCAR参数:1
2
3
4
5
6
7ENCUT = 500
NEML = 60
EDIFF = 1e-6
NSW = 100
EDIFFG = -0.01
体系难以收敛,OSZICAR
如下
1 | N E dE d eps ncg rms rms(c) |
首先,还是复习一下大师兄教程里面的关于OSZICAR
各个值含义的理解:
含义 | |
---|---|
N | 代表电子步的迭代步数 |
E | 代表当前电子步的体系能量 |
dE | 该步和上一步体系能量的差值 |
DAV | 对应Blocked-Davidson算法 |
RMM | 对应RMM-DIIS算法 |
F | 体系总能量,对应free energy TOTEN |
E0 | 体系总能量,对应energy(sigma->0) |
d E | 前后两个离子步的能量差,如果是静态计算则等于entropy*SIGMA |
- 1) d eps the change in the bandstructure energy;本征值的变化
- 2) ncg the number of evaluations of theHamiltonian acting onto a wavefunction;波函数的优化次数
- 3) rms the norm of the residuum of the trialwavefunctions (i.e. their approximate error)
- 4) rms(c) the difference between input andoutput charge density
针对这份OSZICAR
,我们分段分析,可以发现三个问题:
(1)第1个离子步
1 | N E dE d eps ncg rms rms(c) |
第一个离子步中,电子进行了60次自洽运算,还未达到EDIFF=1e-4
的收敛精度要求,跳出第一个离子步;
此处还并未发现有什么问题。
(2)第2-5个离子步
1 | N E dE d eps ncg rms rms(c) |
从第2个离子步开始,电子自洽仅用少量的步骤即达到了对应地电子步精度(见dE
列)。
开始进入离子步的自洽循环,以达到离子步自洽收敛的精度要求EDIFFG=-0.01
此处我们可以得出的结论是,对于该体系,NEML
的值完全可以更小一些,即不需要在第一个离子步上浪费太多时间,因为第一个离子步是用非常笼统的方式“猜“出来的(电子密度是每个原子电荷密度的叠加),并没有太多的实际意义。
(3)第197-200离子步
1 | N E dE d eps ncg rms rms(c) |
体系直到离子步的运算上限200次才最终停止。但我们后面的每个离子步基本都仅算了2次,并且离子步提示的能量差已经非常小了——1e-10
量级,这意味着从能量角度来看,体系应该已经十分稳定了。但是之所以还未收敛,是因为INCAR
中使用了 EDIFFG = -0.01的判据,即使用力的收敛要求作为判据。
关于力的收敛情况,则需要从OUTCAR
中的 TOTAL-FORCE
列表中进行查看。
1 | POSITION TOTAL-FORCE (eV/Angst) |
注意列表中的TOTAL-FORCE
项,我们把它单独列出来:
1 | TOTAL-FORCE (eV/Angst) |
可以发现作用在每个原子上的仍然大于收敛条件0.01
,而如果检查前几个离子步骤中受力情况则会发现,大概在第30个离子步左右,受力就已经收敛不再变化了。
对此我们可以得到的结论就是,在此参数下,该体系已经达到了收敛极限,但是该收敛极限仍然难以满足收敛精度的要求。
在本算例中,我们还会发现,每个离子步对应地d E值并不等于当前离子步
与上个离子步
之间的能量差,而是等于当前离子步
与第一个离子步
之间的能量差,这似乎和手册中的解释并不一致。
2.4 总结
综上所述,我们可以得出结论:
1.该体系现有参数对于离子步的收敛精度要求过高,可以将负的EDIFFG
适当调大,或者干脆使用正值。
2.根据TOTAL-FORCE
表格中的提示,作用在原子上的力变化较大,可以考虑更换收敛算法,或者减少收敛步长。)