GPUMDkit NEP预测、描述符与异常构型
NEP预测、描述符与异常构型:终端操作、输入输出、集群示例与适用条件。
阅读本篇目录
本篇以集群GPUMDkit 1.5.8为准。下载输入与参考结果,解压进入gpumdkit-examples。所有工具操作在自己的工作副本执行。
module load gpumdkit/1.5.8
gpumdkit.sh -doctor
按什么顺序操作#
nep.txt必须覆盖输入的全部元素。Si例使用Si模型,PbTe例使用官方PbTe模型,不能混用。-calc nep给结构补预测标签,-prediction把预测值和参考值写成NEP兼容out文件;后者要求输入已有参考能量与力。能量和virial为eV/atom、力为eV/Å、应力为GPa;预测列在前、参考列在后。
本章功能与终端入口#
带“→”的是交互菜单:先运行gpumdkit.sh,再逐项输入编号;不是把箭头整行粘进终端。
| 功能 | 命令或菜单 | 输入、输出与关键条件 |
|---|---|---|
| NEP能量力预测402 | gpumdkit.sh -calc nep model.xyz predicted.xyz si-nep.txt |
Calorine CPU计算,输出带预测属性的extxyz |
| NEP参考值对比 | gpumdkit.sh -prediction train.xyz nep.txt 1 |
写energy/force/stress/virial_train.out;最后参数CPU进程数 |
| DPA参考值对比 | gpumdkit.sh -prediction_dpa train.xyz dpa_model.pth |
需要兼容的DeepMD环境和DPA模型;GPUMDkit共享环境未含deepmd |
| 描述符403 | gpumdkit.sh -calc des train.xyz descriptors.npy nep.txt Pb |
指定元素,输出NumPy数组 |
| 原子态密度404 | gpumdkit.sh -calc doas train.xyz nep.txt doas.out |
描述符相关统计,不能当电子DOS |
| 异常构型502 | python "$GPUMDkit_path/Scripts/analyzer/find_outliers.py" 20 100 1.0 |
输入train.xyz和预测out;阈值依次能量meV/atom、力meV/Å、应力GPa |
使用时注意#
PbTe例没有参考应力,预测文件中缺失应力用−1e6标记;不要把标记用于拟合。完整预测图与异常构型筛选请使用下方si-prediction示例。硅DFT标签与示例NEP并未重新做统一能量参考训练,因此大能量偏移不直接等于力预测差。
实际操作:calc-nep#
从附件根目录新建这个示例:
python new-case.py calc-nep
cd work/calc-nep
执行以下命令:
gpumdkit.sh -calc nep model.xyz predicted.xyz si-nep.txt
本次生成的参考文件:predicted.xyz。自己的输出会写在当前work/calc-nep目录。
下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。
实际操作:prediction#
从附件根目录新建这个示例:
python new-case.py prediction
cd work/prediction
执行以下命令:
gpumdkit.sh -prediction train.xyz nep.txt 1
本次生成的参考文件:force_train.out、stress_train.out、energy_train.out、virial_train.out。自己的输出会写在当前work/prediction目录。
下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。
实际操作:calc-des#
从附件根目录新建这个示例:
python new-case.py calc-des
cd work/calc-des
执行以下命令:
gpumdkit.sh -calc des train.xyz descriptors.npy nep.txt Pb
本次生成的参考文件:descriptors.npy。自己的输出会写在当前work/calc-des目录。
下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。
实际操作:calc-doas#
从附件根目录新建这个示例:
python new-case.py calc-doas
cd work/calc-doas
执行以下命令:
gpumdkit.sh -calc doas train.xyz nep.txt doas.out
本次生成的参考文件:doas.out。自己的输出会写在当前work/calc-doas目录。
下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。
实际操作:des-pca#
从附件根目录新建这个示例:
python new-case.py des-pca
cd work/des-pca
执行以下命令:
gpumdkit.sh -calc des train.xyz descriptors.npy nep.txt Pb
gpumdkit.sh -plt des pca descriptors.npy
本次生成的参考文件:descriptors.png、descriptors.npy。自己的输出会写在当前work/des-pca目录。

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

下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。
实际操作:si-prediction#
从附件根目录新建这个示例:
python new-case.py si-prediction
cd work/si-prediction
执行以下命令:
gpumdkit.sh -prediction train.xyz si-nep.txt 1
gpumdkit.sh -plt prediction save
gpumdkit.sh -plt force_errors save
gpumdkit.sh -range train.xyz force hist
gpumdkit.sh -range train.xyz virial
gpumdkit.sh -filter_value train.xyz force 20
python "$GPUMDkit_path/Scripts/analyzer/find_outliers.py" 20 100 1.0
本次生成的参考文件:force_train.out、prediction.png、stress_train.out、energy_train.out、selected_remained.png、force_errors.png、selected.xyz、virial_train.out。自己的输出会写在当前work/si-prediction目录。


本次9个硅位移结构的参考力的模长范围为0–3.618 eV/Å,virial分量范围−3.254–3.254 eV。绝对能量参考未对齐,先看能量偏移来源,再判断异常构型。
下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。