GPUMDkit 结构优化、NEB、XRD与声子
结构优化、NEB、XRD与声子:终端操作、输入输出、集群示例与适用条件。
阅读本篇目录
本篇以集群GPUMDkit 1.5.8为准。下载输入与参考结果,解压进入gpumdkit-examples。所有工具操作在自己的工作副本执行。
module load gpumdkit/1.5.8
gpumdkit.sh -doctor
按什么顺序操作#
这些入口调用ASE、Calorine等工具,主要在CPU上执行;它们与GPUMD的GPU主程序是不同入口。计算量大的任务放到申请的计算资源中。NEP优化必须查看末帧受力,达到最大步数并不等于收敛。NEB需要元素和原子顺序完全对应的起终态,并先优化端点。
本章功能与终端入口#
带“→”的是交互菜单:先运行gpumdkit.sh,再逐项输入编号;不是把箭头整行粘进终端。
| 功能 | 命令或菜单 | 输入、输出与关键条件 |
|---|---|---|
| NEP结构优化411 | gpumdkit.sh -calc minimize POSCAR si-nep.txt 0.02 1000 |
目标最大力0.02 eV/Å、最多1000步;minimize.xyz为优化轨迹 |
| NEB405 | gpumdkit.sh -calc neb init.xyz final.xyz 9 nep.txt |
之后交互选择固定原子;起终态同原子顺序,输出neb.xyz、neb.log和能垒图 |
| 轨迹XRD413 | gpumdkit.sh → 4 → 413 |
输入轨迹、输出、波长Å、2θ区间、bin数、元素、CPU线程;只支持正交晶胞 |
| NEP声子414 | gpumdkit.sh → 4 → 414 |
原胞、模型、QPOINTS、超胞因子、位移Å、输出名;需要phonopy,输出THz |
声子与Excel导出的独立补充环境#
414需要phonopy;PDOS导出xlsx需要openpyxl。只在自己的虚拟环境补充,公共模块保持原样:
module load gpumdkit/1.5.8
python -m venv --system-site-packages ~/.venvs/gpumdkit-extra
~/.venvs/gpumdkit-extra/bin/pip install phonopy==4.8.3 openpyxl==3.1.5
export GPUMDKIT_EXTRA_PYTHON=~/.venvs/gpumdkit-extra/bin/python
下方带-extra的示例用这个解释器调用工具自带脚本。
使用时注意#
共享环境的414声子入口需要另外配置phonopy;下方phonon-extra已使用独立补充环境实际计算。GPUMD原生GPU声子流程可直接参考声子教程。XRD示例使用Cu Kα波长1.5406 Å,10°–90°、400个bin;只展示正交硅低温结构与高温轨迹的对照,不含仪器展宽或定量相分数。
实际操作:calc-minimize#
从附件根目录新建这个示例:
python new-case.py calc-minimize
cd work/calc-minimize
执行以下命令:
gpumdkit.sh -calc minimize POSCAR si-nep.txt 0.02 1000
本次生成的参考文件:minimize.xyz。自己的输出会写在当前work/calc-minimize目录。
下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。
实际操作:xrd-crystal#
从附件根目录新建这个示例:
python new-case.py xrd-crystal
cd work/xrd-crystal
执行以下命令:
gpumdkit.sh
交互提示中依次输入(空行表示接受默认值):
4
413
model.xyz
xrd.out
1.5406
10 90
400
all
1
0
也可直接执行附件的bash run-tool.sh,它会读取配套answers.in。
本次生成的参考文件:xrd.out。自己的输出会写在当前work/xrd-crystal目录。
下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。
实际操作:xrd-liquid#
从附件根目录新建这个示例:
python new-case.py xrd-liquid
cd work/xrd-liquid
执行以下命令:
gpumdkit.sh
交互提示中依次输入(空行表示接受默认值):
4
413
trajectory.xyz
xrd.out
1.5406
10 90
400
all
1
0
也可直接执行附件的bash run-tool.sh,它会读取配套answers.in。
本次生成的参考文件:xrd.out。自己的输出会写在当前work/xrd-liquid目录。
下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。
实际操作:xrd-crystal-plot#
从附件根目录新建这个示例:
python new-case.py xrd-crystal-plot
cd work/xrd-crystal-plot
执行以下命令:
gpumdkit.sh -plt xrd xrd.out save
本次生成的参考文件:xrd.out、xrd.png。自己的输出会写在当前work/xrd-crystal-plot目录。

下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。
实际操作:xrd-liquid-plot#
从附件根目录新建这个示例:
python new-case.py xrd-liquid-plot
cd work/xrd-liquid-plot
执行以下命令:
gpumdkit.sh -plt xrd xrd.out save
本次生成的参考文件:xrd.out、xrd.png。自己的输出会写在当前work/xrd-liquid-plot目录。

下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。
实际操作:phonon-extra#
从附件根目录新建这个示例:
python new-case.py phonon-extra
cd work/phonon-extra
执行以下命令:
"$GPUMDKIT_EXTRA_PYTHON" "$GPUMDkit_path/Scripts/calculators/calc_phonon.py" < phonon.answers
gpumdkit.sh -plt phonon phonon_NEP.dat QPOINTS save
本次生成的参考文件:phonon.png。自己的输出会写在当前work/phonon-extra目录。

本次使用2原子Si原胞、2×2×2超胞、0.015 Å位移,Γ–X–L–Γ三个线段各20点,输出60个q点、6条声子支,频率单位THz。
下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。