GPUMD专题

GPUMD HNEMD热导率与驱动力

HNEMD热导率与驱动力,包含终端命令、完整输入与集群实际算例。

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

本文使用鸢算科技集群GPUMD 5.9.1实际运行结果。先下载全部实例与绘图脚本并解压,进入gpumd-examples目录。参考结果在cases,新运行放在work;不要在参考目录重复运行,让输出不断追加。

本篇做什么#

沿x方向施加两档驱动力,用累计平均曲线学习HNEMD输出。

1 准备算例#

python new-case.py 12-hnemd-0.00001
cd work/12-hnemd-0.00001
ls

附件中已包含结构与势文件,不需要自己输入几百行坐标。若要从自己的结构开始,请先阅读建模与输入文件。

本篇对应以下算例,每个都可以用python new-case.py 目录名单独建立工作副本。

目录 用途或变化
12-hnemd-0.00001 目录名标明温度、尺寸、随机种子或应变;完整输入见下方与附件
12-hnemd-0.00002 目录名标明温度、尺寸、随机种子或应变;完整输入见下方与附件

2 查看和修改输入#

compute_hnemd 1000 Fe 0 0中的Fe单位Å⁻¹。配合nvt_nhc控温,不能直接换成Langevin恒温器而忽略其对动力学的影响。两档弱场只演示比较方法,不能据此保证线性响应已收敛。

12-hnemd-0.00001 / run.in

potential potential.txt
velocity 300
time_step 1
ensemble nvt_nhc 300 300 100
run 10000
ensemble nvt_nhc 300 300 100
compute_hnemd 1000 0.00001 0 0
compute_shc 5 200 0 200 120
dump_thermo 1000
run 200000

12-hnemd-0.00002 / run.in

potential potential.txt
velocity 300
time_step 1
ensemble nvt_nhc 300 300 100
run 10000
ensemble nvt_nhc 300 300 100
compute_hnemd 1000 0.00002 0 0
compute_shc 5 200 0 200 120
dump_thermo 1000
run 200000

3 提交并检查进度#

sbatch run.sh
squeue -u "$USER"
tail -n 20 run.log

默认脚本用于V100核时队列。P100或套餐用户先运行yskit,选择复制Slurm脚本及匹配的用户类型、GPUMD版本、GPU型号。单进程启动,不要再套mpirun启动多个相同实例。

本例在计算节点执行的命令为:

gpumd > run.log 2>&1

这条命令已经在提交脚本内,平时只需sbatch run.sh。等待任务结束、查看日志,再读取结果。

4 查看结果和本次数据#

kappa.out每行为一个输出区间的平均量;沿x驱动时第1、2列相加得到纵向分量。用累计平均观察随采样长度的变化,同时检查温度。短轨迹瞬时或累计值出现负数,不应人为截成0。

head -n 12 kappa.out
本次集群算例 实际数值摘要
12-hnemd-0.00001 后半程平均温度 (K):299.727;后半程体积 (ų/atom):20.0239;后半程κx (W/mK):59.0551
12-hnemd-0.00002 后半程平均温度 (K):299.889;后半程体积 (ų/atom):20.0239;后半程κx (W/mK):196.367

本次kappa.out开头的数据(完整文件在附件中):

    -1341.164261032631885     -575.597770518884772      -13.327095069024230      -13.614276879808115     -552.781585463098509
    -1575.356061723031416     -367.111300017069368      174.554305590225283      236.761898849359198     -602.515867474366701
    -1074.030119519183700     -462.676260759609022     -186.276547523446908      417.193730726436968     -384.678909195746598
     -597.540726250701596     -474.289378409824110     -768.430170071624161      636.398189319041080     -321.982033535008725

优先使用GPUMDkit工具#

任务完成后,在本篇算例输出目录执行:

module load gpumdkit/1.5.8
mkdir kit-hnemd
cp run.in model.xyz kappa.out kit-hnemd/
cd kit-hnemd
gpumdkit.sh -plt hnemd 1 20 --save --save-data
cd ..

单独目录只放HNEMD总热导所需输入,保留shc.out原文件。1.5.8的谱后处理会裁剪负总谱;本例谱有统计噪声,故不采用该裁剪结果作物理结论。带符号谱见下方独立绘图与谱热流教程。

工具的其他用法见GPUMDkit专题。本篇自带plot.py用于结构图、统一版式和多个算例对照,保留原始数据与符号。

5 用自己的输出重新画图#

回到附件根目录,加载绘图环境:

cd ../..
module load ase/3.29.0
python plot.py --chapter hnemd --root work

本篇包含多个目录,需先完成上表全部算例,才能画完整对照图。

如果想先查看附件里的参考数据,执行python plot.py --chapter hnemd。生成的图片在相应根目录的figures中,脚本只读取数据,不修改结果。

HNEMD热导率与驱动力:集群实际输出绘制

换成自己的体系时#

先确认结构、元素和势函数适用范围,再确定温度、边界条件、时间步长与统计长度。随机初速度会使短程数值不同;复现时先比较数量级、趋势、能量稳定性和输出维度。正式研究应做势函数可靠性、尺寸与时间收敛检查。

返回专题导航 · GPUMD官方输入说明

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

查看配图

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

100%查看原图 ↗