GPUMD专题

GPUMD 第一次运行与输出检查

第一次运行与输出检查,包含终端命令、完整输入与集群实际算例。

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

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

本篇做什么#

以512原子晶体硅为例,完成300 K平衡,再进行20 ps的NVE采样。

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

1 准备算例#

python new-case.py 01-first-md
cd work/01-first-md
ls

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

2 查看和修改输入#

先平衡再采样。velocity生成初速度,time_step的单位是fs;本例10000步平衡为10 ps。每个run之前重新写ensemble和所需输出指令,避免误以为所有关键字都会延续。

01-first-md / run.in

potential potential.txt
velocity 300
time_step 1
ensemble nvt_nhc 300 300 100
run 10000
ensemble nve
dump_thermo 100
dump_xyz 1000 trajectory.xyz
dump_restart 10000
run 20000

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

thermo.out第1列是温度,第2、3列是整个体系的动能和势能,不能把总能直接与每原子能量比较。NVE阶段观察K+U是否存在系统漂移,而不是要求温度每步恰好等于300 K。

head -n 12 thermo.out
本次集群算例 实际数值摘要
01-first-md 后半程平均温度 (K):292.77;后半程体积 (ų/atom):20.0239

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

    2.9866798602e+02    1.9766203996e+01   -2.3510747947e+03    6.5664745204e-01    6.9644575067e-01    6.6301433747e-01    2.8643965213e-01    3.4374341029e-02    6.8069865671e-02    2.1724000000e+01    0.0000000000e+00    0.0000000000e+00    0.0000000000e+00    2.1724000000e+01    0.0000000000e+00    0.0000000000e+00    0.0000000000e+00    2.1724000000e+01
    2.9148302683e+02    1.9290694816e+01   -2.3505987034e+03    7.0100240493e-01    6.9765290196e-01    7.0006470202e-01   -2.9338845452e-01   -4.8066471004e-03   -1.0690092770e-01    2.1724000000e+01    0.0000000000e+00    0.0000000000e+00    0.0000000000e+00    2.1724000000e+01    0.0000000000e+00    0.0000000000e+00    0.0000000000e+00    2.1724000000e+01
    2.6659725098e+02    1.7643724451e+01   -2.3489495520e+03    7.5552580857e-01    7.1496851998e-01    7.2108614638e-01    3.1653372845e-01    1.0162213188e-02    1.1037786264e-01    2.1724000000e+01    0.0000000000e+00    0.0000000000e+00    0.0000000000e+00    2.1724000000e+01    0.0000000000e+00    0.0000000000e+00    0.0000000000e+00    2.1724000000e+01
    2.8388462019e+02    1.8787823191e+01   -2.3500954289e+03    6.6351068701e-01    7.1008188298e-01    6.9532973744e-01   -2.0713285844e-01   -3.1182578898e-02   -3.9210039435e-02    2.1724000000e+01    0.0000000000e+00    0.0000000000e+00    0.0000000000e+00    2.1724000000e+01    0.0000000000e+00    0.0000000000e+00    0.0000000000e+00    2.1724000000e+01

优先使用GPUMDkit工具#

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

module load gpumdkit/1.5.8
gpumdkit.sh -plt thermo save

读取thermo.out,生成thermo.png。先看温度和能量是否稳定,再进行下一步统计。

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

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

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

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

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

第一次运行与输出检查:集群实际输出绘制

换成自己的体系时#

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

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

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

查看配图

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

100%查看原图 ↗