TB2J 交换参数到自旋波
读取真实Fe交换模型,计算原生81点磁振子谱并识别折叠与数值偏移。
阅读本篇目录
下载Fe2完整输入、原生矩阵、7组TB2J结果、自旋波与离线依赖。解压进入附件根目录,先看已有结果:
bash analyze.sh
首次运行会创建本目录的 venv,使用已固定的离线依赖,不修改公共环境。4张高清图在 reference/figures,数据和表在 reference/analysis。如果希望从DFT开始完整复跑,在新解压目录提交:
sbatch submit.slurm
模板依次完成2个Fe2铁磁SCF、7个交换参数条件、自旋波、数据提取与画图。新的输出在 work;已有 work 时请新解压。DFT使用ABACUS3.10.1-p100、GNU13.3/HPC-X2.50(OpenMPI5.0.10rc2)/CUDA12.8/ELPA GPU,1进程、1线程、GPU双精度。不要在登录节点直接运行DFT。
后处理为TB2J0.9.22、HamiltonIO0.3.8、Python3.11、sisl0.16.4、SciPy1.16.3及NumPy2.3.5环境,1个CPU进程/线程;它不等于ABACUS的GPU加速性能测试。两阶段按脚本切换环境,避免混用依赖。
1 先得到同一套交换模型#
本例采用交换参数实操中DFT5³、TB2J7³、CFR80及4 Å范围的结果,使用它自带的投影磁矩。没有把输入初始 mag 2 当作最终磁矩,也不混入另一套J。
完整模板会自动运行磁振子计算。手动完成全部交换参数后使用:
bash magnon.sh
它调用原生 TB2J_magnon.py,沿常规晶胞的Γ–X–M–R–Γ共81点计算,输出 work/magnon/magnon.json 与原生PDF。路径和带数以文件中实际坐标为准。
2 原生结果怎样重新画图#
附件保留工具自己生成的绘图脚本。已有本地环境时运行:
cd reference/magnon
../../venv/bin/python plot_magnon_band.py
它从同目录的 magnon.json 生成 magnon.png;返回附件根目录运行 bash analyze.sh,则生成本教程更大的对照图。无图形界面时先设置 export MPLBACKEND=Agg。

JSON原始能量单位eV,图中用meV。本例是含2个等价Fe的常规晶胞,所以有两条折叠支;不能把第二条支解释成第二种磁性元素产生的额外模式。
3 Γ点的微小偏移代表什么#
不含SOC的各向同性铁磁模型应有Γ点Goldstone零模。本例独立按原生J和磁矩构造自旋波矩阵,未加正则化时Γ点声学能量为数值零,路径上没有明显负能量不稳定性。
这版原生Cholesky求解对半正定矩阵加入1×10⁻⁶ eV的对角数值稳定项,输出约0.001 meV偏移;原始曲线保留,不把它称为SOC或各向异性能隙。若独立模型本身存在明显负模,不能靠整体平移把它改成稳定模型。
4 这个谱能说明到哪一步#
它说明实际DFT→交换参数→自旋波的数据链已经衔接,可用来参考终端操作、文件传递和模型检查。当前J仅保留4 Å、采用有限k网格和特定选带,仍不是收敛实验铁磁谱,也不能直接从最高能量推出居里温度。本例没有计算SOC、DMI和磁各向异性;那些问题需要对应的SOC与多方向配套计算,再使用适用接口。