PLUMED 多walker共享偏置
实际运行双walker、检查HILLS与共享网格,并区分异步共享和复制交换。
阅读本篇目录
多个 walker 各自保持自己的坐标和动力学,共同向同一偏置势提供 hill。本篇给出两个文件共享 walker 的实际输入和运行方式,接续 WTMetaD 重加权。

1. 工作目录怎样摆放#
下载完整输入和结果包,参考目录结构为:
seed-71/shared/
├── walker-0/ input.dat、plumed.dat、COLVAR
├── walker-1/ input.dat、plumed.dat、COLVAR
└── shared/ HILLS.0、HILLS.1
每个 walker 有独立随机种子和起点;一个从 x=−1 出发,另一个从 x=+1 出发。不同 walker 的 ID 不能重复,否则可能向同一个 hill 文件写入。
cat inputs/seed-71/shared/walker-0/input.dat
cat inputs/seed-71/shared/walker-1/input.dat
cat inputs/seed-71/shared/walker-0/plumed.dat
2. 共享偏置的完整设置#
walker 0 使用:
UNITS NATURAL
d: DISTANCE ATOMS=1,2 COMPONENTS
u: MATHEVAL ARG=d.x,d.y VAR=x,y FUNC=4*(x*x-1)^2+0.5*y*y PERIODIC=NO
physical: BIASVALUE ARG=u
m: METAD ARG=d.x SIGMA=0.12 HEIGHT=0.05 PACE=100 BIASFACTOR=8 TEMP=1 GRID_MIN=-2.5 GRID_MAX=2.5 GRID_BIN=1000 CALC_RCT RCT_USTRIDE=1 FILE=HILLS GRID_WFILE=BIASGRID GRID_WSTRIDE=10000 WALKERS_N=2 WALKERS_ID=0 WALKERS_DIR=../shared WALKERS_RSTRIDE=100
rw: REWEIGHT_METAD ARG=m.rbias TEMP=1
PRINT ARG=d.x,d.y,u,m.bias,m.rbias,m.rct,rw STRIDE=20 FILE=COLVAR FMT=%24.16e
另一份主要改为 WALKERS_ID=1;两份 WALKERS_N=2、WALKERS_DIR=../shared、CV 定义、势参数和单位保持一致。WALKERS_RSTRIDE=100 表示每 100 个 MD 步读取其他 walker 的文件。它不是 100 个 ps,也不是每条轨迹输出 100 行。
本例的文件共享 walker 是两个独立 pesmd 进程;不需要给同一条轨迹开两个 MPI 进程冒充两个 walker。每个进程还必须各自拥有一个独立工作目录。
3. 启动及查看输出#
在已分配至少六个 CPU 的资源内,整套两个种子组的单/双 walker 对照用短命令:
bash sample.sh
ls work/seed-71/shared/shared/HILLS.*
head -n 5 work/seed-71/shared/shared/HILLS.0
head -n 5 work/seed-71/shared/shared/HILLS.1
每个 walker 实际写出 2000 条 hill,双 walker 合计 4000 条。它们共享的是历史偏置,不会自动交换温度或构型;要做 replica exchange,需要动力学引擎和 PLUMED 接口都明确支持相应交换。
4. 怎样知道读到了其他walker的hill#
仅看到两个 HILLS 文件,不能证明它们实际参与了对方的偏置。本例独立重建每个 walker 自己放置的 hill,再与实际最后的 BIASGRID 比较:

单 walker 的网格与自己全部 hill 重建结果一致;共享 walker 的实际网格明显包含额外正偏置,且不会超过所有 walker 最终 hill 的总贡献。两组四个共享 walker 的最大外来偏置约为 4.36–6.45 kBT,说明共享读取实际生效。
文件读取是异步的。一个 walker 结束时,可能还没有读到对方最后几条 hill,因此不应强制两者的最终网格处处相等。更不能为了对齐图片而改写原始 hill 或补造轨迹。
cat work/analysis/shared-bias.json
ls work/seed-71/shared/walker-0/BIASGRID
ls work/seed-71/shared/walker-1/BIASGRID
5. HILLS高度和高斯形式#
WTMetaD 的 HILLS 高度已经按 bias factor 重标度。本例把它恢复为实际偏置贡献时乘 (γ−1)/γ=7/8;不能把同一份数据又乘一次反向系数。
该安装默认使用带截断和平移拉伸的 Gaussian:dp2=(x−x₀)²/(2σ²),只在 dp2<6.25 内有贡献。使用无限延伸的普通高斯相加,可能不能精确复原原生网格。包内程序使用与该版实际内核相符的函数核对,并保留原生网格有限打印位数带来的误差。
bash analyze.sh work new-analysis
cat new-analysis/shared-bias.json
bash plot.sh new-analysis own-figures
重加权继续使用每条轨迹对应的原生 rbias;不能把模拟结束后汇总的最终偏置,当作所有较早帧当时受到的偏置。