ALAMODE专题

ALAMODE声子寿命与平均自由程

实际调用原生分析工具,提取寿命、阻尼、MFP、累计热导率和边界模型,并解释权重与单位。

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

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输入与适用范围

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

查看配图

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

100%查看原图 ↗