NepTrain专题

NepTrain调用GPUMD进行温度探索

300 K和600 K各1 ps的原生MD、轨迹输出与实际温压变化。

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

下载输入、模型、真实数据和短命令脚本(ZIP)。本例用第一代NEP,在同一扰动Si8晶胞上做两个温度的NVT探索,轨迹供后续选样。

1 先分清时间和输出频率#

cat inputs/run.in
cat inputs/Si8.vasp

附件的2.2.0工作流模板沿用旧输出名。短入口会将其转换为GPUMD 5.9.1实际支持的 dump_xyz,原生300 K任务的关键输入为:

potential nep.txt
velocity 300
ensemble nvt_nhc 300 300 100
time_step 1.0
dump_thermo 50
dump_xyz 50 dump.xyz velocity force potential
run 1000

时间步1 fs,1000步合计1 ps;每50步输出一次,得到20帧,不含第0步。600 K分支把控温目标改成600/600,其初始速度仍来自300 K,随后由热浴调整。参数100是热浴耦合步数。

不要把附件旧模板单独交给新GPUMD执行;使用工作流短命令可完成版本间输出格式衔接,势、时间步、温度和采样频率保持原设定。

2 运行流程与寻找轨迹#

首次完整运行:

bash prepare.sh
bash workflow.sh
bash status.sh

已经开始后继续查看状态。输出汇集在项目的dispatcher与loop/cache下:

find dispatcher -name run.in
find dispatcher -name thermo.out
find dispatcher -name dump.xyz

每个温度一个独立Slurm任务,各用一张GPU。参考数据可以直接查看:

bash run.sh
head analysis/neptrain-MD.csv

两温度真实MD的温度、能量、压力和最小原子距离

3 图中最需要理解的三件事#

第一,NVT保持晶胞体积150.712473 ų,压力约9–11 GPa,是压缩初始结构的实际结果。设温度300 K并不等于设定了常压;若需要压强控制,应另选合适的系综、平衡流程和训练覆盖范围。

第二,八个原子的瞬时温度波动很大。控温目标不是每一帧必须等于目标值;1 ps也不足以证明平衡或统计收敛。不能把这条短轨迹用于宣称收敛扩散、热导率或相变温度。

第三,轨迹可用于选样不等于势在所有轨迹上准确。本例检查原子距离、有限能量与温度,并对选出的四帧做真实DFT补标;这些检查不能替代更广泛的独立DFT验证。

4 换成自己的结构#

在首次prepare之前修改 inputs/Si8.vasp 和 inputs/run.in,并使用元素、能量定义和结构范围匹配的训练数据。改变温度列表需要同步修改配置生成器中的温度项,不能只改标题。

cat inputs/run.in
cat inputs/nep.in
cat data/SPLIT.json

先确认势适用,再拉长轨迹。保存足够频率的结构供补标,避免只保留thermo而没有对应的原子构型。

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

查看配图

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

100%查看原图 ↗