DeePMD专题

DeePMD接入ASE与短NVE轨迹

16个Si原子实跑100步,核对能量力应力和总能漂移。

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

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

1. 在计算资源中运行#

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

DeePMD环境包含训练依赖;脚本追加现有ASE模块的纯Python路径,不覆盖DeePMD本身的NumPy、PyTorch,也不修改公共安装。结果在work/ase-md:initial.xyz、trajectory.xyz、thermo.csv与VALIDATION.json。

2. 关键操作#

from ase import units
from ase.io import read
from ase.md.verlet import VelocityVerlet
from ase.md.velocitydistribution import MaxwellBoltzmannDistribution, Stationary
from deepmd.calculator import DP
import numpy as np
atoms = read('labels/test.xyz', index=0).repeat((2, 2, 2))
atoms.calc = DP(model='reference/dpa1-1500/model.pth')
print(atoms.get_potential_energy())
print(atoms.get_forces())
print(atoms.get_stress(voigt=False))
MaxwellBoltzmannDistribution(atoms, temperature_K=20,
                            rng=np.random.RandomState(20261028))
Stationary(atoms)
dynamics = VelocityVerlet(atoms, 0.1 * units.fs)
dynamics.run(100)

完整脚本在计算前用DeepPot原生接口逐项对照ASE。E最大差0,F最大差4.45E-16eV/Å,ASE应力与−W/V最大差1.63E-17eV/ų。

3. 看实际轨迹#

设置/结果 数值
原子 Si₁₆,2×2×2重复
初始热分布目标 20K,移除质心运动
步长 0.1fs
步数/总时间 100步/10fs
总能相对首帧最大偏移 6.34E-8eV/atom
瞬时温度范围 11.12–30.81K

实际Si结构与10fs NVE轨迹

小体系温度会振荡,NVE不通过热浴维持20K。本例只说明接口、单位和这一短时轨迹的数值稳定性;不能据10fs总能稳定就证明势对真实声子、扩散或热导率可靠。

LAMMPS/GPUMD需要各自与模型格式匹配的接口和构建,不能将pth直接重命名成NEP文本。本例未把ASE轨迹当作这两种程序已跑通,相关集成另按对应教程。

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

查看配图

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

100%查看原图 ↗