PLUMED专题

PLUMED 多walker共享偏置

实际运行双walker、检查HILLS与共享网格,并区分异步共享和复制交换。

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

多个 walker 各自保持自己的坐标和动力学,共同向同一偏置势提供 hill。本篇给出两个文件共享 walker 的实际输入和运行方式,接续 WTMetaD 重加权。

两个walker在实际二维势上的轨迹及位置变化

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的偏置贡献

单 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;不能把模拟结束后汇总的最终偏置,当作所有较早帧当时受到的偏置。

参考:PLUMED METAD 的 multiple walkers 说明。

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

查看配图

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

100%查看原图 ↗