WannierTools:k轨迹输出与单位
逐列说明实际k轨迹数据、反向历史、原子单位和能量零点,避免将标签直接当成SI单位。
阅读本篇目录
拿到 evolve_band_1.dat 后,先分清轨迹段和单位,再画图。本篇使用半经典轨迹例子的同一批实际输出。
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。

2. 当前版本的数字列怎么解释#
| 数字列,从1计数 | 本例实际含义 | 处理方式 |
|---|---|---|
| 1 | 带符号的历史参数,本例约定为T·ps | 从0向负方向积分 |
| 2 | 程序给出的OmegaTau参考列 | 不直接当作任意材料的有效质量结果 |
| 3–5 | 笛卡尔倒空间坐标,Bohr⁻¹ | 需要Å⁻¹时除以0.529177210903 |
| 6–8 | 笛卡尔速度,原子单位 | 需要m/s时乘约2.187691×10⁶ |
| 9–11 | 分数倒空间坐标q | 本例轨迹图使用这些列 |
| 12 | 相对费米能的能量,Hartree | 需要eV时乘27.211385 |
| 13–15 | 程序在磁场方向相关平面上的速度表示 | 沿用相应投影定义后再分析 |
当前原生文件把第 12 列标成 Energy(ev),本例按实际数值和解析模型核对后,它是相对费米能的 Hartree 数值。不要只看列标题就把这一列当成 eV。文件最顶部 energy level 还对应单点初始化信息,不是后面每一段路径起点的绝对能量;使用各段起点说明及明确的能量零点。
3. 为什么横轴是负的#
普通霍尔计算中的历史平均需要追溯粒子过去的速度。本例 BTauMax=0.2,程序保存向负方向的历史,范围接近 −15×0.2=−3 T·ps;终点取决于实际离散点数。
这不是 MD 时间反向运行,也不是实空间离子轨迹。转换时应保留符号,不能直接改成正数再宣称对应前向电子运动。WannierTools 官方功能说明介绍了磁输运等计算方向。
4. 导出自己的CSV#
bash read.sh
head -10 analysis-read/WannierTools-k-orbits.csv
bash plot.sh
CSV 中 case 区分三组计算,orbit 区分两个初始点,Btau_Tps 是带符号的历史参数,qx qy qz 是原生分数坐标,independent_q* 是独立运动方程结果。energy_eV 直接由完整解析色散求得,绝对能量约为 −5 eV。
实际磁场反向后,轨迹方向按模型对称性反转;600 点与 1200 点在共同历史位置相符。独立比较保留了原生有限位数,不能将文本最后几位的误差当作材料散射效应。
5. 换成真实材料前#
先保证紧束缚能带、晶格和费米能可靠,再选择目标能带、初始点和能量窗口。k 空间轨迹本身不能替代完整布里渊区输运积分,也不给出材料散射时间。完整电导率的实际操作见普通霍尔教程。
bash submit.sh
# 作业结束后读取新结果
bash read.sh work-new analysis-read
bash plot.sh
一次成功的短流程用于确认输入、输出和单位。需要定量输运结果时,再检查网格、轨道历史长度及模型适用范围。