WannierTools谷投影与简并态
准备自定义谷算符文件,给能带着色和分区,并用小模型理解简并子空间中的算符对角化。
阅读本篇目录
想把能带按某个谷算符区分,除了HR还需要valley_operator.dat。本篇先运行两个容易独立核对的小模型,再看输出的权重和正负分区。这里的“谷”是演示用的模型标签;真实材料必须先建立有物理依据的K/K′等谷算符,不能把任意轨道标签直接当成材料谷极化。
1 下载和查看输入#
下载两个实例及实际数据,执行:
python3 -m zipfile -e wanniertools-valley-projection-wave950-*.zip .
cd wanniertools-valley-projection
ls inputs/gapped-two-orbital
程序为WannierTools2.7.0 CPU模块wanniertools/2.7.0-8173m,使用oneAPI2023.2(ifort2021.10.0、Intel MPI2021.10、MKL2023.2.0、ARPACK-NG3.9.1)。本例没有进行DFT计算,所有小哈密顿量和无量纲算符都在包内。
2 谷算符是独立文件#
cat inputs/gapped-two-orbital/valley_operator.dat
它采用类似HR的结构:注释、轨道数、R点数、R点简并数,接着是R1 R2 R3 m n real imag。本例两个轨道的算符为diag(1,-1),只在R=0非零:
Own instructional Hamiltonian/operator
2
1
1
0 0 0 1 1 1.0 0.0
0 0 0 2 1 0.0 0.0
0 0 0 1 2 0.0 0.0
0 0 0 2 2 -1.0 0.0
这些数值无量纲;model_hr.dat的矩阵元单位才是eV。两个文件的轨道数量、顺序、位置约定必须一致。改变HR而仍用不匹配的旧算符,会得到没有正确物理含义的着色。
实际wt.in如下:
&TB_FILE
Hrfile='model_hr.dat'
/
&CONTROL
BulkBand_calc=T
valley_projection_calc=T
/
&SYSTEM
NumOccupied=1,SOC=0,E_FERMI=0
/
&PARAMETERS
Nk1=17
/
LATTICE
Angstrom
3 0 0
0 3 0
0 0 3
ATOM_POSITIONS
1
Direct
X 0 0 0
PROJECTORS
2
X s px
KPATH_BULK
1
G 0 0 0 X 0.5 0 0
BulkBand_calc=T与valley_projection_calc=T共同选择带谷投影的能带路径;Nk1=17给出本例一段路径上的17个点。原子与轨道名称只是构造基底,不代表真实元素的拟合结果。
3 提交、读取和绘图#
python3 prepare.py
cd work-new
sbatch ../submit.sh
脚本顺序计算两个实例,CPU普通分区按56核整节点申请和计费;实际使用1个MPI进程、1个OpenMP线程。作业结束后:
cd ..
bash read.sh work-new
bash plot.sh
先看附带实算结果时,在包根目录直接执行bash read.sh与bash plot.sh。默认读取reference-results,不提交新计算。
4 能带第三列与正负分区#
head -n 6 work-new/gapped-two-orbital/bulkek.dat
head -n 6 work-new/gapped-two-orbital/bulkek_valley_plus.dat
head -n 6 work-new/gapped-two-orbital/bulkek_valley_minus.dat
bulkek.dat三列依次为路径长度(Å⁻¹)、能量(eV)、无量纲谷算符权重。plus文件保留权重大于0的点;minus保留小于等于0的点,因此零权重也在后者。两个分区合起来应完整覆盖原始数据。

第一个两轨道模型为H(k)=sin(2πk)σx+[0.4+cos(2πk)]σz eV,算符为σz。能量为正负r,其中r²=sin²(2πk)+[0.4+cos(2πk)]²;两支权重为正负[0.4+cos(2πk)]/r,不是每一支始终固定为±1。
实际17点数据中,原生能量与独立公式最大差异为4.62E-9 eV,权重差异为4.71E-9;正负分区各17行。这里比较的是模型解析结果,不是材料计算误差。
5 简并时看子空间,不任意认定单条本征矢#
第二个模型有三个轨道,H=diag(0,0,2) eV。前两个轨道的能量完全相同;算符在这个二维子空间内为:
0 1
1 0
第三轨道的算符值为0.25。若只对两个原始坐标基矢分别求期望值,会得到0和0;对整个简并子空间内的算符矩阵对角化,则得到−1与+1。实际输出就是这组无序特征值,第三支保持0.25。

两条E=0的能带在上一张能量图中重合,因此要结合本图或CSV看它们的不同算符值。不能据输出中的第一条/第二条编号赋予唯一的简并态基矢;读取程序比较的是同一简并子空间的特征值集合。
head -n 8 analysis-read/WT-valley-projection.csv
替换成真实体系时,先确认HR、Wannier中心和算符来自一致基底,再检查简并、算符厄米性与权重分区,最后做有物理依据的谷态解释。本篇覆盖密集矩阵接口,不把它直接当成稀疏矩阵版本的运行示例。ZIP SHA256:10d9909d7369ceff391a1801b28302844e02453d93afa783cf0cae6515ad4342。