WannierTools:磁场中的k空间轨迹
用简单紧束缚模型实际计算正反磁场中的半经典k轨迹,提供完整wt.in、模型文件与提交步骤。
阅读本篇目录
Boltz_evolve_k 可以把磁场下的半经典 k 空间历史写出来。它帮助理解普通霍尔输运中的轨道积分,和量子磁场能级采用的方法不同。
1. 先看实际结果#
下载完整模型、输入、实际输出及读取绘图脚本,保存为 example.zip:
python3 -m zipfile -e example.zip .
cd wanniertools-k-orbits
bash read.sh
bash plot.sh
默认读取 reference-results,生成 analysis-read 和 figures。还可单独下载实际轨迹与独立运动方程CSV。使用公共 WannierTools 2.7.0,编译环境为 Intel oneAPI 2023.2、MKL、ARPACK 3.9.1;Python 读取绘图脚本使用集群 ASE 3.29.0 环境中的 NumPy、SciPy 和 Matplotlib。

这里是自建的单轨道立方最近邻模型,晶格常数 3 Å、跃迁 t=1 eV:E(q)=−2[cos(2πqx)+cos(2πqy)+cos(2πqz)] eV。两个初始分数 k 点为 (1/6,0,0)、(0,1/6,0),能量都为 −5 eV;费米能也设为 −5 eV。这是可独立检查的教学模型,不对应某个真实材料的散射时间或迁移率。
2. 完整输入#
inputs/positive-z/wt.in:
&TB_FILE
Hrfile='model_hr.dat'
/
&CONTROL
Boltz_evolve_k=T
Symmetry_Import_calc=F
/
&SYSTEM
NumOccupied=1, SOC=0, E_FERMI=-5.0
Btheta=0, Bphi=0
/
&PARAMETERS
Nk1=2, Nk2=2, Nk3=1
OmegaNum=1, OmegaMin=0, OmegaMax=0
EF_broadening=.4
BTauNum=1, BTauMax=0.2
Tmin=300, Tmax=300, NumT=1
Nslice_BTau_Max=600
Relaxation_Time_Tau=1.0
/
LATTICE
Angstrom
3 0 0
0 3 0
0 0 3
ATOM_POSITIONS
1
Direct
X 0 0 0
PROJECTORS
1
X s
KCUBE_BULK
-0.5 -0.5 -0.5
1 0 0
0 1 0
0 0 1
SELECTEDBANDS
1
1
KPATH_BULK
1
X 0.1666666666666667 0 0 Y 0 0.1666666666666667 0
KPATH_BULK 定义起点列表的来源,本例 Nk1=2 只使用该段的两个端点。SELECTEDBANDS 只选择唯一一条带。EF_broadening 是这个例子的能量筛选窗口;应先确认自己选的初始点处于目标能量附近。
对应的完整 model_hr.dat:
Own cubic one-orbital nearest-neighbor model
1
7
1 1 1 1 1 1 1
0 0 0 1 1 0.000000000000 0.000000000000
1 0 0 1 1 -1.000000000000 0.000000000000
-1 0 0 1 1 -1.000000000000 0.000000000000
0 1 0 1 1 -1.000000000000 0.000000000000
0 -1 0 1 1 -1.000000000000 0.000000000000
0 0 1 1 1 -1.000000000000 0.000000000000
0 0 -1 1 1 -1.000000000000 0.000000000000
只包含一个在位项和六个最近邻跃迁,没有借用真实材料的 DFT 波函数。
3. 提交三组短任务#
bash submit.sh
# Slurm作业结束后
bash read.sh work-new analysis-read
bash plot.sh
CPU 模板申请 56 核整节点,实际依次启动一个单线程 MPI 进程。三组依次为正 z 方向 600 个历史点、反 z 方向 600 点、正 z 方向 1200 点。只是改变磁场方向或积分输出密度,不重复训练或计算 DFT。
在已分配的作业内,核心命令是:
module load wanniertools/2.7.0-8173m
mpiexec.hydra -n 1 wt.x
需进入对应 wt.in 所在目录执行,所有输入和输出使用该目录。
4. 读取轨迹#
head -16 reference-results/positive-z/evolve_band_1.dat
head -8 analysis-read/WannierTools-k-orbits.csv
同一文件中两个轨迹段分别对应两个初始点。每段都有起点说明,不能把所有行连成一条连续轨迹。第 9–11 个数字列是分数 k 坐标,本包正是用这些列画图。
资料包将六条实际轨迹与独立 Lorentz 运动方程逐点比较,同时检查解析能量、速度、磁场反向及采样加密。想把原输出转换成自己的作图数据,继续阅读轨迹列、单位和历史方向。