GPUMD专题

GPUMD 平衡态Green–Kubo热导率

平衡态Green–Kubo热导率,包含终端命令、完整输入与集群实际算例。

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

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

本篇做什么#

用两组独立初速度展示硅热流自相关与热导率积分。

1 准备算例#

python new-case.py 11-emd-1
cd work/11-emd-1
ls

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

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

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

2 查看和修改输入#

平衡后使用NVE采样,compute_hac 10 1000 10对应10 fs取样和约10 ps相关窗口。每组生产轨迹200 ps;两个seed展示重复的必要性。

11-emd-1 / run.in

potential potential.txt
velocity 300 seed 27
time_step 1
ensemble nvt_nhc 300 300 100
run 10000
ensemble nve
compute_hac 10 1000 10
dump_thermo 1000
run 200000

11-emd-2 / run.in

potential potential.txt
velocity 300 seed 28
time_step 1
ensemble nvt_nhc 300 300 100
run 10000
ensemble nve
compute_hac 10 1000 10
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 查看结果和本次数据#

hac.out第7、8列相加得到x方向积分,第9、10列相加得到y方向,第11列为z方向。不能只拿其中一项当完整热导率。这里时间和盒子都偏小,曲线差异是统计信息,不是可直接引用的收敛热导率。

head -n 12 hac.out
本次集群算例 实际数值摘要
11-emd-1 后半程平均温度 (K):301.634;后半程体积 (ų/atom):20.0239
11-emd-2 后半程平均温度 (K):301.099;后半程体积 (ų/atom):20.0239

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

    5.000000000000000e-02    4.418455272840573e-02    2.063165157957874e-02    6.995052836476322e-02    2.008254616266097e-02    5.162027425342959e-02    4.471750653385905e-01    1.986695312144526e-01    6.714761698795091e-01    1.932628237003626e-01    5.215655277109309e-01
    1.500000000000000e-01    1.463414194104788e-02    1.573142665453852e-02    4.179820427964612e-02    1.561457895783627e-02    1.779062927997896e-02    9.255448122292489e-01    5.100763509300711e-01    1.676337786608156e+00    4.970246751772265e-01    1.073986641834744e+00
    2.500000000000000e-01    1.874267117424358e-02    1.466521107228619e-02    4.287933083802407e-02    1.445640698124759e-02    1.787523277737137e-02    1.210028429721278e+00    7.857459593759981e-01    2.461623736643105e+00    7.758069163391126e-01    1.365737699701579e+00
    3.500000000000000e-01    2.195779116711918e-02    1.480924575649209e-02    4.585359642121981e-02    1.493374393311691e-02    2.468441817131035e-02    1.616417948793855e+00    1.062765705385298e+00    3.314045502514505e+00    1.046881896419475e+00    1.755553699046720e+00

优先使用GPUMDkit工具#

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

module load gpumdkit/1.5.8
gpumdkit.sh -plt emd x --save --save-data
gpumdkit.sh -plt emd2 save

读取hac.out,第一条生成emd.png、data_emd.txt和data_emd.npz,第二条显示所有方向。工具显示的波动与本篇重复轨迹比较不是同一种不确定度定义。

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

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

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

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

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

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

平衡态Green–Kubo热导率:集群实际输出绘制

换成自己的体系时#

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

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

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

查看配图

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

100%查看原图 ↗