GPUMD 使用已有NEP势运行MD
使用已有NEP势运行MD,包含终端命令、完整输入与集群实际算例。
阅读本篇目录
本文使用鸢算科技集群GPUMD 5.9.1实际运行结果。先下载全部实例与绘图脚本并解压,进入gpumd-examples目录。参考结果在cases,新运行放在work;不要在参考目录重复运行,让输出不断追加。
本篇做什么#
用Si_2022_NEP4_4body势计算与入门例子相同的硅NVE轨迹。
1 准备算例#
python new-case.py 15-nep-md
cd work/15-nep-md
ls
附件中已包含结构与势文件,不需要自己输入几百行坐标。若要从自己的结构开始,请先阅读建模与输入文件。
2 查看和修改输入#
run.in仍使用potential,但文件内容变为NEP模型。先确认元素、训练覆盖结构和温度范围;能被程序读取不代表对任何硅相都可靠。不能把训练初期模型直接当生产势。
15-nep-md / run.in
potential potential.txt
velocity 300
time_step 1
ensemble nvt_nhc 300 300 100
run 10000
ensemble nve
dump_thermo 100
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 查看结果和本次数据#
图中展示温度与能量变化,用于确认工作流。经验势与NEP势可能使用不同能量零点,因此不据两条绝对总能曲线的高低判断谁更准确。
head -n 12 thermo.out
| 本次集群算例 | 实际数值摘要 |
|---|---|
15-nep-md |
后半程平均温度 (K):302.234;后半程体积 (ų/atom):20.0239 |
本次thermo.out开头的数据(完整文件在附件中):
3.0561119908e+02 2.0225714128e+01 -2.3483718534e+03 1.6832915008e+00 1.6201945283e+00 1.6188735771e+00 -8.8631762025e-02 -4.7260336740e-02 1.0836625770e-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.9553652649e+02 1.9558960265e+01 -2.3477040043e+03 1.6899425591e+00 1.6100859693e+00 1.6869146092e+00 -2.4346664169e-02 1.1109599291e-01 -1.7753052530e-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
3.0537580685e+02 2.0210135589e+01 -2.3483561277e+03 1.6667241386e+00 1.6601777248e+00 1.6413235876e+00 -4.7335612428e-03 -3.1666592695e-02 1.7229255844e-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
3.0272133378e+02 2.0034459391e+01 -2.3481797972e+03 1.6427517755e+00 1.6971535257e+00 1.6344116605e+00 -5.0156837326e-02 5.7505670871e-02 -9.4337475775e-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
读取NEP势分子动力学的thermo.out,查看结构运行的热力学稳定性。
工具的其他用法见GPUMDkit专题。本篇自带plot.py用于结构图、统一版式和多个算例对照,保留原始数据与符号。
5 用自己的输出重新画图#
回到附件根目录,加载绘图环境:
cd ../..
module load ase/3.29.0
python plot.py --chapter nep-md --root work
如果想先查看附件里的参考数据,执行python plot.py --chapter nep-md。生成的图片在相应根目录的figures中,脚本只读取数据,不修改结果。

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