dpdata专题

dpdata全部格式与实例导航

按1.1.0的84个别名、51个实际实现查找读取与导出实例,明确标签、单位和可选依赖。

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

同一程序的不同输出文件,应选择对应格式;同一格式也可能有多个别名。本篇以集群安装的dpdata 1.1.0为准:84个别名对应51个实现,不把别名重复算成不同功能。每个实现都有可以定位到的读取、导出或对象操作例子,具体支持方向见下表。

1 准备实例包#

下载格式实例包,保存为dpdata-formats.zip。

python3 -m zipfile -e dpdata-formats.zip .
cd dpdata-formats
bash run.sh

最后一条列出示例名,选中一个再运行,例如bash run.sh qe-cp。脚本调用集群现有Python 3.11环境中的dpdata 1.1.0、NumPy等依赖,只读取、转换数据,不启动原计算程序。需要批作业时可用sbatch job.slurm qe-cp,只申请1个CPU。输出保存在results/。

数据来源分开看。 Si9训练标签和ABACUS示例来自鸢算科技此前的真实计算;FHI-aims、OpenMX、SIESTA、PWmat、AMBER等格式样本来自固定提交的dpdata官方示例。这批在集群实际运行的是解析和转换,并不把上游计算说成集群新跑的DFT或MD。包内SOURCES.json保存来源与文件哈希。

2 先选对数据模型#

|你有什么文件|使用对象|要注意什么| |只有元素、晶胞、坐标|System|POSCAR、GRO、LAMMPS结构并不含DFT标签| |真实能量、力、维里|LabeledSystem|字段必须确实存在;缺失不补零| |多个化学组成或原子数|MultiSystems|按组成归并;混合格式要保留每帧类型| |分子键级、形式电荷|BondOrderSystem|MOL/SDF需要RDKit,不能只保留XYZ坐标|

import dpdata
s = dpdata.System('POSCAR', fmt='vasp/poscar')
print(s.get_natoms(), s.data.keys())

51个格式实现的示例字段与对象导出类型

图中蓝色表示这份样本有相应数组,白色表示未提供,金色表示对象或输入文件导出。晶胞数组可能只是非周期占位值,不能单凭这一列判断周期性;图展示样本字段,不承诺每个程序、版本或参数组合都会输出这些字段。

3 全部格式索引#

表中每条命令运行一个代表方向。只写不读的格式不做虚假的往返转换;别名共享同一实现,任选表中别名即可。

