LAMMPS 专题

LAMMPS 温度加速动力学:TAD与自动NEB

区分D、DF和E事件,读取自动NEB势垒和低温时间映射,比较两套实际短任务。

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

下载输入、势表、原生输出与绘图脚本,保存为 example.zip,先查看已有结果:

python3 -m zipfile -e example.zip .
cd lammps-rare-event-examples
bash results.sh
bash plot.sh

实例采用LAMMPS30Sep2026 CPU MPI版,Intel oneAPI/Intel MPI与配套MKL,集群模块 lammps/30Sep2026-8173m。数据使用同一CPU程序在兼容CPU上实际运行;不是CPU计算节点的性能测试。重新计算通过 sbatch 申请CPU资源,模板按集群CPU分区的56物理核规则申请,微型例子本身只使用1或4个MPI进程。

模型和事件判定#

这是自定义教学模型:两粒子质量均为1,初始位置为 (-0.5,0,0) 和 (0.5,0,0)。使用LJ约化单位,径向势为:

U(r) = 16 * ((r - 1.5)^2 - 0.25)^2
r = 1 与 r = 2:两个势阱,U = 0
r = 1.5:鞍点,U = 1

两粒子的y、z方向各有弹簧约束,抑制绕行;弹簧能量计入总势能。势表包含20001点,覆盖r=0.4–3.5。它不对应具体材料,也不是离子对的真实力场。

fix transverse all spring/self 100 yz
fix_modify transverse energy yes
compute event all event/displace .3

每次事件检查前先最小化,比较的是势阱位置而非瞬时热振动。两阱之间每个原子的平衡位移为0.5,本例用0.3作为事件阈值。换实际体系时,应重新选择阈值、势函数和温度。

两粒子双势阱与解析势垒

1. 提交一个四副本TAD任务#

cat inputs/tad-s74429/in.lmp
sbatch run.slurm tad-s74429

TAD的高温MD主要由第一个partition运行,四个partition共同用于NEB;四个进程不等于四条同时独立推进的高温MD。

atom_modify map array sort 0 0.0
compute event all event/displace .3
tad 60000 50 .15 .3 .05 2.0 event &
    min 1e-10 1e-6 300 3000 &
    neb 0.0 1e-6 300 300 20 &
    neb_style fire neb_step .005 neb_log neb-events.log

atom_modify在创建体系之前设置,关闭原子排序并保留ID映射;NEB需要它。低温Tlo=0.15、高温Thi=0.3,δ=0.05,tmax=2.0。tmax是最低预因子的倒数,真实材料需要物理依据,不能把这里的2.0当通用推荐值。

2. 分清“发现”和“执行”#

cat reference-results/tad-s74429/tad-events.csv
head -n 25 reference-results/tad-s74429/neb-events.log
状态 含义
D 检测到候选跃迁,并计算NEB势垒
DF 候选中目前低温等待时间最早的一个
E 达到停止准则后实际推进低温事件

初始行虽然标E,但N=0,只表示初始势阱;不能计为一次跃迁。t_lo和delt_lo是以步计的低温累计时间和候选等待时间。

3. 两套实际计算为什么不同#

种子 检测的候选数 真正执行的事件数 候选势垒 最后低温累计步数
74411 2 0 1.000 0.000
74429 8 2 1.000 384033.261

候选跃迁和实际执行事件,均来自原生输出

74411找到候选但未在短时间窗内推进低温事件;74429推进了两次。程序正常结束、检测到势垒、已执行低温事件是三个不同判断。遇到第一种情况应检查停止准则和采样时长,而不是把候选数当成低温事件数。

NEB爬山图像找到的势垒为1.000,与本模型解析值一致。低温等待时间使用 t_hi * exp(Eb*(1/Tlo-1/Thi))映射,本次Eb=1时倍率约28.0316;它不是GPU/CPU速度倍率。换成metal等单位时要显式包含kB。

4. 查看自己任务的结果#

cat work/tad-s74429/native.log
head -n 25 work/tad-s74429/neb-events.log

输出中的Margin反映高温采样相对于停止时间的裕量。高温过高会偏离谐波过渡态近似;tmax不合理会过早或过晚停止。本例只教学输入、事件和时间映射,不给真实材料的置信速率结论。方法与输出含义见LAMMPS TAD。

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

查看配图

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

100%查看原图 ↗