GPUMD HNEMA模态热导率实操
用Si216演示HNEMA驱动力、模态数与频率分箱,读取kappamode并用独立JP重建总热导率。
阅读本篇目录
HNEMA在均匀热流驱动下,直接输出各振动模态组的热导率估计。本篇沿用Si216本征矢,比较按模态数分组和按频率分箱,并说明输出如何还原为总量。
1 下载与查看#
下载Si模态分析输入、真实结果和绘图脚本,解压后先查看已有结果:
unzip gpumd-Si216-GKMA-HNEMA-wave229*.zip -d modal-example
cd modal-example
sha256sum -c MANIFEST.sha256
bash view.sh
ls analysis/figures
view.sh只处理附件中的参考结果,不提交新计算。新计算使用普通账号,一任务一张GPU、一个CPU核。本例环境为GPUMD5.9.1、GCC13.3、CUDA12.9;绘图使用ASE3.29.0、NumPy和Matplotlib。附件提供P100与V100 16G模板,套餐用户可用 yskit 取得匹配账户的分区模板,保留其中的程序启动命令。
2 先本征矢,再HNEMA#
python3 prepare.py
cd cases/basis-p100-d0.005
basis_job=$(sbatch --parsable job.slurm)
cd ../p100-hnema-d0.005-count-s13579
sbatch --dependency=afterok:$basis_job job.slurm
案例目录已存在时跳过 prepare.py。真实生产输入如下:
potential potential.txt
time_step 1
velocity 300 seed 13579
ensemble nvt_nhc 300 300 100
run 20000
ensemble nvt_nhc 300 300 100
compute_hnema 1 1000 0.00005 0 0 1 648 bin_size 24
compute 0 1 1000 jp
dump_thermo 1000
dump_xyz 5000 trajectory.xyz velocity force potential precision double
run 50000
20 ps平衡后,在NHC下生产50 ps,沿x施加5×10⁻⁵ Å⁻¹驱动力。compute_hnema 的采样间隔1步,输出间隔1000步,即每1 ps输出一组区间平均;50 ps共有50个输出时刻。
HNEMA本身已经施加热流驱动。 在GPUMD5.9.1同一个run中不要再加 compute_hnemd,也不要同时加GKMA。需要独立总量时使用上面的 compute ... jp。HNEMA参数说明
3 两种分组怎么选#
| 写法 | 含义 | 本例结果 |
|---|---|---|
bin_size 24 |
每组24个模态 | 648÷24=27组 |
f_bin_size 1.0 |
每1 THz一个频率箱 | 16箱,包含可能为空的频段 |
按频率分箱时改为:
compute_hnema 1 1000 0.00005 0 0 1 648 f_bin_size 1.0
附件已有独立目录 p100-hnema-d0.005-frequency-s13579。在第二个初速度样例中使用 atom_range 0 0,它指定元素类型0,不是只选第0个原子;本例单元素Si因此仍包含全部216个原子。
4 导出、求和与画图#
wc -l kappamode.out compute.out
head -3 kappamode.out
cd ../..
module load ase/3.29.0
python3 analyze.py --cases cases --case p100-hnema-d0.005-count-s13579 --output analysis-new
ls analysis-new/figures

kappamode.out按每个时刻的所有分箱逐行排列,五列仍是x-in、x-out、y-in、y-out、z。本例将表格还原为50×27×5,先对27组求和,再将x-in+x-out作为x方向总估计。它已是热导率单位,无须再次除以温度、体积和驱动力。
独立JP需要按 κ=J·157376.9/(V·T·F_e) 换算,V用ų、T用K、F_e用Å⁻¹,J保持原生单位。资料包同时给出这条独立计算。按模态数与按频率的两例,模态总和与JP重建的最大差分别约0.001210、0.001230 W/(m·K),属于原生文本输出精度范围。
按模态数分组的第1组频率中心约3.0141 THz、含24模态,50 ps平均贡献约7.0427 W/(m·K)。按频率分箱的0–1 THz箱仅含3个近零声学模态,不能与“前24模态”当作同一组比较。
5 用于自己的材料时#
保留完整带符号数据,先比较累计平均、分箱总和与总热流,再测试驱动力、盒尺寸、采样时间与初速度。相同初速度和动力学设置下,仅改变输出分箱所得轨迹并不构成独立统计重复。
本例末帧用于结构示意;HNEMA轨迹保存的力包含外部热流驱动,不能直接当成裸势能面的力标签训练NEP。GKMA的无驱动NVE力也只是本例经典势的力,不是DFT标注。50 ps示例用于掌握流程,不能直接作为收敛的硅材料热导率。