WannierTools专题

WannierTools超胞能带展开实操

用完整链和交替现场能链的实际小模型,准备超胞、参考胞和轨道选择,计算展开能带并读取谱权重。

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

超胞让原本简单的能带折叠到更小的布里渊区。展开计算把超胞本征态投影到指定参考晶胞,帮助比较超胞与原胞。本例用两个自建紧束缚链演示输入和谱图,没有进行新的DFT计算,也不把模型参数当成真实材料数据。

1 先看模型和附带结果#

下载两个实算模型、结果和脚本,执行:

python3 -m zipfile -e wanniertools-unfolding-wave951-*.zip .
cd wanniertools-unfolding
bash read.sh
bash plot.sh

这里先读取附带的实际结果,不提交新计算。使用WannierTools2.7.0 CPU模块wanniertools/2.7.0-8173m,oneAPI2023.2(ifort2021.10.0、Intel MPI2021.10、MKL2023.2.0与ARPACK-NG3.9.1);后处理用NumPy和Matplotlib。

两原子超胞与一个原子的参考胞

超胞x方向长6 Å,有位于0和3 Å的两个s轨道;参考胞x方向长3 Å,只有一个s轨道。相邻跃迁都是−1 eV。perfect两个现场能为0;staggered为+0.3和−0.3 eV,使参考胞的3 Å平移不再是完整哈密顿量的对称性。

2 两套晶胞和轨道信息必须对应#

cat inputs/perfect/wt.in
cat inputs/perfect/model_hr.dat

实际wt.in如下:

&TB_FILE
 Hrfile='model_hr.dat'
/
&CONTROL
 BulkBand_unfold_line_calc=T
 BulkBand_unfold_plane_calc=T
 QPI_unfold_plane_calc=T
/
&SYSTEM
 NumOccupied=1,SOC=0,E_FERMI=0
/
&PARAMETERS
 Nk1=17,Nk2=9
 OmegaNum_unfold=81,OmegaMin=-2.5,OmegaMax=2.5
 E_arc=0,Eta_Arc=0.2
/
LATTICE
Angstrom
6 0 0
0 3 0
0 0 3
ATOM_POSITIONS
2
Direct
X 0 0 0
X 0.5 0 0
PROJECTORS
1 1
X s
X s
LATTICE_UNFOLD
Angstrom
3 0 0
0 3 0
0 0 3
ATOM_POSITIONS_UNFOLD
1
Direct
X 0 0 0
PROJECTORS_UNFOLD
1
X s
SELECTED_WANNIERORBITALS
1
1 2
KPATH_BULK
1
A -0.5 0 0 B 0.5 0 0
KPLANE_BULK
0 0 0
1 0 0
0 1 0

LATTICE、ATOM_POSITIONS、PROJECTORS属于提供HR的6 Å超胞;后缀_UNFOLD的三张卡属于3 Å参考胞。SELECTED_WANNIERORBITALS选择两个超胞轨道作为一组;原子名称和轨道序号用于配对,不能随意改名。真实体系还要保证Wannier中心与这些卡片一致。

KPATH_BULK在这项展开功能中按参考胞倒格矢解释。这里沿参考胞kx=−0.5到+0.5,取17点;不要把它误当成6 Å超胞的分数坐标。输入同时包含平面谱和QPI开关,相关结果见展开谱与QPI。

3 提交自己的计算#

python3 prepare.py
cd work-new
sbatch ../submit.sh

脚本顺序运行两个模型,实际使用1个MPI进程和1个OpenMP线程;普通CPU分区申请56核整节点并按整节点计费。任务完成后:

cd ..
bash read.sh work-new
bash plot.sh

默认bash read.sh读取附带数据;指定work-new才读取本次新结果。新目录已存在时,应保留它并换一份新的解压目录,避免覆盖旧计算。

4 看展开谱,而不是再画一组普通能带线#

head -n 8 work-new/perfect/spectrum_unfold_kpath.dat
head -n 8 analysis-read/WT-unfold-line-spectrum.csv

原生第一列是沿参考胞路径的长度(Å⁻¹),第二列能量(eV),后九列为不同Gaussian展宽的展开谱。本例Eta_Arc=0.2 eV对应0.02、0.04、0.08、0.16、0.2、0.4、0.8、1.6、2 eV九档标准差。

原生谱数值仍按Hartree⁻¹输出,不能因为能量列标了eV就认定后面的谱也已换单位。配套读取脚本除以27.211385,CSV和图片使用eV⁻¹。图中展示0.2 eV这一档。

完整链与交替现场能链的实际展开能带谱

完整链的主谱带对应参考胞色散E=-2cos(2πkx) eV。交替现场能打破3 Å平移后,混合的折叠态重新分配谱权重,并在原来的交叉附近产生能量间隔。颜色表示谱强度,不是电子占据数。

5 能量网格和归一化不要想当然#

tail -n 5 analysis-read/WT-unfold-line-spectrum.csv

本版展开程序用(OmegaMax-OmegaMin)/OmegaNum_unfold构造网格,所以81点覆盖−2.5到约2.43827 eV,不包含+2.5 eV端点。

这个示例选择了两个超胞轨道,原生公式同时除以所选轨道数,并乘参考胞/超胞体积比。于是同一k点所有本征态的权重和为0.5,不是1;不要为了让图好看而擅自把结果归一化成1。更换选择组或晶胞比例时,先重新核对这个因子。

读取程序独立对角化两个小模型、构造投影权重,再以九档Gaussian求和。路径谱换为eV⁻¹后,与实际输出的最大绝对差异约1.84E-10。这证明本例输入、投影和单位一致,不表示已经检验了真实材料势或全部展开模式;本篇不包含磁场Landau能级展开。

ZIP SHA256:13ceead9efae8b9653aa8e3a195b1f4230eb3b41dae2b83085eb29a018a3ecf7。

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

查看配图

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

100%查看原图 ↗