VASP计算设置技能Skill vasp

这个技能是VASP(Vienna Ab initio Simulation Package)计算设置的专家助手,专为材料科学和计算化学领域设计。它帮助用户生成正确的输入文件(如INCAR、POSCAR、KPOINTS、POTCAR),选择最优计算参数(如能量截断、k点采样),并遵循密度泛函理论(DFT)计算的最佳实践,以实现精确和高效的科研工作流程。关键词:VASP, DFT, 计算材料科学, 输入文件生成, 参数设置, 结构弛豫, 能带结构, 分子动力学, 声子计算, 科研工具。

实验设计 0 次安装 0 次浏览 更新于 3/12/2026

名称: vasp 描述: VASP(Vienna Ab initio Simulation Package)计算专家助手 - 输入文件生成、参数选择、工作流程设置以及精确DFT计算的最佳实践 允许工具: “*”

VASP 计算设置技能

您是一个设置VASP(Vienna Ab initio Simulation Package)计算的专家助手。帮助用户生成正确的输入文件(INCAR、POSCAR、KPOINTS、POTCAR),选择其计算类型的最优参数,并遵循精确和高效DFT计算的最佳实践。

概述

VASP 是一种广泛用于材料科学和计算化学的平面波DFT代码。本技能涵盖:

输入文件:

  • INCAR:控制参数
  • POSCAR:原子位置和晶格
  • KPOINTS:k点采样
  • POTCAR:赝势

计算类型:

  • 结构弛豫
  • 静态计算(单点能量)
  • 能带结构和态密度
  • 分子动力学
  • 声子和弹性性质
  • 高级:GW、杂化泛函、DFPT

参数选择:

  • 精度与效率的权衡
  • 系统特定推荐
  • 收敛测试策略

快速参数指南

基本INCAR参数

能量截断(ENCUT):

ENCUT = 520  # eV,PAW势的典型值
  • 默认: 1.3 × POTCAR中的ENMAX
  • 推荐: 标准计算为1.3-1.5 × ENMAX
  • 收敛测试: 测试400、450、500、550、600 eV
  • 何时增加: 力、应力、弹性常数

k点采样:

# 方法1:自动网格
KSPACING = 0.5  # Å⁻¹,自动生成

# 方法2:手动KPOINTS文件
# 推荐密度:每Å⁻¹ 30-50 k点

精度(PREC):

PREC = Accurate  # High、Normal、Accurate
  • 低: 快速,仅用于测试
  • 正常: 标准计算
  • 精确: 力、声子、生产计算

电子收敛(EDIFF):

EDIFF = 1E-6  # eV,能量收敛
  • 标准: 1E-6 eV
  • 紧: 1E-8 eV(力、声子)
  • 松: 1E-4 eV(快速测试)

输入文件模板

INCAR:控制参数

# 系统描述
SYSTEM = Cu bulk FCC

# 电子最小化
ENCUT = 520           # 截断能量 (eV)
EDIFF = 1E-6          # SCF收敛 (eV)
NELM = 100            # 最大电子步数
ALGO = Fast           # 算法:Normal、Fast、All
ISMEAR = 1            # 展宽:-5(四面体)、0(高斯)、1(M-P)
SIGMA = 0.2           # 展宽宽度 (eV)

# 精度
PREC = Accurate       # 精度级别
LREAL = Auto          # 实空间投影

# 离子弛豫
IBRION = 2            # 0=静态、1=RMM-DIIS、2=CG
ISIF = 3              # 2=弛豫离子、3=弛豫晶胞+离子
NSW = 100             # 最大离子步数
EDIFFG = -0.02        # 力收敛 (eV/Å)

# 输出
LWAVE = .FALSE.       # 写入WAVECAR
LCHARG = .FALSE.      # 写入CHGCAR

POSCAR:原子结构

Cu FCC bulk
1.0                    # 通用缩放因子
  3.61  0.00  0.00     # 晶格矢量
  0.00  3.61  0.00
  0.00  0.00  3.61
Cu                     # 元素符号
  4                    # 原子数
Direct                 # 直接(分数)坐标
  0.00  0.00  0.00
  0.50  0.50  0.00
  0.50  0.00  0.50
  0.00  0.50  0.50

关键点:

  • 第1行:注释(系统描述)
  • 第2行:通用缩放因子
  • 第3-5行:晶格矢量(Å)
  • 第6行:元素符号(必须匹配POTCAR顺序)
  • 第7行:每个元素的原子数
  • 第8行:坐标类型(Direct或Cartesian)
  • 第9行起:原子位置

KPOINTS:k点采样

Gamma中心网格(最常见):

自动网格
0                      # 0=自动
Gamma                  # Gamma或Monkhorst-Pack
  8  8  8              # k点网格
  0  0  0              # 偏移

Monkhorst-Pack:

自动网格
0
Monkhorst-Pack
  8  8  8
  0  0  0

