DeePMD专题

DeePMD准备结构、能量、力和virial标签

用实际Si₂和H₂O检查单位、元素顺序与训练集拆分。

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

下载结构、标签、完整JSON、冻结模型、参考结果和脚本。解压到自己的工作目录,以下命令从附件根目录开始。预处理可交互操作;训练、批量预测和MD在申请的计算资源内运行。所有新结果进入work,不覆盖reference。

1. 先确认DFT标签来源#

Si来自实际VASP6.6.1自洽单点:PBE、ENCUT550eV、EDIFF=1E-6;晶胞固定,沿一个光学模改变相对位移。没有把非自洽能带输出混作训练标签。水来自ABACUS3.10.1实际自洽单点。

文件 构型 用途
labels/all.xyz 9个Si₂ 原始单点标签
labels/train.xyz 6 ±0.04、±0.08、±0.16Å位移族
labels/test.xyz 3 0、±0.12Å;训练中监测的留出
labels/water.xyz 1个H₂O O/H类型顺序转换示例

同一±位移对留在同一侧。这里只是单一分支插值流程,正式研究要增加独立结构族和最终测试集;不要把连续MD每一帧随机拆分造成高度相似样本泄漏。

2. 看一帧实际输入#

2
Lattice="0.0 2.734462956 2.734462956 2.734462956 0.0 2.734462956 2.734462956 2.734462956 0.0" Properties=species:S:1:pos:R:3:forces:R:3 virial="-0.002068147824030018 1.0974991538108203e-05 2.8075559748648894e-06 1.0974991538108203e-05 -0.0020684030563913693 4.083717781621657e-06 2.8075559748648894e-06 4.083717781621657e-06 -0.002068147824030018" displacement_A=0.0 source_frame_id=0 source_case=si-mode-+0.000 energy=-10.84830721 pbc="T T T"
Si       0.00000000       0.00000000       0.00000000       0.00000000      -0.00000000       0.00000000
Si       1.36723000       1.36723000       1.36723000      -0.00000000       0.00000000      -0.00000000

坐标和晶胞是Å,energy是整个构型的eV,force是eV/Å,virial是整个构型的eV。virial不是GPa,也不是每原子值。Si输入保留绝对DFT能量,不手动把每帧能量减成零。

3. 转成DeepMD NPY#

先在新目录操作,防止与另一个转换例混合:

module load gpumdkit/1.5.8
mkdir -p work/convert-si
cp labels/train.xyz work/convert-si/train.xyz
cd work/convert-si
gpumdkit.sh -xyz2dp train.xyz Si
cd ../..

水用同样流程,元素映射明确写成O H:

mkdir -p work/convert-water
cp labels/water.xyz work/convert-water/train.xyz
cd work/convert-water
gpumdkit.sh -xyz2dp train.xyz O H
cd ../..

水原子行顺序是H、H、O,type_map为O H时type.raw应为1、1、0;不能只看元素表而改变原子行。转换产生的deepmd_data中包含按组成划分的system,各自有type.raw、type_map.raw和set.000/*.npy。本例现成训练集在data/train、data/test。

4. 检查后再训练#

module load deepmd-kit/3.2.0
python -B check.py

本例四组实际转换共95项逐帧检查,对比E、F、virial、坐标和晶胞,最大差异低于1E-10。脚本check.py检查附件数据和结果;重新转换自己的数据仍须核对源文件。

实际Si位移标签与6/3拆分

缺力不能补成零;没有virial就不设置virial训练权重。导出E/F/virial时保留元素顺序、帧顺序和单位。生成新结构后需要重新计算DFT,不能复制旧结构标签。

接着做训练、冻结和测试。

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

查看配图

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

100%查看原图 ↗