手机版
           

VASP能带结构计算全流程详解:SCF参数设置到band图绘制

发布时间:2026-05-27   来源:科研学术网    
字号:

一个体系的结构优化跑完了,SCF收敛了,接下来要出能带图。这是第一性原理计算里最常规的输出之一,但新手常常卡在几个地方:高对称K点怎么选?非自洽计算(ICHARG=11)和SCF的K点密度怎么协调?能带图出来之后有些色散关系看起来不对劲——是算错了还是物理上就该这样?

实际上,能带计算本身不是单一操作,而是一串前后衔接的步骤。每一环的细节都会传递到最终结果中。

第一步:SCF计算打地基

能带计算的第一步不是算能带,而是做一次高质量的静态自洽。这一步的目标是得到一个收敛的电荷密度(CHGCAR),后续非自洽计算直接读取它,不再迭代更新。

SCF阶段的K点网格需要比能带路径的K点密得多。常规做法是用Monkhorst-Pack方法生成均匀网格,密度要求视体系而定:金属建议KSPACING约0.15-0.20 Å⁻¹,半导体和绝缘体可放宽到0.25-0.30。如果后续要算有效质量或者载流子迁移率这类对能带曲率敏感的性质,SCF的K点最好再加密一级。

INCAR核心参数:

ICHARG = 2        # 从初始电荷密度开始SCF
ISMEAR = 0        # 半导体用Gaussian smearing
SIGMA = 0.05      # 小sigma保证能量精度
ENCUT = 520       # 至少1.3倍POTCAR推荐值
EDIFF = 1E-6      # 能带计算用更严格的收敛标准
LCHARG = .TRUE.   # 必须输出CHGCAR给后续步骤
LWAVE = .FALSE.   # 节省磁盘

这里EDIFF设到1E-6比常规结构优化的1E-4严格很多。原因是能带对总能量的微小变化并不敏感,但对Kohn-Sham轨道能量的精度要求更高——如果SCF阶段的电荷密度本身收敛不够,非自洽能带计算就是在噪声上插值。额外花几分钟收紧EDIFF,比后面翻工重算划算得多。

ISMEAR的选择容易被忽略。ISMEAR=0(Gaussian)适合半导体和绝缘体,SIGMA取0.05 eV对绝大多数体系是安全值。金属体系建议用ISMEAR=1(Methfessel-Paxton一阶),SIGMA根据态密度平缓程度取0.1-0.2 eV。算能带时不要用ISMEAR=-1(Fermi smearing)——它的熵项在低sigma下对能量有贡献,会让带隙偏小。

第二步:确定高对称K点路径

SCF跑完后,需要生成非自洽计算用的K点路径。这一步的输入是布里渊区内的高对称点连线,本质是在倒空间中画一条穿过主要对称方向的路径。

对于常见晶格类型,SEEK-path(https://www.materialscloud.org/work/tools/seekpath)可以自动生成。它的输出包含KPATH.in文件,直接可以被VASP读取。对于自己熟悉的体系,也可以手动指定——四方晶系走Γ-X-M-Γ-Z-R-A-Z,立方晶系走Γ-X-W-K-Γ-L-U-W-L-K,这些是固体物理教科书里的标准路径。

一个常见的错误是选的高对称点太少。某些体系里沿着特定方向会出现能带交叉或反交叉,如果K点路径恰好避开了这些方向,能带图看上去”很干净”,但关键的拓扑特征被漏掉了。建议至少包含Γ点附近的所有最近邻高对称方向。

另一个细节:K点路径上相邻两个高对称点之间的采样点数要足够。20个点是底线,40个点是比较舒适的折中——太少则色散曲线呈折线状,太多则文件膨胀且对画图没帮助。

第三步:非自洽能带计算(ICHARG=11)

这一步的核心逻辑是:固定SCF得到的电荷密度,对K点路径上的每一个K点做一次非自洽的单次对角化,得到对应的Kohn-Sham本征值。

INCAR变化:

ICHARG = 11       # 读CHGCAR,非自洽模式
ISMEAR = 0        # 保持一致
SIGMA = 0.05
LORBIT = 11       # 输出投影态密度信息(可选)
NBANDS = XXX      # 比SCF多20-30%的空带数,保证导带完整

ICHARG=11的含义是:从CHGCAR读取电荷密度,不做自洽迭代,直接构造哈密顿量并对角化。它的输出是EIGENVAL文件——每个K点对应的所有能带能量值。

NBANDS是另一个容易注意不到的参数。默认值通常只比占据态多几个空带,但对于需要分析导带色散的体系(比如半导体和绝缘体),必须手动增加空带数。经验法是:对于需要分析到VBM+5 eV的体系,NBANDS至少设为占据带数的1.3倍。设置过小会导致导带只输出到一定能量就截断,能带图上部空白一段——审稿人一眼就能看出来。

计算时间方面,非自洽能带比SCF快一个量级。即使K点路径上有200个点(5段×40点),整体算下来一般不会超过SCF的1/3时间。所以不必在K点数量上过于吝啬。

第四步:能带图后处理

EIGENVAL文件出来了,剩下是提取数据并画图。常用工具链:

VASPKIThttps://vaspkit.com/)是最直接的国产工具。`vaspkit → 21 → 211`可以一键生成BAND.dat和KLINES.dat,前者是能带数据,后者是高对称点位置,画图时直接导入Origin或Python即可。VASPKIT还会自动扣除费米能级,所有能量以E-EF=0为基准,这是标准做法。

pymatgenBSPlotter提供了Python原生的可视化能力。优势是可以和Materials Project数据库直接交互,方便对比文献数据和计算结果。

sumohttps://github.com/SMTG-Bham/sumo)是专门为固体电子结构可视化设计的工具。`sumo-bandplot`可以自动生成期刊级别的能带图,配合`sumo-kgen`生成K点路径,整个流程高度自动化。

画图时的几个审美规范:费米能级画在0点,一条虚线标出;导带和价带用不同颜色区分(VASPKIT默认蓝/红);高对称点用希腊字母标准标注(Γ而不是Gamma);坐标轴标注K-point path而非k-points。这些细节在投稿时会被注意到。

第五步:结果合理性检查

能带图出来之后,对照以下几条做快速验证:

带隙是否合理。 纯GGA(PBE)的系统性低估是0.5-1.0 eV量级,如果你的PBE带隙比实验值低超过2 eV,检查结构是否充分弛豫、晶胞参数是否准确。

色散形状是否平滑。 在高对称点附近出现锯齿状抖动通常意味着K点路径采样不足,增加中间点数做个收敛性测试即可排除。

简并度是否正确。 高对称点处的能带简并度受晶格对称性保护,如果Γ点的三重简并在你的计算中分裂成两个+一个,说明结构对称性在优化过程中被破坏了。

能带是否关于k=0对称。 这是时间反演对称性的直接体现——在非磁性计算中,E(k)=E(-k)必须成立。如果不对称,基本可以确定计算出了问题。

能带计算的合理性和后续分析方法密切相关。科研学术网(https://www.keyanxueshu.com)VASP实战案例和参数库,覆盖能带、态密度、光学性质等常见计算类型的标准化流程,项目启动前查阅可节省大量试错时间。

图说天下

×