WannierTools 按电子数求费米能级
设置Ntotch并读取10–300 K费米能级表,说明SOC、自旋倍数、网格和固定HR模型的含义。
阅读本篇目录
已有 HR 后,FermiLevel_calc 可以在指定电子数下求解化学势。本篇给出直接运行、读取温度表和比较网格的操作,不需要重新做 DFT。
1. 下载与查看结果#
下载输入、原生输出和绘图脚本,保存为 example.zip:
python3 -m zipfile -e example.zip .
cd wanniertools-gaps-fermi-level
bash show-reference.sh
bash plot-results.sh
ls -lh plots/wanniertools-Fermi-level-electron-count.png

模型与 带隙教程 相同,八条带、不含显式自旋分裂。这里将电子数设为 8.5,使导带有部分占据,用来演示化学势求解。这是固定紧束缚模型中的填充,不是进行了一次带电材料的自洽 DFT 计算。
环境为 WannierTools 2.7.0,oneAPI 2023.2 / ifort 2021.10、Intel MPI 2021.10、MKL LP64 顺序库和 ARPACK-NG 3.9.1;env.sh 加载模块与分析环境。计算命令在获得的兼容 CPU 资源内执行。
2. 设置电子数#
关键输入:
&CONTROL
FermiLevel_calc=T
/
&SYSTEM
NumOccupied=4
SOC=0
E_FERMI=0
Ntotch=8.5
/
&PARAMETERS
Nk1=13
Nk2=13
Nk3=3
/
KCUBE_BULK
-0.5 -0.5 -0.5
1 0 0
0 1 0
0 0 1
本分支以 Ntotch 为目标总电子数,在离散网格上求各能带费米占据之和。当前 SOC=0 会乘自旋倍数 2;本例八条带最多容纳 16 个电子,四条带完整填充对应 8 个电子,设置 8.5 即再增加 0.5。
不要再手动把 Ntotch 乘以 2。 SOC>0 时显式自旋子带的计数规则不同,应按所用 HR 和模型的实际基底确定。
E_FERMI=0 在本例用于保持初始 HR 的能量参照。求出的化学势是模型当前能量零点下的 eV 值;它不是相对于真空的功函数。Ntotch 改变的是这个固定模型的填充,不会自动更新电荷密度、势能或结构。
3. 运行与读取表格#
source ./env.sh
mkdir manual
cp reference-results/native/fermi-13x13x3/wt.in manual/
cp reference-results/native/fermi-13x13x3/model_hr.dat manual/
(cd manual && wt.x)
grep -A 33 'Number of electrons' manual/WT.out
当前 2.7.0 会在 WT.out 中输出 10、20、……、300 K,共 30 行的 Beta、温度和 E_F。这个分支的温度序列写在程序中,不是将 PARAMETERS 中 Beta 改一下就能替换整套扫描;当前内部采用约 Beta=11600/T 的 eV⁻¹ 关系。
13×13×3 的本例输出为:
| 温度 | 化学势 |
|---|---|
| 10 K | 1.599934 eV |
| 300 K | 1.609194 eV |
程序用二分法,让网格平均电子数接近 8.5。配套分析对每个温度重新独立求根,并由打印的化学势再计算电子数。原生表只保留小数点后六位,因此重算的电子数会有小的舍入误差。
4. 先比较网格,再解释温度趋势#
资料包还有 9×9×3 一组:10 K 为 1.625078 eV,300 K 为 1.635613 eV,与较密网格相差约 0.025 eV。对这个小网格例子,采样差异比温度扫描造成的变化还大。
所以图中的温度趋势用于说明输出和操作,不是已经收敛的材料结论。实际计算应继续增加网格,检查费米面附近采样。当前此分支包含体网格两端点;分析和后处理应按它实际使用的采样规则核对,不能直接套用其他分支的周期半开网格权重。
5. 重算并得到图和表#
sbatch job.slurm
或在已经分配的兼容 CPU 资源内运行:
bash run.sh
bash plot-results.sh
cat gaps-fermi-summary.csv
脚本会顺序运行两组费米能级及配套带隙例子。原生温度表在 work/fermi-*/WT.out,汇总在 gaps-fermi-summary.csv,图片在 plots/。已有 work/ 时停止,重新解压到另一目录即可从头重算。
采用自己的模型时,先确认 HR、SOC、自旋排序、电子数和能量参照,再单独运行费米能级求解。对绝缘体极低温情况,带隙中一段化学势范围都可能给出近乎相同的电子数;不要把数值二分返回的某个值直接当成唯一可测量的费米能级。
接口可对照 WannierTools 官方对应源码;本篇数值和字段说明按集群当前 2.7.0,在线分支后续可能变化。