GPUMD专题

GPUMD 硅、锗与铜的势函数选择

硅、锗与铜的势函数选择,包含终端命令、完整输入与集群实际算例。

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

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

本篇做什么#

分别使用Tersoff型Si/Ge势和Cu的EAM势,在三个温度下做100 ps的NPT轨迹。

实际模型结构,坐标单位Å

1 准备算例#

python new-case.py si-npt-300
cd work/si-npt-300
ls

附件中已包含结构与势文件,不需要自己输入几百行坐标。若要从自己的结构开始,请先阅读建模与输入文件。

本篇对应以下算例,每个都可以用python new-case.py 目录名单独建立工作副本。

目录 用途或变化
si-npt-300 目录名标明温度、尺寸、随机种子或应变;完整输入见下方与附件
si-npt-600 目录名标明温度、尺寸、随机种子或应变;完整输入见下方与附件
si-npt-900 目录名标明温度、尺寸、随机种子或应变;完整输入见下方与附件
ge-npt-300 目录名标明温度、尺寸、随机种子或应变;完整输入见下方与附件
ge-npt-600 目录名标明温度、尺寸、随机种子或应变;完整输入见下方与附件
ge-npt-900 目录名标明温度、尺寸、随机种子或应变;完整输入见下方与附件
cu-npt-300 目录名标明温度、尺寸、随机种子或应变;完整输入见下方与附件
cu-npt-600 目录名标明温度、尺寸、随机种子或应变;完整输入见下方与附件
cu-npt-900 目录名标明温度、尺寸、随机种子或应变;完整输入见下方与附件

2 查看和修改输入#

元素名称和势文件必须匹配。文件同名potential.txt只是为了简化目录;附件SOURCES.json给出每个势的真实来源和哈希,不能将其他案例势文件随意覆盖。

si-npt-300 / run.in

potential potential.txt
velocity 300
time_step 1
ensemble npt_scr 300 300 100 0 100 1000
dump_thermo 1000
dump_xyz 50000 trajectory.xyz
compute_rdf 7 140 500
run 100000
展开其余实例的完整控制输入

si-npt-600 / run.in

potential potential.txt
velocity 600
time_step 1
ensemble npt_scr 600 600 100 0 100 1000
dump_thermo 1000
dump_xyz 50000 trajectory.xyz
compute_rdf 7 140 500
run 100000

si-npt-900 / run.in

potential potential.txt
velocity 900
time_step 1
ensemble npt_scr 900 900 100 0 100 1000
dump_thermo 1000
dump_xyz 50000 trajectory.xyz
compute_rdf 7 140 500
run 100000

ge-npt-300 / run.in

potential potential.txt
velocity 300
time_step 1
ensemble npt_scr 300 300 100 0 100 1000
dump_thermo 1000
dump_xyz 50000 trajectory.xyz
compute_rdf 7 140 500
run 100000

ge-npt-600 / run.in

potential potential.txt
velocity 600
time_step 1
ensemble npt_scr 600 600 100 0 100 1000
dump_thermo 1000
dump_xyz 50000 trajectory.xyz
compute_rdf 7 140 500
run 100000

ge-npt-900 / run.in

potential potential.txt
velocity 900
time_step 1
ensemble npt_scr 900 900 100 0 100 1000
dump_thermo 1000
dump_xyz 50000 trajectory.xyz
compute_rdf 7 140 500
run 100000

cu-npt-300 / run.in

potential potential.txt
velocity 300
time_step 1
ensemble npt_scr 300 300 100 0 100 1000
dump_thermo 1000
dump_xyz 50000 trajectory.xyz
compute_rdf 5 100 500
run 100000

cu-npt-600 / run.in

potential potential.txt
velocity 600
time_step 1
ensemble npt_scr 600 600 100 0 100 1000
dump_thermo 1000
dump_xyz 50000 trajectory.xyz
compute_rdf 5 100 500
run 100000

cu-npt-900 / run.in

potential potential.txt
velocity 900
time_step 1
ensemble npt_scr 900 900 100 0 100 1000
dump_thermo 1000
dump_xyz 50000 trajectory.xyz
compute_rdf 5 100 500
run 100000

3 提交并检查进度#

sbatch run.sh
squeue -u "$USER"
tail -n 20 run.log

默认脚本用于V100核时队列。P100或套餐用户先运行yskit,选择复制Slurm脚本及匹配的用户类型、GPUMD版本、GPU型号。单进程启动,不要再套mpirun启动多个相同实例。

