Used to performed MetaDynamics on one or more collective variables.

$V(\vec{s},t) = \sum_{ k \tau < t} W(k \tau) \exp\left( -\sum_{i=1}^{d} \frac{(s_i-s_i^{(0)}(k \tau))^2}{2\sigma_i^2} \right).$

This potential forces the system away from the kinetic traps in the potential energy surface and out into the unexplored parts of the energy landscape. Information on the Gaussian functions from which this potential is composed is output to a file called HILLS, which is used both the restart the calculation and to reconstruct the free energy as a function of the CVs. The free energy can be reconstructed from a metadynamics calculation because the final bias is given by:

$V(\vec{s}) = -F(\vec(s))$

During post processing the free energy can be calculated in this way using the sum_hills utility.

In the simplest possible implementation of a metadynamics calculation the expense of a metadynamics calculation increases with the length of the simulation as one has to, at every step, evaluate the values of a larger and larger number of Gaussians. To avoid this issue you can in plumed 2.0 store the bias on a grid. This approach is similar to that proposed in [1] but has the advantage that the grid spacing is independent on the Gaussian width.

Another option that is available in plumed 2.0 is well-tempered metadynamics [Barducci:2008.] In this varient of metadynamics the heights of the Gaussian hills are rescaled at each step so the bias is now given by:

