WannierTools专题

WannierTools 有效质量张量

计算带底与带顶的完整三维有效质量,说明单位整理、正负号、各向异性与差分步长对照。

更新于 2026-11-10约 5 分钟阅读按任务与环境选择适用配置
阅读本篇目录

有效质量来自指定能带在指定 k 点附近的曲率。WannierTools 可以对紧束缚 HR 计算三维质量张量。本例用一个有解析解的各向异性单带模型,演示输入、运行和读数。

1. 获取示例#

下载输入、原生输出、单位整理与绘图脚本,保存为 example.zip:

python3 -m zipfile -e example.zip .
cd wanniertools-DOS-JDOS-mass
bash show-reference.sh
cat reference-results/native/mass-Gamma-h0.02/mass-me.csv

采用 WannierTools 2.7.0,oneAPI 2023.2 / ifort 2021.10、Intel MPI 2021.10、MKL LP64 顺序库和 ARPACK-NG 3.9.1,兼容的 AVX512 CPU。绘图用现有 sisl 0.16.4 Python 环境;env.sh 已配置。

2. 先看模型与参考值#

这是独立于双轨道 DOS 例子的一个三维单带模型:

E(k) = 2 tx [1-cos(ax kx)]
     + 2 ty [1-cos(ay ky)]
     + 2 tz [1-cos(az kz)]

tx, ty, tz = 1, 0.5, 2 eV
ax, ay, az = 3, 4, 5 Angstrom

三个方向参数不同,所以质量各向异性。在 Γ 点是带底,R=(0.5,0.5,0.5) 是带顶。它是帮助检查定义的理论模型,不代表某种材料。

原生读数与单位整理、带底带顶质量及步长对照

3. 运行一个 Γ 点条件#

下面计算请在已获得的计算资源内执行:

source ./env.sh
mkdir manual-mass
cp reference-results/native/mass-Gamma-h0.02/wt.in manual-mass/
cp reference-results/native/mass-Gamma-h0.02/model_hr.dat manual-mass/
(cd manual-mass && wt.x)
bash normalize-results.sh mass manual-mass
cat manual-mass/mass-me.csv

主要输入:

&CONTROL
EffectiveMass_calc=T
/
&SYSTEM
NumOccupied=1
SOC=0
E_FERMI=0
/

EFFECTIVE_MASS
1
0.02
0 0 0

三行分别表示:第 1 条带、差分步长 0.02 Å⁻¹、以倒格矢分数坐标表示的 Γ 点。换到 R 点,第三行写 0.5 0.5 0.5。这里步长和中心点使用不同的坐标单位,不能混用。

完整文件还包含 3×4×5 Å 的 LATTICE、一个投影轨道及其他基础卡,直接使用下载包中的 wt.in 即可。换实际材料时应同步修改 HR、晶格、轨道和目标带号。

4. 当前版本需要整理输出单位#

此安装版本的 EffectiveMass_calc 在已经换成内部单位后,又重复处理了一次能量和长度。因此 WT.out 中标注为电子质量单位的原始数字,不应直接当作最终 mₑ。

配套命令会保留 WT.out,另存 mass-native-raw.csv,并依据本版本单位定义除以:

1 / (eV2Hartree × Angstrom2atomic^2)
= 7.619963883369262

得到 mass-me.csv。这个因子从该版本单位变换推导,不是按参考答案拟合。脚本先核对程序与相关源码的哈希;换版本后会停止,不能把它无条件套到其他版本。

本例还用解析余弦能带和独立五点曲率逐项核对完整 3×3 张量,确保整理后数值与物理定义一致。原始读数与整理后的数值都保留,便于你查阅。

5. 如何理解正负号#

步长 0.02 Å⁻¹ 的 Γ 点实算结果约为:

mx = 0.42333139 me
my = 0.47624796 me
mz = 0.07619972 me

非对角项为零。R 点三个对角分量相应为负:它是电子能带的局部极大点,曲率为负。描述带顶附近的空穴时,通常使用相反符号的正空穴质量。不要将负电子质量解释成程序必然出错,也不要简单取绝对值后丢掉带底/带顶含义。

这里的结果是局部曲率质量张量。真实材料还需要区分输运质量、态密度质量、多个谷的简并和非抛物性能带;简并点附近也不应任意挑一条带做差分。

6. 再换一个差分步长#

source ./env.sh
mkdir manual-mass-coarse
cp reference-results/native/mass-Gamma-h0.04/wt.in manual-mass-coarse/
cp reference-results/native/mass-Gamma-h0.04/model_hr.dat manual-mass-coarse/
(cd manual-mass-coarse && wt.x)
bash normalize-results.sh mass manual-mass-coarse
cat manual-mass-coarse/mass-me.csv

下载包中 Γ、R 两点均实际比较了 0.04 与 0.02 Å⁻¹。减小步长后,结果更接近本模型的解析连续曲率。真实材料并不是步长越小越好:过小会放大能带插值和浮点误差,建议同时比较几个步长。

bash plot-results.sh
ls -lh plots/wanniertools-effective-mass-units.png

绘图读取完整重算的分析结果,或在没有完整 work 时读取包内参考数据。

7. 整套重算#

sbatch job.slurm

它调用 bash run.sh,运行四个质量条件以及另一个模型的 DOS/JDOS 例子,执行单位整理并输出 dos-jdos-mass-summary.csv。已有 work/ 时停止,不覆盖旧数据。

有效质量参数卡见 WannierTools 官方输入说明。本教程固定集群当前 2.7.0 的读数方式;后续版本需重新核对是否仍需要该转换。

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