GPUMDkit专题

GPUMDkit 结构与数据格式转换

结构与数据格式转换:终端操作、输入输出、集群示例与适用条件。

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

本篇以集群GPUMDkit 1.5.8为准。下载输入与参考结果,解压进入gpumdkit-examples。所有工具操作在自己的工作副本执行。

module load gpumdkit/1.5.8
gpumdkit.sh -doctor

按什么顺序操作#

先区分只有坐标的结构文件和带能量、力、应力标签的训练集。格式转换不会替你计算缺少的DFT标签。OUTCAR转换在独立目录运行:-out2xyz会重建NEPdataset,-out2exyz会覆盖当前train.xyz。LAMMPS类型编号与元素顺序必须一一对应。

本章功能与终端入口#

带“→”的是交互菜单:先运行gpumdkit.sh,再逐项输入编号;不是把箭头整行粘进终端。

功能 命令或菜单 输入、输出与关键条件
OUTCAR shell转换 gpumdkit.sh -out2xyz vasp-results 递归读取OUTCAR,输出NEPdataset/train.xyz;会重建NEPdataset
OUTCAR Python转换 gpumdkit.sh -out2exyz vasp-results 输出当前train.xyz;不要覆盖原训练集
Born有效电荷转换 gpumdkit.sh -out2xyz_bec vasp-results 每个OUTCAR最后构型;需要完整BORN EFFECTIVE CHARGES块,输出bec:R:9
CP2K输出转换 gpumdkit.sh -cp2k2xyz 在CP2K结果根目录选择SCF/MD路线;能量、坐标、力和晶胞须对应
MTP cfg转换 python "$GPUMDkit_path/Scripts/format_conversion/mtp2xyz.py" train.cfg Pd Ag 菜单102;元素顺序与cfg类型编号对应
ABACUS转换 gpumdkit.sh → 1 → 104 选择SCF/MD与数据目录;从running_scf.log/running_md.log读取
POSCAR转extxyz gpumdkit.sh -pos2exyz POSCAR model.xyz 保留晶胞和周期性;坐标转换不提供DFT标签
extxyz转POSCAR gpumdkit.sh -exyz2pos model.xyz 逐帧写POSCAR_1.vasp等;按元素排列,不导出速度
CIF转POSCAR gpumdkit.sh -cif2pos structure.cif converted.vasp 读取CIF晶胞与原子
CIF转extxyz gpumdkit.sh -cif2exyz structure.cif converted.xyz 输出GPUMD常用结构格式
POSCAR转LAMMPS gpumdkit.sh -pos2lmp POSCAR lammps.data 需要OVITO,共享环境暂不包含;可先用ASE转换
LAMMPS dump转extxyz gpumdkit.sh -lmp2exyz dump.lammpstrj Si 需要OVITO;后面元素必须按type=1,2…排列
XDATCAR转换 gpumdkit.sh -xdat2exyz XDATCAR converted.xyz 坐标轨迹转换,不补能量力标签
ASE轨迹转换 gpumdkit.sh -traj2exyz structure.traj converted.xyz ASE二进制traj读取
extxyz转DeepMD gpumdkit.sh -xyz2dp train.xyz Te Pb 带标签训练集,输出deepmd_data;type_map顺序严格按Te Pb
DeepMD转extxyz gpumdkit.sh -dp2xyz deepmd_data roundtrip.xyz 递归寻找type.raw、type_map.raw和set.000

使用时注意#

共享环境未安装OVITO,因此pos2lmp与lmp2exyz需另配依赖。坐标格式转换可改用ASE,例如:

python - <<'ASE'
from ase.io import read, write
a = read("POSCAR")
write("lammps.data", a, format="lammps-data", atom_style="atomic")
ASE

本次DeepMD双向转换保持原始类型顺序;转回后应再核对每帧原子数、晶胞、能量和力。

实际操作:pos2exyz#

从附件根目录新建这个示例:

python new-case.py pos2exyz
cd work/pos2exyz

执行以下命令:

gpumdkit.sh -pos2exyz POSCAR converted.xyz

本次生成的参考文件:converted.xyz。自己的输出会写在当前work/pos2exyz目录。

下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。

实际操作:exyz2pos#

从附件根目录新建这个示例:

python new-case.py exyz2pos
cd work/exyz2pos

执行以下命令:

gpumdkit.sh -exyz2pos model.xyz

本次生成的参考文件:见附件reference/exyz2pos,其中保留对应结构与输出。自己的输出会写在当前work/exyz2pos目录。

下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。

实际操作:cif2pos#

从附件根目录新建这个示例:

python new-case.py cif2pos
cd work/cif2pos

执行以下命令:

gpumdkit.sh -cif2pos structure.cif converted.vasp

本次生成的参考文件:见附件reference/cif2pos,其中保留对应结构与输出。自己的输出会写在当前work/cif2pos目录。

下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。

实际操作:cif2exyz#

从附件根目录新建这个示例:

python new-case.py cif2exyz
cd work/cif2exyz

执行以下命令:

gpumdkit.sh -cif2exyz structure.cif converted.xyz

本次生成的参考文件:converted.xyz。自己的输出会写在当前work/cif2exyz目录。

下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。

实际操作:traj2exyz#

从附件根目录新建这个示例:

python new-case.py traj2exyz
cd work/traj2exyz

执行以下命令:

gpumdkit.sh -traj2exyz structure.traj converted.xyz

本次生成的参考文件:converted.xyz。自己的输出会写在当前work/traj2exyz目录。

下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。

实际操作:xdat2exyz#

从附件根目录新建这个示例:

python new-case.py xdat2exyz
cd work/xdat2exyz

执行以下命令:

gpumdkit.sh -xdat2exyz XDATCAR converted.xyz

本次生成的参考文件:converted.xyz。自己的输出会写在当前work/xdat2exyz目录。

下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。

实际操作:xyz2dp#

从附件根目录新建这个示例:

python new-case.py xyz2dp
cd work/xyz2dp

执行以下命令:

gpumdkit.sh -xyz2dp train.xyz Te Pb

本次生成的参考文件:deepmd_data/Te125Pb125/set.000/box.npy、deepmd_data/Te125Pb125/set.000/force.npy、deepmd_data/Te125Pb125/set.000/energy.npy、deepmd_data/Te125Pb125/set.000/coord.npy。自己的输出会写在当前work/xyz2dp目录。

下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。

实际操作:dp-roundtrip#

从附件根目录新建这个示例:

python new-case.py dp-roundtrip
cd work/dp-roundtrip

执行以下命令:

gpumdkit.sh -xyz2dp train.xyz Te Pb
gpumdkit.sh -dp2xyz deepmd_data roundtrip.xyz

本次生成的参考文件:roundtrip.xyz、deepmd_data/Te125Pb125/set.000/box.npy、deepmd_data/Te125Pb125/set.000/force.npy、deepmd_data/Te125Pb125/set.000/energy.npy、deepmd_data/Te125Pb125/set.000/coord.npy。自己的输出会写在当前work/dp-roundtrip目录。

下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。

返回GPUMDkit专题 · 查看全部功能索引 · GPUMD实算教程

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

查看配图

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

100%查看原图 ↗