GPUMD专题

GPUMD 高温扩散与速度相关

高温扩散与速度相关,包含终端命令、完整输入与集群实际算例。

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

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

本篇做什么#

以4000 K目标温度的硅展示明显扩散,并与3000/3500 K的受限运动轨迹对照。

实际模型结构,坐标单位Å

上图为4000 K目标温度轨迹末帧;初始建模采用晶体硅,物态应结合MSD与结构一起判断。

1 准备算例#

python new-case.py liquid-si-4000-s51
cd work/liquid-si-4000-s51
ls

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

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

目录 用途或变化
liquid-si-4000-s51 目录名标明温度、尺寸、随机种子或应变;完整输入见下方与附件
08-diffusion 目录名标明温度、尺寸、随机种子或应变;完整输入见下方与附件
liquid-si-3000-s51 目录名标明温度、尺寸、随机种子或应变;完整输入见下方与附件
liquid-si-3000-s52 目录名标明温度、尺寸、随机种子或应变;完整输入见下方与附件
liquid-si-3500-s51 目录名标明温度、尺寸、随机种子或应变;完整输入见下方与附件
liquid-si-3500-s52 目录名标明温度、尺寸、随机种子或应变;完整输入见下方与附件
liquid-si-4000-s52 目录名标明温度、尺寸、随机种子或应变;完整输入见下方与附件

2 查看和修改输入#

主例compute_msd 10 1000与compute_sdc 10 1000的相关窗口为10 ps;生产轨迹300 ps。应使用多个时间原点平均,不能只取单个原子的起点终点位移。

liquid-si-4000-s51 / run.in

potential potential.txt
velocity 4000 seed 51
time_step 1
ensemble nvt_nhc 4000 4000 100
run 50000
ensemble nve
compute_msd 10 1000
compute_sdc 10 1000
compute_viscosity 10 1000
compute_rdf 8 160 500
dump_thermo 1000
dump_xyz 100000 trajectory.xyz
run 300000
展开其余实例的完整控制输入

08-diffusion / run.in

potential potential.txt
velocity 3500
time_step 1
ensemble nvt_nhc 3500 3500 100
run 30000
ensemble nve
compute_msd 10 500
compute_sdc 10 500
compute_viscosity 10 500
dump_xyz 10000 trajectory.xyz
dump_thermo 100
run 100000

liquid-si-3000-s51 / run.in

potential potential.txt
velocity 3000 seed 51
time_step 1
ensemble nvt_nhc 3000 3000 100
run 50000
ensemble nve
compute_msd 10 1000
compute_sdc 10 1000
compute_viscosity 10 1000
compute_rdf 8 160 500
dump_thermo 1000
dump_xyz 100000 trajectory.xyz
run 300000

liquid-si-3000-s52 / run.in

potential potential.txt
velocity 3000 seed 52
time_step 1
ensemble nvt_nhc 3000 3000 100
run 50000
ensemble nve
compute_msd 10 1000
compute_sdc 10 1000
compute_viscosity 10 1000
compute_rdf 8 160 500
dump_thermo 1000
dump_xyz 100000 trajectory.xyz
run 300000

liquid-si-3500-s51 / run.in

potential potential.txt
velocity 3500 seed 51
time_step 1
ensemble nvt_nhc 3500 3500 100
run 50000
ensemble nve
compute_msd 10 1000
compute_sdc 10 1000
compute_viscosity 10 1000
compute_rdf 8 160 500
dump_thermo 1000
dump_xyz 100000 trajectory.xyz
run 300000

liquid-si-3500-s52 / run.in

potential potential.txt
velocity 3500 seed 52
time_step 1
ensemble nvt_nhc 3500 3500 100
run 50000
ensemble nve
compute_msd 10 1000
compute_sdc 10 1000
compute_viscosity 10 1000
compute_rdf 8 160 500
dump_thermo 1000
dump_xyz 100000 trajectory.xyz
run 300000

liquid-si-4000-s52 / run.in

potential potential.txt
velocity 4000 seed 52
time_step 1
ensemble nvt_nhc 4000 4000 100
run 50000
ensemble nve
compute_msd 10 1000
compute_sdc 10 1000
compute_viscosity 10 1000
compute_rdf 8 160 500
dump_thermo 1000
dump_xyz 100000 trajectory.xyz
run 300000

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 查看结果和本次数据#

msd.out第2至4列相加为三维MSD,长时线性区斜率除以6得到D,单位Ų/ps。1 Ų/ps=1E-8 m²/s。sdc.out提供另一条Green–Kubo估计路径;短窗口两者不必完全相等,不能只挑更好看的数。 3000/3500 K轨迹MSD接近平台,拟合斜率很小且随窗口变号,不应称为可靠液体扩散系数。4000 K两次重复出现明显扩散;不能把三组直接合并拟合单一Arrhenius活化能。

head -n 12 msd.out
本次集群算例 实际数值摘要
liquid-si-4000-s51 后半程平均温度 (K):4088.62;后半程体积 (ų/atom):20.0239;MSD后半窗口拟合D (Ų/ps):2.57585
08-diffusion 后半程平均温度 (K):3587.84;后半程体积 (ų/atom):20.0239;MSD后半窗口拟合D (Ų/ps):0.000156271
liquid-si-3000-s51 后半程平均温度 (K):2971.85;后半程体积 (ų/atom):20.0239;MSD后半窗口拟合D (Ų/ps):6.50816e-05
liquid-si-3000-s52 后半程平均温度 (K):3108.53;后半程体积 (ų/atom):20.0239;MSD后半窗口拟合D (Ų/ps):0.0001052
liquid-si-3500-s51 后半程平均温度 (K):3561.83;后半程体积 (ų/atom):20.0239;MSD后半窗口拟合D (Ų/ps):0.00027899
liquid-si-3500-s52 后半程平均温度 (K):3579.62;后半程体积 (ų/atom):20.0239;MSD后半窗口拟合D (Ų/ps):0.000473387
liquid-si-4000-s52 后半程平均温度 (K):4180.04;后半程体积 (ų/atom):20.0239;MSD后半窗口拟合D (Ų/ps):2.7717

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

0 0 0 0 0 0 0
0.01 0.0116295 0.0116219 0.011641 0.581477 0.581095 0.582048
0.02 0.0422729 0.042237 0.0423121 1.53217 1.53075 1.53356
0.03 0.082905 0.0828089 0.0829745 2.03161 2.0286 2.03312

优先使用GPUMDkit工具#

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

module load gpumdkit/1.5.8
gpumdkit.sh -plt msd save
gpumdkit.sh -plt sdc save
gpumdkit.sh -plt msd_sdc save
gpumdkit.sh -plt vac save

前3条读本例GPUMD原生七列msd.out,vac读取sdc.out。四列轨迹后处理MSD不能直接代替七列数据。工具的斜率标注采用40%–80%窗口,与本篇后半程拟合窗口不同,数值应分别标注。

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

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

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

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

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

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

高温扩散与速度相关:集群实际输出绘制

换成自己的体系时#

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

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

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

查看配图

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

100%查看原图 ↗