



在上一章《第二十章VASP计算实战:静态自洽计算步骤讲解!|2026新版VASP基础教程》中,华算科技朱老师详细介绍了VASP示例任务。VASP计算一般从结构优化开始,然后对优化后的结构进行性质计算。本章将介绍VASP结构优化计算实例,让大家更好的了解计算流程,具体包括结构优化、半导体性质案例、表面与催化案例。




在正式进行能带计算之前,必须准备好可靠的材料结构信息以及 VASP 计算所需的四个基本输入文件(POSCAR、INCAR、KPOINTS、POTCAR)。
来源
如果是已知材料,可以直接在 Materials Project、ICSD 或 JARVIS 等数据库中下载对应的 CIF 文件;如果是新设计的材料,需要自行建立晶胞模型。
下载与转换
以 Materials Project 为例,搜索目标材料(如“Si”或“MoS2”),下载对应的 CIF 文件。
格式转换
使用 pymatgen 或 VESTA 等软件将 CIF 文件转换为 VASP 格式的 POSCAR 文件。注意检查晶胞参数(a、b、c、α、β、γ)和原子坐标的正确性。
选择赝势
根据所研究的元素,从 VASP 官方的 POTCAR 文件库中选择对应的 PAW 赝势(如 PAW_PBE)。通常选择 POTCAR 文件夹中的 POTCAR,将其复制到计算目录下。
注意事项
对于涉及过渡金属或稀土元素的材料,需要特别注意赝势中是否包含半满轨道(如 d 或 f 电子),并在 INCAR 中设置 LDAU 参数。



能带计算核心参数
SYSTEM:自定义系统名称。
ENCUT:平面波截断能,建议设置为 POTCAR 中 ENMAX 的 1.3 倍或更高,以确保能带的收敛性。
EDIFF:电子自洽迭代收敛阈值,通常设为 1E-5 或 1E-6。
ISMEAR 与 SIGMA:金属材料通常设为 1 或 2,绝缘体/半导体设为 0,SIGMA 设为 0.05。
关键控制
设置 ICHARG=11(使用 CHGCAR 文件的电荷密度进行非自洽计算)和 ISTART=1(从上一步计算的 WAVECAR 开始)。
波函数与电荷密度
在进行能带计算时,通常关闭 LWAVE 和 LCHARG,以节省磁盘空间,除非需要后续计算(如 GW)。



静态计算(SCF)
首先进行一次自洽计算(Self-Consistent Field),需要使用密集的 k 点网格(如 Monkhorst-Pack 方式的 12x12x12),以获得准确的电子密度(CHGCAR)。
能带计算(Band)
随后进行非自洽计算(Non-SCF),在这一步需要沿着高对称路径(如 Γ-X-M-Γ)采样 k 点。
获取路径文件
推荐使用 VasprunKpath(在线工具)或 seekpath(Python 包)自动生成 k 点路径文件(通常命名为 KPATH.in 或 KPOINTS)。
文件格式
能带路径通常采用 Line-mode(行模式),即手动列出每条路径的起点和终点坐标,并指定每段的采样点数。




能带计算通常需要分为两步进行:静态自洽计算和非自洽能带计算。直接进行能带计算(直接使用密集 k 点网格)会导致费米能级(E_F)不准确,进而影响能带图的精度。
目的:首先需要进行几何结构优化(Relaxation)。
关键参数:在 INCAR 中设置 IBRION=2(共轭梯度优化)和 NSW(优化步数,如 100),以及 ISIF=3(优化离子位置和晶格常数)。
结果:优化完成后,VASP 会生成 CONTCAR(优化后的结构)和 OUTCAR(优化日志)。



目的:计算材料的基态电子密度(Charge Density),生成 CHGCAR 文件,为后续的非自洽计算提供基准。
文件准备:使用优化后的 POSCAR(或原始 POSCAR),设置 KPOINTS 为密集的 Monkhorst-Pack 网格(如 12x12x12)。
INCAR 设置:
IBRION=-1(不进行离子运动)。
NSW=0(单点能计算)。
CHARG=2(从头计算电荷密度)。
LWAVE=.TRUE.(保存波函数,供后续能带计算使用)。
执行:运行 VASP,计算完成后检查 OUTCAR 中的 E-fermi 值和 convergence 是否收敛。
目的:利用已知的电荷密度,沿着特定的高对称路径计算能带结构。
文件准备:必须使用第一步生成的 CHGCAR 和 WAVECAR 文件。
KPOINTS:将 KPOINTS 替换为第二步生成的 KPATH.in(高对称路径文件)。
INCAR 设置:
ICHARG=11(使用 CHGCAR 中的电荷密度进行计算)。
ISTART=1(读取已有的 WAVECAR)。
LCHARG=.FALSE.(不需要保存新的电荷密度)。
执行:运行 VASP,计算结束后会生成 EIGENVAL(能量本征值文件)和 PROCAR(投影态密度文件)。




VASP 计算完成后,能带数据通常存储在 EIGENVAL 文件中。该文件是一个文本文件,包含了能带的 k 点编号、能量值(相对于真空能级)以及费米能级。
VasprunKpath:一个在线绘图工具,直接上传 vasprun.xml 文件即可生成美观的能带图。
VasprunPlot:Python 包 pymatgen 中的 Vasprun 类,可以读取 vasprun.xml 并绘制能带图。
P4VASP:一个可视化工具,适合手动分析能带和态密度。
步骤一:提取能带数据
工具:使用Python 脚本。
步骤二:绘制能带图
Python:使用 matplotlib 库读取 EIGENVAL,绘制能带曲线。需要将能量参考点调整为费米能级(E-fermi),常见做法是将所有能量值减去 E-fermi。
Gnuplot:编写简单的绘图脚本,加载 EIGENVAL 文件,设置 X 轴为 k 路径,Y 轴为能量(eV),绘制折线图。
能带宽度(Band Gap):对于半导体材料,需要特别注意 VASP 计算的能带宽度通常会低估实验值。常用的校正方法是使用 HSE06 或 GW 方法进行二次计算。
自旋极化(Spin Polarization):如果材料可能具有磁性,需要在 INCAR 中设置 ISPIN=2(自旋极化计算),并注意能带图会分为上下两条自旋通道(Spin Up 和 Spin Down)。




材料结构与输入文件准备:介绍了INCAR、POSCAR、POTCAR、KPOINTS文件
分步进行计算:介绍了结构优化,自洽计算,非自洽计算
数据提取与绘图:介绍了能带绘图工具与手动绘图方法
下一章将正式引入本次教程的核心—态密度分析。我们将从什么是态密度、计算步骤、DOS数据提取与可视化方面详细介绍VASP半导体性质计算案例,敬请期待!
