GPUMD专题

GPUMD 层间势与双层结构实操

用石墨烯、h-BN和MoS₂实例配置三种ILP组合,扫描层距并提取能量与层合力。

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

石墨烯、h-BN和MoS₂双层结构,需要分别描述层内成键与层间作用。本例提供Tersoff+ILP、NEP+ILP、SW+ILP三种组合,先做固定几何的能量和力,再扫描层间距离,帮助确认势文件与分层标记是否配套。

实际计算结构的局部窗口,不代表整个超胞原子数

1. 先选一组实际模型#

python3 list_cases.py
head -n 4 inputs/graphene-ab-tersoff-ilp/model.xyz

石墨烯双层为1024原子、每层512;MoS₂为1176原子、每层588。x/y周期,z方向不周期,盒高80Å。面内周期厚度大于32Å,以适配本例16Å的ILP截断。石墨烯/h-BN共用2.49Å面内晶格,因此两层带有共格应变,不能解释成无应变异质结。

模型的扩展XYZ头含 group:I:2:每个原子有两列整数分组。先看势文件使用哪一列,再改分组;不能只按元素自动分层,同为C的上下层也必须区分。

2. 配好势文件与分组#

Tersoff+ILP实例的完整 run.in:

potential potential.txt second.txt
time_step 0
ensemble nve
dump_thermo 1
dump_xyz 1 snapshot.xyz precision double mass force potential virial group_labels
run 1

potential.txt 是ILP参数,second.txt 是层内Tersoff参数。SW+ILP同样使用两个文件,但SW参数、元素和分组必须来自对应MoS₂模型;不能仅替换文件名混用。

NEP+ILP改为:

potential potential.txt map.txt

map.txt 在本例中的完整内容:

0 1 C_2024_NEP4.txt
2
0
0

首行把 C_2024_NEP4.txt 指定给所用分组方法;后面的2表示两个分组,再用两个0把这两层都映射到该NEP文件。ILP区分上下层,NEP负责各层内部。MoS₂的分层还要区分两层中的S–Mo–S子层,示例已写好六个子层标签。文件语法以GPUMD NEP+ILP说明为准。

3. 运行一组,读能量和力#

在已分配的一张P100任务内:

bash run.sh graphene-ab-tersoff-ilp
cat work/graphene-ab-tersoff-ilp/base/thermo.out
head -n 4 work/graphene-ab-tersoff-ilp/base/snapshot.xyz

time_step 0、run 1 只计算当前几何的静态量,不是MD。程序会计算基准、上下移动0.01/0.02Å、远离参照以及13个间距点。完整实际基准数据为:

条件 原子数 层中心距离/Å E−E远离/eV 上层Fz/eV·Å⁻¹
graphene-aa-tersoff-ilp 1024 3.35 -16.697635 22.885923
graphene-ab-tersoff-ilp 1024 3.35 -24.874900 1.607287
graphene-bn-tersoff-ilp 1024 3.35 -20.755199 16.957725
graphene-aa-nep-ilp 1024 3.35 -16.697635 22.885923
graphene-ab-nep-ilp 1024 3.35 -24.874900 1.607287
mos2-aa-sw-ilp 1176 6.30 2.888378 75.409305
mos2-rotated-sw-ilp 1176 6.30 -26.870158 -2.355537

4. 画距离曲线,判断所得量#

7组实际层间能量曲线;完整区间和局部放大

上层合力与能量导数对照

分析导出 reference/analysis/条件名-scan.csv,四列是层中心距离、相对远离参照的总能量、按界面面积归一化的能量和上层z向合力。这里用E(d)−E(远离);按原子报告时除以上层原子数,按面积报告时eV/Ų乘16.021766208得到J/m²。

MoS₂-AA在6.3Å的相对能量为正、上层受排斥,是该固定堆垛和几何的结果;旋转上层会得到不同曲线。不要把这个点当作优化后的黏附能。石墨烯Tersoff与NEP组合共享相同C–C层间参数,层间差能接近不代表两种层内势对任意性质同样准确。负能量导数与层合力相符,说明这些输入中的能量和力相互一致;热边界电导仍需另做非平衡或相关函数采样。

下载与完整运行#

下载输入、真实力数据、参考输出和全部绘图脚本,解压到自己的工作目录。先重画随包结果,不重新计算:

bash analyze.sh

输出在 reference/analysis/ 和 reference/figures/。在新解压目录提交完整的两种hiPhive拟合、7组层状结构和44组FCP条件:

sbatch run.slurm

默认一张P100、一个CPU核、30分钟,分区为 gpu-8p100-hs;GPU套餐用户按自己的权限改为例如 gpu-8p100-tc。需要按条件并行提交时:

bash submit.sh

这会生成带依赖的拟合、51个条件和分析作业。只生成脚本用 bash submit.sh --dry-run。全部结束后查看 work/analysis/ 和 work/figures/,或重新分析:

bash analyze.sh work work-fcp fit

bash fit.sh 是CPU拟合入口,bash run.sh 条件名 是已经分配计算资源后的单例入口;不要在登录节点直接启动GPUMD。拟合脚本不覆盖已有 fit/,计算也不覆盖已有结果;重新计算整套请重新解压。单例完成后可以直接查看输出,统一分析需要整套条件齐全。

本例使用GPUMD5.9.1 P100构建(GCC13.3、CUDA12.9)、hiPhive1.5及ASE环境,读取导出文件使用Phonopy4.8.3、phono3py4.8.2。入口脚本会加载对应模块或已安装的工具环境。当前示例是短小的操作参考,不代替势函数、超胞、截断、位移幅度与采样的收敛检查。

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

查看配图

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

100%查看原图 ↗