ALAMODE声子寿命与平均自由程
实际调用原生分析工具,提取寿命、阻尼、MFP、累计热导率和边界模型,并解释权重与单位。
阅读本篇目录
RTA计算结束后,可继续查看哪些声子寿命较长、哪些平均自由程范围贡献了热导率,以及边界散射近似如何改变结果。本页以附件4³网格、300K结果演示终端操作。
1. 使用附件里的原生工具入口#
在已分配CPU环境和附件根目录执行:
module load alamode/1.5.0
python tool-cli.py --calc tau --temp 300 cases/q4-gauss5/rta.result
tool-cli.py复用官方Python前端的参数构造器,调用当前安装的原生 analyze_phonons。所有结果仍由原生程序计算;入口脚本随附件提供,公共安装保持原样。
完整流程也可以一次运行:
python tools.py
python analyze.py
这是 run.sh中的后两步。已有 tools-output/时会保留目录;需要重复整个流程时重新解压。
2. 寿命表的各列是什么#
head tools-output/q4-gauss5/tau300.txt
主要列依次为:不可约q点编号、分支编号、频率、寿命、速度模长、MFP、Multiplicity,以及九个热导率张量分量。
| 量 | 单位/含义 |
|---|---|
| 频率 | cm⁻¹ |
| 寿命τ | ps |
| 速度 | m/s |
| 平均自由程Λ | nm,Λ=τ×速度×0.001 |
| Multiplicity | 对应不可约态的权重,求和时需要使用 |
Γ点接近零频的声学模在该离散求和中被排除,表里的0不表示实验声子寿命为0。附件 analysis/lifetimes.csv用 zero_mode_omitted标记这些行。

3. 阻尼、线宽与寿命#
附件CSV同时给出本例约定的阻尼半宽Γ与完整半高全宽 FWHM=2Γ,单位cm⁻¹。相应寿命转换为:
tau_ps = 1 / (4*pi*0.0299792458*Gamma_cm^-1)
这里的光速使用cm/ps。不要把cm⁻¹、THz和角频率直接混用,也不要漏掉阻尼半宽约定中的因子2。
head analysis/lifetimes.csv
需要看固定q点、固定模式随温度的寿命时:
python tool-cli.py --calc tau --kpoint 2 --mode 1 cases/q4-gauss5/rta.result
4. 把模贡献加回总热导率#
原生寿命表包含Multiplicity。下面按相同列顺序将模贡献求和:
python - <<'PY'
import numpy as np
a = np.loadtxt('tools-output/q4-gauss5/tau300.txt')
kappa = (a[:, 6, None] * a[:, 7:]).sum(axis=0).reshape(3, 3)
print('热导率张量 W/(m K):\n', kappa)
print('迹平均:', np.trace(kappa)/3)
PY
本例还用Bose/经典单模热容、速度平方、寿命、q点数和原胞体积独立重建迹平均热导率。数值检查保存在 analysis/VALIDATION.json;实际表格在 analysis/conductivity.csv。
5. 累计热导率怎样算#
python tool-cli.py --calc cumulative --temp 300 \
--length 10000:100 --gridtype linear \
cases/q4-gauss5/rta.result
该例截止长度0至9900nm,覆盖此4³、300K示例中全部有限贡献模。当前工具在给定长度步长后生成 0…Lmax−dL的网格,因此本例实际100点。换数据后应把上限设得高于最大MFP,并检查末端是否回到总热导率。
若只想用x方向投影的平均自由程划分贡献,可使用:
python tool-cli.py --calc cumulative2 --direction 1 --temp 300 \
--length 10000:100 cases/q4-gauss5/rta.result
累计曲线是按平均自由程筛选模贡献,不是对原子尺度晶粒边界做了一次新的分子动力学模拟。
6. 边界模型与热导率谱#
python tool-cli.py --calc kappa_boundary --size 1000 cases/q4-gauss5/rta.result
尺寸单位nm。当前原生工具对单模贡献使用 L/(L+2Λ),其中Λ为MFP。附件比较100、1000、10000nm;这是边界散射近似,尺寸参数也不表示当前集群或计算结构的尺寸。

热导率谱在 rta.kl_spec。横轴为波数,纵轴为谱密度;对波数轴积分才能得到对应热导率,峰值本身不是总热导率。
head cases/q4-gauss5/rta.kl_spec
cat analysis/boundaries.csv
python analyze.py
工具五类计算入口 tau、kappa、cumulative、cumulative2、kappa_boundary均在本例实际使用。更换散射模型、网格或力常数后,需要重新生成对应输出。RTA输入与适用范围