PLUMED 偏置温度交换与版本选择
选择完整GREX接口,用实际水盒核对PLUMED偏置修正和复制交换概率。
阅读本篇目录
多 walker 共享偏置,温度复制交换则在不同温度槽位之间尝试交换构型。带 PLUMED 偏置时,接受概率必须把偏置能变化也计算进去。本篇用实际水盒演示完整操作,并说明应选择哪一种接口。

1. 先选对版本和接口#
本例使用 GROMACS 2024.3+PLUMED 2.9.4 完整补丁,CPU 双精度、GNU 13.3、Open MPI 5.0.10、OpenMP 与内置 FFTPACK。每副本一个 MPI 进程、一个线程。
GROMACS 2025/2026 自带的普通 PLUMED 接口可以做部分偏置任务,但不能把它等同于旧版完整 GREX 补丁。当前 GROMACS 2026.4 官方说明仍列出能量交互和复制交换方面的限制。即使一条 -plumed ... -replex ... 命令被程序接受,也应核对实际支持的接口功能,不能只看正常结束。
本例的兼容构建放在独立目录,不替换现有公共 GROMACS。普通无偏 REMD 的操作仍可看 GROMACS 温度复制交换;本篇专门处理额外 PLUMED 偏置。
2. 准备兼容环境#
下载本篇及WTMetaD完整输入、操作程序与真实数据。若已有对应的完整补丁环境,把 GMX_COMPAT_ROOT 设为它的安装目录即可。自行构建时,先从 GROMACS 官方源码站 获取 gromacs-2024.3.tar.gz 并上传到示例目录,再运行:
bash build-compat.sh
脚本校验源码 SHA256,加载匹配的 GNU/Open MPI PLUMED 环境,应用完整补丁并构建 compat/install。默认使用六个编译进程,请先分配相应 CPU 资源。脚本内的原生命令已在本集群实际完成对应构建;下载包不包含厂商二进制程序。
其中原生补丁入口为:
plumed patch -p --shared -e gromacs-2024.3
注意命令里的版本号是 2024.3,与网页地址中可能使用的短横线形式不同。使用本人独立目录,保留现有工作环境。
3. 体系和完整输入#
体系为 216 个 SPC/E 水分子、648 原子,两份温度分别为 300 K 和 310 K。每份 4000 步、步长 0.001 ps,共 4 ps;每 100 步进入一个交换周期。
两份体系使用相同的距离偏置:氧原子 1 与 4 的最小镜像距离,中心 0.5 nm、力常数 50 kJ·mol⁻¹·nm⁻²。初始距离约 1.144 nm;这是偏置与交换操作示范,不是氢键结合自由能模型。
UNITS LENGTH=nm TIME=ps ENERGY=kj/mol
d: DISTANCE ATOMS=1,4
b: RESTRAINT ARG=d AT=0.5 KAPPA=50
PRINT ARG=d,b.bias STRIDE=10 FILE=COLVAR FMT=%24.16e
DUMPATOMS ATOMS=1,4 STRIDE=10 FILE=cv-atoms.xyz PRECISION=16 UNITS=nm
300 K 的完整 MD 设置:
integrator = md
dt = 0.001
nsteps = 4000
continuation = no
cutoff-scheme = Verlet
coulombtype = PME
rcoulomb = 0.8
rvdw = 0.8
pbc = xyz
tcoupl = v-rescale
tc-grps = System
tau-t = 0.1
ref-t = 300
pcoupl = no
gen-vel = yes
gen-temp = 300
gen-seed = 20261328
ld-seed = 20261329
constraints = none
nstenergy = 10
nstxout-compressed = 50
fourierspacing = 0.12
310 K 使用同一拓扑、同一原子顺序与盒子,修改目标温度和各自的随机种子。不要只复制 TPR 后随意修改一份体系的拓扑、约束或原子顺序。
cat inputs/replica/replica-300/topol.top
cat inputs/replica/replica-310/md.mdp
4. 一条命令运行两份复制#
在已分配两个 CPU/MPI 进程的任务资源中执行:
bash replica.sh
bash replica-plot.sh work-replica/analysis own-replica-figures
默认使用刚构建的 compat/install。已有兼容环境可先指定:
export GMX_COMPAT_ROOT=/path/to/compatible-gromacs/install
bash replica.sh
新结果写入 work-replica/,不会覆盖之前的 WTMetaD work/。程序先为两个温度分别生成 TPR,再由同一个 MPI 作业一起启动:
mpirun -np 2 --bind-to none --mca pml ob1 --mca btl self,sm,tcp gmx_mpi_d mdrun -multidir replica-300 replica-310 -deffnm md -replex 100 -reseed -270409831 -ntomp 1 -nb cpu -bonded cpu -update cpu -pme cpu -pin off -plumed plumed.dat
完整补丁启用 GREX 后,PLUMED 会在文件名添加副本编号。本例分别得到 COLVAR.0、COLVAR.1,以及 cv-atoms.0.xyz、cv-atoms.1.xyz;不能按新版普通接口的无后缀文件名去读。
head -n 5 work-replica/replica-300/COLVAR.0
head -n 5 work-replica/replica-310/COLVAR.1
grep -E 'dE_term|dplumed|Repl pr|Repl ex' work-replica/replica-300/md.log
5. 接受概率为什么要加偏置项#
本例两个温度使用同一个静态偏置函数,交换的无量纲能量变化为:
Δ = (β300 − β310) × [(U310 + V310) − (U300 + V300)]
βT = 1 / (R × T)
Paccept = min(1, exp(−Δ))
U 是引擎势能,V 是 PLUMED 偏置。完整补丁的日志分别打印引擎 dE_term、额外 dplumed 和合计 dE_Term;实际概率要对应最后的合计,不能只取最前面的引擎能量项。
例如本次第 300 步的引擎项约为 0.3636 kBT,PLUMED 修正约为 0.01184 kBT,合计约为 0.3754 kBT;打印接受概率约 0.69。具体数值以下载表格中保存的完整数据为准,别只依赖日志有限位数。
程序独立读取实际氧坐标检查最小镜像距离和谐势能,再核对各次偏置修正及 Metropolis 概率。原生接受次数取决于随机数和后续动力学,重新计算时不应硬性要求逐帧与参考结果相同。
head -n 8 work-replica/analysis/exchange.csv
head -n 8 work-replica/analysis/traces.csv
cat work-replica/analysis/summary.json
6. 最终得到什么#
两份轨迹各 4 ps、401 个能量及 CV 时间点;39 个交换周期中,有 20 次实际相邻对尝试、11 次接受,即 55%。未配对的轮次不算实际尝试,不能用 11/39 计算接受率。
温度槽位的轨迹和随构型行走的 walker 轨迹含义不同。若需拆分 walker,继续参考 原生 demux 与轨迹拆分。这段短轨迹用于理解操作、文件和概率,不用于给出收敛构象分布、自由能或采样加速比。
只查看参考图时,无需先编译或运行 MD:
bash run.sh
bash replica-plot.sh