GPUMD专题

GPUMD 势函数加载与静态检查

Si、Cu、石墨烯与LJ实算,完整输入、力与能量差分、virial和压力提取。

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

先确认模型能够描述你的材料,再关心作业怎样运行。GPUMD里不同势可以共用 potential.txt 这个文件名,但文件名不决定数学模型,也不保证包含你的元素。

本次Si、Cu、石墨烯和Ar实际结构

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 核对;有限温度时还需动能贡献。

实际virial与晶胞应变能量差分

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预测误差分别解释。

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

查看配图

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

100%查看原图 ↗