DP-GEN专题

DP-GEN反应初始数据工作流

从水分子ReaxFF取样、团簇选择到真实Gaussian标注,按七个原生阶段生成DeepMD初始数据。

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

dpgen init_reaction面向小气相分子的初始数据准备。流程是ReaxFF取样 → 选取完整分子团簇 → Gaussian计算能量和力 → 导出DeepMD数据。本例在鸢算科技集群实际运行一分子水:20步ReaxFF、11帧轨迹,最终选出4个水团簇并完成Gaussian计算。

这里的“反应初始化”是功能名称。2fs短轨迹只用来演示操作,没有发生可用于研究的化学反应,不能据此计算反应速率、自由能或势垒。

1 下载和先看结果#

下载反应初始化实例包,保存为reaction.zip。

python3 -m zipfile -e reaction.zip .
cd dpgen-init-reaction
bash results.sh
bash plot.sh

results.sh读取已计算的参考数值,plot.sh生成figures/,均不会启动新模拟。

水分子实际结构和20步ReaxFF轨迹的两条OH键长

2 准备输入与可选工具#

cat inputs/data.water
cat templates/param.json
bash setup.sh
python prepare.py

本包初始结构使用20Å立方取样盒,一分子中O、H、H共3原子。LAMMPS的atom_style charge输入需要初始电荷列,QEq在取样中更新电荷;元素顺序["O","H"]必须与data文件的类型1、2相符。ReaxFF文件为LAMMPS随附ffield.reax.cho,原有作者说明保留。

{
  "type_map": [
    "O",
    "H"
  ],
  "reaxff": {
    "data": "__ROOT__/inputs/data.water",
    "ff": "__ROOT__/inputs/ffield.reax.cho",
    "control": "__ROOT__/inputs/lmp_control",
    "temp": 300,
    "tau_t": 10.0,
    "dt": 0.1,
    "nstep": 20,
    "dump_freq": 2
  },
  "cutoff": 3.5,
  "dataset_size": 2,
  "qmkeywords": "HF/6-31G(d) Force Geom=PrintInputOrient NoSymm SCF=Tight"
}

dt=0.1的单位是fs;20步对应2fs,dump_freq=2连同初始帧共11帧。cutoff=3.5控制团簇截取半径,工具保留完整分子或自由基。dataset_size=2是每种成键类型的选样参数,不是保证最终总共2帧;本例实际生成4个三原子水团簇。

setup.sh仅在当前例子addons/安装MDDatasetBuilder1.3.10、GaussianRunner1.0.34及固定版本依赖,使用现有Python3.11分析环境;不修改公共Python。DP-GEN0.14.0使用自己的Python3.12。Gaussian使用用户自己已初始化、已授权的C.01环境,网站附件不包含程序。

3 运行自己的新计算#

先检查调度配置,再启动一个主控:

cat machine.json
bash workflow.sh

附件使用Slurm CPU分区模板,申请1个任务×56CPU、独占整节点,这个小例内部的ReaxFF、团簇处理和Gaussian各只启动1个CPU进程。CPU分区按56核整节点计费,小体系建议与自己的多组计算统筹安排。生产任务均由DPDispatcher以当前普通账号提交,不在登录节点直接跑模拟。

七个原生阶段依次是:

阶段 做什么 主要输出
0 准备ReaxFF输入 00.reaxff/task.000/
1 LAMMPS短NVT取样 lammpstrj
2 连接轨迹供团簇工具读取 01.build/task.000/
3 MDDatasetBuilder选择分子团簇 dataset_dpgen_init_gjf/
4 整理Gaussian任务 02.fp/task.*/input
5 计算真实能量、力 各任务output
6 转换为DeepMD数据 03.data/
bash status.sh
cat record.reaction
ls 03.data

record.reaction记录已完成阶段0至6。关闭终端前可按主控恢复教程管理进程;同一目录不要同时开两个主控,也不要把scancel当成关闭主控。

4 版本与输入注意事项#

本例LAMMPS30Sep2026 CPU模块使用oneAPI2024.2、PLUMED2.9.4环境。DP-GEN0.14.0生成旧样式名reax/c与qeq/reax,附件启动脚本仅在当前任务副本中替换为reaxff与qeq/reaxff,原生in.lmp保留。ReaxFF的control文件与LAMMPS输入的语法不同,本例直接写simulation_name yskj_water。

下一篇能量、力与数据导出展示真实Gaussian输入和结果。

功能范围及参数含义参见DP-GEN官方反应初始化文档与MDDatasetBuilder官方项目。

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

查看配图

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

100%查看原图 ↗