Metadynamics (MTD; also abbreviated as METAD or MetaD) is a computer simulation method in computational physics, chemistry and biology. It is used to compute free energy and other state functions of a system, where ergodicity is hindered by the form of the system's energy landscape. It was first suggested by Alessandro Laio and Michele Parrinello in 2002[1] and is usually applied within molecular dynamics simulations. MTD closely resembles a number of recent methods such as adaptively biased molecular dynamics,[2] adaptive reaction coordinate forces[3] and local elevation umbrella sampling.[4] More recently, both the original and well-tempered metadynamics[5] were derived in the context of importance sampling and shown to be a special case of the adaptive biasing potential setting.[6] MTD is related to the Wang-Landau sampling.[7]

## Introduction

The technique builds on a large number of related methods including (in a chronological order) the deflation,[8] tunneling,[9] tabu search,[10] local elevation,[11] conformational flooding,[12] Engkvist-Karlström[13] and adaptive biasing force methods.[14]

Metadynamics has been informally described as "filling the free energy wells with computational sand".[15] The algorithm assumes that the system can be described by a few collective variables. During the simulation, the location of the system in the space determined by the collective variables is calculated and a positive Gaussian potential is added to the real energy landscape of the system. In this way the system is discouraged to come back to the previous point. During the evolution of the simulation, more and more Gaussians sum up, thus discouraging more and more the system to go back to its previous steps, until the system explores the full energy landscape -at this point the modified free energy becomes a constant as a function of the collective variables which is the reason for the collective variables to start fluctuating heavily. At this point the energy landscape can be recovered as the opposite of the sum of all Gaussians.

The time interval between the addition of two Gaussian functions, as well as the Gaussian height and Gaussian width, are tuned to optimize the ratio between accuracy and computational cost. By simply changing the size of the Gaussian, metadynamics can be fitted to yield very quickly a rough map of the energy landscape by using large Gaussians, or can be used for a finer grained description by using smaller Gaussians.[1] Usually, the well-temperated metadynamics[5] is used to change the Gaussian size adaptively. Also, the Gaussian width can be adapted with the adaptive Gaussian metadynamics.[16]

Metadynamics has the advantage, upon methods like adaptive umbrella sampling, of not requiring an initial estimate of the energy landscape to explore.[1] However, it is not trivial to choose proper collective variables for a complex simulation. Typically, it requires several trials to find a good set of collective variables, but there are several automatic procedure proposed: essential coordinates,[17] Sketch-Map,[18] and non-linear data-driven collective variables.[19]

### Multi-replica approach

Independent metadynamics simulations (replicas) can be coupled together to improve usability and parallel performance. There are several such methods proposed: the multiple walker MTD,[20] the parallel tempering MTD,[21] the bias-exchange MTD,[22] and the collective-variable tempering MTD.[23] The last three are similar to the parallel tempering method and use replica exchanges to improve sampling. Typically, the Metropolis–Hastings algorithm is used for replica exchanges, but the infinite swapping[24] and Suwa-Todo[25] algorithms give better replica exchange rates.[26]

## Algorithm

Assume, we have a classical ${\textstyle N}$-particle system with positions at ${\textstyle \{{\vec {r}}_{i}\}}$ ${\textstyle (i\in 1...N)}$ in the Cartesian coordinates ${\textstyle ({\vec {r}}_{i}\in \mathbb {R} ^{3})}$. The particle interaction are described with a potential function ${\textstyle V\equiv V(\{{\vec {r}}_{i}\})}$. The potential function form (e.g. two local minima separated by a high-energy barrier) prevents an ergodic sampling with molecular dynamics or Monte Carlo methods.

A general idea of MTD is to enhance the system sampling by discouraging revisiting of sampled states. It is achieved by augmenting the system Hamiltonian ${\textstyle H}$ with a bias potential ${\displaystyle V_{\text{bias}}}$:

${\displaystyle H=T+V+V_{\text{bias}}}$.

The bias potential is a function of collective variables ${\textstyle (V_{\text{bias}}\equiv V_{\text{bias}}({\vec {s}}\,))}$. A collective variable is a function of the particle positions ${\displaystyle ({\vec {s}}\equiv {\vec {s}}(\{{\vec {r}}_{i}\}))}$. The bias potential is continuously updated by adding bias at rate ${\displaystyle \omega }$, where ${\displaystyle {\vec {s}}_{t}}$ is an instantaneous collective variable value at time ${\displaystyle t}$:

${\displaystyle {\frac {\partial V_{\text{bias}}({\vec {s}}\,)}{\partial t}}=\omega \,\delta (|{\vec {s}}-{\vec {s}}_{t}|)}$.

At infinitely long simulation time ${\displaystyle t_{\text{sim}}}$, the accumulated bias potential converges to free energy with opposite sign (and irrelevant constant ${\displaystyle C}$):

