VASP是备受专业技术人员认可的DFT计算软件,每年发表论文超过1万篇,至2022年底,文章总量已超过11万篇。其计算结果不仅可以验证实验,更能够预测实验结果,指导实验路线。
本文为华算科技朱老师技术团队的Cilver老师和Ravi老师制作的《VASP官方入门手册》第六章:PREC标签、ISPIN标签、MAGMOM标签、ISTART标签、INIWAV标签。本教程将详细介绍VASP软件及其计算方法,帮助大家快速入门VASP计算,搞定顶刊技能!
6.11 PREC标签
PREC= Low | Medium | High | Normal | Accurate | Single
默认值:
PREC= Medium for VASP.4.X
= Normal for VASP.5.X
” Normal “和 ” Accurate “设置仅适用于 VASP.4.5 及更新版本。” Single “设置仅在 VASP.5.1 中可用。
更改 PREC 参数会影响四组参数(ENCUT;NGX、NGY、NGZ;NGXF、NGYF、NGZF 和 ROPT)的默认值,也可以通过直接更改 INCAR 文件 (VASP.4.X) 中的相应参数来获得相同的特性。
-
如果 INCAR 文件中没有给出 ENCUT 的值,则 PREC 标签决定截断能 ENCUT。如果 PREC=Low,ENCUT 将设置为 POTCAR 文件中的最大 ENMIN 值。对于 PREC=Medium 和 PREC=Accurate,ENCUT 将设置为 POTCAR 文件中的最大 ENMAX 值(见 5.4)。最后,当 PREC=High 时,ENCUT 将设置为 POTCAR 文件中 ENMAX 最大值加上 30%。PREC=High 可以保证绝对能量收敛到几 meV,并确保应力张量收敛到几 kBar。一般来说,只有在精确估算与应力张量相关的量时(如弹性特性),才需要增加截断能。
下表概述了 PREC 如何确定INCAR 文件中的其他标签:
PREC |
ENCUT |
NGx |
NGxF |
ROPT |
Normal |
max(ENMAX) |
3/2 Gcut |
2 NGx |
-5E-4 |
Single |
max(ENMAX) |
3/2 Gcut |
NGx |
-5E-4 |
Accurate |
max(ENMAX) |
2 Gcut |
2 NGx |
-2.5E-4 |
Low |
max(ENMIN) |
3/2 Gcut |
3 Gaug |
-1E-2 |
Med |
max(ENMAX) |
3/2 Gcut |
4 Gaug |
-2E-3 |
High |
max(ENMAX)*1.3 |
2 Gcut |
16/3 Gaug |
-4E-4 |
max(ENMAX/ENMIN) 对应 POTCAR 中的最大 ENMAX/ENMIN
ENAUG 默认为 POTCAR 中的最大 EAUG
-
FFT-网格 (NGX, NGY, NGZ and NGXF, NGYF, NGZF):
在 PREC=High 和 PREC=Accurate 时,可避免环绕误差(见第 7.2 节,FFT 中考虑了所有比基组中包含的向量大两倍的向量)。当 PREC=Low, PREC=Medium ,或PREC=Normal,FFT 网格会约化,并使用所需数值的 3/4。通常 PREC=Medium 和 PREC=Normal 已足够精确,误差小于 1 meV/原子。
此外,PREC 标签还决定了表示增量电荷、电荷密度和电势(NGFX、NGFY、NGFZ)的网格间距。在 PREC=Accurate 和 PREC=Normal 时,辅助网格在每个方向上包含的点数是轨道网格的两倍(NGXF= 2 × NGX,NGYF= 2 × NGY,NGZF= 2 × NGZ)。PREC=Single 与 PREC=Normal 相同,只是不使用双网格技术。如果需要减少存储空间,或希望减小 CHG 和 CHGCAR 文件的大小(对于扫描隧道显微镜仿真,建议使用 PREC=Single),这将非常方便。在所有其他情况下,它们由ENAUG 的一些试探公式确定(见第 6.10 节)。
-
如果使用实空间投影,则 ROPT(控制每个离子周围积分球内的网格点数量,见第 6.39 节)设置为 LREAL=O 时的默认值:
PREC= Low 700 points in the real space sphere (ROPT = 0.67)
PREC= Med 1000 points in the real space sphere (ROPT = 1.0)
PREC= Normal 1000 points in the real space sphere (ROPT = 1.0)
PREC= Accurate 1000 points in the real space sphere (ROPT = 1.0)
PREC= High 1500 points in the real space sphere (ROPT = 1.5)
对于LREAL=A,默认值为:
PREC= Low ROPT=-1E-2
PREC= Med ROPT=-2E-3
PREC= Normal ROPT=-5E-4
PREC= Accurate ROPT=-2.5E-4
PREC= High ROPT=-4E-4
可以通过在 INCAR 文件中设置选项 ROPT 来覆盖这种行为。对于混合原子种类,我们强烈建议使用 LREAL=A(见第 6.39 节)。
我们建议在 VASP.4.5 及更高版本(VASP.5.X 默认)中使用 PREC=Normal,在 VASP.4.4 中使用 PREC=Medium。
PREC=Accurate 可以避免环绕误差,并使用比粗网格大一倍的增强网格来表示赝波函数。PREC=Accurate 在一定程度上增加了内存需求,但如果需要非常精确的力(声子和二阶导数),则应使用 PREC=Accurate。通过设置ADDGRID = .TRUE,可以进一步提高力的精度(见第 6.63 节)。
新的手册中PREC=High输入:
不再推荐使用 PREC=High(仅出于兼容性考虑)。为获得精确的应力张量,应手动提高截断能值;如果需要额外获得非常精确的力,可将 PREC=Accurate 与提高截断能值结合使用。请注意,我们现在建议在 INCAR 文件中手动指定截断能值,以避免计算结果不兼容(见第 6.2.3 节)。
旧的手册中PREC=High输入:
如果要估算应力张量等属性,应使用 PREC=High。如果 PREC=High 计算代价太高,也可以在 INCAR 文件中手动增加 ENMAX,因为这通常足以获得可靠的应力张量。
6.12 ISPIN标签
ISPIN= 1 or 2
默认值:
ISPIN = 1
ISPIN=1 时进行非自旋极化计算,而 ISPIN=2 时进行自旋极化计算。
6.13 MAGMOM标签
MAGMOM= [real array]
默认值:
MAGMOM = NIONS*1.0 (ISPIN = 2)
= 3*NIONS*1.0 (对于非线性磁性体系)
如果ICHARG=2,或者CHGCAR文件不包含磁化密度,可以指定每个原子的初始磁矩。如果要寻找自旋极化(磁性或反铁磁性)解,通常最保险的做法是从较大的局部磁矩开始,因为在某些情况下,默认值可能不够大。常见的做法是将实验磁矩乘以1.2或1.5作为默认值。需要强调的是,只有在 CHGCAR 文件不包含磁化密度信息,且初始电荷密度不是通过 WAVECAR 文件中提供的轨道计算得出的情况下,才会使用 MAGMOM 标签。这意味着 MAGMOM 标签适用于以下两种计算
-
在没有 WAVECAR 和 CHGCAR 文件的情况下从头开始计算。 -
从无磁性的 WAVECAR 和 CHGCAR 文件(ICHARG=1)开始计算。通常情况下,这种计算比第一种计算更能可靠地收敛到所需的磁性构型。因此,如果在收敛到所需磁性解时遇到问题,请尝试先计算无磁性基态,然后从生成的 WAVECAR 和 CHGCAR 文件继续计算。在续算时,需要在INCAR文件设置:
ISPIN=2
ICHARG=1
从 VASP.4.4.4 开始,VASP 还将确定 MAGMOM 行中提供的磁矩是否会破坏对称性。如果是,相应的对称运算将被移除,并且在电荷和力的对称化过程中不会应用这些操作。这意味着可以通过为晶胞中的原子指定反平行磁矩来进行反铁磁计算
MAGMOM = 1 -1
以 POSCAR 文件中的 AF bcc Cr 为例:
Cr: AF
2.80000
1.00000 .00000 .00000
.00000 1.00000 .00000
.00000 .00000 1.00000
2
Kartesisch
.00000 .00000 .00000
.50000 .50000 .50000
在上述给出的MAGMOM行设置下,VASP 应该收敛到正确的基态。在本例中,总净磁矩事实上为零,但可以使用 RWIGS 或 LORBIT 标签确定局部磁矩(见第 6.34 6.33 节)。
6.14 ISTART标签
ISTART= 0 | 1 | 2
默认值:
ISTART |
= |
1 |
如果WAVECAR 存在 |
= |
0 |
否则 |
该标签决定是否读取 WAVECAR 文件。
- 开始计算任务:” from scratch “。根据 INIWAV 标签初始化轨道。
- ” restart with constant energy cut-off “。续算–从 WAVECAR 文件中读取轨道(并行版本使用受限,参见第 4.5 节)。
将根据新的晶胞大小/形状 (POSCAR) 和新的平面波截断值 (INCAR) 重新定义和填充平面波集。这些值可能与存储在文件 WAVECAR 中的旧值不同。如果文件 WAVECAR 丢失或文件 WAVECAR 包含的能带和/或 k 点数量不合适,标签 ISTART 将被设置为 0(见上文)。在这种情况下,VASP 将从头开始并根据 INIWAV 标签初始化轨道。
如果超胞的大小/形状(见第 7.6 节)或截止能与上次运行相比发生了变化,并且希望根据新的设置重新定义平面波集,则建议使用 ISTART=1。
ISTART=1 通常用于截断能的收敛性测试以及体积/晶胞形状发生变化的所有计算(例如, 计算在一组体积上循环的结合能曲线)。
注意:main.F 可以根据 NGX、NGY、NGZ、NPLWV……的新设置重新编译,程序将正确读取并重组波函数数组等的存储布局。此外,如果 k 点数保持不变,还可以更改 k 点网格。如果要对一组 k 点进行循环(能带结构计算),这一点可能非常重要。
2’restart with constant basis set’:续算–从文件 WAVECAR 中读取轨道
即使文件 INCAR 和 POSCAR 中给出的截断能或晶胞大小/形状与文件 WAVECAR 中存储的值不同,平面波集也不会改变。如果文件 WAVECAR 丢失或文件 WAVECAR 包含的能带和/或 k 点数量不正确,标签 ISTART 将被设置为 0(见上文)。在这种情况下,VASP 将从头开始并根据 INIWAV 标签初始化轨道。如果晶胞形状没有改变,则 ISTART=1 和 ISTART=2 的结果相同。
ISTART=2通常用于如果希望以先前运行中使用的相同基组重新开始。
注意:由于Pullay应力(第 7.6 节)的原因,用恒定的基组和恒定的截断能来估算平衡体积存在差异,除非实现了基组的绝对收敛!
如果需要计算平衡体积,使用恒定截断能的计算比使用恒定基组的计算更可取,因此,除非确定,否则始终以 ISTART=1 重新开始计算(见第 7.6 节)。
只有一个例外:VASP 中实现的所有体积/晶胞形状弛豫算法都使用恒定基组,因此继续此类计算需要设置 ISTART=2 以获得与之前运行相协调的续算(见第 7.6 节)!
3 ’full restart including orbitals and charge prediction’
与 ISTART=2 相同,但必须存在一个有效文件 TMPCAR,其中包含时间步 t(N -1) 和 t(N -2)的位置和轨道,这是轨道和电荷预测方法(用于 MD 运行)是所需的。
一般不建议使用 ISTART=3,除非操作系统对计算任务的 CPU 时间有严格限制:如果使用 ISTART=1 或 2继续,则可能需要相对较多的电子迭代才能在第二和第三 MD 步骤达到轨道收敛。因此,ISTART=3 可以节省时间,如果 MD运行被分割成很小的部分(NSW30,强烈建议 ISTART=1 或 2。
注意:如果 ISTART=3,WAVECAR 或 TMPCAR 文件不存在或输入数据不一致都会立即停止执行。
6.15 ICHARG标签
ICHARG= 0 | 1 | 2 | 4
默认值:
ICHARG = 2 如果ISTART=0
= 0 其他情况
该标签决定如何构建初始电荷密度。
-
ICHARG=11:从 CHGCAR 读取给定电荷密度的本征值(用于能带结构图)或 DOS。必须事先通过一个完全自洽计算确定自洽的CHGCAR文件,并使用一个跨越整个布里渊区的k点格点。 -
ICHARG=12:原子电荷密度叠加的非自洽计算。这是非自洽Harris-Foulkes 函数的思路所在。VASP 计算出的应力和内力是正确的,因此完全可以对非自洽的 Harris-Foulkes 函数进行从头算的MD 计算(见第 7.3 节)。
-
如果 ICHARG>10,电荷密度在运行过程中保持不变。 -
对于除 IALGO=5X 以外的所有算法,初始电荷密度都用于建立初始哈密顿算符,该哈密顿算符用于前几步(NELMDL)非自洽性计算。
该标签仅用于启动工作(ISTART=0),没有其他意义。它指定如何设置初始轨道:
0 取 “jellium orbitals”,意思很简单:对于恒定势能(”jellium”),以最低动能=最低特征向量的平面波填充波函数阵列。
注意:”jellium “计算需要特定的 POTCAR,标准势能数据库中并不包含。
1 用随机数填充波函数阵列。在可能的情况下使用该选项。
注意:这绝对是最保险的傻瓜式防错选项,除非确信其他初始化方法也同样有效,否则请使用此设置。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