能带结构路径:

能带结构的k点
10                     # 高对称点之间的点数
Line-mode              # 能带结构的线模式
Reciprocal
  0.0  0.0  0.0   !Γ
  0.5  0.0  0.5   !X

  0.5  0.0  0.5   !X
  0.5  0.25 0.75  !W

POTCAR:赝势

生成:

# 按与POSCAR相同顺序连接POTCAR
cat ~/vasp/potpaw_PBE/Cu/POTCAR > POTCAR

# 对于化合物:
cat ~/vasp/potpaw_PBE/Cu/POTCAR \
    ~/vasp/potpaw_PBE/O/POTCAR > POTCAR

选择POTCAR:

  • 标准: potpaw_PBE/Element/POTCAR
  • GW计算: potpaw_PBE.52/Element/POTCARpotpaw_PBE.54/
  • _sv: 包含半芯态(更精确,更慢)
  • _pv: 包含p作为价电子
  • _h: 更硬势(更高ENMAX)

按计算类型选择参数

1. 结构弛豫

INCAR:

IBRION = 2            # 共轭梯度
ISIF = 3              # 弛豫晶胞 + 离子
NSW = 100
EDIFFG = -0.02        # 力收敛
ISMEAR = 1            # Methfessel-Paxton
SIGMA = 0.2

收敛标准:

  • EDIFFG < 0:基于力(推荐:-0.01 至 -0.05 eV/Å)
  • EDIFFG > 0:基于能量(较少使用)

2. 静态计算(单点)

INCAR:

IBRION = -1           # 无离子更新
NSW = 0
ISMEAR = -5           # 四面体(精确DOS)
# 或
ISMEAR = 0            # 高斯(如果四面体不收敛)
SIGMA = 0.05

3. 能带结构

步骤1:自洽计算

ICHARG = 2            # 从原子
LCHARG = .TRUE.       # 写入CHGCAR

步骤2:非自洽能带结构

ICHARG = 11           # 读取CHGCAR,不更新
LORBIT = 11           # 写入PROCAR
# 使用线模式KPOINTS

4. 态密度(DOS)

INCAR:

ISMEAR = -5           # 四面体方法
LORBIT = 11           # 投影DOS
NEDOS = 3000          # DOS分辨率
# 使用密集k点网格

5. 分子动力学

INCAR:

IBRION = 0            # MD
NSW = 1000            # MD步数
POTIM = 1.0           # 时间步长 (fs)
TEBEG = 300           # 起始温度 (K)
TEEND = 300           # 结束温度
SMASS = 0             # NVE:0,NVT:>0
MDALGO = 2            # 1=Andersen,2=Nose-Hoover

6. 声子(DFPT)

INCAR:

IBRION = 6            # DFPT用于声子
NFREE = 2             # 中心差分
POTIM = 0.015         # 位移 (Å)
EDIFF = 1E-8          # 紧收敛!

7. 弹性常数

INCAR:

IBRION = 6            # DFPT
ISIF = 3
NFREE = 4             # 用于弹性常数

高级参数

杂化泛函(HSE06、PBE0)

HSE06:

LHFCALC = .TRUE.      # 激活杂化
HFSCREEN = 0.2        # HSE筛选参数
AEXX = 0.25           # 精确交换分数
ALGO = All            # 或 Damped
TIME = 0.4            # 收敛阻尼

GW计算

步骤1:DFT(PBE)

ALGO = Exact
NBANDS = 200          # 许多空带
LOPTICS = .TRUE.

步骤2:GW

ALGO = GW0  # 或 EVGW
NOMEGA = 50

DFT+U(相关系统)

INCAR:

LDAU = .TRUE.
LDAUTYPE = 2          # Dudarev
LDAUL = 2 -1          # l量子数 (d, s/p)
LDAUU = 5.0 0.0       # U值 (eV)
LDAUJ = 0.0 0.0       # J值

范德华修正

DFT-D3:

IVDW = 11             # DFT-D3 (Grimme)

vdW-DF:

GGA = MK              # optPBE-vdW
LUSE_VDW = .TRUE.
AGGAC = 0.0000

收敛测试策略

1. k点收敛

# 测试序列
KPOINTS: 4x4x4, 6x6x6, 8x8x8, 10x10x10, 12x12x12

# 当连续网格间ΔE < 1 meV/原子时收敛

2. 能量截断收敛

# 测试ENCUT
ENCUT: 400, 450, 500, 550, 600 eV

# 当ΔE < 1 meV/原子时收敛
# 力可能需要更高截断

3. 系统方法

  1. 首先: 收敛ENCUT(固定k点为中等密度)
  2. 其次: 收敛k点(使用收敛的ENCUT)
  3. 记录: 保存收敛测试结果

展宽方法(ISMEAR)

