简单VASP计算INCAR设置(结构优化OPT、静态自洽SCF、能带BAND、态密度DOS)

OPT部分INCAR设置

  • 常用参数
  • 一、例一
  • 二、参数分组讲解
    • 1、启动设置参数
      • [1.1 `SYSTEM = OPT`](#1.1 SYSTEM = OPT)
      • [1.2 `ISTART:是否读取旧波函数`](#1.2 ISTART:是否读取旧波函数)
      • [1.3 `ICHARG:初始电荷密度来源及是否固定`](#1.3 ICHARG:初始电荷密度来源及是否固定)
    • 2、计算精度
      • [2.1 `ENCUT:平面波截断能`](#2.1 ENCUT:平面波截断能)
      • [2.2 `PREC:FFT 网格和内部精度模式`](#2.2 PREC:FFT 网格和内部精度模式)
      • [2.3 `LREAL:PAW 投影算符的处理空间`](#2.3 LREAL:PAW 投影算符的处理空间)
      • [2.4 `LASPH:PAW 球内非球形贡献`](#2.4 LASPH:PAW 球内非球形贡献)
      • [2.5` ADDGRID:附加积分支持网格`](#2.5 ADDGRID:附加积分支持网格)
    • [3. 电子自洽设置](#3. 电子自洽设置)
      • [3.1 `ALGO:电子波函数迭代算法`](#3.1 ALGO:电子波函数迭代算法)
      • [3.2 `EDIFF:电子自洽停止阈值`](#3.2 EDIFF:电子自洽停止阈值)
      • [3.3 `NELM:每个离子步的最大电子步数`](#3.3 NELM:每个离子步的最大电子步数)
      • [3.4 `NELMIN:每个离子步的最少电子步数`](#3.4 NELMIN:每个离子步的最少电子步数)
    • [4. 电子占据](#4. 电子占据)
      • [4.1 `ISPIN:是否进行自旋极化`](#4.1 ISPIN:是否进行自旋极化)
        • 可取值
        • [ISPIN = 1](#ISPIN = 1)
        • [ISPIN = 2](#ISPIN = 2)
      • [4.2 `ISMEAR:电子占据和布里渊区积分方式`](#4.2 ISMEAR:电子占据和布里渊区积分方式)
      • [4.3 `SIGMA:展宽宽度`](#4.3 SIGMA:展宽宽度)
    • [5. 离子与晶胞优化](#5. 离子与晶胞优化)
      • [5.1 `IBRION:离子更新、MD、声子或过渡态方法`](#5.1 IBRION:离子更新、MD、声子或过渡态方法)
        • 主要合法取值
        • [IBRION = -1](#IBRION = -1)
        • [IBRION = 1](#IBRION = 1)
        • [IBRION = 2](#IBRION = 2)
        • [IBRION = 3](#IBRION = 3)
        • [IBRION = 5、6、7、8](#IBRION = 5、6、7、8)
      • [5.2 `NSW:最大离子步数`](#5.2 NSW:最大离子步数)
      • [5.3 `ISIF:应力和结构自由度`](#5.3 ISIF:应力和结构自由度)
        • [ISIF = 0~8 完整对照](#ISIF = 0~8 完整对照)
        • [Selective dynamics 与 ISIF](#Selective dynamics 与 ISIF)
        • [ISIF ≥ 3 的精度要求](#ISIF ≥ 3 的精度要求)
      • [5.4 `POTIM:结构步长、MD 时间步或声子位移`](#5.4 POTIM:结构步长、MD 时间步或声子位移)
      • [5.5 `EDIFFG:离子优化停止条件`](#5.5 EDIFFG:离子优化停止条件)
    • [6. 文件输出](#6. 文件输出)
      • [6.1 `LWAVE:是否输出波函数`](#6.1 LWAVE:是否输出波函数)
      • [6.2 `LCHARG:是否输出电荷密度`](#6.2 LCHARG:是否输出电荷密度)
  • [三、 根据体系选择基础 OPT 设置](#三、 根据体系选择基础 OPT 设置)
    • [1 非磁性半导体或绝缘体三维体相](#1 非磁性半导体或绝缘体三维体相)
    • [2 明确的金属三维体相](#2 明确的金属三维体相)
    • [3 磁性材料](#3 磁性材料)
    • [4 表面或二维材料](#4 表面或二维材料)
    • [5 分子或团簇](#5 分子或团簇)
    • [6 大超胞](#6 大超胞)
  • [四、 同一体系连续计算时,哪些参数不能随意改?](#四、 同一体系连续计算时,哪些参数不能随意改?)
    • [1 OPT → SCF → BAND → DOS 中应一致的物理模型](#1 OPT → SCF → BAND → DOS 中应一致的物理模型)
    • [2 可以随阶段改变的参数](#2 可以随阶段改变的参数)
    • [3 可以采用分层理论,但必须说明](#3 可以采用分层理论,但必须说明)
  • [五、 计算前后检查清单](#五、 计算前后检查清单)
  • [六、 例二](#六、 例二)

常用参数

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

一、例一

下面这套基础模板默认计算对象是:

  • 新建计算,而不是从旧任务继续;
  • 常规三维周期性体相材料;
  • 非磁性体系;
  • 半导体或绝缘体;
  • 同时优化原子位置、晶胞形状和晶胞体积;
  • 使用普通的半局域密度泛函进行优化。

如果研究的是金属、磁性材料、表面、二维材料、分子、缺陷、DFT+U、杂化泛函或强自旋轨道耦合体系,部分参数必须调整。


ini 复制代码
# ==================== 启动设置 ====================

SYSTEM = OPT       # 计算名称,便于区分材料和计算阶段
ISTART = 0                  # 不读取旧WAVECAR,从头开始计算
ICHARG = 2                  # 用各原子的初始电荷叠加生成起始电荷密度


# ==================== 计算精度 ====================

ENCUT  = 500                # 平面波截断能;500只是示例,应根据POTCAR和收敛测试确定
PREC   = Accurate           # 使用较密的数值网格,适合正式结构优化
LREAL  = .FALSE.            # 使用精度较高的倒空间投影方式
LASPH  = .TRUE.             # 考虑PAW球内非球形电荷贡献,提高能量和受力精度
ADDGRID = .TRUE.            # 使用辅助网格,通常有助于降低受力的数值噪声


# ==================== 电子自洽 ====================

ALGO   = Normal             # 使用稳定性较好的电子求解算法
EDIFF  = 1E-6               # 每个离子步中电子自洽的收敛标准
NELM   = 100                # 每个离子步允许的最大电子迭代次数
NELMIN = 4                  # 每个离子步至少进行4次电子迭代


# ==================== 电子占据 ====================

ISPIN  = 1                  # 按非磁性体系计算
ISMEAR = 0                  # 使用较通用的Gaussian展宽,适合半导体和绝缘体OPT
SIGMA  = 0.05               # 展宽宽度为0.05 eV


# ==================== 离子与晶胞优化 ====================

IBRION = 2                  # 使用稳定性较好的共轭梯度方法移动原子
NSW    = 100                # 最多进行100个离子优化步
ISIF   = 3                  # 同时优化原子位置、晶胞形状和晶胞体积
POTIM  = 0.3                # 控制每次原子移动的步长尺度
EDIFFG = -0.02              # 所有活动原子受力小于0.02 eV/Å时停止优化


# ==================== 文件输出 ====================

LWAVE  = .TRUE.             # 保存WAVECAR,方便中断后继续计算
LCHARG = .TRUE.             # 保存CHGCAR,方便续算或检查电荷密度

二、参数分组讲解

1、启动设置参数

1.1 SYSTEM = OPT

SYSTEM 是计算任务的名称或备注。

它主要出现在 OUTCAR 等输出文件中,方便区分不同材料、不同结构以及不同计算阶段。该参数不参与物理计算,因此不会改变总能量、受力、应力或最终结构。

建议采用能看出"材料名称 + 计算阶段"的命名方式,例如:

ini 复制代码
SYSTEM = Si_OPT
SYSTEM = CaCO3_OPT
SYSTEM = Bi2Te3_OPT

1.2 ISTART:是否读取旧波函数

  • 新计算一般:ISTART = 0
  • ISTART 决定是否读取 WAVECAR,以及读取后如何处理平面波基组
  • 当前目录存在 WAVECAR 时,VASP 通常默认 ISTART = 1;
  • 没有 WAVECAR 时,默认 ISTART = 0。
ISTART 含义 什么时候使用
0 不读取 WAVECAR,从头初始化波函数 新计算;WAVECAR 不可靠;赝势、K 点或计算类型变化较大
1 读取 WAVECAR,但按照当前晶胞和当前 ENCUT 重新定义平面波集合,即保持"截断能规则" 普通续算;改变 ENCUT;不同固定体积点的能量计算
2 读取 WAVECAR,并保持旧 WAVECAR 中的平面波基组 对同一个可变晶胞优化进行一致续算;明确需要固定旧基组时
3 在 ISTART = 2 基础上,还读取 TMPCAR 中前两步信息进行轨道和电荷预测 被迫把分子动力学拆成很短任务时;普通 OPT 不用

1.3 ICHARG:初始电荷密度来源及是否固定

  • 新计算一般:ICHARG = 2
  • ICHARG 决定初始电荷密度怎样构造,还决定整个计算中电荷密度是否保持不变。
  • ISTART = 0 时,通常默认 ICHARG = 2;
  • 其他情况下通常默认 ICHARG = 0。
主要可取值
ICHARG 含义 典型用途
0 由初始波函数计算初始电荷密度 已可靠读取 WAVECAR 的普通续算
1 从 CHGCAR 读取电荷密度,并针对新原子位置作外推 输入小幅变化、续算、提高收敛速度
2 叠加各原子的电荷密度作为初始密度 全新 SCF 或 OPT
4 从 POT 文件读取局域势 OEP 等特殊方法,不用于普通 OPT
5 外部程序在每个电子步更新占据和电荷密度 DFT+DMFT 等外部耦合流程
10 由初始波函数得到密度后固定,不再更新 特殊非自洽模式
11 从 CHGCAR 读取电荷密度并固定 标准 BAND、某些 DOS 和固定密度计算
12 用原子电荷叠加得到密度并固定 Harris-Foulkes 类非自洽近似

2、计算精度

2.1 ENCUT:平面波截断能

  • ENCUT 不是 400、500、520 等几个离散选项,而是连续数值。
  • 数值越高,平面波基组通常越大,计算越慢,但能量、受力和应力一般更接近收敛结果。
  • 正式计算一般1.1~1.3 × max(ENMAX)
参数类型
项目 内容
类型 正实数
单位 eV
默认值 POTCAR 中所有元素 ENMAX 的最大值

2.2 PREC:FFT 网格和内部精度模式

  • VASP 4.x:默认 Medium;
  • VASP 5.x 及以后:默认 Normal。
可取值
PREC 含义 是否推荐及使用场景
Normal 常规精度网格;VASP 5 以后默认值 大多数常规计算、预优化;正式计算也可在验证后使用
Accurate 更密的 FFT 网格,减小 egg-box 和混叠误差 正式 OPT、精确受力、应力、声子和二阶导数
Single 不使用常规双网格,降低内存和输出文件体积 真空区电荷密度或 STM 等特殊场景;不是一般 OPT 首选
SingleN VASP 6 提供的特殊单网格模式 特殊内存或网格需求,普通 OPT 很少使用
Low 旧兼容模式,精度低 已弃用,不建议
Medium VASP 4 时代默认模式 已弃用,不建议
High 旧高精度模式,主要通过提高默认 ENCUT 等实现 已弃用,不建议

2.3 LREAL:PAW 投影算符的处理空间

  • 原子数不太多;
  • 正式结构优化;
  • 吸附能、缺陷能、相对能量等精细比较;
  • 希望避免实空间投影近似。
    - 上述用.FALSE. -
  • 官方建议原子数超过约 30 时考虑实空间投影,并且只推荐 Auto 模式。"30 个原子"只是经验分界
    - 上述用AUTO -
  • 默认值是 LREAL = .FALSE.
可取值
LREAL 含义 使用建议
.FALSE. 在倒空间计算投影 精度优先;小中型体系;精确能量差和受力
Auto 或 A 在实空间投影,并自动优化投影算符 大体系提速;推荐的实空间模式
On 或 O 在实空间投影,采用旧的现场优化方案 不推荐,主要用于旧输入兼容
.TRUE. 直接使用 POTCAR 中的实空间投影算符 可能不准确,不推荐

2.4 LASPH:PAW 球内非球形贡献

可取值
  • 对 3d 过渡金属、f 元素、磁性原子、DFT+U、杂化泛函、meta-GGA 和 vdW-DF 类泛函,LASPH = .TRUE. 对准确总能量、能带和磁性尤其重要。
  • 对比两个结构或不同计算阶段时应保持一致,否则能量差可能混入方法设置差异。
LASPH 含义 使用场景
.FALSE. 不加入梯度修正中的非球形贡献;默认值 简单体系可作为低成本设置,正式计算需谨慎
.TRUE. 加入 PAW 球内非球形梯度修正 d/f 电子、磁性、DFT+U、meta-GGA、杂化泛函、vdW-DF

2.5 ADDGRID:附加积分支持网格

  • 默认关
可取值
ADDGRID 含义 使用建议
.FALSE. 不使用额外支持网格;默认值 普通计算的默认选择
.TRUE. 使用更密的附加网格处理 augmentation charge 受力噪声明显、测试确认确有改善时

ADDGRID = .TRUE. 可能降低受力数值噪声,让接近收敛阈值的力更平滑。

但附加网格涉及 Fourier 插值,某些体系可能出现 termination wiggles。它不一定改善所有计算。


3. 电子自洽设置

3.1 ALGO:电子波函数迭代算法

  • Normal多

  • 默认:ALGO = Normal

  • ALGO 还有 GW、BSE、RPA 等多体计算取值。本文列出与基态、OPT、SCF 和普通后处理相关的取值。

基态和后处理常用取值
ALGO 算法或行为 什么时候使用
Normal blocked Davidson;默认值 多数体系的稳健首选,正式 OPT/SCF
Fast 先 Davidson,再 RMM-DIIS 易收敛体系、较大体系、预优化;较快但稳健性较低
VeryFast 主要使用 RMM-DIIS 很大且已有良好初始波函数的体系;最不稳健,不支持杂化泛函
Old Fast VASP 5 版本的 Fast 行为 复现旧计算
Old VeryFast VASP 5 版本的 VeryFast 行为 复现旧计算
All 或 Conjugate 全能带共轭梯度直接优化 磁性、DFT+U、meta-GGA、杂化泛函或 Normal 失败
Damped 轨道阻尼动力学 某些金属、小带隙、杂化或 meta-GGA 难收敛任务;需调 TIME
Exact 完全对角化 大量空带、GW/RPA 前处理或测试;代价高
Subrot 在当前子空间内旋转对角化 特殊用途,普通 OPT 很少使用
Eigenval 固定已有轨道,重新计算本征值 基于 WAVECAR 的后处理
None 或 Nothing 不更新轨道,只重新处理占据和输出 基于已有轨道重新生成 DOS/投影

3.2 EDIFF:电子自洽停止阈值

  • 默认:EDIFF = 1E-4。
  • 当相邻电子步的总自由能变化和能带能量变化都小于 EDIFF 时,电子自洽停止
项目 内容
类型 非负实数
单位 eV
默认值 1E-4
正式计算常用值 1E-6
常用取值
EDIFF 常见用途 评价
1E-4 默认值、粗略预计算 对正式 OPT 的受力可能偏松
1E-5 一般预优化 比默认可靠,精细受力仍需检查
1E-6 正式 OPT、SCF 官方推荐的常用折中
1E-7 声子、有限差分、精细受力 成本更高,部分大体系难达到
1E-8 或更小 极高数值要求 并非越小越好,meta-GGA 或大体系可能难达到
0 不按能量阈值提前停止,执行 NELM 步 调试或特殊任务

3.3 NELM:每个离子步的最大电子步数

  • 默认值:60,须为正整数。
NELM 使用场景
40~60 多数易收敛体系
80~120 稍难收敛体系;100 是常见设置
更高 只有确认电子迭代缓慢但稳定下降时
1 配合 ALGO = None 等特殊后处理

3.4 NELMIN:每个离子步的最少电子步数

  • 默认值:60,须为正整数,结构优化常用4 ~ 8。
  • 原子变化后电荷密度需要重新适应。过早停止会使力的历史信息不稳定,尤其影响 IBRION = 1。但 NELMIN 也不是越高越好。
NELMIN 什么时候使用
2 默认值;普通易收敛体系
4 简单体相 OPT;基础模板常用
6~8 复杂表面、MD、电荷调整较慢的体系
更高 很少需要,会强制增加成本

4. 电子占据

4.1 ISPIN:是否进行自旋极化

  • 默认值是 ISPIN = 1。
可取值
ISPIN 含义 使用场景
1 非自旋极化;上下自旋共用同一电荷密度 已确认非磁性的体系
2 共线自旋极化;上下自旋分别处理 磁性材料、自由基、磁性缺陷及可能有未配对电子的体系
ISPIN = 1

适用于 Si 等明确非磁性半导体、闭壳层离子化合物,以及已通过实验或自旋极化测试确认无磁性的体系。

ISPIN = 1 不是让 VASP 自动判断有没有磁性,而是强制体系不能形成自旋极化解。

ISPIN = 2

适用于:

  • Fe、Co、Ni、Mn、Cr 等过渡金属体系;
  • 稀土体系;
  • 磁性氧化物;
  • 自由基;
  • 空位、边缘、吸附原子等可能产生局域磁矩的体系。

通常还必须设置磁矩

ini 复制代码
ISPIN  = 2
MAGMOM = ...

反铁磁材料需要用正负初始磁矩构造不同磁序并分别比较。

使用 LNONCOLLINEAR = .TRUE. 时,ISPIN 会被忽略。非共线磁性和 SOC 需要另一套输入。


4.2 ISMEAR:电子占据和布里渊区积分方式

  • ISMEAR = -14 和 -15 属于较新选项,使用前确认 VASP 版本。
主要取值
ISMEAR 方法 什么时候使用
大于 0 对应阶数的 Methfessel-Paxton 展宽 金属 OPT;常用 1 或 2
0 Gaussian 展宽 半导体、绝缘体、金属性未知体系
-1 Fermi-Dirac 展宽 需要电子温度物理含义时
-2 从 WAVECAR 或 FERWE/FERDO 读取并固定占据 约束电子态等特殊任务
-3 按 SMEARINGS 循环测试多种展宽 展宽测试;不能与普通 OPT 同时使用
-4 不带 Blöchl 修正的四面体法 静态积分;通常不如 -5 常用
-5 带 Blöchl 修正的四面体法 精确静态总能、DOS;均匀且足够密的 Γ 中心 K 网格
-14 带 Fermi-Dirac 展宽的四面体法 需要温度占据与四面体插值的特殊计算
-15 带 Blöchl 修正及 Fermi-Dirac 展宽的四面体法 精确占据、输运等新版特殊任务
不同任务的快速选择
任务 推荐起点
不知道材料是否金属 ISMEAR = 0,SIGMA = 0.03~0.10
半导体/绝缘体 OPT ISMEAR = 0,SIGMA ≈ 0.05
明确金属 OPT ISMEAR = 1 或 2;SIGMA 按 entropy T*S 测试
半导体/绝缘体高精度静态能SCF ISMEAR = -5,密集 Γ 中心网格
DOS ISMEAR = -5,密集均匀 K 网格
BAND 线性路径 通常 ICHARG = 11;不要用线性 K 路径做四面体积分

4.3 SIGMA:展宽宽度

  • SIGMA 太大会产生过多部分占据、模糊带隙并改变自由能、受力和应力。
  • SIGMA 太小会使金属 SCF 变慢、占据跳变,并对 K 点更加敏感。
项目 内容
类型 实数
单位 eV
默认值 0.2 eV
是否总生效 ISMEAR = -4、-5 时不作为普通展宽宽度使用

SIGMA 的合理值取决于 ISMEAR,不能单独选择。

ISMEAR 和体系 SIGMA 常见起点 判断标准
ISMEAR = 0,半导体/绝缘体 0.03~0.10 eV 力、应力和总能对 SIGMA 收敛
ISMEAR = 0,金属性未知 0.05~0.10 eV 先保证稳健,再判断体系类型
ISMEAR = 1/2,金属 OPT 0.10~0.20 eV entropy T*S 小于约 1 meV/atom
ISMEAR = -1 SIGMA = kBT 根据目标电子温度

5. 离子与晶胞优化

5.1 IBRION:离子更新、MD、声子或过渡态方法

IBRION 的取值不都属于结构优化,其中还包括 MD、声子和过渡态方法。

主要合法取值
IBRION 功能 什么时候使用
-1 不更新原子或晶胞 静态 SCF、BAND、DOS;配合 NSW = 0
0 分子动力学 AIMD;POTIM 是时间步,单位 fs
1 RMM-DIIS 离子优化 自由度较多且 已接近极小值
2 共轭梯度优化 普通 OPT 的稳健默认选择
3 阻尼分子动力学优化 初始结构较差、离极小值较远时
5 有限差分声子,不利用对称性 当前不推荐;需不用对称性时才考虑
6 有限差分声子,利用对称性 常用有限位移 Γ 点声子
7 DFPT 声子,不利用对称性 当前不推荐
8 DFPT 声子,利用对称性 线性响应声子
11 从标准输入交互提供结构 特殊交互工作流
12 通过 Python 插件修改结构 自定义程序耦合
40 IRC 计算 从过渡态沿内禀反应坐标跟踪
44 改进 dimer method 搜索过渡态
IBRION = -1

不更新结构。常用:

ini 复制代码
IBRION = -1
NSW    = 0

不要写 IBRION = -1、NSW > 0,否则可能重复计算同一结构。

IBRION = 1

使用历史结构和力近似 Hessian,接近极小值时很快。

适合已经用 IBRION = 2 预优化、力较小、自由度较多的结构。初始结构很差、受力噪声大或电子自洽不稳时不适合。

通常需要可靠的力,并可配合 NELMIN = 4~8。

IBRION = 2

共轭梯度法,稳健,对 POTIM 不如 IBRION = 1/3 敏感,适合大多数普通 OPT。接近最低点时可能比 IBRION = 1 慢。

IBRION = 3

通过带阻尼的离子动力学逐渐降低力。

适合初始结构离最低点较远、结构大幅移动或 IBRION = 1 失败时。可先用 3 预优化,再切换 2 或 1。需要合理设置 POTIM 和 SMASS。

IBRION = 5、6、7、8

这些是声子计算:

  • 5/6:有限差分;
  • 7/8:DFPT;
  • 6/8:利用对称性,通常显著降低计算量;
  • 5/7:当前官方建议优先改用 6/8。

声子还需更严格 EDIFF、合理 NFREE、POTIM、超胞和 K 点。


5.2 NSW:最大离子步数

  • 静态计算一般为 0。
  • 默认值是 NSW = 0。
NSW 使用场景
0 SCF、BAND、DOS、单点能
20~60 已接近稳定结构的精修
80~200 普通结构优化
更大 大尺度重构或 MD;应分段检查

5.3 ISIF:应力和结构自由度

ISIF = 0~8 完整对照
ISIF 原子受力 应力 优化原子 晶胞形状 晶胞体积 典型用途
0 固定晶胞 OPT,不需要应力;MD 或特殊昂贵方法
1 仅迹/总压力 固定晶胞 OPT,只关心总压力
2 完整 固定晶胞 OPT,同时检查完整应力
3 完整 三维体相全优化
4 完整 优化原子和晶胞形状,保持体积
5 完整 固定原子,只改变晶胞形状且保持体积
6 完整 固定原子,完全优化晶胞
7 完整 固定原子和形状,只等比例改变体积
8 完整 优化原子并只改变体积;VASP 6.4.1 起
Selective dynamics 与 ISIF
  • ISIF 控制总体自由度;
  • POSCAR 的 Selective dynamics 控制具体原子和方向。

它不能自动实现"只优化二维材料面内晶格而固定真空"的全部晶格约束。新版可结合 LATTICE_CONSTRAINTS,旧版常需分阶段或外部脚本。

ISIF ≥ 3 的精度要求
  • 更充足的 ENCUT;
  • PREC = Accurate;
  • 收敛的 K 点;
  • 最终检查应力;
  • 不能只依赖 EDIFFG。

5.4 POTIM:结构步长、MD 时间步或声子位移

  • POTIM 是实数,单位和意义取决于 IBRION。
IBRION POTIM 的含义 默认或常用起点
0 MD 时间步,单位 fs 必须设置;依最轻元素和温度
1 RMM-DIIS 结构更新尺度 默认 0.5;较敏感
2 共轭梯度试探步尺度 默认 0.5;0.3~0.5 常用起点
3 阻尼动力学更新尺度 默认 0.5;与 SMASS 一起调
5、6 有限差分声子位移,单位 Å VASP 5.1 起默认约 0.015 Å

POTIM = 0.3 不是每步固定移动 0.3 Å。在 IBRION = 1、2、3 中,它只是内部缩放因子。

对 IBRION = 2,0.3 是较保守起点,0.5 是默认值。输出中的 trialstep 可用于估计:

text 复制代码
建议的新 POTIM ≈ 当前 POTIM × trialstep

POTIM 太大会造成能量和力振荡、越过最低点、晶胞突变或异常短键;太小会让优化非常慢。

初始结构差、轻原子受力大、吸附物移动剧烈或晶胞振荡时可减小。


5.5 EDIFFG:离子优化停止条件

  • EDIFFG 是实数,正、负、零含义不同。
  • 默认是 EDIFFG = 10 × EDIFF,通常为正。
  • 正式 OPT 一般主动设为负值。正值较少用于正式 OPT,因为能量变化小不一定代表所有原子受力小。
  • ISIF = 3 时还要检查应力张量、外部压力、晶格常数和体积变化。
EDIFFG 停止条件 使用建议
正数 相邻两个离子步总能量变化小于 EDIFFG,单位 eV 可用,但不如受力阈值直观
负数 所有原子受力范数小于绝对值,单位 eV/Å OPT 最常用
0 不提前停止,执行到 NSW 特殊测试
常见负值
EDIFFG 受力要求 常见用途
-0.05 0.05 eV/Å 粗略预优化
-0.03 0.03 eV/Å 一般预优化
-0.02 0.02 eV/Å 常规正式 OPT
-0.01 0.01 eV/Å 精细结构、吸附、缺陷、能垒
-0.005 或更严 0.005 eV/Å 高精度任务;数值噪声必须更小

这些不是强制标准,应根据研究性质确定。


6. 文件输出

6.1 LWAVE:是否输出波函数

  • 默认值是 .TRUE.;
  • LH5 = .FALSE. 时通常输出 WAVECAR;
  • LH5 = .TRUE. 时写入 vaspwave.h5;
  • LWAVE 不影响本次能量、受力和结构,只控制输出。
LWAVE 含义 什么时候使用
.TRUE. 输出波函数 续算、后续静态或波函数后处理
.FALSE. 不输出波函数 不需要续算,节省磁盘和 I/O

WAVECAR 不能盲目跨任务复用。改变 K 点、NBANDS、晶胞、ENCUT、POTCAR、自旋或 SOC 后要检查兼容性。

标准 BAND 改用线性 K 路径后,OPT/SCF 的 WAVECAR 通常不能按原 K 点直接复用。当前常用流程是 CHGCAR + ICHARG = 11。


6.2 LCHARG:是否输出电荷密度

  • 默认值通常是 .TRUE.;
  • 常规模式输出 CHGCAR 和 CHG;
  • LH5 = .TRUE. 时电荷密度可能写入 vaspwave.h5;
  • CHGCAR 可用于 ICHARG = 1 续算、ICHARG = 11 的 BAND/DOS、电荷密度差和 Bader 分析。
LCHARG 含义 什么时候使用
.TRUE. 输出电荷密度 续算、BAND、DOS、电荷分析
.FALSE. 不输出电荷密度 不需要后续读取,节省磁盘

三、 根据体系选择基础 OPT 设置

1 非磁性半导体或绝缘体三维体相

ini 复制代码
ISPIN  = 1
ISMEAR = 0
SIGMA  = 0.05

IBRION = 2
ISIF   = 3
EDIFFG = -0.02

前提是已确认非磁性,并且 ENCUT、K 点和晶胞优化精度已收敛。

2 明确的金属三维体相

ini 复制代码
ISPIN  = 1                 # 若可能磁性则改为 2
ISMEAR = 1
SIGMA  = 0.15               # 示例值;需根据 entropy T*S 测试

IBRION = 2
ISIF   = 3

检查 entropy T*S,并测试 SIGMA 和 K 点。

3 磁性材料

ini 复制代码
ISPIN  = 2
MAGMOM = ...
LASPH  = .TRUE.

还要构造不同磁序,比较最终能量和磁矩,必要时使用 DFT+U,并检查 ALGO。

4 表面或二维材料

ini 复制代码
IBRION = 2
ISIF   = 2

通常固定含真空的晶胞,只优化原子。只优化面内晶格时需要晶格约束或分阶段流程。

5 分子或团簇

ini 复制代码
IBRION = 2
ISIF   = 2

真空盒尺寸是人为隔离距离,不是平衡晶格,因此一般不用 ISIF = 3。

6 大超胞

可以测试:

ini 复制代码
LREAL = Auto
ALGO  = Fast

但应和 LREAL = .FALSE.、ALGO = Normal 比较。正式静态能量最好统一用同一高精度设置。


四、 同一体系连续计算时,哪些参数不能随意改?

"不能修改"不是程序禁止修改,而是修改后会改变理论模型、数值精度或能量参考,使结果不能直接比较。

1 OPT → SCF → BAND → DOS 中应一致的物理模型

参数或文件 是否应一致 原因
POTCAR 类型和版本 必须一致 改变赝势就改变哈密顿量和价电子定义
元素顺序 必须一致 POSCAR、POTCAR、MAGMOM、LDAU 按顺序对应
交换关联泛函 必须一致 PBE、SCAN、HSE 是不同理论模型
DFT+U 参数 必须一致 U、J 改变结构、能带、磁矩和总能量
自旋设置和磁序 原则上一致 改变电子基态
SOC/非共线设置 原则上一致 改变能级和波函数
vdW 修正 必须一致 改变能量、层间作用和结构
ENCUT 对比任务应一致 避免不同基组误差
LASPH 应一致 改变 PAW 球内势和能量

2 可以随阶段改变的参数

参数 为什么可以改 典型变化
NSW、IBRION、EDIFFG 控制是否移动原子和停止条件 OPT 有离子步;SCF/BAND/DOS 设 NSW = 0
ISIF 不同阶段是否允许晶胞变化 OPT 用 2/3;静态不优化
KPOINTS 不同阶段采样目的不同 OPT 适中;SCF/DOS 更密;BAND 走高对称路径
ISMEAR、SIGMA 优化稳定性和最终积分需求不同 OPT 用展宽;DOS/静态常用 -5
LORBIT、NEDOS 只影响投影和 DOS 输出 DOS 阶段打开
LWAVE、LCHARG 只控制输出 按续算和后处理需要调整
ISTART、ICHARG 阶段需要从头、自洽或固定密度 新 OPT 用 0/2;BAND 用 ICHARG = 11

3 可以采用分层理论,但必须说明

例如先 PBE 优化,再 HSE 做单点能或能带是允许的,但必须说明:

  • 结构来自 PBE;
  • 电子性质由 HSE 计算;
  • 不能描述成全程 HSE 优化。

五、 计算前后检查清单

计算前

  • POSCAR 是否有异常短键;
  • POTCAR 顺序是否与 POSCAR 一致;
  • ENCUT 和 K 点是否收敛;
  • 是否可能有磁性;
  • 金属和绝缘体是否选对 ISMEAR;
  • 二维、表面或分子是否错误使用 ISIF = 3;
  • 是否需要 DFT+U、SOC、vdW 或杂化泛函;
  • WAVECAR 和 CHGCAR 是否兼容。

计算中

  • 每个离子步是否达到 EDIFF;
  • 是否反复达到 NELM;
  • 能量和力是否振荡;
  • 晶胞是否异常突变;
  • 磁矩是否跳变;
  • 是否频繁出现 ZBRENT;
  • 原子是否形成异常短键。

计算结束后

  • 是满足 EDIFFG,还是只达到 NSW;
  • 最大原子受力是否满足要求;
  • ISIF = 3 时最终应力是否足够小;
  • 晶格常数、体积和键长是否合理;
  • 是否落入不合理局部极小值;
  • 是否需要最终静态 SCF;
  • 后续 BAND、DOS 是否保持同一物理模型。

六、 例二

ini 复制代码
# ============================================================
#                         1. 启动设置
# ============================================================

SYSTEM = material_OPT       # 计算名称,建议写明材料、泛函和计算类型

ISTART = 0                  # 全新OPT:不读取旧WAVECAR
ICHARG = 2                  # 全新OPT:由原子电荷叠加生成初始电荷密度

# ISTART = 1                # 普通续算时使用:读取已有WAVECAR
# ICHARG = 1                # 普通续算时使用:读取已有CHGCAR
# ISTART = 2                # 严格接续同一次变晶胞优化时可以考虑
# INIWAV = 1                # 从头计算时随机初始化波函数;通常保持默认即可


# ============================================================
#                    2. 平面波与总体精度
# ============================================================

ENCUT   = 500               # 平面波截断能;必须依据POTCAR和收敛测试确定
PREC    = Accurate          # 使用较高精度FFT网格,正式OPT一般推荐
LREAL   = .FALSE.           # 使用倒空间投影,适合精确受力和能量比较
LASPH   = .TRUE.            # 考虑PAW球内非球形贡献,d/f电子及DFT+U尤其重要
ADDGRID = .TRUE.            # 增加辅助网格,通常可降低受力噪声

# LREAL = Auto              # 数百原子大超胞可测试使用,以降低计算量
# GGA = PE                  # 明确指定PBE泛函时使用;应与整体计算方法一致


# ============================================================
#                       3. 电子自洽
# ============================================================

ALGO   = Normal             # 稳定性较好的电子求解算法,正式OPT常用
EDIFF  = 1E-6               # 每个离子步内的电子自洽收敛标准
NELM   = 100                # 每个离子步最多进行100次电子迭代
NELMIN = 4                  # 每个离子步至少进行4次电子迭代

# NELMDL = -5               # 特殊情况下先固定电荷优化波函数;普通计算不需要
# ALGO = Fast               # 电子容易收敛时可用于加速预优化
# ALGO = All                # Normal难收敛的磁性或复杂体系可尝试
# ALGO = Damped             # HSE等杂化泛函常用;需替换上面的Normal
# TIME = 0.4                # 配合ALGO=Damped使用的阻尼步长


# ============================================================
#                    4. 电子占据与展宽
# ============================================================

ISMEAR = 0                  # 通用OPT设置,适合半导体、绝缘体和金属性未知体系
SIGMA  = 0.05               # Gaussian展宽宽度,单位eV

# ISMEAR = 1                # 金属OPT时替换上面的ISMEAR=0
# SIGMA  = 0.15             # 金属常用展宽起点,一般测试0.10~0.20 eV

# ISMEAR = -1               # 需要Fermi-Dirac占据时使用,普通OPT较少采用
# SIGMA  = 0.05             # 与Fermi-Dirac占据配合的电子温度参数

# 不建议把ISMEAR=-5作为所有结构优化的通用设置
# ISMEAR=-5更适合最终静态能量和DOS计算


# ============================================================
#                    5. 离子与晶胞优化
# ============================================================

IBRION = 2                  # 使用共轭梯度法移动原子,普通OPT的稳妥选择
NSW    = 150                # 最多进行150个离子步
ISIF   = 3                  # 三维体相:优化原子、晶胞形状和晶胞体积
POTIM  = 0.3                # 原子移动步长尺度
EDIFFG = -0.02              # 最大残余力小于0.02 eV/Å时停止
PSTRESS = 0                 # 不额外施加外部压力

# ISIF = 2                  # slab、分子、含真空层体系或固定晶格时使用
# ISIF = 4                  # 固定晶胞体积,优化原子和晶胞形状
# ISIF = 6                  # 固定原子,只优化晶胞形状和体积
# ISIF = 7                  # 固定原子和晶胞形状,只改变体积

# IBRION = 1                # 已接近稳定结构时可用于加快最后阶段优化
# IBRION = 3                # 初始结构较差或优化剧烈振荡时可尝试
# POTIM  = 0.1              # 原子移动过大或优化振荡时减小步长
# EDIFFG = -0.05            # 预优化可采用相对宽松的受力标准
# EDIFFG = -0.01            # 精细优化可采用更严格的受力标准

# PSTRESS = 100             # 施加10 GPa外部压力时使用;1 GPa约等于10 kB


# ============================================================
#                      6. 磁性设置
# ============================================================

ISPIN = 1                   # 普通非磁性体系使用

# ISPIN  = 2                # Fe、Co、Ni、Mn、Cr、自由基和磁性缺陷等使用
# MAGMOM = ...              # 按POSCAR原子顺序设置每个原子的初始磁矩
# NUPDOWN = ...             # 固定总自旋差;只在研究特定自旋态时使用

# 示例:
# MAGMOM = 4*3.0 4*2.0 4*1.0 4*0.0
# 前4个原子初始磁矩3.0,接下来分别为2.0、1.0和0.0


# ============================================================
#                   7. 对称性与结构约束
# ============================================================

ISYM = 2                    # 完美晶体使用对称性,提高计算效率

# ISYM = 0                  # SQS、缺陷、吸附、局域畸变体系通常使用
# ISYM = -1                 # SOC、非共线磁性、磁各向异性常使用

# 具体固定哪些原子不在INCAR中设置
# slab底层固定、部分方向固定等,应在POSCAR中使用Selective dynamics


# ============================================================
#                        8. DFT+U
# ============================================================

# LDAU      = .TRUE.        # 开启DFT+U
# LDAUTYPE  = 2             # 使用常见的Dudarev形式
# LDAUL     = 2 -1          # 对第一类元素的d轨道加U,第二类元素不加U
# LDAUU     = 4.0 0.0       # 各类元素的U值,顺序对应POSCAR元素顺序
# LDAUJ     = 0.0 0.0       # 各类元素的J值
# LDAUPRINT = 1             # 输出DFT+U相关信息
# LMAXMIX   = 4             # d电子体系提高PAW球内电荷展开阶数
# LMAXMIX   = 6             # f电子体系使用更高阶数

# DFT+U参数一旦确定,OPT、SCF、BAND、DOS必须保持一致


# ============================================================
#                  9. 自旋-轨道耦合SOC
# ============================================================

# LSORBIT   = .TRUE.        # 开启SOC,Pb、Bi、Sb、Te等重元素可评估
# ISYM      = -1            # SOC计算通常关闭普通对称性处理
# SAXIS     = 0 0 1         # 设置自旋量子化轴
# GGA_COMPAT = .FALSE.      # SOC高精度计算中常关闭GGA兼容近似
# LORBIT    = 11            # 输出原子和轨道投影信息

# SOC结构优化计算量较高,一般先判断SOC是否会明显影响晶格和键长


# ============================================================
#                   10. 范德华相互作用
# ============================================================

# IVDW = 11                 # 使用D3零阻尼修正
# IVDW = 12                 # 使用D3(BJ)修正,二者选择其一

# 层状材料、分子晶体、有机-无机杂化晶体等可能需要范德华修正
# 所有对比材料必须使用相同的范德华方法


# ============================================================
#                  11. 杂化泛函HSE
# ============================================================

# LHFCALC  = .TRUE.         # 开启杂化泛函
# HFSCREEN = 0.2            # HSE06的屏蔽参数
# AEXX     = 0.25           # 精确交换比例
# ALGO     = Damped         # 替换上面的ALGO=Normal
# TIME     = 0.4            # Damped算法的步长参数
# PRECFOCK = Fast           # 控制精确交换部分的计算精度和成本

# HSE直接优化结构计算量很大,通常只在确有必要时使用


# ============================================================
#                  12. meta-GGA/SCAN
# ============================================================

# METAGGA = SCAN            # 使用SCAN泛函
# LMIXTAU = .TRUE.          # 混合动能密度,常用于改善meta-GGA收敛
# LASPH   = .TRUE.          # SCAN计算应保留非球形PAW贡献


# ============================================================
#              13. slab、表面和非对称体系
# ============================================================

# ISIF   = 2                # 含真空层的slab只优化原子,不优化整个晶胞
# ISYM   = 0                # 吸附或非对称表面一般关闭对称化
# LDIPOL = .TRUE.           # 开启偶极修正
# IDIPOL = 3                # 真空沿z方向时,在z方向施加偶极修正
# DIPOL  = 0.5 0.5 0.5     # 偶极修正参考位置,需结合体系中心调整

# slab底层原子是否固定应在POSCAR中设置Selective dynamics


# ============================================================
#                    14. 带电体系
# ============================================================

# NELECT = ...              # 手动改变总电子数,用于带电缺陷或带电吸附体系
# LDIPOL = .TRUE.           # 带电或强偶极体系可考虑偶极修正
# IDIPOL = 3                # 根据真空方向选择修正方向

# NELECT不能凭氧化态直接填写,应根据POTCAR总价电子数和目标电荷计算


# ============================================================
#                  15. 电子不收敛备用参数
# ============================================================

# ALGO     = All            # Normal持续不收敛时可以尝试
# AMIX     = 0.10           # 减小总电荷混合幅度,降低电子振荡
# BMIX     = 0.0001         # 使电荷混合接近缓慢线性混合
# AMIX_MAG = 0.40           # 减小磁化密度混合幅度
# BMIX_MAG = 0.0001         # 减缓磁化密度振荡
# MAXMIX   = 20             # 控制电荷混合所保留的历史信息
# NELM     = 150            # 确认方法合理后再适度增加最大电子步数

# 这些参数不是常规必开项,只在观察到明确的电子振荡后使用


# ============================================================
#                  16. 离子优化不稳定备用参数
# ============================================================

# IBRION = 3                # 初始结构较差时使用阻尼式优化
# POTIM  = 0.10             # 减小原子移动步长
# NSW    = 200              # 复杂体系适当增加最大离子步数

# 如果存在极短键或原子重叠,应先修改初始结构,而不是只增加NSW


# ============================================================
#                        17. 文件输出
# ============================================================

LWAVE  = .TRUE.             # 保存最终WAVECAR,方便续算
LCHARG = .TRUE.             # 保存最终CHGCAR,方便续算
NWRITE = 2                  # 输出常规详细程度的计算信息

# LWAVE  = .FALSE.          # 大体系预优化、不需要续算时可关闭
# LCHARG = .FALSE.          # OPT后一定重新做SCF时可以关闭

# LVTOT  = .TRUE.           # 输出总局域势到LOCPOT;普通OPT不需要
# LVHAR  = .TRUE.           # 输出离子势与Hartree势;普通OPT不需要
# LELF   = .TRUE.           # 输出ELF;通常应在最终SCF阶段计算
# LAECHG = .TRUE.           # 输出全电子电荷相关文件;Bader分析常在SCF阶段使用


# ============================================================
#                        18. 并行设置
# ============================================================

# NCORE = 13                # 每个轨道组使用的核心数;必须根据计算节点调整
# KPAR  = 2                 # 将K点分组并行;K点较多时可提高效率

# 并行参数主要影响速度和内存,不应改变材料的物理结果

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

相关推荐
钟良堂26 分钟前
Ubuntu 20.04 部署 ORB_SLAM3 完整流程与踩坑总结
linux·运维·ubuntu
张小姐的猫41 分钟前
【Linux】网络编程 —— 手动部署 & 测试内网穿透
linux·运维·服务器·网络·tcp/ip
深念Y1 小时前
ZTE B860AV1.1-T2 机顶盒改造记录:从 Android 到 Linux 服务器
android·linux·运维·服务器·boot·cma·机顶盒
祖力551 小时前
进程相关的函数与exec函数簇
linux·运维·服务器·进程·exec函数簇·进程相关的函数
Discipline~Hai1 小时前
Linux应用软件编程04-线程
linux·服务器·c语言·开发语言·linux应用软件编程
charlie1145141911 小时前
Cinux · musl 静态移植:对齐 Linux ABI、铺初始栈,以及一个被 SMAP 拦下的潜伏 bug
linux·开发语言·c++·操作系统·开源项目
2401_868534789 小时前
指令集-最常用 Linux 命令速查手册(整合版)
linux·网络协议
ltl9 小时前
小文件问题:文件数量如何放大元数据与 I/O 成本
linux