$V({s},t)= \sum_{t'=0,\tau_G,2\tau_G,\dots}^{t'<t} W e^{-V({s}({q}(t'),t')/\Delta T} \exp\left( -\sum_{i=1}^{d} \frac{(s_i({q})-s_i({q}(t'))^2}{2\sigma_i^2} \right),$

This method ensures that the bias converges more smoothly. It should be noted that, in the case of well-tempered metadynamics, in the output printed the Gaussian height is re-scaled using the bias factor. Also notice that with well-tempered metadynamics the HILLS file does not contain the bias, but the negative of the free-energy estimate. This choice has the advantage that one can restart a simulation using a different value for the $$\Delta T$$. The applied bias will be scaled accordingly.

Note that you can use here also the flexible gaussian approach [4] in which you can adapt the gaussian to the extent of Cartesian space covered by a variable or to the space in collective variable covered in a given time. In this case the width of the deposited gaussian potential is denoted by one value only that is a Cartesian space (ADAPTIVE=GEOM) or a time (ADAPTIVE=DIFF). Note that a specific integration technique for the deposited gaussians should be used in this case. Check the documentation for utility sum_hills.

With the keyword INTERVAL one changes the metadynamics algorithm setting the bias force equal to zero outside boundary [baftizadeh2012protein.] If, for example, metadynamics is performed on a CV s and one is interested only to the free energy for s > sw, the history dependent potential is still updated according to the above equations but the metadynamics force is set to zero for s < sw. Notice that Gaussians are added also if s < sw, as the tails of these Gaussians influence VG in the relevant region s > sw. In this way, the force on the system in the region s > sw comes from both metadynamics and the force field, in the region s < sw only from the latter. This approach allows obtaining a history-dependent bias potential VG that fluctuates around a stable estimator, equal to the negative of the free energy far enough from the boundaries. Note that:

• It works only for one-dimensional biases;
• It works both with and without GRID;
• The interval limit sw in a region where the free energy derivative is not large;
• If in the region outside the limit sw the system has a free energy minimum, the INTERVAL keyword should be used together with a soft wall at sw

As a final note, since version 2.0.2 when the system is outside of the selected interval the force is set to zero and the bias value to the value at the corresponding boundary. This allows acceptances for replica exchange methods to be computed correctly.

Multiple walkers [12] can also be used. See below the examples.

Description of components

By default this Action calculates the following quantities. These quanties 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
Compulsory keywords
 ARG the input for this action is the output from one or more other actions. The particular output that you used is referenced using that action of interests label. If the label appears on its own then the value of the relevant Action is taken. If * or *.* appears the information from all arguments is taken. Some actions have multi-component outputs, each component of the output has a specific label so for instance an action labelled dist may have three componets 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.* SIGMA the widths of the Gaussian hills HEIGHT the heights of the Gaussian hills PACE the frequency for hill addition FILE ( default=HILLS ) a file in which the list of added hills is stored
Options
 NUMERICAL_DERIVATIVES ( default=off ) calculate the derivatives for these quantities numerically GRID_SPARSE ( default=off ) use a sparse grid to store hills GRID_NOSPLINE ( default=off ) don't use spline interpolation with grids STORE_GRIDS ( default=off ) store all the grid files the calculation generates. They will be deleted if this keyword is not present
 FMT specify format for HILLS files (useful for decrease the number of digits in regtests) BIASFACTOR use well tempered metadynamics and use this biasfactor. Please note you must also specify temp TEMP the system temperature - this is only needed if you are doing well-tempered metadynamics GRID_MIN the lower bounds for the grid GRID_MAX the upper bounds for the grid GRID_BIN the number of bins for the grid GRID_WSTRIDE write the grid to a file every N steps GRID_WFILE the file on which to write the grid ADAPTIVE use a geometric (=GEOM) or diffusion (=DIFF) based hills width scheme. Sigma is one number that has distance units or timestep dimensions WALKERS_ID walker id WALKERS_N number of walkers WALKERS_DIR shared directory with the hills files from all the walkers WALKERS_RSTRIDE stride for reading hills files INTERVAL monodimensional lower and upper limits, outside the limits the system will not feel the biasing force. GRID_RFILE a grid file from which the bias should be read at the initial step of the simulation SIGMA_MAX the upper bounds for the sigmas (in CV units) when using adaptive hills. Negative number means no bounds SIGMA_MIN the lower bounds for the sigmas (in CV units) when using adaptive hills. Negative number means no bounds
Examples
The following input is for a standard metadynamics calculation using as collective variables the distance between atoms 3 and 5 and the distance between atoms 2 and 4. The value of the CVs and the metadynamics bias potential are written to the COLVAR file every 100 steps.
DISTANCE ATOMS=3,5 LABEL=d1
DISTANCE ATOMS=2,4 LABEL=d2
METAD ARG=d1,d2 SIGMA=0.2,0.2 HEIGHT=0.3 PACE=500 LABEL=restraint
PRINT ARG=d1,d2,restraint.bias STRIDE=100  FILE=COLVAR

If you use adaptive Gaussians, with diffusion scheme where you use a Gaussian that should cover the space of 20 timesteps in collective variables. Note that in this case the histogram correction is needed when summing up hills.
DISTANCE ATOMS=3,5 LABEL=d1
DISTANCE ATOMS=2,4 LABEL=d2
PRINT ARG=d1,d2,restraint.bias STRIDE=100  FILE=COLVAR

If you use adaptive Gaussians, with geometrical scheme where you use a Gaussian that should cover the space of 0.05 nm in Cartesian space. Note that in this case the histogram correction is needed when summing up hills.
DISTANCE ATOMS=3,5 LABEL=d1
DISTANCE ATOMS=2,4 LABEL=d2
PRINT ARG=d1,d2,restraint.bias STRIDE=100  FILE=COLVAR

When using adaptive Gaussians you might want to limit how the hills width can change. You can use SIGMA_MIN and SIGMA_MAX keywords. The sigmas should specified in terms of CV so you should use the CV units. Note that if you use a negative number, this means that the limit is not set. Note also that in this case the histogram correction is needed when summing up hills.
DISTANCE ATOMS=3,5 LABEL=d1
DISTANCE ATOMS=2,4 LABEL=d2
ARG=d1,d2 SIGMA=0.05 HEIGHT=0.3 PACE=500 LABEL=restraint ADAPTIVE=GEOM
SIGMA_MIN=0.2,0.1 SIGMA_MAX=0.5,1.0

DISTANCE ATOMS=3,5 LABEL=d1