ISMEAR 方法 使用案例
-5 四面体 静态计算、DOS、精确能量
-4 四面体+Blöchl 类似-5,略有不同
-1 Fermi展宽 金属
0 高斯 通用
1+ Methfessel-Paxton 阶数N 弛豫、金属

推荐:

  • 金属、弛豫: ISMEAR=1, SIGMA=0.2
  • 半导体、弛豫: ISMEAR=0, SIGMA=0.05
  • 静态、DOS: ISMEAR=-5(无需SIGMA)
  • 非常大系统: ISMEAR=-1, SIGMA=0.1

常见参数组合

标准弛豫(金属)

# INCAR
ENCUT = 520
PREC = Accurate
IBRION = 2
ISIF = 3
NSW = 100
EDIFFG = -0.02
ISMEAR = 1
SIGMA = 0.2
ALGO = Fast
LREAL = Auto

# KPOINTS
Gamma中心
0
Gamma
  8  8  8
  0  0  0

高精度静态计算

# INCAR
ENCUT = 600          # 更高截断
PREC = Accurate
IBRION = -1
NSW = 0
EDIFF = 1E-8         # 紧收敛
ISMEAR = -5          # 四面体
ALGO = Normal
LREAL = .FALSE.      # 倒易空间

# KPOINTS(非常密集)
0
Gamma
  12 12 12
  0  0  0

快速测试设置

# INCAR
ENCUT = 400          # 较低截断
PREC = Normal
EDIFF = 1E-4         # 松
ISMEAR = 0
SIGMA = 0.1
ALGO = Fast
LREAL = Auto

# KPOINTS(粗糙)
0
Gamma
  4  4  4
  0  0  0

性能优化

并行化

INCAR:

NCORE = 4            # 每核带数(轨道并行化)
# 或
NPAR = 8             # 带并行化组数
KPAR = 4             # k点并行化
LPLANE = .TRUE.      # 平面分布

指南:

  • NCORE ≈ 每节点核数 / 2-4
  • KPAR = k点数(或除数)
  • 对于大系统(>100原子):NCORE=1-4
  • 对于许多k点:使用KPAR

内存管理

LREAL = Auto         # 减少大系统内存
NCORE = 4            # 减少每核内存

错误处理

常见错误和修复

“ZBRENT: fatal error in bracketing”

# 修复:减少POTIM或使用不同IBRION
POTIM = 0.2

“EDDDAV: X eigenvalues not converged”

# 修复:增加NELM,更改ALGO
NELM = 200
ALGO = All

“Sub-Space-Matrix is not hermitian”

# 修复:减少POTIM,检查结构
POTIM = 0.1
SYMPREC = 1E-8

SCF不收敛:

# 尝试顺序修复:
1. ALGO = All
2. 增加 NELM = 200
3. AMIX = 0.2, BMIX = 0.0001
4. 检查初始结构(原子太近?)

最佳实践

  1. 始终收敛: 生产运行前测试k点和ENCUT
  2. 使用对称性: 让VASP检测对称性(加速计算)
  3. 检查OUTCAR: 验证“达到所需精度”消息
  4. 监控: 运行期间检查OSZICAR以观察收敛
  5. 保存所有: 保留所有输出(OUTCAR、vasprun.xml)用于分析
  6. 一致赝势: 对所有相关计算使用相同POTCAR集
  7. 记录设置: 记录所有使用的INCAR参数

计算工作流程

完整弛豫 → 性质

  1. 弛豫: 优化结构(ISIF=3, IBRION=2)
  2. 静态: 精确能量(ISMEAR=-5, 密集k点)
  3. 能带结构: 非SCF与线模式k点
  4. DOS: 密集k网格与ISMEAR=-5
  5. 性质: 声子、弹性等

收敛测试工作流程

  1. 粗略优化: 低ENCUT,粗糙k点
  2. 测试ENCUT: 固定k点,变化ENCUT
  3. 测试k点: 收敛ENCUT,变化k网格
  4. 生产: 使用收敛参数

子技能

调用特定子技能以获取详细指导:

  • 弛豫 - 结构优化工作流程
  • 电子结构 - 能带结构和DOS计算
  • 分子动力学 - VASP中的MD模拟
  • 高级泛函 - 杂化、GW、DFT+U方法
  • 声子 - DFPT声子计算
  • 收敛 - 系统收敛测试

快速决策指南

计算类型是什么?

目标 IBRION ISIF ISMEAR EDIFFG
仅弛豫离子 2 2 1 -0.02
弛豫晶胞+离子 2 3 1 -0.02
静态能量 -1 2 -5 N/A
MD模拟 0 2 0 N/A
能带结构 -1 2 0 N/A
声子(DFPT) 6 2 0 N/A

参考文献

另请参见

  • 材料性质技能 - 用于基于ASE的VASP工作流程
  • 示例/目录中的示例
  • 参考文献/目录中的详细引用