View Categories

常用INCAR参数

全局通用参数


SYSTEM

这个参数是VASP提供给用户用于描述自己此次计算目的、体系、方法等等,用户可以随意填写,也可以不写。
当自洽计算填写此参数(比如SYSTEM=XXX)并输出CHGCAR后,后续非自洽计算如果读取这个CHGCAR,计算刚开始会显示CHGCAR read from XXX


ISTART

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文件,计算会立即终止


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泛函原理),可正确计算应力和力,支持基于该泛函的从头算分子动力学。


LWAVE

LWAVE = .TRUE.,写入 WAVECAR;LWAVE = .FALSE.,不写入 WAVECAR


LCHARG

LCHARG = .TRUE.,写入 CHGCAR和CHG 文件;LCHARG = .FALSE.,不写入 CHGCAR和CHG 文件


ISMEAR

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值适用于不同的体系
对于孤立的分子或原子体系,ISMEAR = 0;SIGMA = 0.01
对于周期性体系,不知道是绝缘体、半导体还是金属,使用ISMEAR = 0和SIGMA = 0.03~0.05
ISMEAR = 0加上测试好的SIGMA值是一个万能的设置,不管什么体系,都可用于结构优化、频率计算和热力学校正
对于半导体和绝缘体体系,ISMEAR的值取绝对不能大于0, 一般用0;对于金属体系,ISMEAR的取值一般为 ≥ 0 的数值(0,1)
对于电子结构中DOS计算部分,ISMEAR = -5,此时K点要 ≥ 3,VASP才能正常运行
四面体方法(ISMEAR = -4, -5, -14, -15)需要配合gamma-center的K点模式使用


SIGMA

