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

Multicanonical target distribution (dynamic).

Use the target distribution to sample the multicanonical ensemble [11] [90]. In this way, in a single molecular dynamics simulation one can obtain information about the system in a range of temperatures. This range is determined through the keywords MIN_TEMP and MAX_TEMP.

The collective variables (CVs) used to construct the bias potential must be:

  1. the energy or,
  2. the energy and an order parameter.

Other choices of CVs or a different order of the above mentioned CVs are nonsensical. The second CV, the order parameter, must be used when one aims at studying a first order phase transition in the chosen temperature interval [91].

The algorithm will explore the free energy at each temperature up to a predefined free energy threshold \(\epsilon\) specified through the keyword THRESHOLD (in kT units). If only the energy is biased, i.e. no phase transition is considered, then THRESHOLD can be set to around 5. If also an order parameter is used then the THRESHOLD should be greater than the barrier for the transformation in kT. For small systems undergoing a freezing transition THRESHOLD is typically between 20 and 50.

When only the potential energy is used as CV the method is equivalent to the Wang-Landau algorithm [120]. The advantage with respect to Wang-Landau is that instead of sampling the potential energy indiscriminately, an interval is chosen on the fly based on the minimum and maximum targeted temperatures.

The algorithm works as follows. The target distribution for the potential energy is chosen to be:


where the energy limits \(E_1\) and \(E_2\) are yet to be determined. Clearly the interval \(E_1–E_2\) chosen is related to the interval of temperatures \(T_1-T_2\). To link these two intervals we make use of the following relation:

\[ \beta' F_{\beta'}(E) = \beta F_{\beta}(E) + (\beta' - \beta) E + C, \]

where \(F_{\beta}(E)\) is determined during the optimization and we shall choose \(C\) such that \(F_{\beta'}(E_{m})=0\) with \(E_{m}\) the position of the free energy minimum. Using this relation we employ an iterative procedure to find the energy interval. At iteration \(k\) we have the estimates \(E_1^k\) and \(E_2^k\) for \(E_1\) and \(E_2\), and the target distribution is:

\[ p^k(E)=\frac{1}{E_2^k-E_1^k} \quad \mathrm{for} \quad E_1^k<E<E_2^k. \]

\(E_1^k\) and \(E_2^k\) are obtained from the leftmost solution of \(\beta_2 F_{\beta_2}^{k-1}(E_1^k)=\epsilon\) and the rightmost solution of \(\beta_1 F_{\beta_1}^{k-1}(E_2^k)=\epsilon\). The procedure is repeated until convergence. This iterative approach is similar to that in TD_WELLTEMPERED.

The version of this algorithm in which the energy and an order parameter are biased is similar to the one described in TD_MULTITHERMAL_MULTIBARIC.

The output of these simulations can be reweighted in order to obtain information at all temperatures in the targeted temperature interval. The reweighting can be performed using the action REWEIGHT_TEMP_PRESS.


The following input can be used to run a simulation in the multicanonical ensemble. The temperature interval to be explored is 400-600 K. The energy is used as collective variable. Legendre polynomials are used to construct the bias potential. The averaged stochastic gradient descent algorithm is chosen to optimize the VES functional. The target distribution is updated every 100 optimization steps (200 ps here) using the last estimation of the free energy.

Click on the labels of the actions for more information on what each action computes
tested on v2.7
# Use energy and volume as CVs
energy: ENERGY 
# Basis functions
compulsory keyword The order of the basis function expansion.
compulsory keyword The minimum of the interval on which the basis functions are defined.
compulsory keyword The maximum of the interval on which the basis functions are defined.
=-23500 # Target distributions td_multi: TD_MULTICANONICAL ...
compulsory keyword Minimum temperature.
compulsory keyword Maximum temperature.
=600 ... # Expansion b1: VES_LINEAR_EXPANSION ...
the input for this action is the scalar output from one or more other actions.
compulsory keyword the label of the one dimensional basis functions that should be used.
the system temperature - this is needed if the MD code does not pass the temperature to PLUMED.
the number of bins used for the grid.
the label of the target distribution to be used.
=td_multi ... # Optimization algorithm o1: OPT_AVERAGED_SGD ...
compulsory keyword the label of the VES bias to be optimized
compulsory keyword the frequency of updating the coefficients given in the number of MD steps.
compulsory keyword the step size used for the optimization
how often the FES(s) should be written out to file.
how often the bias(es) should be written out to file.
how often the dynamic target distribution(s) should be written out to file.
compulsory keyword ( default=100 ) how often the coefficients should be written to file.
stride for updating a target distribution that is iteratively updated during the optimization.

The multicanonical target distribution can also be used to explore a temperature interval in which a first order phase transitions is observed.

Glossary of keywords and components
Compulsory keywords
THRESHOLD ( default=5 ) Maximum exploration free energy in kT.
EPSILON ( default=10 ) The zeros of the target distribution are changed to e^-EPSILON.
MIN_TEMP Minimum temperature.
MAX_TEMP Maximum temperature.
STEPS_TEMP Number of temperature steps. Only for the 2D version, i.e. energy and order parameter.
SIGMA The standard deviation parameters of the Gaussian kernels used for smoothing the target distribution. One value must be specified for each argument, i.e. one value per CV. A value of 0.0 means that no smoothing is performed, this is the default behavior.