格式及别名 安装版支持方向 附件中的实际例子
3dmol 结构/对象导出 bash run.sh 3dmol-view
abacus/lcao/md, abacus/md, abacus/pw/md 标签读取 bash run.sh abacus-md
abacus/lcao/relax, abacus/pw/relax, abacus/relax 标签读取 bash run.sh abacus-relax
abacus/lcao/scf, abacus/pw/scf, abacus/scf 标签读取 bash run.sh abacus-scf
abacus/stru, stru 结构读取、结构/对象导出 bash run.sh structure-abacus-stru
amber/md 结构读取、标签读取 bash run.sh amber-md
ase/structure 结构读取、标签读取、结构/对象导出、标签导出、多体系 bash run.sh bridge-ase-structure
ase/traj 结构读取、标签读取、结构/对象导出、标签导出 bash run.sh rw-ase-traj
atom.config, final.config, pwmat/atom.config, pwmat/final.config 结构读取、结构/对象导出 bash run.sh structure-pwmat-atom.config
contcar, poscar, vasp/contcar, vasp/poscar 结构读取、结构/对象导出 bash run.sh structure-vasp-poscar
cp2k/aimd_output 标签读取 bash run.sh cp2k-md
cp2k/output 标签读取 bash run.sh cp2k-scf
deepmd, deepmd/raw 结构读取、标签读取、结构/对象导出 bash run.sh rw-deepmd-raw
deepmd/comp, deepmd/npy 结构读取、标签读取、结构/对象导出 bash run.sh rw-deepmd-npy
deepmd/hdf5 结构读取、标签读取、结构/对象导出、多体系 bash run.sh rw-deepmd-hdf5
deepmd/hdf5/mixed 结构/对象导出、多体系 bash run.sh mixed-deepmd-hdf5-mixed
deepmd/lmdb, lmdb 结构读取、标签读取、结构/对象导出、标签导出、多体系 bash run.sh rw-deepmd-lmdb
deepmd/npy/mixed 结构/对象导出、多体系 bash run.sh mixed-deepmd-npy-mixed
dftbplus 标签读取 bash run.sh dftb-NH3
dump, lammps/dump 结构读取、结构/对象导出 bash run.sh structure-lammps-dump
extxyz, gpumd/xyz, mace/xyz, nequip/xyz, quip/gap/xyz, quip/gap/xyz_file 标签读取、标签导出、多体系 bash run.sh rw-extxyz
fhi_aims/md, fhi_aims/output 标签读取 bash run.sh fhi-md
fhi_aims/scf 标签读取 bash run.sh fhi-scf
gaussian/fchk 标签读取 bash run.sh gaussian-fchk
gaussian/gjf 结构读取、结构/对象导出 bash run.sh structure-gaussian-gjf
gaussian/log 标签读取 bash run.sh gaussian-log
gaussian/md 标签读取 bash run.sh gaussian-md
gro, gromacs/gro 结构读取、结构/对象导出 bash run.sh structure-gromacs-gro
lammps/lmp, lmp 结构读取、结构/对象导出 bash run.sh structure-lammps-lmp
list 结构/对象导出 bash run.sh frame-list
mlmd, movement, pwmat/mlmd, pwmat/movement, pwmat/output 标签读取 bash run.sh pwmat-md
mol, mol_file 分子键图 bash run.sh bonds-charged-mol
n2p2 标签读取、标签导出 bash run.sh rw-n2p2
openmx/md 结构读取、标签读取 bash run.sh openmx-methane
orca/spout 标签读取 bash run.sh orca-molecule
outcar, vasp/outcar 标签读取、多体系 bash run.sh vasp-outcar
psi4/inp 结构/对象导出 bash run.sh psi4-input
psi4/out 标签读取 bash run.sh psi4-molecule
pymatgen/computedstructureentry 标签导出 bash run.sh pymatgen-energy-entry
pymatgen/molecule 结构读取、结构/对象导出 bash run.sh bridge-pymatgen-molecule
pymatgen/structure 结构读取、结构/对象导出 bash run.sh bridge-pymatgen-structure
qe/cp/traj 结构读取、标签读取 bash run.sh qe-cp
qe/pw/scf 标签读取 bash run.sh qe-pw
sdf, sdf_file 分子键图 bash run.sh bonds-sdf
siesta/aimd_output 结构读取、标签读取 bash run.sh siesta-md
siesta/output 结构读取、标签读取 bash run.sh siesta-scf
sqm/in 结构/对象导出 bash run.sh sqm-input
sqm/out 结构读取、标签读取 bash run.sh sqm-molecule
vasp/string 结构/对象导出 bash run.sh vasp-string
vasp/xml, xml 标签读取 bash run.sh vasp-xml
xyz 结构读取、结构/对象导出 bash run.sh structure-xyz

4 需要特别留意的接口#

  • vasp/string返回POSCAR字符串,读取字符串可用io.StringIO配合vasp/poscar;不要调用不支持的from vasp/string。
  • 3dmol返回查看器,适合交互显示,不是能量/力训练数据格式。
  • 当前pymatgen/molecule写出端返回对象,读取端实际需要文件路径;见对象与混合体系教程。
  • psi4/inp、sqm/in生成输入,生成输入不等于已经完成量化计算。
  • mol/sdf需要RDKit;3dmol需要py3Dmol。附件bash optional.sh仅向当前目录的addons/安装所需可选包,不修改公共环境。

格式数据如何核对,继续看电子结构程序输出、分子与AMBER输出、标签存储格式与结构格式。

图表数据与重新绘图#

bash plot.sh

图件保存在plots/,原数值另存于附件reference-data/。直接下载:AMBER-energy.csv、DFTB-NH3-geometry-forces.csv、Gaussian-CH4-trajectory.csv、Si9-reference.csv。

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

查看配图

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

100%查看原图 ↗