This is part of the opes module
It is only available if you configure PLUMED with ./configure –enable-modules=opes . Furthermore, this feature is still being developed so take care when using it and report any problems on the mailing list.

On-the-fly probability enhanced sampling (OPES) with well-tempered target distribution, exploration mode [72] .

This OPES_METAD_EXPLORE action samples the well-tempered target distribution, that is defined via its marginal \(p^{\text{WT}}(\mathbf{s})\propto [P(\mathbf{s})]^{1/\gamma}\) over some collective variables (CVs), \(\mathbf{s}=\mathbf{s}(\mathbf{x})\). While OPES_METAD does so by estimating the unbiased distribution \(P(\mathbf{s})\), OPES_METAD_EXPLORE instead estimates on-the-fly the target \(p^{\text{WT}}(\mathbf{s})\) and uses it to define the bias. The bias at step \(n\) is

\[ V_n(\mathbf{s}) = (\gamma-1)\frac{1}{\beta}\log\left(\frac{p^{\text{WT}}_n(\mathbf{s})}{Z_n}+\epsilon\right)\, . \]

See Ref.[72] for a complete description of the method.

Intuitively, while OPES_METAD aims at quickly converging the reweighted free energy, OPES_METAD_EXPLORE aims at quickly sampling the target well-tempered distribution. Given enough simulation time, both will converge to the same bias potential but they do so in a qualitatively different way. Compared to OPES_METAD, OPES_METAD_EXPLORE is more similar to METAD, because it allows the bias to vary significantly, thus enhancing exploration. This goes at the expenses of a typically slower convergence of the reweight estimate. OPES_METAD_EXPLORE can be useful e.g.~for simulating a new system with an unknown BARRIER, or for quickly testing the effectiveness of a new CV that might be degenerate.

Similarly to OPES_METAD, also OPES_METAD_EXPLORE uses a kernel density estimation with the same on-the-fly compression algorithm. The only difference is that the kernels are not weighted, since it estimates the sampled distribution and not the reweighted unbiased one.

All the options of OPES_METAD are also available in OPES_METAD_EXPLORE, except for those that modify the target distribution, since only a well-tempered target is allowed in this case.


The following is a minimal working example:

Click on the labels of the actions for more information on what each action computes
tested on master
the pair of atom that we are calculating the distance between.
the input for this action is the scalar output from one or more other actions.
compulsory keyword the frequency for kernel deposition
compulsory keyword the free energy barrier to be overcome.
compulsory keyword ( default=1 ) the frequency with which the quantities of interest should be output
the name of the file on which to output these quantities
the input for this action is the scalar output from one or more other actions.
Glossary of keywords and components
Description of components

By default this Action calculates the following quantities. These quantities can be referenced elsewhere in the input by using this Action's label followed by a dot and the name of the quantity required from the list below.

Quantity Description
bias the instantaneous value of the bias potential
rct estimate of \(c(t)\): \(\frac{1}{\beta}\log \langle e^{\beta V} \rangle\), should become flat as the simulation converges. Do NOT use for reweighting
zed estimate of \(Z_n\), should become flat once no new CV-space region is explored
neff effective sample size
nker total number of compressed kernels used to represent the bias

In addition the following quantities can be calculated by employing the keywords listed below

Quantity Keyword Description
work CALC_WORK total accumulated work done by the bias
nlker NLIST number of kernels in the neighbor list
nlsteps NLIST number of steps from last neighbor list update
Compulsory keywords
TEMP ( default=-1 ) temperature. If not set, it is taken from MD engine, but not all MD codes provide it
PACE the frequency for kernel deposition
SIGMA ( default=ADAPTIVE ) the initial widths of the kernels. If not set, adaptive sigma will be used with the given ADAPTIVE_SIGMA_STRIDE
BARRIER the free energy barrier to be overcome. It is used to set BIASFACTOR, EPSILON, and KERNEL_CUTOFF to reasonable values
COMPRESSION_THRESHOLD ( default=1 ) merge kernels if closer than this threshold, in units of sigma
FILE ( default=KERNELS ) a file in which the list of all deposited kernels is stored
NUMERICAL_DERIVATIVES ( default=off ) calculate the derivatives for these quantities numerically
NLIST ( default=off ) use neighbor list for kernels summation, faster but experimental
NLIST_PACE_RESET ( default=off ) force the reset of the neighbor list at each PACE. Can be useful with WALKERS_MPI
FIXED_SIGMA ( default=off ) do not decrease sigma as the simulation proceeds. Can be added in a RESTART, to keep in check the number of compressed kernels
RECURSIVE_MERGE_OFF ( default=off ) do not recursively attempt kernel merging when a new one is added
NO_ZED ( default=off ) do not normalize over the explored CV space, \(Z_n=1\)
STORE_STATES ( default=off ) append to STATE_WFILE instead of ovewriting it each time
CALC_WORK ( default=off ) calculate the total accumulated work done by the bias since last restart
WALKERS_MPI ( default=off ) switch on MPI version of multiple walkers

( default=off ) perform calculations in serial

ARG the input for this action is the scalar output from one or more other actions. The particular scalars that you will use are referenced using the label of the action. If the label appears on its own then it is assumed that the Action calculates a single scalar value. The value of this scalar is thus used as the input to this new action. If * or *.* appears the scalars calculated by all the proceeding actions in the input file are taken. Some actions have multi-component outputs and each component of the output has a specific label. For example a DISTANCE action labelled dist may have three components x, y and z. To take just the x component you should use dist.x, if you wish to take all three components then use dist.*.More information on the referencing of Actions can be found in the section of the manual on the PLUMED Getting Started. Scalar values can also be referenced using POSIX regular expressions as detailed in the section on Regular Expressions. To use this feature you you must compile PLUMED with the appropriate flag. You can use multiple instances of this keyword i.e. ARG1, ARG2, ARG3...
ADAPTIVE_SIGMA_STRIDE number of steps for measuring adaptive sigma. Default is 10xPACE
SIGMA_MIN never reduce SIGMA below this value
BIASFACTOR the \(\gamma\) bias factor used for the well-tempered target distribution. Cannot be 'inf'
EPSILON the value of the regularization constant for the probability
KERNEL_CUTOFF truncate kernels at this distance, in units of sigma
NLIST_PARAMETERS ( default=3.0,0.5 ) the two cutoff parameters for the kernels neighbor list
FMT specify format for KERNELS file
STATE_RFILE read from this file the compressed kernels and all the info needed to RESTART the simulation
STATE_WFILE write to this file the compressed kernels and all the info needed to RESTART the simulation
STATE_WSTRIDE number of MD steps between writing the STATE_WFILE. Default is only on CPT events (but not all MD codes set them)
EXCLUDED_REGION kernels are not deposited when the action provided here has a nonzero value, see example above
RESTART allows per-action setting of restart (YES/NO/AUTO)
UPDATE_FROM Only update this action from this time
UPDATE_UNTIL Only update this action until this time