WannierTools:表面QPI与谱函数自相关
实操SlabQPI_kplane_calc,解释自然对数输出、q坐标、阈值与自旋贡献的归一化。
阅读本篇目录
QPI小例从表面谱函数构造联合态密度及自旋相关的谱自相关图,用于学习入口和数据处理。它不包含真实杂质势的完整T矩阵散射,不能直接当作实验扫描隧道谱。
下载模型输入、三组原生输出与读取绘图脚本,保存为 example.zip:
python3 -m zipfile -e example.zip .
cd wanniertools-surface-QPI-spin
bash read.sh
bash plot.sh
使用WannierTools 2.7.0 CPU模块 wanniertools/2.7.0-8173m、Intel MPI/oneAPI运行环境,脚本依赖NumPy和Matplotlib。模型是自建的简单立方自旋1/2紧束缚模型:晶格常数3Å、最近邻跃迁−1eV、Rashba型耦合0.4eV;没有新的DFT计算,也不是一种真实材料的参数拟合。

本模块使用oneAPI 2023.2构建:ifort 2021.10.0、Intel MPI 2021.10、MKL 2023.2.0,配合ARPACK-NG 3.9.1;本例使用CPU MPI程序。
1. 完整输入与开关#
&TB_FILE
Hrfile='model_hr.dat'
/
&CONTROL
SlabQPI_kplane_calc=T
/
&SYSTEM
NumOccupied=1,SOC=1,E_FERMI=0,Nslab=8
/
&PARAMETERS
Nk1=9,Nk2=9,Nk3=1,NP=1
E_arc=-2.0, Eta_Arc=0.1
/
LATTICE
Angstrom
3 0 0
0 3 0
0 0 3
ATOM_POSITIONS
1
Direct
X 0 0 0
PROJECTORS
1
X s
SURFACE
1 0 0
0 1 0
KPLANE_SLAB
-0.5 -0.5
1 0
0 1
使用 SlabQPI_kplane_calc=T。当前版本中,单独打开较旧的 SlabQPI_calc 并不等价于进入内部JDOS分支,按照本例的明确入口设置。
E_arc=-2.0 是所取能量,Eta_Arc=0.1 是展宽,单位eV;NP=1 是本模型的主层设置。模型沿z方向有跃迁,程序用半无限表面格林函数处理,不是简单把8层有限薄膜求逆。SOC=1 指定自旋轨道排列。
cat inputs/QPI/model_hr.dat
ls reference-results/QPI/arc*
head reference-results/QPI/arc.dat_l
head reference-results/QPI/arc.jdat_l
2. 输出文件先分清#
| 文件 | 含义 |
|---|---|
| arc.dat_l、arc.dat_r | 两个表面的谱函数,第三列是自然对数 |
| arc.jdat_l、arc.jdat_r | 不计自旋项的JDOS,第三列是自然对数 |
| arc.jsdat_l、arc.jsdat_r | 含自旋项的谱自相关,第三列是自然对数 |
| spindos.dat_l、spindos.dat_r | 经谱函数阈值选择的自旋纹理 |
把第三列还原时用 exp,不是10的幂。本例原生表面DOS以Hartree⁻¹计,转换成每eV要再除以27.211385;下载CSV已转换。
bash read.sh
head analysis-read/WT-surface-Rashba-DOS-spin.csv
head analysis-read/WT-surface-QPI-autocorrelation.csv
3. q坐标和归一化#
本例9×9网格包含周期重复边界。原生JDOS求和使用的位移索引为 q1=(iq1-1)/8、q2=(iq2-1)/8,再按模1理解;不能直接把文件中带着输入起点−0.5偏移的标签,当作求和中的真实位移。
配图先去除重复边界,再把q绕回−0.5到0.5附近显示,中心对应零位移。读取器按实际索引重建周期相关。
当前实现先把低于最大表面DOS十分之一的点替换成极小量,然后构造相关。普通JDOS除以81做点平均,而自旋相关文件写的是原始求和。因此图中把自旋相关结果也除以81后比较,CSV保留原生原始值。不同网格下直接比较未经处理的原始强度可能产生误解。
4. 实际结果与提交#
本例表面DOS最大值约 0.59277 states/eV。独立半无限链格林函数与原生DOS的相对差约 4.9E-9;从实际谱函数重建JDOS,相对差约 8.8E-9,含自旋项约 6.6E-9。
python3 prepare.py
cd work-new
sbatch ../submit.sh
squeue -u "$USER"
# 完成后
cd ..
bash read.sh work-new
bash plot.sh
模板实际使用1个MPI进程、OMP线程1,按本站规则申请56核整节点并按整节点计费,依次执行QPI、自旋纹理和零耦合对照。资料包的独立公式检查针对本模型;换材料模型时可参考原生文件格式,但需相应调整检查公式。
换材料时重点核对HR自旋次序、表面方向、主层厚度、能量与展宽,再检查k网格和谱强度阈值的影响。自旋分量含义见表面自旋纹理。
实际QPI汇总CSV保留原生与独立计算列。