Adaptive Biasing Force Method: Difference between revisions

No edit summary
Durnik (talk | contribs)
No edit summary
 
(12 intermediate revisions by one other user not shown)
Line 9: Line 9:
* [[ABF:Post-processing]]
* [[ABF:Post-processing]]
* [[ABF:Multiple walkers approach]]
* [[ABF:Multiple walkers approach]]
* [[ABF:Utilities]]
* [[ABF:Examples]]
* [[ABF:Examples]]


==Description==
==Description==
===Free Energy from Unconstrained MD Simulations===
===Free Energy from Unconstrained MD Simulations===
The Adaptive Biasing Force (ABF) Method calculates the free energy as a function of selected collective variables from unconstrained molecular dynamics (MD) simulations. The method does not provide the free energy directly, but instead, it provides the free energy gradient <math>\frac{\partial G(\boldsymbol \xi)}{\partial \boldsymbol \xi}</math>, which must be integrated to get the free energy:
The Adaptive Biasing Force (ABF) method calculates the free energy as a function of selected collective variables from unconstrained molecular dynamics (MD) simulations. The method does not provide the free energy directly, but instead, it provides the free energy gradient <math>\frac{\partial G(\boldsymbol \xi)}{\partial \boldsymbol \xi}</math>, which must be integrated to get the free energy:
   
   
<center><math>\Delta G = G(\boldsymbol \xi_2) - G(\boldsymbol \xi_1) = \int_{\boldsymbol \xi_1}^{\boldsymbol \xi_2} \frac{\partial G(\boldsymbol \xi)} {\partial \boldsymbol \xi} \boldsymbol d \xi </math> ... (1)</center>
<center><math>\Delta G = G(\boldsymbol \xi_2) - G(\boldsymbol \xi_1) = \int_{\boldsymbol \xi_1}^{\boldsymbol \xi_2} \frac{\partial G(\boldsymbol \xi)} {\partial \boldsymbol \xi} \boldsymbol d \xi </math> ... (1)</center>
Line 30: Line 29:
<center><math>[Z]_{ij}=\sum_{k=1}^{N_{atoms}} \frac{1}{m_k} \frac{\partial \xi_i}{\partial \bold x_k} \frac{\partial \xi_j}{\partial \bold x_k}</math> ... (4)</center>
<center><math>[Z]_{ij}=\sum_{k=1}^{N_{atoms}} \frac{1}{m_k} \frac{\partial \xi_i}{\partial \bold x_k} \frac{\partial \xi_j}{\partial \bold x_k}</math> ... (4)</center>


