GPUMD 势函数加载与静态检查
Si、Cu、石墨烯与LJ实算,完整输入、力与能量差分、virial和压力提取。
阅读本篇目录
先确认模型能够描述你的材料,再关心作业怎样运行。GPUMD里不同势可以共用 potential.txt 这个文件名,但文件名不决定数学模型,也不保证包含你的元素。

1. 三个输入分别负责什么#
model.xyz:元素、坐标、晶胞、周期边界,以及可选质量、速度、分组。potential.txt:真正的势模型和参数,有些复合势还需要额外文件。run.in:按顺序执行的计算和输出命令。
本篇不先运行长MD,而是在同一结构上导出能量、力和virial,确认输入及提取方法。输入如下:
potential potential.txt
time_step 0
ensemble nve
dump_thermo 1
dump_xyz 1 snapshot.xyz precision double force potential virial
run 1
time_step 0 配合 run 1 只做静态导出,不是1fs动力学,也不是结构优化。结构里明确提供零速度,因此输出动能为零。precision double 控制文本输出位数,不会把势内部使用的混合精度计算改成全双精度。
2. 先做一个硅实例#
在已有计算资源内运行:
bash run.sh si-tersoff-mini
head -n 2 work/si-tersoff-mini/base/model.xyz
cat work/si-tersoff-mini/base/run.in
head -n 2 work/si-tersoff-mini/base/potential.txt
tail -n 1 work/si-tersoff-mini/base/thermo.out
完整19条件完成后统一分析;只计算一个条件时,可以先直接查看这个目录的日志、snapshot.xyz 和 thermo.out,整套分析会要求所有条件齐全。
硅结构的真实文件开头如下;完整216行坐标在附件中:
216
Lattice="16.293 0 0 0 16.293 0 0 0 16.293" Properties=species:S:1:pos:R:3:mass:R:1:vel:R:3 pbc="T T T"
Si 0.01360302666050462 -0.03062119771817958 -0.05422426738547877 28.085 0 0 0
Si 1.342393727232185 1.355646682689185 1.346877462146048 28.085 0 0 0
Si -0.0003771793163200383 2.738473037667248 2.747811792769211 28.085 0 0 0
Si 1.337530624535341 4.120142731011155 4.067997266073046 28.085 0 0 0
Si 2.727392120132139 -0.05255631298093915 2.720679045279769 28.085 0 0 0
mass 是质量字段名,单位amu;vel 是速度,单位Å/fs。三条晶胞矢量以Å写入 Lattice,pbc 分别控制三个方向。非NEP势通常使用最小镜像:周期方向的盒厚应大于两倍截断距离,不能把很小的原胞直接套给任意截断势。本例用扩胞后的模型。
3. 换不同材料和势,哪些文件要跟着换#
| 目录 | 势文件首行类型 | 原子数 | 物理模型 |
|---|---|---|---|
si-tersoff-mini |
tersoff_mini |
216 | 硅,Tersoff mini |
si-tersoff-1989 |
tersoff_1989 |
216 | 硅,Tersoff 1989 |
sic-tersoff-1988 |
tersoff_1988 |
512 | 碳化硅,首行实际为1988类型 |
cu-eam-zhou |
eam_zhou_2004 |
256 | 铜,Zhou EAM |
cu-eam-dai |
eam_dai_2006 |
256 | 铜,Dai EAM |
cuni-eam-alloy |
eam/alloy |
256 | 铜镍合金,表格化EAM |
ta-adp |
adp |
250 | 钽,角相关势 |
graphene-tersoff |
tersoff_1989 |
128 | 石墨烯,z方向自由边界 |
si-nep-3body |
nep4 |
216 | 硅,已有NEP三体描述符模型 |
si-nep-4body |
nep4 |
216 | 硅,已有NEP四体描述符模型 |
si-nep-5body |
nep4 |
216 | 硅,已有NEP五体描述符模型 |
graphene-nep |
nep4 |
128 | 石墨烯,已有NEP4模型 |
ar-lj |
lj |
256 | 氩,未平滑截断LJ |
binary-lj |
lj |
256 | 双组分LJ,教学自定义参数 |
binary-lj-reordered |
lj |
256 | 同一双组分结构,原子行置换 |
binary-lj-reversed-potential |
lj |
256 | 同一双组分结构,势元素与参数同步重排 |
sige-tersoff |
tersoff_1989 |
216 | 硅锗,按元素符号映射 |
sige-tersoff-reordered |
tersoff_1989 |
216 | 同一硅锗结构,原子行置换 |
这些目录提供实际参数和完整输入。SiC文件历史名称含 1989,但首行实际为 tersoff_1988,程序按内容识别。Cu的Zhou、Dai和表格化EAM是不同参数形式;ADP还包含角相关项,不能仅改后缀互换。
Si_2022_NEP4_3body/4body/5body 是已有模型描述符阶数的不同选择。这里的3/4/5不是元素种类数;NEP4也不能简单理解为“只有四体项”。本篇使用已有势预测,没有重新训练模型。不同势的绝对能量及零点也不能直接当作谁更准确的排名。
4. 怎么判断力和能量的对应关系#
脚本除了 base,还对第0号原子的x坐标分别做±0.02、±0.01Å位移,并保持其他输入一致。用中心差分 F_x≈-[E(x+h)-E(x-h)]/(2h) 与原生力比较,再用两个步长组合减少截断误差。

