WannierTools专题

WannierTools谷投影与简并态

准备自定义谷算符文件,给能带着色和分区,并用小模型理解简并子空间中的算符对角化。

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

想把能带按某个谷算符区分,除了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。

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

查看配图

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

100%查看原图 ↗