The analytical calculation of instantaneous collective force by Equation 3 requires the second derivatives of collective variables with respect to Cartesian coordinates. Since this can be prohibitive for complex collective variables such as the simple base-pair parameters, Equation 3 is evaluated numerically by a [[Adaptive Biasing Force Method#Instanteous Collective Forces|finite-difference approach]].
The analytical calculation of instantaneous collective force by Equation 3 requires the second derivatives of collective variables with respect to Cartesian coordinates. Since this can be prohibitive for complex collective variables such as the simple base-pair parameters, Equation 3 is evaluated numerically by a [[Adaptive Biasing Force Method#Instantaneous Collective Forces|finite-difference approach]].


===Sampling Space Discretization===
===Sampling Space Discretization===
Line 50: Line 49:


===Adaptive Bias===
===Adaptive Bias===
ABF introduces an adaptive bias, which improves the sampling of rare events. The bias removes barriers or higher free energy regions in the space described by predefined collective variables <math>\boldsymbol \xi</math>. As a result, the system evolves alongside these collective variables by free diffusions. The bias is derived from the free energy, which is projected in the form of biasing force <math>\bold F_{bias}</math> to the Cartesian space and removed from force <math>\bold F_{pot}</math> originated from interatomic interaction potential <math>V(\bold R)</math>. The application of the bias thus leads to the modified equations of motions:
ABF introduces an adaptive bias, which improves the sampling of rare events. The bias removes barriers or higher free energy regions in the space described by predefined collective variables <math>\boldsymbol \xi</math>. As a result, the system evolves by free diffusion alongside these collective variables. The bias is derived from the free energy, which is projected in the form of biasing force <math>\bold F_{bias}</math> to the Cartesian space and removed from force <math>\bold F_{pot}</math> originated from inter-atomic interaction potential <math>V(\bold R)</math>. The application of the bias thus leads to the modified equations of motions:


<center><math>m_{i}  \frac { d^2 \bold r_i }{dt^2} = \bold F_{pot,i}(\bold r_i) - \bold F_{bias,i}(\bold r_i) = - \frac{\partial V(\bold R)} {\partial \bold r_i} - \frac{\partial G(\boldsymbol \xi)}{\partial \boldsymbol \xi} \frac{\partial \boldsymbol \xi}{\partial \bold r_i}</math> ... (8)</center>
<center><math>m_{i}  \frac { d^2 \bold r_i }{dt^2} = \bold F_{pot,i}(\bold r_i) - \bold F_{bias,i}(\bold r_i) = - \frac{\partial V(\bold R)} {\partial \bold r_i} + \frac{\partial G(\boldsymbol \xi)}{\partial \boldsymbol \xi} \frac{\partial \boldsymbol \xi}{\partial \bold r_i}</math> ... (8)</center>


where <math>m_i</math> is mass of atom i, <math>\bold r_i</math> is atom position, and <math>t</math> is time.
where <math>m_i</math> is mass of atom i, <math>\bold r_i</math> is atom position, and <math>t</math> is time.


===Instanteous Collective Forces===
Since the biasing force is not known prior to the simulation, it is calculated during the simulation and adaptively applied. To accelerate sampling, the biasing force is applied even if an inadequate number of samples is collected in a bin. In this case, the biasing force is scaled in the early stages to avoid artifacts from applications of overestimated biasing forces. The biasing force can also be smoothed to decrease noise in collected data. For further details, see feimode in [[ABF:Controls]].
TBA
 
===Instantaneous Collective Forces===
PMFLib implements two algorithms to calculate Equation 3: simplified and original ABF algorithms. The original ABF algorithm is theoretically more accurate than the simplified one but it works only for MD without constraints. Therefore, the simplified algorithm is the default one as it is numerically more robust at all MD setups.
 
====Simplified ABF Algorithm====
The simplified ABF algorithm (fmode=1) uses the result of the product rule for derivatives applied on Equation 3 leading into the two distinct contributions into the instantaneous collective forces:
<center><math>\frac {d} {dt} \left( \bold Z^{-1} \frac{d \boldsymbol \xi} {dt} \right) \big|_{(t)} = \left( \bold Z^{-1}(t) \nabla \boldsymbol \xi (t) \right) \cdot \bold a(t) + \frac{d}{dt} \left( \bold Z^{-1}(t) \nabla \boldsymbol \xi (t)) \right) \cdot \bold v(t) = \bold F_{ICF,pot}(t) + \bold F_{ICF,kin}(t)</math> ... (9)</center>
 
The potential contribution <math>\bold F_{ICF,pot}(t)</math> is given:
 
<center><math>\bold F_{ICF,pot}(t) = \left( \bold Z^{-1}(t) \nabla \boldsymbol \xi (t) \right) \cdot \frac{\bold v(t+dt/2) - \bold v(t-dt/2)}{dt}</math> ... (10)</center>
 
It employs the accelerations <math>\bold a(t)</math> calculated back from the velocities:
 
<center><math>\bold a(t) = \frac{\bold v(t+dt/2) - \bold v(t-dt/2)}{dt}</math> ... (11)</center>,
 
which ensures that effect of SHAKE and other constraints on acceleration is properly counted (see [[Molecular_Dynamics_Algorithms|the leap-frog integration algorithm]] for further details).
 
The kinetic contribution <math>\bold F_{ICF,kin}(t-dt/2)</math> is calculated from numerical differentiation:
 
<center><math>\bold F_{ICF,kin}(t-dt/2) = \frac {\bold Z^{-1}(t) \nabla \boldsymbol \xi (t) - \bold Z^{-1}(t-dt) \nabla \boldsymbol \xi (t-dt)}{dt} \bold v(t-dt/2) </math> ... (12)</center>
 
Finally, to get <math>\bold F_{ICF,kin}</math> at the same time as <math>\bold F_{ICF,pot}</math>, two values are averaged:
 
<center><math>\bold F_{ICF,kin}(t) = \frac {\bold F_{ICF,kin}(t+dt/2) + \bold F_{ICF,kin}(t-dt/2) }{2}</math> ... (13)</center>
 
The algorithm uses a history of values collected in two consecutive time steps. But, the first result is available from the fourth time step to be compatible with the original algorithm.
 
 
====Original ABF Algorithm====
The original ABF algorithm (fmode=2) implements the algorithm presented by Darve ''at al''.<ref name="darve2008"/><ref name="darve2007">Darve, E. Thermodynamic Integration Using Constrained and Unconstrained Dynamics. In Free Energy Calculations Theory and Applications in Chemistry and Biology; Springer Series in CHEMICAL PHYSICS; Springer: Berlin, 2007; Vol. 86, pp 119–170.</ref>. This algorithm should not be used when SHAKE is enabled because the accelerations entering into the calculations are not corrected for constraints. The algorithm uses a history of values collected in four consecutive time steps. Thus, the first result is available from the fourth time step.
<center><math>\frac {d} {dt} \left( \bold Z^{-1} \frac{d \boldsymbol \xi} {dt} \right) \big|_{(t)} = \frac{1}{2} \left( \frac{\bold p^+_{\xi}(t+dt) - \bold p^+_{\xi}(t) } {dt} +  \frac{\bold p^-_{\xi}(t+dt) - \bold p^-_{\xi}(t) } {dt} \right)</math> ... (14)</center>
 
where
 
<center><math>\bold p^+_{\xi}(t) = \bold Z^{-1}(t) \nabla \boldsymbol \xi(t) \cdot \left[ \bold v(t+dt/2) - \frac{dt}{6} \bold a(t+dt) \right]</math> ... (15)</center>
 
<center><math>\bold p^-_{\xi}(t) = \bold Z^{-1}(t) \nabla \boldsymbol \xi(t) \cdot \left[ \bold v(t-dt/2) + \frac{dt}{6} \bold a(t-dt) \right]</math> ... (16)</center>


==References==
==References==
<references />
<references />