Skip to content

模拟与后处理

统一的 gpumdkit-skill 将 GPUMDkit 工具、GPUMD 和 NEP 输入准备、受控执行、结果验证以及后处理连接成一个完整流程。主文件会根据具体任务选择对应 reference,也能处理“完成 Arrhenius 扩散研究”或“训练 NEP 模型并在 GPUMD 中验证”等跨模块任务。

决策边界

只要科学或执行参数仍不明确,agent 就必须询问用户,不能自行补值。这些参数包括势函数、元素/type 映射、电荷、温度、时间步长、系综、压力、模拟时长、输出间隔、拟合策略、收敛标准、调度资源和文件覆盖方式。

准备输入文件不等于获得运行授权。长时间计算和调度系统提交必须由用户明确要求。

Skill 已内置按类别整理的 model.xyzrun.innep.in、GPUMD/NEP 参数和输出格式摘要,用户不需要在本地安装 GPUMD 文档树。后处理命令以本地 GPUMDkit 及 Python 脚本帮助为准。如果解析器行为与内置版本不一致,agent 必须报告可执行文件版本和完整报错,再向用户获取对应版本信息,不能猜测语法。

一个 skill,按需读取 reference

Agent 只需激活 gpumdkit-skill,随后从 references/ 中加载当前任务真正需要的文件:

任务 需要读取的 references
GPUMD 模拟 gpumd.md,再按需读取 gpumd-inputs.mdgpumd-setup.mdgpumd-ensembles.mdgpumd-computes.mdgpumd-outputs.md
NEP 训练或预测 nep.md,再按需读取 nep-data.mdnep-parameters.mdnep-outputs.md
Arrhenius 流程 gpumd.mdarrhenius.mdcalculators.mdvisualization.md
GPUMDkit 单项工具 对应的转换、采样、工作流、计算、分析或可视化 reference
GPUMDkit 开发 contributing.md 和受影响模块的 reference

这种渐进加载结构让用户只面对一个入口,同时避免每次任务都加载全部模块造成上下文浪费。

完整流程

  1. 明确目标物理量、交付内容和验收标准。
  2. 确认结构、势函数/模型、软件版本及科学参数。
  3. 准备输入并检查元素、晶胞、PBC、group、单位和命令语法。
  4. 向用户展示已经确定的方案和仍未解决的问题。
  5. 仅在用户明确要求时运行;合适时先执行用户认可的短程测试。
  6. 检查计算是否完成、热力学稳定性、轨迹完整性和目标物理量的收敛性。
  7. 使用 GPUMDkit 后处理,并报告单位、拟合设置、不确定度、排除的数据和方法限制。

Arrhenius 示例

建立 Arrhenius 任务前,需要确认目标是扩散系数、电导率还是两者;还要确认迁移元素及电荷、温度点、系综流程、时间步长、生产段长度、独立重复次数、MSD 采样以及拟合和不确定度方案。

每个整数温度使用一个独立目录:

project/
  500K/{model.xyz,nep.txt,run.in}
  600K/{model.xyz,nep.txt,run.in}
  700K/{model.xyz,nep.txt,run.in}

MSD 可以由 GPUMD 的 compute_msd 直接产生,也可以从 extxyz 轨迹计算:

cd 500K
gpumdkit.sh -calc msd dump.xyz Li <frame_dt_fs> [max_corr_steps]
gpumdkit.sh -plt msd save
gpumdkit.sh -plt sdc save

frame_dt_fs 是相邻保存帧之间的时间:

frame_dt_fs = integration_time_step_fs * dump_interval_steps

逐个验证温度点后,在上级目录运行:

gpumdkit.sh -plt arrhenius_d save
gpumdkit.sh -plt D_xyz save

当前 Arrhenius 脚本固定拟合每条 MSD 曲线的 40%-80% 区间。这是 GPUMDkit 已确定的选择,未经维护者同意不应修改;同时仍需确认该区间确实处于扩散线性区。

单个温度的离子电导率可以使用用户确认的元素和电荷计算:

gpumdkit.sh -calc ionic-cond Li 1

自动电导率 Arrhenius 脚本的适用范围更窄:

gpumdkit.sh -plt arrhenius_sigma save
gpumdkit.sh -plt sigma_xyz save

这些脚本只统计 Li/Na,固定按一价离子处理,使用第一个温度目录的组成和 replicate 信息,并将拟合结果外推到 300 K。不能把它们当作通用的多价或混合离子流程;Nernst-Einstein 近似和任何外推都必须由用户确认。

Skill 发现

gpumdkit.sh -skill

该命令会输出 skill 的规范路径和安装提示。唯一的通用 skill 位于 ${GPUMDkit_path}/skills/gpumdkit-skill/;模拟细节位于其中的 references/gpumd.mdnep.mdarrhenius.md