VASPBERRY:Bi的PAW自旋霍尔实操
用官方真实Bi算符矩阵在集群重算自旋霍尔,检查网格、物理矩阵与有限带空间。
阅读本篇目录
自旋霍尔需要同一组本征态规范下的物理自旋矩阵和完整速度矩阵。仅有WAVECAR的平面波系数投影、PROCAR权重或占据—空带WAVEDER,不能直接充当这套完整输入。
本例使用VASPBERRY 1.6.3官方随附的真实Bi双层PAW矩阵,在鸢算科技集群以普通账号重新计算响应。Bi的DFT和矩阵导出由上游提供;本篇不把它写成在本集群新做的Bi DFT。源码固定于1d5d752da08b30aa53712cbdfc4278b6b51f7f21,不是跟随最新版变化的默认输入。
下载后解压,进入资料目录:
unzip vaspberry-spin-wave663-*.zip
cd vaspberry-spin
bash results.sh
bash plot.sh
下载文件名带内容校验前缀,上面的通配符可直接匹配。reference-data/ 是已经实际计算的参考表,figures/reference.png 是重绘图;这两个读取与绘图命令不执行新的科学计算。
1. 恢复完整矩阵#
source env.sh
sbatch job.slurm
资料包calculate.py先调用安装目录中的官方恢复脚本校验分块文件,再运行两套网格。若手动逐步操作:
example=/public/software/vaspberry/1.6.3/share/examples/materials/bi-spin-hall
python "$example/restore_matrices.py" \
--mesh 12 --output-dir matrices12-manual
vaspberry-kubo spin-hall \
--matrices matrices12-manual/physical-matrices.npz \
--metadata matrices12-manual/physical-matrices.json \
--mesh 12 12 --occupied 10 \
--formats csv npz --output-dir Hall12-manual
另一套把恢复参数改为6、积分网格改为6 6,并使用新的矩阵/输出目录。两个NPZ各含48条源能带:12×12对应144个点,6×6对应36点;占据数为10。元数据与NPZ必须配套,不能替换成另一个Bi算例或另一组WAVECAR生成的自旋矩阵。
2. 看张量分量与单位#
常规自旋流为J_i^s={s_s,v_i}/2,源文件的Pauli矩阵与物理自旋满足s_s=ℏσ_s/2。程序输出张量的轴顺序是自旋方向、流方向、电场方向。σ^z_xy表示z自旋、x向自旋流、y向电场。
| 完整网格 | 采样能隙 / eV | σᶻₓᵧ / [(ℏ/e)(e²/h)] | 电荷σₓᵧ / (e²/h) |
|---|---|---|---|
| 6×6 | 0.535028 | 1.3825549946 | −3.6593×10⁻⁶ |
| 12×12 | 0.497271 | 0.6907212357 | 1.8151×10⁻⁷ |
两套结果都实际完成,差异很大,说明k网格尚未收敛。自旋轨道耦合下一般自旋不守恒,常规自旋霍尔电导不要求是整数;不要把这个数直接称为Z₂拓扑不变量。

3. 继续检查能带空间#
默认使用全部48条源带。若要测试较小空间,可以在新的输出目录尝试:
vaspberry-kubo spin-hall \
--matrices matrices12-manual/physical-matrices.npz \
--metadata matrices12-manual/physical-matrices.json \
--mesh 12 12 --occupied 10 --source-band-limit 40 \
--formats csv npz --output-dir Hall12-b40
这条40带命令是参数使用方式,本篇实际数值表采用48带;截断若切开简并组,程序会拒绝,应该选保持简并组完整的带数,不降低检查阈值。改变source-band-limit会同时改变自旋流反对易子中的中间空间与响应求和;它与在VASP里增大NBANDS、改善高空带本征态是两种检查,不能互相代替。
当前接口针对完整均匀二维网格、零温、固定绝缘占据子空间。金属、自旋守恒流的其他定义和三维单位换算不由这个例子自动覆盖。对自己的材料,要先生成带清楚来源和完整PAW算符的配套矩阵,再做网格和源带空间收敛。
来源:官方Bi双层输入、物理矩阵与收敛说明。资料包只附本集群重算的表与脚本,恢复矩阵仍从固定安装示例读取。