本文主要的目的是给大家介绍一下常见的INCAR参数,以及这些参数对于不同的计算任务和体系所适用的值。其中大部分的内容我都会参考VASP的官方手册进行整理,大家可以将本文作为平时查询和熟悉参数的工具,也推荐大家在VASP官方手册查询参数,对理解和提升有很大的帮助
全局通用参数
SYSTEM
默认值:unknown system
可取值:随意填写,但不要写中文
这个参数是VASP提供给用户用于描述自己此次计算目的、体系、方法等等,用户可以随意填写,也可以不写。
当自洽计算填写此参数(比如SYSTEM=XXX)并输出CHGCAR后,后续非自洽计算如果读取这个CHGCAR,计算刚开始会显示CHGCAR read from XXX
ISTART
参数描述:ISTART决定了VASP运行计算时是否读取WAVECAR文件
默认值:ISTART = 1(如果存在WAVECAR文件);ISTART = 0(不存在WAVECAR文件)
可取值:0 | 1 | 2 | 3
ISTART = 0,计算不会读取WAVECAR文件,此时VASP会根据INIWAV的值来确定初始化轨道的方法
ISTART = 1,轨道由WAVECAR文件读取,并重新读取INCAR中的截断能和POSCAR中的晶格矩阵进行计算(即使这些值与WAVECAR中的旧值不同),如果检测到不存在WAVECAR文件,则VASP按ISTART=0执行计算。如果此次计算相比于上次计算晶胞的大小/形状或截断能发生变化,并且希望读取WAVECAR开始计算,则建议将ISTART设置为1
ISTART = 2,轨道由WAVECAR文件读取,即使INCAR中的截断能或者POSCAR中的晶格矩阵与WAVECAR文件上存储的值不同,平面波也不会更改
ISTART = 3,与ISTART=2相同,但是需要额外读取TMPCAR文件,此文件内容是含时间步长的位置和轨道信息,一般不推荐设置!另外如果不存在WAVECAR或TMPCAR文件,计算会立即终止
如果此次计算POSCAR中晶胞的大小/形状或INCAR中截断能没有发生变化,则ISTART=1和ISTART=2是相同的作用
推荐:计算能带结构、态密度时,ISTART=1;其余计算ISTART=0
ICHARG
参数描述:ICHARG 决定了 VASP 如何构建初始电荷密度。
默认值:ICHARG = 2(当ISTART = 0时);ICHARG = 0(其他所有情况)
可取值:0 | 1 | 2 | 4 | 5 | 10 | 11 | 12
ICHARG = 0,从初始波函数(WAVECAR)计算电荷密度。若WAVECAR文件无效或缺失,VASP会自动修正为ICHARG = 2。适用于续算场景,但若波函数文件不匹配(如截断能或晶胞尺寸改变),可能导致收敛问题!一般结构优化不推荐输出WAVECAR,因此ICHARG = 0不常用
ICHARG = 1,从CHGCAR文件读取电荷密度,并通过原子电荷密度的线性组合方法从旧位置(CHGCAR中的)外推至新位置。适用于结构微调后的续算(如弛豫或分子动力学),可加速收敛,但是一般结构优化不推荐输出CHGCAR,因此ICHARG = 1不常用
ICHARG = 2,使用原子电荷密度的叠加作为初始电荷密度,当ISTART=0(或者没有WAVECAR文件时),VASP会默认采用此模式。ICHARG = 2适用于全新计算,常用!
ICHARG = 4,从POT文件读取势场(需LVTOT=.TRUE.生成该文件),常用于优化有效势(OEP)方法
ICHARG = 5,外部电荷密度更新模式,允许在SCF过程中通过GAMMA文件修正KS占据数,用于DFT+DMFT等自洽计算,需配合vasp.lock文件控制流程
ICHARG = 10 | 11 | 12 ,通过给ICHARG值加10(也就是0、1、2变为10、11、12),在保持ICHARG=0、1、2的功能前提下可使电荷密度在整个电子最小化过程中保持恒定,用于非自洽计算。适用场景:
ICHARG=10,常用于HSE计算能带结构;
ICHARG=11,常用于基于CHGCAR给定电荷密度计算能带结构和态密度;
ICHARG=12,原子电荷密度叠加的非自洽计算(遵循Harris-Foulkes泛函原理),可正确计算应力和力,支持基于该泛函的从头算分子动力学。
当ICHARG=11/12时,强烈建议将LMAXMIX设为赝势中最大l量子数的两倍(s/p元素设为2,d元素设为4,f元素设为6)
LWAVE
参数描述:LWAVE 参数决定波函数是否在VASP运行结束时写入 WAVECAR 文件
默认值:LWAVE = .TRUE.
可取值:.TRUE. | .FALSE.
LWAVE = .TRUE.,写入 WAVECAR;LWAVE = .FALSE.,不写入 WAVECAR
WAVECAR文件常常占用大量存储空间,通常来说结构优化、分子动力学等等不需要后续读取WAVECAR计算的任务,都不需要输出WAVECAR
因此只有后续明确会用到WAVECAR的场景,再写LWAVE = .TRUE.,其余情况一律写LWAVE = .FALSE.
LCHARG
参数描述:LCHARG 参数决定波函数是否在VASP运行结束时写入 CHGCAR和CHG 文件
默认值:LCHARG = .TRUE.
可取值:.TRUE. | .FALSE.
LCHARG = .TRUE.,写入 CHGCAR和CHG 文件;LCHARG = .FALSE.,不写入 CHGCAR和CHG 文件
CHGCAR和CHG 文件常常占用大量存储空间,通常来说结构优化、分子动力学等等不需要后续读取CHGCAR和CHG 文件计算的任务,都不需要输出CHGCAR和CHG 文件
因此只有后续明确会用到CHGCAR和CHG 文件的场景,再写LCHARG = .TRUE.,其余情况一律写LCHARG = .FALSE.
ISMEAR
参数描述:ISMEAR是VASP计算中控制轨道部分占据数(fnk)设置方法的重要参数,它决定了如何处理费米能级附近的电子分布,对计算结果的准确性有重要影响。
默认值:ISMEAR = 1
可取值:-15 | -14 | -5 | -4 | -3 | -2 | -1 | 0 | [大于0的整数]
ISMEAR > 0:采用Methfessel-Paxton方法,阶数为ISMEAR值,展宽宽度由SIGMA决定。注意:这种方法可能导致绝缘体的部分占据数不物理
ISMEAR = 0:采用高斯展宽方法,展宽宽度由SIGMA决定
ISMEAR = -1:采用费米展宽方法,展宽宽度由SIGMA决定
ISMEAR = -2:从WAVECAR中读取部分占据数并在整个计算过程中保持不变。或者可以通过INCAR文件中的FERWE(和ISPIN=2时的FERDO)标签设置占据数
ISMEAR = -3:对INCAR文件中SMEARINGS参数提供的值进行循环计算
ISMEAR = -4:无展宽的四面体方法
ISMEAR = -5:带Blöchl修正的无展宽四面体方法
ISMEAR = -14:带费米-狄拉克展宽(SIGMA)的四面体方法
ISMEAR = -15:带Blöchl修正和费米-狄拉克展宽(SIGMA)的四面体方法
不同的ISMEAR值适用于不同的体系
CHGCAR和CHG 文件常常占用大量存储空间,通常来说结构优化、分子动力学等等不需要后续读取CHGCAR和CHG 文件计算的任务,都不需要输出CHGCAR和CHG 文件
因此只有后续明确会用到CHGCAR和CHG 文件的场景,再写LCHARG = .TRUE.,其余情况一律写LCHARG = .FALSE.