Sumo声子能带与非解析修正
ZnS真实受力、Born电荷、NAC比较及YAML/JSON往返,完整终端流程。
阅读本篇目录
下载完整算例、真实数据、绘图脚本和参考结果。解压后先进入附件目录;inputs/ 保存输入,reference/ 保存参考结果,bash run.sh 名称 将该项复制到 work/名称/ 并运行。重复运行会将旧结果移入 work/history/。这些是已有计算结果的准备与后处理操作,不会启动新的 DFT 计算。
module purge
module load amset/0.5.1
python -c "import importlib.metadata as m; print(m.version('sumo'))"
本次环境提供 Sumo 2.4.0.post1、Python 3.11.16、Pymatgen 2026.9.24、NumPy 1.26.4 和 Phonopy 4.8.1。Sumo 随当前 AMSET 环境提供;下面保持这一环境,避免混用另一个 Python。
1 上游先完成 Phonopy 位移受力流程#
用 Phonopy 生成超胞位移,逐个计算受力,收集 FORCE_SETS;极性体系还要用同一结构/近似得到介电张量与 Born 有效电荷,形成 BORN。Sumo 负责读取力常数/受力数据与绘图,不会替你计算缺少的力。
本例读取集群实际计算的 ZnS 二原子原胞及2×2×2超胞受力。附件提供 POSCAR、FORCE_SETS、BORN 和 Phonopy 元数据。

2 从 FORCE_SETS 绘图,加入 NAC#
--dim 2 2 2 必须对应实际受力超胞;不能为得到更多曲线而随意改成其他尺寸。BORN 的原子顺序和介电张量必须与原胞匹配。
phonon-nac#
bash run.sh phonon-nac
这一步的原生命令(在生成的 work/phonon-nac/ 内执行):
sumo-phonon-bandplot -f FORCE_SETS --poscar POSCAR --dim 2 2 2 --born BORN --seekpath --density 30 --units THz --to-json bands.json --font 'DejaVu Sans' --format png --dpi 180 --width 10 --height 6
本例得到6条分支、164个q点;Γ附近光学 TO 约7.78559 THz,LO约9.79094 THz。声学最低值约−2.3×10⁻⁷ THz,属于此数据的数值残余;不能据此断言显著动力学不稳定。2×2×2是演示规模,不代表所有声子频率已对超胞收敛。
3 与不含 NAC 的结果比较#
phonon-no-nac#
bash run.sh phonon-no-nac
这一步的原生命令(在生成的 work/phonon-no-nac/ 内执行):
sumo-phonon-bandplot -f FORCE_SETS --poscar POSCAR --dim 2 2 2 --seekpath --density 30 --units THz --font 'DejaVu Sans' --format png --dpi 180 --width 10 --height 6

本次最大频率差约2.00534 THz,主要体现极性光学模的长程静电贡献。Γ点LO极限会随接近方向而变,不能把某个方向的结果当成各向同性常数。
4 读取 band.yaml 和 JSON#
第一步同时写出 sumo_band.yaml 与 bands.json,之后可以直接读回,不必再次计算受力。
phonon-band-yaml#
bash run.sh phonon-band-yaml
这一步的原生命令(在生成的 work/phonon-band-yaml/ 内执行):
sumo-phonon-bandplot -f ../phonon-nac/sumo_band.yaml --units THz --font 'DejaVu Sans' --format png --width 10 --height 6 --dpi 180
phonon-json-overlay#
bash run.sh phonon-json-overlay
这一步的原生命令(在生成的 work/phonon-json-overlay/ 内执行):
sumo-phonon-bandplot --from-json ../phonon-nac/bands.json ../phonon-nac/bands.json --legend original same-data-roundtrip --font 'DejaVu Sans' --format png --width 10 --height 6 --dpi 180
JSON 叠图例子故意读入同一份文件两次,用于展示格式往返和图例;重合曲线不是两次独立物理计算。导出 phonon_band.dat 含不同分支/路径的分隔,自己重画时需按空行分组,不能把所有点连成一条折线。
参考:Sumo 官方 v2.4.0 源码。在线手册可能描述更新版本,本篇命令以集群所用版本和附件实际运行为准。