名称: 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/POTCAR或potpaw_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. 系统方法
- 首先: 收敛ENCUT(固定k点为中等密度)
- 其次: 收敛k点(使用收敛的ENCUT)
- 记录: 保存收敛测试结果
展宽方法(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. 检查初始结构(原子太近?)
最佳实践
- 始终收敛: 生产运行前测试k点和ENCUT
- 使用对称性: 让VASP检测对称性(加速计算)
- 检查OUTCAR: 验证“达到所需精度”消息
- 监控: 运行期间检查OSZICAR以观察收敛
- 保存所有: 保留所有输出(OUTCAR、vasprun.xml)用于分析
- 一致赝势: 对所有相关计算使用相同POTCAR集
- 记录设置: 记录所有使用的INCAR参数
计算工作流程
完整弛豫 → 性质
- 弛豫: 优化结构(ISIF=3, IBRION=2)
- 静态: 精确能量(ISMEAR=-5, 密集k点)
- 能带结构: 非SCF与线模式k点
- DOS: 密集k网格与ISMEAR=-5
- 性质: 声子、弹性等
收敛测试工作流程
- 粗略优化: 低ENCUT,粗糙k点
- 测试ENCUT: 固定k点,变化ENCUT
- 测试k点: 收敛ENCUT,变化k网格
- 生产: 使用收敛参数
子技能
调用特定子技能以获取详细指导:
- 弛豫 - 结构优化工作流程
- 电子结构 - 能带结构和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 |
参考文献
- VASP手册:https://vasp.at/wiki/The_VASP_Manual
- VASP教程:https://vasp.at/tutorials/latest/
- 参数索引:https://vasp.at/wiki/index.php/Category:INCAR
另请参见
材料性质技能 - 用于基于ASE的VASP工作流程示例/目录中的示例参考文献/目录中的详细引用