INCAR 中的常用标签

Northword2020年11月22日
  • VASP
大约 8 分钟

INCAR 中的常用标签

整理一些常用的碰到的 tags,没有的依然是返回 VASP 手册咯;整理了的都是最简单的信息,更多信息也是查手册咯。分类和顺序按 OUTCAR 描述的。

标签名似乎也有一些规律,如以 L 开头的几乎都是逻辑(Logic)标签,取值都是布尔;

与常规编程不同,INCAR 中所有标签的取值,字符串类型无需加引号,如 SYSTEM = O2_geo;布尔类型应在两端加上 .,如 LWAVE = .FALSE.

几种必要的数据类型(仅是为了方便我理解,这个并不用会):

类型中文名值域备注
INT16 位整型-32768~+32767VASP 的 int 类型通常指定了仅有的几种取值
REAL实型-2^128 ~ 2^128
BOOL布尔0 或 1VASP 中用 .TURE..FALSE.

Start Parameters

SYSTEM

取值:字符串。缺省值:unknown system

描述:用来备注计算的体系,其值会被写入 OUTCAR 中。

ISTART

取值:0 | 1 | 2 | 3

缺省值:如果 WAVECAR 存在,则为 1,否则为 0

描述:是否读取 WAVECAR

ISTARTFunction
0从头开始
1从 WAVECAR 读取轨道
2
3.

ISPIN

取值:1(缺省) | 2

描述:自旋极化。

ISPIN = 1 :不自旋

ISPIN = 2 :自旋

需要考虑自旋极化一般来说有以下几种:

  1. 单原子的计算,
  2. O2 分子 (基态为三重态)
  3. 自由基相关的计算
  4. 含 Fe,Co, Ni 的体系
  5. 要计算的体系具有磁性:顺磁,铁磁,反铁磁等,要打开自旋极化。
  6. 当关注体系的电子性质时,且自己不知道加或者不加的时候,建议加上。

MAGMOM 结合,可以研究共线磁性。

Ex12 VASP 中 MAGMOM 的简单设定 | Learn VASP The Hard Wayopen in new window

ICHARG

取值:0 | 1 | 2 | 4

缺省:ICHARG=2 if ISTART=0,=0 else

描述:决定 VASP 如何构造初始电荷密度

ICHARGFunction
0从初始波函数计算电荷密度。如果因为无效 WAVECAR 导致 ISTART 重置,则 ICHARG 会被设置为 2。
1从 CHGCAR 读取电荷密度,使用原子电荷密度的线性组合从旧位置(在 CHGCAR 上)外推到新位置。
2原子电荷密度叠加
4
+10非自洽计算

I/O Flags

ParametersDefaultDescribe
LWAVE.TRUE.是否将波函数写入 WAVECAR
LCHARG.TRUE.是否将电荷密度写入 CHGCARCHG

Electronic Relaxation

ENCUT

截断能

  • ENCUT 值越大,计算的越精确,花费的时间也就越多;

  • ENCUT 的取值与体系中所有的元素有关;

    • A)体系中含有不同元素的时候,查看这些元素 POTCAR 中的 ENMAX 值,找出最大的那个;
    • B)ENCUT 的最小值为所有元素中 ENMAX 的最大值!
    • C)也就是说,找到最大的 ENMAX(max), ENCUT 值大于等于 ENMAX(max)。

Ex17 谁偷走的我的机时?(二) | Learn VASP The Hard Wayopen in new window

EDIFF

取值:real。缺省值:1E-4

描述:控制电子步(自洽)的收敛标准。多数情况下 1E-4 足以胜任,没必要采用其他数值。

GGA

GGA = 91 | PE | RP | PS | AM

缺省:POTCAR 中的

GGA 指定希望使用的广义梯度近似的类型。

GGA - VASP Wikiopen in new window

Ionic Relaxation

EDIFFG

取值:real。缺省值: EDIFF x10

描述:离子弛豫的收敛标准

如果为正,表示两个离子步骤之间的总(自由)能变化小于 EDIFFG 时停止弛豫。一般取 0.0001 ~ 0.001 即可。

如果为负,则原子所受最大力小于 |EDIFFG| 时停止弛豫。一般取值 -0.01 ~ -0.05(-0.01 对于力收敛已经是个很严格的要求了)

取值范围引自大师兄科研网:https://www.bigbrosci.com/2017/12/02/ex09/open in new window

NSW

取值:int。缺省值:0

描述:离子步的最大步数

IBRION = 0 时,NSW 给出了所有从头开始的 Molecular Dynamics 运行的步骤数,因此必须提供它,否则 VASP 在启动后立即崩溃。

IBRION != 0 时,在所有最小化算法(准牛顿,共轭梯度和阻尼分子动力学)中,NSW 定义了最大离子步数。

IBRION

取值: -1 | 0 | 1 | 2 | 3 | 5 | 6 | 7 | 8 | 44

缺省:IBRION = -1 for NSW = -1 or 0 , =0 else

描述:决定离子如何移动

IBRIONFunction
-1静电自洽。此时 NSW 应为 0。
0分子动力学
1离子弛豫(RMM-DIIS) 小范围内的稳定结构搜索
2离子弛豫(共轭梯度算法) 常用
3离子弛豫(damp 分子动力学)初始结构很差时
5频率计算。5-8 都是,但常用 5.
44改进的 dimmer 方法

