TD_MULTICANONICAL
 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:

MISSING EQUATION TO BE FIXED

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.

Examples

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
# Use energy and volume as CVs
energy: ENERGY
# Basis functions
bf1: BF_LEGENDRE ORDERcompulsory keyword
The order of the basis function expansion. =20 MINIMUMcompulsory keyword
The minimum of the interval on which the basis functions are defined. =-25000 MAXIMUMcompulsory keyword
The maximum of the interval on which the basis functions are defined. =-23500
# Target distributions
td_multi: TD_MULTICANONICAL ...

MIN_TEMPcompulsory keyword
Minimum temperature. =400
MAX_TEMPcompulsory keyword
Maximum temperature. =600
...
# Expansion
b1: VES_LINEAR_EXPANSION ...
ARGthe input for this action is the scalar output from one or more other actions. =energy
BASIS_FUNCTIONScompulsory keyword
the label of the one dimensional basis functions that should be used. =bf1
TEMPthe system temperature - this is needed if the MD code does not pass the temperature
to PLUMED. =500.0
GRID_BINSthe number of bins used for the grid. =1000
TARGET_DISTRIBUTIONthe label of the target distribution to be used. =td_multi

...
# Optimization algorithm
o1: OPT_AVERAGED_SGD ...
BIAScompulsory keyword
the label of the VES bias to be optimized =b1
STRIDEcompulsory keyword
the frequency of updating the coefficients given in the number of MD steps. =500

STEPSIZEcompulsory keyword
the step size used for the optimization =1.0
FES_OUTPUThow often the FES(s) should be written out to file. =500
BIAS_OUTPUThow often the bias(es) should be written out to file. =500
TARGETDIST_OUTPUThow often the dynamic target distribution(s) should be written out to file. =500
COEFFS_OUTPUTcompulsory keyword ( default=100 )
how often the coefficients should be written to file. =10
TARGETDIST_STRIDEstride for updating a target distribution that is iteratively updated during the
optimization. =100


... OPT_AVERAGED_SGD

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.
Options
 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.