src/links/colvars.jl

MEDYAN.ColVarStats

ColVarStats{D, T, L}

Per-link statistics collected for one collective variable over a baoab! run. D is the colvar output dimension; L == D*D.

A run of nsteps steps takes nsteps + 1 samples: one at the configuration entering each step, plus one at the final configuration. The first cld(nsteps, 2) samples make up the first half, the remaining samples, including the final configuration, the second half. initial is recorded before the run’s constraint solve and FIRE pre-relaxation, so it is not one of the samples and is excluded from the means, covariances, extrema and fractions.

The frac_le fields count the samples x with all(x .≤ θ) (elementwise) against the link’s per-colvar threshold θ (see get_colvar_thresholds).

A half with no samples has a NaN mean, covariance and frac_le, and a half with a single sample has a NaN covariance, so nsteps ≥ 3 is needed for both cov1 and cov2 to be finite.

The fields are filled with NaN until a run has collected them, and whenever the stats are reset. See get_colvar_stats for when that happens.

  • initial::StaticArraysCore.SVector: colvar value at the pre-relaxation starting configuration
  • final::StaticArraysCore.SVector: colvar value at the final configuration, also the last sample of the second half
  • mean1::StaticArraysCore.SVector: mean over the first half of the run
  • mean2::StaticArraysCore.SVector: mean over the second half of the run
  • cov1::StaticArraysCore.SMatrix{D, D} where D: sample covariance (÷(n-1)) over the first half of the run, clamped to be positive definite
  • cov2::StaticArraysCore.SMatrix{D, D} where D: sample covariance (÷(n-1)) over the second half of the run, clamped to be positive definite
  • min::StaticArraysCore.SVector: elementwise minimum over the samples of the run
  • max::StaticArraysCore.SVector: elementwise maximum over the samples of the run
  • frac_le1::Any: fraction of the first half’s samples x with all(x .≤ threshold)
  • frac_le2::Any: fraction of the second half’s samples x with all(x .≤ threshold)