PLUMED专题

PLUMED向量统计:均值、中心矩、极值和排序

每帧三个实际距离作为向量,演示MEAN、MOMENTS、HIGHEST、LOWEST、SORT和STATS,并用独立公式画图。

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

同一帧有多个CV时,可以计算这些数的均值、中心矩、极值或排序。本篇使用三个非周期原子对距离,与“沿轨迹对一个CV做时间平均”分开讲解。

1. 下载和实际结果#

下载完整输入、真实原生输出和绘图包,保存为example.zip:

python3 -m zipfile -e example.zip .
cd plumed-vector-time-statistics
bash results.sh
bash read.sh
bash plot.sh

上述命令先读随包已完成的结果;原生输出在reference-results/,CSV在data/,图在figures/。默认使用集群ASE环境中的Python,其他环境可用YS_ANALYSIS_PYTHON指定含NumPy、ASE和Matplotlib的解释器。

每帧三个距离、均值和二阶中心矩的原生结果

输入为32帧人工四原子构型,单位nm,没有做物理MD积分。三个距离分别为r、s、t。为了实际验证排序,向量故意按t,r,s的顺序拼接,而不是预先排好。

2. 完整输入#

cat inputs/vector-statistics-unsorted/plumed.dat
UNITS LENGTH=nm ENERGY=kj/mol TIME=ps
r: DISTANCE ATOMS=1,2 NOPBC
s: DISTANCE ATOMS=1,3 NOPBC
t: DISTANCE ATOMS=1,4 NOPBC
v: CONCATENATE ARG=t,r,s
mean: MEAN ARG=v PERIODIC=NO
mom: MOMENTS ARG=v POWERS=2,3,4
high: HIGHEST ARG=v
low: LOWEST ARG=v
sorted: SORT ARG=v
stats: STATS ARG=r,s,t PARAMETERS=0.2,0.3,0.05 SQDEVSUM
PRINT ARG=r,s,t,mean,mom.*,high,low,stats.sqdevsum FILE=COLVAR STRIDE=1 FMT=%.14g
PRINT ARG=sorted.* FILE=sorted.dat STRIDE=1 FMT=%.14g

MEAN对本帧三个分量求均值;MOMENTS POWERS=2,3,4输出相对本帧均值的中心矩。它们不是对32帧轨迹的矩,也不是自动建立自由能分布。

3. 中心矩怎么理解#

对本帧三项vᵢ,均值为μ=Σvᵢ/3,p阶中心矩为Σ(vᵢ−μ)^p/3。二阶结果是总体定义的方差,除以3,不是无偏样本方差所用的N−1。三阶可以为负,不表示程序出现负方差。

由于输入是距离,二、三、四阶矩单位分别是nm²、nm³、nm⁴,作图时不能全部标成nm。图中右侧只画二阶,其他结果保留在CSV。

4. 极值、排序与参照偏差#

high: HIGHEST ARG=v
low: LOWEST ARG=v
sorted: SORT ARG=v
stats: STATS ARG=r,s,t PARAMETERS=0.2,0.3,0.05 SQDEVSUM

本例都是正距离,原生SORT输出升序,三个值分别叫sorted.1、sorted.2、sorted.3,不是一个可直接用ARG=sorted读取的向量。本例用PRINT ARG=sorted.*保存三列。

STATS这里仅求相对给定三个参照数的平方差之和,Σ(rᵢ−refᵢ)²,单位nm²;没有计算统计显著性或拟合优度。不要把三个不同参照当作时间均值。

5. 运行与读取#

在新解压目录运行短单线程driver:

bash run.sh
bash read.sh work analysis-new
bash plot.sh analysis-new figures-new work

也可以直接查看原结果:

head reference-results/vector-statistics-unsorted/COLVAR
head reference-results/vector-statistics-unsorted/sorted.dat
head data/PLUMED-vector-order-central-moments.csv

此例全部32帧的均值、三个中心矩、极值、排序与平方偏差均与独立公式一致,标量最大误差约4.94×10⁻¹⁵。实际驱动使用CP2K2026.2依赖中的PLUMED2.10.1,库路径和命令已写入run.py。

对时间方向累积,接着看运行平均和累积统计。

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

查看配图

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

100%查看原图 ↗