GPUMD专题

GPUMD 建模与输入文件

建模与输入文件,包含终端命令、完整输入与集群实际算例。

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

本文使用鸢算科技集群GPUMD 5.9.1实际运行结果。先下载全部实例与绘图脚本并解压,进入gpumd-examples目录。参考结果在cases,新运行放在work;不要在参考目录重复运行,让输出不断追加。

三个主要输入#

  • model.xyz:结构、晶胞、周期边界;有些任务还需要质量、速度或分组。
  • potential.txt:本例使用的势函数;不能用坐标文件代替,也不是VASP的POTCAR。
  • run.in:按顺序执行的优化、平衡、采样与输出命令。

1 从头生成本次硅模型#

module load ase/3.29.0
python - <<'PYMODEL'
from ase.build import bulk
from ase.io import write
atoms = bulk('Si', 'diamond', a=5.431, cubic=True).repeat((4,4,4))
atoms.set_masses(atoms.get_masses())
write('model.xyz', atoms, format='extxyz')
print(len(atoms), atoms.get_volume())
PYMODEL
head -n 6 model.xyz

这里得到512原子、边长21.724 Å的周期硅。实际model.xyz开头如下,后续坐标在附件中,不需要手工补写:

512
Lattice="21.724 0.0 0.0 0.0 21.724 0.0 0.0 0.0 21.724" Properties=species:S:1:pos:R:3:masses:R:1 pbc="T T T"
Si       0.00000000       0.00000000       0.00000000      28.08500000
Si       1.35775000       1.35775000       1.35775000      28.08500000
Si       0.00000000       2.71550000       2.71550000      28.08500000
Si       1.35775000       4.07325000       4.07325000      28.08500000

第一行是原子数;第二行Lattice是3×3晶胞,pbc是三个方向的周期性,Properties声明每列含义。普通XYZ如果没有晶胞和周期信息,不能直接当周期MD输入。

2 石墨烯与分组实例#

python - <<'PYMODEL'
from ase.build import graphene, bulk
from ase.io import write
import numpy as np
sheet = graphene(a=2.46, size=(8,8,1), vacuum=10)
sheet.pbc = [True, True, False]
write('graphene.xyz', sheet, format='extxyz')
bar = bulk('Si','diamond',a=5.431,cubic=True).repeat((12,3,3))
bar.new_array('group', np.floor(bar.positions[:,0]/bar.cell[0,0]*12).astype(int))
write('grouped-si.xyz', bar, format='extxyz')
PYMODEL

这两个模型分别对应石墨烯实算与冷热源温度剖面。group从0计数,不能与原子编号混淆。PLUMED的ATOMS编号则从1开始。

3 选势、提交与画图#

从资料包中新建01-first-md工作目录,使用本篇生成的硅model.xyz替换其中结构,保留匹配的Si_Fan_2019势。按首次运行教程提交后:

python new-case.py 01-first-md
cd work/01-first-md
cp ../../model.xyz model.xyz
sbatch run.sh
# 等任务结束再返回根目录
cd ../..
python plot.py --chapter first-run --root work

结构图按真实坐标绘制,灰线表示当前盒内近邻连接;没有穿过周期边界画长键。晶胞边框与原子尺寸只是视觉示意,不代表原子的真实半径。

硅结构

石墨烯结构

返回专题

已有POSCAR时,优先用GPUMDkit转换#

module load gpumdkit/1.5.8
gpumdkit.sh -pos2exyz POSCAR model.xyz
head -n 2 model.xyz
# 需要扩胞时,先扩胞再转换
gpumdkit.sh -replicate POSCAR supercell.vasp 2 2 2
gpumdkit.sh -pos2exyz supercell.vasp supercell.xyz

前两条只转换格式;后两条按三个方向各重复2次,原子数乘8。如果需要按元素分组,可用gpumdkit.sh -addgroup POSCAR Si;冷热源按空间分组仍使用本篇ASE脚本,不能用元素分组替代。完整工具专题。

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

查看配图

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

100%查看原图 ↗