Wannier90硅的投影与能带
实际操作四价带和八轨道模型,读取中心、展宽并检查插值适用范围。
阅读本篇目录
unzip wannier90-practical-wave256-*.zip
cd wannier90-wave256
bash run.sh
这一步读取已完成计算的真实数值,生成 analysis/ 和七张 figures/*.png,不启动DFT计算。要自己运行Wannier90,再按下面的命令操作。
1 四个价带轨道:先看输入再运行#
cat inputs/Si4/wannier90.win
bash calculate.sh Si4
这份完整win包含64个实际k点。晶胞来自此前硅结构计算,晶格矢量单位为Å;不能只复制几个关键词就把晶胞和k点列表省掉。先看关键部分:
num_wann = 4
num_bands = 4
exclude_bands = 5-8
mp_grid = 4 4 4
write_hr = true
write_tb = true
write_xyz = true
use_ws_distance = false
num_bands=4指交给该子空间的保留带数。原始DFT算了8条带,exclude_bands排除5–8;它不代表DFT只算过4条带。材料、投影和带排序变化后,要重新检查排除列表。
2 中心和展宽在哪里#
cat work/Si4-serial/wannier90_centres.xyz
rg 'WF centre and spread|Sum of centres and spreads' work/Si4-serial/wannier90.wout | tail
四个价带轨道的总展宽为 6.49053416 Ų,位置呈Si–Si键中心分布。中心可落在当前晶胞外,这是周期坐标的等价表示,不能据此判断轨道出错。

图中Si位置和橙色中心均来自实际数值;周期邻居按原晶格平移得到。展宽是局域化量,不是插值误差指标。得到较小展宽后仍要检查能带。
3 加入低能导带:八轨道模型#
cat inputs/Si8/wannier90.win
bash calculate.sh Si8
实际关键设置:
num_wann = 8
num_bands = 12
num_iter = 500
dis_num_iter = 500
dis_win_max = 18.0
dis_froz_max = 6.5
mp_grid = 6 6 6
这里从12条DFT带中挑选8维平滑子空间,再做局域化。外窗口限定可参加的状态,内窗口要求保留相应低能态;窗口数值使用这份DFT的能量零点,不是所有硅输入通用的常数。本例总展宽 15.51913660 Ų,与四轨道总展宽不能直接用大小比较优劣,因为轨道数和所覆盖能量范围不同。
4 提取与画图#
bash run.sh
ls analysis/model-errors.csv
ls figures/Wannier-Si-bands.png

图中各模型分别以自身价带顶为零;八轨道图的橙线显示额外覆盖的导带。资料中的训练网格重建检查使用精度较高的原生tb.dat,并与DFT eig及U矩阵交叉核对;这只说明接口和训练点重建一致,不等于任意路径都已收敛。
既有四价带粗网格对直接DFT路径的RMS误差约 102.05 meV,最大约 343.88 meV,参见 原DFT对照。需要可靠有效质量、输运或精细导带时,要先加密DFT均匀网格、合理扩展投影/窗口,并重新做独立路径对照。
5 换自己的体系时改什么#
cp -r inputs/Si8 my-material
nano my-material/wannier90.win
同时更换晶胞、原子、投影、mp_grid、完整k点列表和对应矩阵。不能保留硅的amn/mmn却只改原子名称。先在目标能区做直接DFT对照,再把模型交给后续物性工具。