CP2K专题

CP2K神经网络势:力核对与短时动力学

以真实能量差分、刚性变换和10步NVE说明如何检查NNP能量、力及轨迹,附完整终端操作。

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

本例使用鸢算科技集群CP2K 2026.2的原生Behler–Parrinello NNP接口,分别执行八个单模型、八模型平均、平移与旋转对照、18个有限差分能量点及10步NVE,共30个实际运行条件。模型采用现有CP2K数据目录中的bulkH2O-jcp2020-cnnp,没有新训练,也没有调用DFT。

下载完整输入、原始结果和读取绘图工具,保存为example.zip:

python3 -m zipfile -e example.zip .
cd cp2k-nnp-committee-example
bash results.sh
bash read.sh
bash plot.sh

以上读取已经完成的结果,图片在figures/,CSV在analysis-read/。本例用一个三原子水分子降低学习成本;所用势在体相水上训练,所以这里用于演示接口、模型平均和导数关系,不证明孤立分子或其他水相的预测精度。模型的能量零点也不能直接与另一种DFT总能相比。

程序采用Intel oneAPI 2024.2/ifx、Intel MPI 2021.13和MKL构建,选择cp2k/2026.2-8173m。此原生NNP入口使用已安装的对称函数和网络权重,不需要LibTorch;NequIP、Allegro、MACE等另外的接口有各自依赖,不能据此推断它们已在同一构建中可用。

1. 先用能量导数核对力#

配套脚本将三颗原子的九个坐标分别移动±0.0001 Å,执行18个独立单点。用中心差分:

F = -[E(x+h)-E(x-h)]/(2h)

能量是Hartree,位移是Å,所得先为Hartree/Å;乘0.529177210903 Å/Bohr后,才与程序输出的Hartree/Bohr比较。忘记这一步会使看似合理的力差一个单位因子。

bash read.sh
cat analysis-read/NNP-force-finite-difference.csv
bash plot.sh

九个力分量的原生输出与独立能量差分

本次最大差约1.22×10⁻⁸ Hartree/Bohr。它说明本例能量导数与力接口相符,不说明这个势已达到相同数值的DFT预测精度。位移幅度要兼顾截断误差和数值消减,不是越小越好。

2. 平移和旋转也要一起看#

脚本保留了原结构、整体平移和绕z轴旋转0.6 rad的三个输入。非周期体系整体刚性平移后能量不应改变;旋转后能量不变,但力向量应跟着旋转。只比较力的模长会漏掉方向错误。

cat inputs/translated/input.inp
cat inputs/rotated/input.inp

本例还检查总力与总力矩。它们是模型导数与变换的一致性检查,不能代替不同化学环境的训练集覆盖、参考DFT或测试集误差。

3. 让相同NNP走十步短MD#

cat inputs/committee-NVE10/input.inp

在静态输入外增加的动力学部分是:

&MOTION
 &MD
  ENSEMBLE NVE
  STEPS 10
  TEMPERATURE 300
  TIMESTEP 0.1
 &END MD
 &PRINT
  &TRAJECTORY
   &EACH
    MD 1
   &END EACH
  &END TRAJECTORY
  &VELOCITIES
   &EACH
    MD 1
   &END EACH
  &END VELOCITIES
 &END PRINT
&END MOTION

TEMPERATURE 300用于初始化速度;NVE没有维持300 K的恒温器。TIMESTEP 0.1单位fs,共走1 fs。全部完整输入和初始结构已在下载包中,配套run.slurm会执行这段任务。

head reference-results/committee-NVE10/nnp-1.ener
cat analysis-read/NNP-NVE10.csv

真实十步NNP轨迹的温度与守恒量

本次守恒量峰峰差约3.84×10⁻⁷ Hartree。如此短的轨迹只展示文件和步骤,不能证明长时间稳定性、相平衡或扩散;小分子的瞬时温度也不应按宏观温度理解。

4. 换成自己的体系时#

先确认元素、周期边界、模型训练域和单位,再用少量结构比较参考能量与力;检查模型分歧、能量导数、时间步敏感性后,才延长MD。需要体相水时应准备合适密度和周期晶胞,不能简单复制这里的孤立分子。

sbatch run.slurm
# 完成后
bash read.sh work analysis-new
bash plot.sh analysis-new figures-new

下载有限差分力表 · 下载短MD表。所有读取脚本使用本次真实原生输出;参考图片不会因你的新任务自动更新,绘图时明确指定自己的分析目录。

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

查看配图

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

100%查看原图 ↗