Phono3py专题

Phono3py 命令、后端与缓存

映射本地六个可执行入口的实际实例,给出Rust/C切换、缓存与可复现环境操作。

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

本地Phono3py 4.8.2有六个可执行入口。本页把每个入口对应到真正跑过的实例;完整参数帮助保存在下载包 command-help/,不把帮助中所有开关都称为逐项实算。

下载完整实例包,解压到自己的工作目录。包内含真实输入、已有力输出、28个计算条件、工具命令、结果CSV和绘图脚本。

1. 六个入口#

命令 作用 本组实际使用
phono3py-init 位移生成与准备 Si16、0.03 Å、38个有效位移
phono3py-load 读YAML与力常数并计算 RTA/LBTE、散射、JDOS、自能、Grüneisen和缓存
phono3py 兼容入口 q4、σ=0.2 THz的RTA
phono3py-kaccum 按频率/MFP累计或求密度 11组标量/张量操作
phono3py-kdeplot 寿命分布可视化 300 K密度PNG
phono3py-coleigplot 碰撞矩阵特征值 实际导出coleigs.dat
module purge
module load phono3py/4.8.2
phono3py-init --help
phono3py-load --help

2. 默认Rust与C后端#

bash prepare.sh
bash run.sh rta-q4-s0p1-rust
bash run.sh rta-q4-s0p1-c
bash run.sh lbte-q4-s0p2-rust
bash run.sh lbte-q4-s0p2-c

默认使用Rust;切换C后端加 --legacy-backend。同条件RTA为295.840987855869与295.840987855886 W/(m·K),同条件LBTE为125.261220650505与125.261220650500 W/(m·K)。这些是数值一致性例子,不是速度排名;RTA这组σ为0.1,LBTE这组σ为0.2,不能拿这两组数字直接评价求解器差别。

力常数求解器symfc/traditional与输运Rust/C是不同层次的选择。外部DFT接口又是另一个层次。本组ABACUS力通过官方Phonopy解析器读取,不在 phono3py-init 后添加本版本没有的 --abacus 开关。

3. 声子缓存#

bash run.sh phonon-cache-q4
bash run.sh rta-read-phonon-q4

先 --write-phonon 生成 phonon-m444.hdf5,再用 --read-phonon。包内运行器会传递同一套力常数与缓存,读缓存的RTA与相同网格/温度/展宽的直接计算一致。

4. 相互作用强度缓存#

bash run.sh rta-write-pp-q4
bash run.sh rta-read-pp-q4

对应 --write-pp 与 --read-pp。网格、结构、力常数、带选择及相关设置变化后应重建缓存;不要仅因为文件名相同就复用。两种缓存都可以节省部分重复处理,但不会自动解决大网格的内存需求。

5. 线程与任务目录#

export OMP_NUM_THREADS=1
export OPENBLAS_NUM_THREADS=1
export MKL_NUM_THREADS=1
export RAYON_NUM_THREADS=1

实例包默认每个原生命令单线程,方便独立条件对照;Rust与数学库线程应一起控制,避免多层线程叠加。正式任务的进程/线程必须与申请资源相符。submit.slurm是56核CPU整节点模板,本例流程逐条件执行,不将整节点资源数当作每条命令的实用线程数。

脚本为每个条件建立 work/条件名/,记录实际命令与输入哈希;已存在的目录会受到保护。重新计算时使用新解压目录,避免不同条件输出覆盖。

6. 这组实例的范围#

六个入口和两种输运后端有实际操作;谱函数采用公开API。其他DFT解析器、随机位移、机器学习力常数、Wigner/跨带输运以及大规模网格分发属于另有输入条件的方法,不能根据这组Si实例认定它们都已实跑。需要某个功能时,先看实际版本帮助和该方法所需输入,再设计对应的计算任务。

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

查看配图

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

100%查看原图 ↗