Wannier90专题

Wannier90:交流自旋霍尔与两种方法

扫描0到6eV光子能量,实操Qiao与Ryoo方法,理解自旋邻接矩阵和复数响应。

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

在模型直流计算的基础上,本例进一步运行交流自旋霍尔响应。Qiao、Ryoo两种方法都实际计算了61个光子能量点,并保存实部、虚部和绘图程序。

1. 先读取实际光谱#

下载完整输入、实际结果与读取绘图程序,保存为 example.zip:

python3 -m zipfile -e example.zip .
cd wannier90-own-spin-model
bash read.sh
bash plot.sh

这三步读取附带的真实计算结果,生成 analysis-read 和 figures,不会重新提交计算。

Qiao和Ryoo实际交流自旋霍尔响应,以及独立模型公式对照

图中横轴是光子能量 ħω,单位eV,不是直接以Hz表示的频率。扫描0—6 eV,步长0.1 eV,展宽0.05 eV;展宽是本次数值设置,不等于已经求得材料的散射寿命。

2. Qiao方法的交流设置#

在原 .win 中设置:

berry = true
berry_task = shc
shc_method = qiao
shc_alpha = 1
shc_beta = 2
shc_gamma = 3
berry_kmesh = 61 61 1
shc_freq_scan = true
kubo_freq_min = 0.0
kubo_freq_max = 6.0
kubo_freq_step = 0.1
kubo_adpt_smr = false
kubo_smr_fixed_en_width = 0.05
fermi_energy = 0

同目录保留 .chk/.eig/.mmn/.spn 等匹配文件,在已分配资源中运行:

postw90.x model
head -12 model-shc-freqscan.dat

该结果文件依次含记录序号、光子能量、响应实部和虚部,响应单位为 (ħ/e) S/cm。

3. Ryoo方法还需要什么#

shc_method = ryoo

Ryoo入口还读取 .sIu 和 .sHu。本模型在完整已知基中,按相邻k点精确构造:

sIu(k,b) = U(k)^dagger sigma U(k+b)
sHu(k,b) = U(k)^dagger sigma H(k) U(k+b)

.spn 给定k点处的自旋矩阵,不能替代上述相邻k点的两个文件。包内 spin-neighbor-operators.py 写出本版本所需的Fortran无格式记录,并处理原生读取端的转置约定。

cd work-new
python3 ../spin-neighbor-operators.py "$PWD"
ls foundation/model.sIu foundation/model.sHu

整包 run.py 已安排Qiao和Ryoo的直流、交流目录,无须手工拷贝各个文件:

bash submit.sh
# 新计算结束后
bash read.sh work-new analysis-read
bash plot.sh

请在新解压目录提交,避免将新输出混入附带的 reference-results。预处理与矩阵生成详见模型矩阵到自旋霍尔电导。

4. 读数据并画图#

head analysis-read/Wannier90-own-model-SHC-AC.csv
ls figures/Wannier90-own-model-AC-response.png

下载61点交流CSV。本次两种方法在输出精度内一致;与独立模型Kubo表达式相比,全部实部、虚部的最大差约 4.69×10⁻⁵ (ħ/e) S/cm。零光子能量处回到相同设置的直流结果约387.17772。

这个一致性建立在本例完整、已知且自旋守恒的模型空间上。真实SOC材料可能受能带截断、矩阵接口、Wannier插值及网格影响,仍应分别检查两种方法所需的数据和收敛,不能由本例推断它们在任意材料中数值相同。

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

查看配图

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

100%查看原图 ↗