本次18组常规条件中,组合差分与原生力的最大差约为 0.000981 eV/Å。它检查的是同一模型的数值自洽,不代表相对实验或DFT的误差。如果差异明显,应检查势的截断、差分步长、精度和输入是否一致,而不是直接报告一个物性结论。
5. virial、压力和体积不能混用#
脚本还将整个晶胞和坐标一起按比例缩放±0.2%、±0.1%。在平滑区域,-dE/dε 对应virial的迹。virial是能量量纲eV,压力还需要除以体积,并换算为GPa。动能为零的这批静态结构可直接用 Pxx=Wxx/V×160.21766208 核对;有限温度时还需动能贡献。

thermo.out 数值行含18列:温度、动能、势能、六个压力分量和九个晶胞分量;文件中的注释行直接保留,Python用 numpy.loadtxt 读取即可。每原子virial不必逐个对称,全局输出按本版本的分量顺序组装,不能随意调换xy/yz等分量。
多元素输入接着看元素映射与顺序,差分跨截断的例子看LJ截断与能量差分。势形式和参数以GPUMD官方势函数文档及附件固定的5.9.1来源记录为准。
下载、提交与分析#
下载完整结构、势参数、控制输入、参考结果和绘图脚本,解压后进入目录。先分析随包真实结果:
bash analyze.sh
输出在 reference/analysis/RESULTS.json 和 reference/figures/。提交默认硅实例:
sbatch run.slurm
需要其他实例时,只修改 run.slurm 中的 CASE_NAME。整套19条件及依赖分析可以在新解压目录提交:
bash submit.sh
只看生成的脚本、不提交,用 bash submit.sh --dry-run。工作结果写入 work/条件名;整套19条件完成后运行 bash analyze.sh work。只运行一个条件时,直接查看对应的 snapshot.xyz、thermo.out 和日志;这个统一分析入口需要全套条件。已有 work/jobs 不覆盖,重新执行整套流程请重新解压。
默认分区为 gpu-8p100-hs,单进程、一张P100、一个CPU核。套餐用户按自己可用的分区修改,例如 gpu-8p100-tc;整套提交同时修改 submit.py 中的partition。正文的 bash run.sh 条件名 只在已分配的计算资源内执行,不在登录或管理节点直接启动计算,也不套 mpirun。
环境固定为 gpumd/5.9.1-p100,GCC13.3、CUDA12.9,公共构建含PLUMED2.10.1和NetCDF-C4.10.1;本批没有施加PLUMED偏置。CPU分析使用ASE3.29.0环境中的NumPy/Matplotlib。公开运行脚本按集群现有模块加载,不需要另行安装软件。
这些实例做静态输入和数值关系演示,不是材料精度、物性收敛或GPU性能评测。换成客户体系时,先确认元素、化学环境、边界与势的适用范围,再做优化和动力学。
层间势与hiPhive力常数#
新增层间势双层结构、GPUMD FCP、hiPhive专题及其基组、真实力拟合、导出与下游读取实操。提供真实ABACUS Si力标签、28训练/8留出分组、三种ILP组合与完整终端输入;固定几何差能、接口一致和DFT预测误差分别解释。