SIGMA的取值和ISMEAR息息相关,一般情况下SIGMA会和ISMEAR这个参数同时设定(ISMEAR = -5时,不需要写SIGMA
对于金属: ISMEAR = 1 或者0,SIGMA = 0.1~0.2即可
对于非金属: ISMEAR= 0 的时候,一般取 SIGMA = 0.10 即可,不放心的话,用0.05。
对于孤立的气体分子,原子体系(也就是你把分子或者原子放到一个box里面):牢记ISMEAR = 0和SIGMA = 0.01
测试标准是: SIGMA的取值要保证OUTCAR 中的 entropy T*S 这一项,平均到每个原子上,要小于 1-2 meV。
检查的时候可以用这个命令:grep ‘entropy T’ OUTCAR
注意1:这里有两个单引号,不要输入的时候漏掉。
用这个命令,得出的能量除以体系中原子的数目(也就是平均到每个原子上),然后再和 0.001 eV 比较。如果小于,SIGMA取值OK,如果大于,再换个小点的SIGMA值进行测试。
注意2:这里的说的entropy,是因为ISMEAR展宽这个计算方法引入的,跟我们物理化学书里面的通过振动频率计算的entropy完全是两码事。后面我们会介绍如何通过频率分析计算物理化学里面的Entropy。千万别把这个数值当成频率所对应的entropy。
注意3: 结合上一点强调下:vasp没有内置热力学相关的计算模块,我们需要计算频率来获得。


ENCUT

强烈建议始终在INCAR文件中手动指定截断能ENCUT,否则,默认的ENCUT可能会在不同的计算中有所不同,从而导致总能量无法比较(例如,用于计算内聚能)。
对于截断能的选取建议自己手动做收敛性测试,实在不想测试可以按经验选择一个保守的截断能,也就是:1.3×ENMAX
通过命令:grep ENMAX POTCAR 抓取POTCAR中所有的ENMAX,然后选取最大的ENMAX,设置ENCUT = 1.3×ENMAX
下面我用一个由O、C、Co元素组成的体系为例

可以看到最大的ENMAX是400eV,因此ENCUT不经过收敛性测试直接设置为1.3×400=520eV(即ENCUT = 520)较为合适


LREAL

LREAL=.FALSE.​​投影算符在​​倒易空间​​(reciprocal space)中进行计算。这是默认设置,适用于高精度计算,但计算量较大
​​LREAL=Auto或A​​投影算符在​​实空间​​(real space)中进行计算,且​​完全自动优化​​投影算符(无需用户干预,推荐使用)
​​LREAL=On 或 O​​投影算符在​​实空间​​中进行计算,但需​​手动优化​​投影算符(不推荐使用)。与.TRUE.的区别在于是否使用King-Smith算法优化
​​LREAL=.TRUE.​​投影算符在​​实空间​​中进行计算,直接使用文件中存储的投影算符(不推荐使用)。可能导致精度下降,尤其对复杂体系

超过20个原子的体系直接用LREAL = Auto即可,平衡效率与精度
原子数超过100,LREAL = Auto的计算速度会比LREAL = .FALSE.快很多倍!


ISPIN

​​ISPIN=1​​:执行​​非自旋极化​​计算(默认值),适用于非磁性体系,所有电子轨道自旋向上和向下的占据数相同。
​​ISPIN=2​​:执行​​自旋极化​​计算(共线磁性),可结合MAGMOM参数研究铁磁、反铁磁等共线磁性行为

磁性材料​​:如过渡金属(Fe、Co、Ni)或含d/f电子的体系,需设置ISPIN=2并合理定义MAGMOM
​​非磁性体系​​:如半导体或绝缘体,通常使用ISPIN = 1以节省计算资源
使用ISPIN = 2会比使用ISPIN = 1多使用将近一倍的内存/显存,同时也会增加计算时间,在使用显卡加速节点时尤其要注意这一点
使用非共线磁性计算时(LNONCOLLINEAR=.TRUE.),ISPIN这个参数会被忽略。但是在VASP.6.5.0版本以上的计算中,若同时设置LNONCOLLINEAR=.TRUE.和ISPIN = 2和MAGMOM,VASP会报错


MAGMOM

​​输入格式示例​​:
​​自旋极化计算(ISPIN=2)​​
反铁磁Cr单胞(2原子)

MAGMOM = 1.0 -1.0

非共线计算(LNONCOLLINEAR=.TRUE.)​​
16原子体系(前8原子磁性)

在从头计算(ISTART=0)时,MAGMOM定义每个原子的初始磁矩,并降低体系对称性(若磁矩分布破坏晶体对称性)。
对于磁性计算(自旋极化或非共线磁性),初始磁矩的合理设置可加速收敛并避免陷入局部极小值。推荐值为实验磁矩的1.2-1.5倍


ISYM

​​ISYM=1 | 2 | 3​​:​​启用对称性​​;ISYM=0 | -1​​:​​关闭对称性​​
​​ISYM=2​​:采用​​高效电荷密度对称存储​​,显著降低内存需求(相比于ISYM = 1)
​​ISYM=3​​:不直接对称化电荷密度,而是通过对布里渊区不可约k点的轨道应用对称操作来构造电荷密度,此模式专为杂化泛函计算设计
​​ISYM=0​​:不启用对称性,但假设波函数满足Ψk*-k,从而减少布里渊区采样。​​推荐用于分子动力学计算(IBRION=0)
​​ISYM=-1​​:​​完全关闭对称性​​,适用于自旋轨道耦合(SOC)或强对称性破缺体系,但会降低计算效率
启用对称性时,VASP会按以下步骤分析对称性(结果写入OUTCAR文件):
1. 确定晶格的点群对称性​​(基于POSCAR中的结构)。
​​2. 检测基矢是否破坏对称性​​,移除不满足的对称操作。
​​3. 检查初始速度是否破缺对称性​​。
​​4. 验证MAGMOM设置的磁矩是否破坏对称性​​,并确定磁对称群

常规晶体计算​​:推荐ISYM=2(平衡效率与精度)
​​分子动力学/表面计算​​:设为ISYM=0以充分弛豫
​​磁性或SOC体系​​:关闭对称性(ISYM=-1)
通过在INCAR中设置NWRITE = 3可在OUTCAR中输出对称操作详情


ALGO

​​ALGO=Normal​​:​​相当于IALGO = 38,采用Blocked-Davidson算法,通用且稳健的算法,适用于大多数情况
​​ALGO=VeryFast​​:相当于IALGO = 48,采用​​RMM-DIIS算法,更快的算法,但稳定性有所降低,VASP6版本增强了这个算法的鲁棒性,HSE06计算不要选择这个算法
​​ALGO=Fast​​​​:混合算法,初始使用Blocked-Davidson算法(IALGO=38),后续切换至RMM-DIIS算法(IALGO=48)
ALGO=Conjugate或All​​:选择IALGO=58(all band simultaneous update of orbitals),推荐搭配ISEARCH=1(improved line-search算法)使用

常规计算​​:推荐ALGO = Normal,在实际应用中,有时会遇到某些结构优化步骤在使用ALGO = Normal时无法收敛的情况,此时可以尝试切换到Fast或VeryFast来解决问题
​​金属氧化物使用DFT+U遇到电子步难收敛的问题,可以使用ALGO = ALL,能够加快收敛
含​​f轨道电子​​(如镧系元素)时,必须设置LMAXMIX=6以确保收敛