DP-GEN反应初始数据工作流
从水分子ReaxFF取样、团簇选择到真实Gaussian标注,按七个原生阶段生成DeepMD初始数据。
阅读本篇目录
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/,均不会启动新模拟。

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官方项目。