本例在计算节点执行的命令为:

gpumd > run.log 2>&1

这条命令已经在提交脚本内,平时只需sbatch run.sh。等待任务结束、查看日志,再读取结果。

4 查看结果和本次数据#

比较每原子体积和结构变化;不同元素/不同势能量零点不同,不直接比较绝对势能高低。温度范围还需结合该势的训练或拟合适用区间。

head -n 12 thermo.out
本次集群算例 实际数值摘要
si-npt-300 后半程平均温度 (K):299.748;后半程体积 (ų/atom):20.1786
si-npt-600 后半程平均温度 (K):603.05;后半程体积 (ų/atom):20.3182
si-npt-900 后半程平均温度 (K):900.445;后半程体积 (ų/atom):20.4433
ge-npt-300 后半程平均温度 (K):301.197;后半程体积 (ų/atom):22.8133
ge-npt-600 后半程平均温度 (K):595.469;后半程体积 (ų/atom):22.9955
ge-npt-900 后半程平均温度 (K):900.043;后半程体积 (ų/atom):23.1466
cu-npt-300 后半程平均温度 (K):300.214;后半程体积 (ų/atom):12.1473
cu-npt-600 后半程平均温度 (K):604.727;后半程体积 (ų/atom):12.4424
cu-npt-900 后半程平均温度 (K):903.884;后半程体积 (ų/atom):12.7553

本次thermo.out开头的数据(完整文件在附件中):

    2.7824361133e+02    1.8414494488e+01   -2.3504388975e+03    3.8364418840e-01    3.5025970925e-01    3.9284429990e-01   -2.0250032645e-01    4.1153748935e-02   -6.0461570172e-02    2.1752128401e+01    0.0000000000e+00    0.0000000000e+00    0.0000000000e+00    2.1752128401e+01    0.0000000000e+00    0.0000000000e+00    0.0000000000e+00    2.1752128401e+01
    2.7649039459e+02    1.8298464510e+01   -2.3511281136e+03    1.1221503001e-01    1.0613185253e-01    1.2757865979e-01    2.2045151311e-01   -3.2500623293e-02    1.8047855099e-02    2.1766279178e+01    0.0000000000e+00    0.0000000000e+00    0.0000000000e+00    2.1766279178e+01    0.0000000000e+00    0.0000000000e+00    0.0000000000e+00    2.1766279178e+01
    2.8647527780e+02    1.8959276005e+01   -2.3509746480e+03    1.7184440860e-01    1.9040247360e-01    1.9728963417e-01   -2.5090549941e-01    7.5065993700e-02   -1.0908936428e-01    2.1763455022e+01    0.0000000000e+00    0.0000000000e+00    0.0000000000e+00    2.1763455022e+01    0.0000000000e+00    0.0000000000e+00    0.0000000000e+00    2.1763455022e+01
    3.1795780174e+02    2.1042827037e+01   -2.3502749783e+03   -7.2553764200e-02   -5.2022777663e-02   -5.7140839706e-02    1.7232003007e-01   -1.5883081688e-01    4.1819030559e-02    2.1782781827e+01    0.0000000000e+00    0.0000000000e+00    0.0000000000e+00    2.1782781827e+01    0.0000000000e+00    0.0000000000e+00    0.0000000000e+00    2.1782781827e+01

优先使用GPUMDkit工具#

任务完成后,在本篇算例输出目录执行:

module load gpumdkit/1.5.8
gpumdkit.sh -plt thermo save

在每个材料和温度目录中执行;多材料对比使用下方统一单位脚本。

工具的其他用法见GPUMDkit专题。本篇自带plot.py用于结构图、统一版式和多个算例对照,保留原始数据与符号。

5 用自己的输出重新画图#

回到附件根目录,加载绘图环境:

cd ../..
module load ase/3.29.0
python plot.py --chapter materials --root work

本篇包含多个目录,需先完成上表全部算例,才能画完整对照图。

如果想先查看附件里的参考数据,执行python plot.py --chapter materials。生成的图片在相应根目录的figures中,脚本只读取数据,不修改结果。

硅、锗与铜的势函数选择:集群实际输出绘制

换成自己的体系时#

先确认结构、元素和势函数适用范围,再确定温度、边界条件、时间步长与统计长度。随机初速度会使短程数值不同;复现时先比较数量级、趋势、能量稳定性和输出维度。正式研究应做势函数可靠性、尺寸与时间收敛检查。

返回专题导航 · GPUMD官方输入说明

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

查看配图

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

100%查看原图 ↗