WannierTools体能带与费米面
实际计算Bi₂Se₃体能带、Cu费米面,读取BXSF并画倒空间截面。
阅读本篇目录
unzip wanniertools-practical-wave258-*.zip
cd wanniertools-wave258
bash run.sh
先整理已完成的真实数值,生成 analysis/ 四张CSV和 figures/ 五张PNG,不启动DFT或 wt.x。后面的 calculate.sh 才进行新的实际WannierTools计算,每次建立独立工作目录并拒绝覆盖已有目录。
本套使用WannierTools 2.7.0,oneAPI 2023.2 ifort 2021.10、Intel MPI 2021.10、MKL LP64顺序库和ARPACK-NG 3.9.1,CPU AVX512构建。模块为 wanniertools/2.7.0-8173m,适用于兼容的CPU环境,软件本身不申请GPU。每MPI进程保持一线程。
1 先算体能带#
bash calculate.sh bulk
head work/bulk-serial/bulkek.dat
bash plot-result.sh work/bulk-serial
关键输入为:
&CONTROL
BulkBand_calc=T
BulkBand_points_calc=T
/
&PARAMETERS
Nk1=31
/
KPATH_BULK
4
G 0.0 0.0 0.0 Z 0.0 0.0 0.5
Z 0.0 0.0 0.5 F 0.5 0.5 0.0
F 0.5 0.5 0.0 G 0.0 0.0 0.0
G 0.0 0.0 0.0 L 0.5 0.0 0.0
这里每条线31点,两端均包含,相邻线的共用端点会重复。4条线共124个k点,每点30个本征值;本例 bulkek.dat 按能带分组,共3720条数值记录。第一列为路径长度Å⁻¹,第二列为E−EF,单位eV,后续为输出的投影信息。
BulkBand_points_calc 则读取 KPOINTS_3D 的指定离散点,输出 bulkek-pointsmode.dat。它与路径模式用途不同,换材料时应同步修改点卡和路径。

2 换到Cu费米面模型#
bash calculate.sh copper15 mpi
bash calculate.sh copper21 mpi
ls work/copper21-mpi/FS3D.bxsf
这两个例子使用官方对称化Cu九轨道HR,EF=7.7083 eV。它与Cu纠缠带教程里的七轨道Cu04模型不是同一套电子结构,不要混用费米能、窗口或投影文件。
&CONTROL
BulkFS_calc=T
BulkBand_calc=T
/
&SYSTEM
SOC=0
NumOccupied=6
E_FERMI=7.7083
/
&PARAMETERS
Nk1=21
Nk2=21
Nk3=21
/
KCUBE_BULK
0 0 0
1 0 0
0 1 0
0 0 1
KCUBE_BULK 定义倒空间区域,坐标为倒格矢分数。当前输出包含0和1端点,因此21³实际为21×21×21采样,边界有周期重复,不应当作21个不重复区间。
3 读取BXSF与截面#
head -n 22 work/copper21-mpi/FS3D.bxsf
bash inspect.sh work/copper21-mpi
BXSF保留各条带的三维能量网格,文件中费米面零点为0;不要再减一次7.7083 eV。若有图形环境,可用:
xcrysden --bxsf work/copper21-mpi/FS3D.bxsf
这条是使用XCrySDen时的打开方式,是否安装以自己的图形环境为准。本套直接用Python生成截面图,不依赖集群图形桌面:
bash run.sh

黑线为真实E−EF=0等值线,颜色为当前能带能量差,坐标是分数倒空间坐标。k₃=0与1应周期一致;图中重复端面用于帮助理解周期性,不是两张独立的物理表面。
4 换材料前检查#
先确认HR、晶胞及Wannier轨道属于同一模型,校准EF并比较Wannier插值与原始DFT能带;随后加密费米面附近的网格。15³与21³是操作对照,不代表费米面体积、量子振荡频率或所有金属输运量都已收敛。