用途:nvalchemi.dynamics.mep 用于计算反应物与产物结构之间的最小能量路径(MEP)。路径是由称为 image 的有序结构带组成,多个路径可在同一个 Batch 中优化:每个 image 是一个 graph,同一条路径的 image 共享一个 group_layout 分组。目前 NEB 是唯一的路径优化方法。
主要能力:可从 nvalchemi.dynamics.mep 导入 NEB、ClimbingImageConfig、IDPPModel、interpolate_paths、prepare_idpp_targets、validate_paths。interpolate_paths 用初始与最终两个 Batch 构建初始路径(图 i 对应路径 i,原子需按索引匹配),支持 num_images、对齐去平移旋转、fit_mask 仅拟合重原子;它会丢弃 forces、energy、velocities、stress、embeddings 等不再适用的字段,优化前需重新初始化。validate_paths 校验每路径至少 3 个 image、原子/晶胞/pbc 匹配。IDPP 用解析势把路径向插值后的成对距离松弛,不调用 MLIP。NEB 支持 spring、method(如 improved_tangent)、climbing(ClimbingImageConfig)、fmax、n_steps、diagnostics_log_path 等;climbing 有 after_regular 与 immediate 模式,selection 可 fixed 或 dynamic。
必要用法:先构建并校验路径,运行前用示例中的 initialize_dynamics_fields 重新初始化 energy、forces、velocities;IDPP 用 prepare_idpp_targets 替换边为全对,再通过 NEB 运行,收敛后将位置复制到新路径带再换真实模型。自定义方法可用 NEBMethod(Warp 方程)或符合 TorchNEBMethod 的可调用对象;弹簧用 SpringConfig 返回每链常数。手动构建 NEB 时注意 PathEnergyStatsHook 必须最先注册,且各工作流必须 by_group=True。
适用场景与限制:用于反应路径与过渡态估算的批量计算。需要了解上游的 nvalchemi-data-structures、nvalchemi-dynamics-api、nvalchemi-dynamics-hooks。仅 NEB 一种路径优化方法;optimizer_kwargs 不得包含 model、hooks、by_group、convergence_hook、n_steps,否则抛 ValueError;设置阶段预算时 finished 不代表收敛,需检查 fmax。文档与完整示例见资料所述 userguide 与 examples 文件,其余细节暂未提供。