VASP费米面截面与费米速度
用Cu原胞实算,重建完整k网格并提取费米面截面和近费米能群速度。
阅读本篇目录
金属的费米面由满足Eₙ(k)=Ef的电子态组成。看DOS可以知道费米能附近有多少态,但若要看这些态位于哪些k点、移动速度如何,需要保留k分辨的能带数据。
1. 计算金属原胞的均匀k网格#
本例使用一个Cu原子的FCC原胞,对应常规立方晶格常数3.63502234 Å。分别采用13×13×13和21×21×21 Gamma网格;PBE PAW64 Cu(11个价电子),ENCUT=550 eV,EDIFF=1E-6,ISMEAR=0、SIGMA=0.05 eV,NBANDS=16。
使用VASP 6.6.1 P100版,构建为NVHPC 25.3、CUDA 12.8、MKL 2023.2及配套MPI。两组都固定晶胞和原子,完成静态自洽。这里保留均匀网格,而不是只沿高对称路径计算。
2. 重建完整网格#
ISYM=2会减少实际计算的k点。后处理用结构对称操作及时间反演,把不可约网格展开回完整网格,并核对展开后每组点数与VASP权重一致。
本例Cu无自旋极化、无SOC,可以这样处理。磁性、非共线或破坏时间反演的体系不能不加判断地使用同一套对称操作。
本次只有第6条带穿过Ef;其他带并未因为设置NBANDS=16就都成为费米面的一部分。
3. 画费米面截面#
取原胞倒格矢坐标q₃=0平面,画E₆(q₁,q₂,0)−Ef=0的等值线。图中的q₁、q₂是原胞倒格矢系数,不是Å⁻¹的笛卡尔坐标;也不是把原胞倒格平行六面体直接当作第一布里渊区的Wigner–Seitz边界。

这里画的是一个平面截面,不能由它单独判断完整三维口袋连通性或窄颈。需要完整费米面时,应在更密的三维网格上构造等值面,或使用经过核对的Wannier插值。
4. 从能带梯度估计群速度#
群速度vₙ(k)=∇ₖEₙ(k)/ℏ。本脚本在周期均匀网格上作中心差分,再用实际倒格矩阵把分数坐标导数转换到笛卡尔k空间;不能把对q的导数直接当成对Å⁻¹波矢的导数。
本次选取|E−Ef|小于0.1 eV的第6带网格点:
| 网格 | 不可约k点数 | 近费米能采样点数 | 速度大小中位数 / m·s⁻¹ |
|---|---|---|---|
| 13³ | 84 | 72 | 1.100e+06 |
| 21³ | 286 | 432 | 1.052e+06 |
图中速度分布是这层能量窗口内的网格点统计,不是已经完成严格费米面面积积分的输运分布。窗口和网格改变都会影响数值;13³与21³的比较用于显示这一敏感性,不宣称精确费米速度已经收敛。
5. 费米速度不能单独给出电阻率#
电导还需要散射时间或相应输运模型。速度大不意味着在任何温度和缺陷条件下电阻率都低。带交叉附近的简单带编号差分也可能不稳定,应检查插值、简并与带连接。
如果目标是电导或迁移率,继续阅读电子输运教程,明确是否只有σ/τ、采用了什么散射假设以及温度、载流子浓度的定义。
输入和提取脚本#
准备合法Cu POTCAR后,在两个cu-primitive-mesh目录分别执行sbatch run.sh。加载ASE与spglib环境,运行extract_fermi.py,读取自己的vasprun.xml和OUTCAR,得到完整网格核对结果、截面数据及近费米能速度统计。