${\displaystyle V_{\text{bias}}({\vec {s}}\,)=\!\!\int _{0}^{t_{\text{sim}}}\!\!\!\omega \,\delta (|{\vec {s}}-{\vec {s}}_{t}|)\;dt\quad \Rightarrow \quad F({\vec {s}}\,)=-\!\!\!\!\lim _{t_{\text{sim}}\to \infty }\!\!V_{\text{bias}}({\vec {s}}\,)+C}$

For a computationally efficient implementation, the update process is discretised into ${\displaystyle \tau }$ time intervals (${\displaystyle \lfloor \;\rfloor }$ denotes the floor function) and ${\displaystyle \delta }$-function is replaced with a localized positive kernel function ${\displaystyle K}$. The bias potential becomes a sum of the kernel functions centred at the instantaneous collective variable values ${\displaystyle {\vec {s}}_{j}}$ at time ${\displaystyle \tau j}$:

${\displaystyle V_{\text{bias}}({\vec {s}}\,)\approx \tau \!\!\!\sum _{j=0}^{\left\lfloor {\frac {t_{\text{sim}}}{\tau }}\right\rfloor }\!\!\omega \,K(|{\vec {s}}-{\vec {s}}_{j}|)}$.

Typically, the kernel is a multi-dimensional Gaussian function, which covariance matrix has diagonal non-zero elements only:

${\displaystyle V_{\text{bias}}({\vec {s}}\,)\approx \tau \!\!\!\sum _{j=0}^{\left\lfloor {\frac {t_{\text{sim}}}{\tau }}\right\rfloor }\!\!\omega \exp \!\!\left(\!-{\frac {1}{2}}\left|{\frac {{\vec {s}}-{\vec {s}}_{j}}{\vec {\sigma }}}\right|^{2}\right)}$.

The parameter ${\displaystyle \tau }$, ${\displaystyle \omega }$, and ${\displaystyle {\vec {\sigma }}}$ are determined a priori and kept constant during the simulation.

#### Implementation

Below there is a pseudocode of MTD base on molecular dynamics (MD), where ${\displaystyle \{{\vec {r}}\}}$ and ${\displaystyle \{{\vec {v}}\}}$ are the ${\displaystyle N}$-particle system positions and velocities, respectively. The bias ${\displaystyle V_{\text{bias}}}$ is updated every ${\displaystyle n=\tau /\Delta t}$ MD steps, and its contribution to the system forces ${\displaystyle \{{\vec {F}}\,\}}$ is ${\displaystyle \{{\vec {F}}_{\text{bias}}\}}$.

set initial ${\displaystyle \{{\vec {r}}\}}$ and ${\displaystyle \{{\vec {v}}\}}$
set ${\displaystyle V_{\text{bias}}({\vec {s}}\,):=0}$

every MD step:
compute CV values:
${\displaystyle {\vec {s}}_{t}:={\vec {s}}(\{{\vec {r}}\})}$

every ${\displaystyle n}$ MD steps:
update bias potential:
${\displaystyle V_{\text{bias}}({\vec {s}}\,):=V_{\text{bias}}({\vec {s}}\,)+\tau \omega \exp \!\!\left(\!-{\frac {1}{2}}\left|{\frac {{\vec {s}}-{\vec {s}}_{t}}{\vec {\sigma }}}\right|^{2}\right)}$

compute atomic forces:
${\displaystyle {\vec {F}}_{i}:=-{\frac {\partial V(\{{\vec {r}}\,\})}{\partial {\vec {r}}_{i}}}\overbrace {\left.-{\frac {\partial V_{\text{bias}}({\vec {s}}\,)}{\partial {\vec {s}}}}\right|_{{\vec {s}}_{t}}\!\!\!{\frac {\partial {\vec {s}}(\{{\vec {r}}\,\})}{\partial {\vec {r}}_{i}}}} ^{{\vec {F}}_{{\text{bias}},i}}}$

propagate ${\displaystyle \{{\vec {r}}\}}$ and ${\displaystyle \{{\vec {v}}\}}$ by ${\displaystyle \Delta t}$

##### Free energy estimator

The finite size of the kernel makes the bias potential to fluctuate around a mean value. A converged free energy can be obtained by averaging the bias potential. The averaging is started from ${\displaystyle t_{\text{diff}}}$, when the motion along the collective variable becomes diffusive:

${\displaystyle {\bar {F}}({\vec {s}})=-{\frac {1}{t_{\text{sim}}-t_{\text{diff}}}}\int _{t_{\text{diff}}}^{t_{\text{sim}}}\!\!\!\!\!V_{\text{bias}}({\vec {s}},t)\,dt+C}$

## Applications

Metadynamics has been used to study:

## Implementations

### PLUMED

PLUMED[33] is an open-source library implementing many MTD algorithms and collective variables. It has a flexible object-oriented design[34][35] and can be interfaced with several MD programs (AMBER, GROMACS, LAMMPS, NAMD, Quantum ESPRESSO, and CP2K).[36][37]

### Other

Other MTD implementations exist in LAMMPS, NAMD, ORAC, CP2K,[38] and Desmond.