IBRION=5 and 6: second derivatives, Hessian matrix and phonon frequencies (finite differences). 对于 IBRION=5 时,所有原子都在三个笛卡尔方向上移动,即使对于中等大小的高对称系统,也需要大量的计算工作。对于 IBRION = 6,仅考虑对称不等价位移,并使用对称性考虑填充其余的 Hessian 矩阵。IBRION=5 支持选择性弛豫,6 不支持。

IBRION=7 and 8: second derivatives, Hessian matrix and phonon frequencies (perturbation theory).

详细: IBRION - VASP Wikiopen in new window

ISIF

取值:ISIF = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7

缺省值:0(当 IBRION=0,分子动力学时;否则为 2)

描述:1 有哪些需要算,2 有哪些自由度可以优化。

决定是否计算应力张量,以及允许哪些主要自由度改变弛豫和分子动力学。

ISIFcalculatedegrees-of-freedom
forcesStress tensorpositionscell shapecell volume
0yesnoyesnono
1yestrace onlyyesnono
2yesyesyesnono
3yesyesyesyesyes
4yesyesyesyesno
5yesyesnoyesno
6yesyesnoyesyes
7yesyesnonoyes

ISYM

是否考虑对称性。取值:0 | 1 | 2(默认) 0-nonsym 1-usesym 2-fastsym

POTIM

time-step(MD),单位 fs;step width scaling (ionic relaxations).

缺省:if IBRION=0(MD),无缺省,必须用户指定,否则崩溃。

if IBRION=1,2,3(弛豫),缺省 0.5。所有最小化算法(1 准牛顿,2 共轭梯度和 3 阻尼 damped 分子动力学)中,POTIM 均用作步长的缩放常数。特别是准牛顿算法对此参数的选择很敏感。

if **IBRION=5(频率),缺省 0.015。**In frozen phonon calculations, POTIM gives the width of the displacement of each ion to calculate the Hessian Matrix.

VASP.5.1 and newer releases: 如果给的值不合理(过大),会被重置为 0.015 Å.

IBRION=2 时(这是前提!!),如果初始结构很差,设置较小的 POTIM 可以有效的避免过度矫正。初始结构越好,POTIM 的选择也就越随意。

ISMEAR

ISMEAR 这一项,目前需要记住的是:

  1. 不同的值对应的是不同的展宽方法
  2. 对于分子,原子的计算用 0

下面是 VASP 官网的一些解释,新手暂时看不懂不要紧,把需要记住的这两条死死记住就可以了。

  • 对于半导体和绝缘体体系,ISMEAR 的值取绝对不能大于 0, 一般用 0;
  • 对所有体系,如果想获取更加精确能量的时候用 -5:但使用 -5 的时候,K 点数目小于 3 则程序会罢工;
  • K 点少,半导体或者绝缘体,那么只能用 ISMEAR = 0;
  • 在 DOS 能带计算中,使用 ISMEAR= -5 用于获取精确的信息。
  • 对于金属来说,ISMEAR 的取值一般为 0,1;
  • 保守地说,ISMEAR = 0 (Gaussian Smearing) 可以满足大部分的体系(金属,导体,半导体,分子);
  • 如果不知道怎么取 ISMEAR,1)直接用 0;2)测试不同的值对计算的影响。

SIGMA

SIGMA 的取值和 ISMEAR 息息相关,也就是和 ISMEAR 这个参数同时出现,设定。下面是一些基本的介绍:

  • 如果用了 ISMEAR = -5; SIGMA 的值可以忽略,也可以不管。(对于所有体系都适用);

  • 对于金属: ISMEAR = 1 或者 0,非金属: ISMEAR= 0 的时候,一般取 SIGMA = 0.10 即可,默认值是 0.20。不放心的话,用 0.05。

  • 对于气体分子,原子体系(也就是你把分子或者原子放到一个 box 里面):死死记住下面组合就可以了, ISMEAR = 0; SIGMA = 0.01。

  • 设置一个较小的 SIGMA 值会使收敛变慢。

  • 半导体和绝缘体:

    1) K 点小于 4 的时候,用 ISMEAR=0, SIGMA 取值小一些;比如 SIGMA=0.05; 此时用 ISMEAR = -5 会出错;

    2)K 点数目大于 4 的时候,可以使用 ISMEAR= -5

不过很多人都不放心,为了保险想测试一番。标准是: SIGMA 的取值要保证 OUTCAR 中的 entropy T*S 这一项,平均到每个原子上,要小于 1-2 meV。检查的时候可以用这个命令:

grep 'entropy T'  OUTCAR

**注意 1:**这里有两个单引号,不要输入的时候漏掉。

用这个命令,得出的能量除以体系中原子的数目(也就是平均到每个原子上),然后再和 0.001 eV 比较。如果小于,SIGMA 取值 OK,如果大于,再换个小点的数值进行测试。

**注意 2:**这里的说的 entropy,是因为 ISMEAR 展宽这个计算方法引入的,跟我们物理化学书里面的 entropy 完全是两码事。后面我们会介绍如何通过频率分析计算物理化学里面的 Entropy。

摘抄自大师兄网站:https://www.bigbrosci.com/2017/10/15/ex1_02_vasp_preparation_input_incar/open in new window

DFT+U

vasp-DFT-plus-U