|
|
Line 66: |
Line 66: |
| #When the free-energy gradient is to be computed, set {{TAG|LBLUEOUT}}=.TRUE. | | #When the free-energy gradient is to be computed, set {{TAG|LBLUEOUT}}=.TRUE. |
|
| |
|
| == Anderson thermostat ==
| |
|
| |
| * For a constrained molecular dynamics run with Nose-Hoover thermostat, one has to:
| |
| #Set the standard MD-related tags: {{TAG|IBRION}}=0, {{TAG|TEBEG}}, {{TAG|POTIM}}, and {{TAG|NSW}}.
| |
| #Set {{TAG|MDALGO}}=2, and choose an appropriate setting for {{TAG|SMASS}}.
| |
| #Define geometric constraints in the {{FILE|ICONST}}-file, and set the {{TAG|STATUS}} parameter for the constrained coordinates to 0.
| |
| #When the free-energy gradient is to be computed, set {{TAG|LBLUEOUT}}=.TRUE.
| |
|
| |
|
| == References == | | == References == |
Revision as of 17:36, 5 June 2019
In general, constrained molecular dynamics generates biased statistical averages.
It can be shown that the correct average for a quantity
can be obtained using the formula:
![{\displaystyle
a(\xi)=\frac{\langle |\mathbf{Z}|^{-1/2} a(\xi^*) \rangle_{\xi^*}}{\langle |\mathbf{Z}|^{-1/2}\rangle_{\xi^*}},
}](/wiki/index.php?title=Special:MathShowImage&hash=05576096b259c3fcfd2cf9a50462fbe9&mode=mathml)
where
stands for the statistical average of the quantity enclosed in angular parentheses computed for a constrained ensemble and
is a mass metric tensor defined as:
![{\displaystyle
Z_{\alpha,\beta}={\sum}_{i=1}^{3N} m_i^{-1} \nabla_i \xi_\alpha \cdot \nabla_i \xi_\beta, \, \alpha=1,...,r, \, \beta=1,...,r,
}](/wiki/index.php?title=Special:MathShowImage&hash=907fdba4724e997a6e60f1542e7de394&mode=mathml)
It can be shown that the free energy gradient can be computed using the equation:[1][2][3][4]
![{\displaystyle
\Bigl(\frac{\partial A}{\partial \xi_k}\Bigr)_{\xi^*}=\frac{1}{\langle|Z|^{-1/2}\rangle_{\xi^*}}\langle |Z|^{-1/2} [\lambda_k +\frac{k_B T}{2 |Z|} \sum_{j=1}^{r}(Z^{-1})_{kj} \sum_{i=1}^{3N} m_i^{-1}\nabla_i \xi_j \cdot \nabla_i |Z|]\rangle_{\xi^*},
}](/wiki/index.php?title=Special:MathShowImage&hash=d980908fd0bf0149c9f05091860068ad&mode=mathml)
where
is the Lagrange multiplier associated with the parameter
used in the SHAKE algorithm.[5]
The free-energy difference between states (1) and (2) can be computed by integrating the free-energy gradients over a connecting path:
![{\displaystyle
{\Delta}A_{1 \rightarrow 2} = \int_{{\xi(1)}}^{{\xi(2)}}\Bigl( \frac{\partial {A}} {\partial \xi} \Bigr)_{\xi^*} \cdot d{\xi}.
}](/wiki/index.php?title=Special:MathShowImage&hash=c6a5b57c8f583712d2f980209f074ee0&mode=mathml)
Note that as the free-energy is a state quantity, the choice of path connecting (1) with (2) is irrelevant.
Constrained molecular dynamics is performed using the SHAKE algorithm.[5].
In this algorithm, the Lagrangian for the system
is extended as follows:
![{\displaystyle
\mathcal{L}^*(\mathbf{q,\dot{q}}) = \mathcal{L}(\mathbf{q,\dot{q}}) +
\sum_{i=1}^{r} \lambda_i \sigma_i(q),
}](/wiki/index.php?title=Special:MathShowImage&hash=4ae27e3fc6b4fdabf472a9cb894ba9fb&mode=mathml)
where the summation is over r geometric constraints,
is the Lagrangian for the extended system, and λi is a Lagrange multiplier associated with a geometric constraint σi:
![{\displaystyle
\sigma_i(q) = \xi_i({q})-\xi_i \;
}](/wiki/index.php?title=Special:MathShowImage&hash=9b56221ac0fd7fb16181230c7f1e7c95&mode=mathml)
with ξi(q) being a geometric parameter and ξi is the value of ξi(q) fixed during the simulation.
In the SHAKE algorithm, the Lagrange multipliers λi are determined in the iterative procedure:
- Perform a standard MD step (leap-frog algorithm):
![{\displaystyle
v^{t+{\Delta}t/2}_i = v^{t-{\Delta}t/2}_i + \frac{a^{t}_i}{m_i} {\Delta}t
}](/wiki/index.php?title=Special:MathShowImage&hash=8dc5540f55c7ec6f27b2973b6e193e35&mode=mathml)
![{\displaystyle
q^{t+{\Delta}t}_i = q^{t}_i + v^{t+{\Delta}t/2}_i{\Delta}t
}](/wiki/index.php?title=Special:MathShowImage&hash=42290fd4930b9a62251ba3b3ff8f8723&mode=mathml)
- Use the new positions q(t+Δt) to compute Lagrange multipliers for all constraints:
![{\displaystyle
{\lambda}_k= \frac{1}{{\Delta}t^2} \frac{\sigma_k(q^{t+{\Delta}t})}{\sum_{i=1}^N m_i^{-1} \bigtriangledown_i{\sigma}_k(q^{t}) \bigtriangledown_i{\sigma}_k(q^{t+{\Delta}t})}
}](/wiki/index.php?title=Special:MathShowImage&hash=e79a512f4b434acadb1da059a63dd332&mode=mathml)
- Update the velocities and positions by adding a contribution due to restoring forces (proportional to λk):
![{\displaystyle
v^{t+{\Delta}t/2}_i = v^{t-{\Delta}t/2}_i + \left( a^{t}_i-\sum_k \frac{{\lambda}_k}{m_i} \bigtriangledown_i{\sigma}_k(q^{t}) \right ) {\Delta}t
}](/wiki/index.php?title=Special:MathShowImage&hash=c5858023e64364b511d4851f24c67df5&mode=mathml)
![{\displaystyle
q^{t+{\Delta}t}_i = q^{t}_i + v^{t+{\Delta}t/2}_i{\Delta}t
}](/wiki/index.php?title=Special:MathShowImage&hash=42290fd4930b9a62251ba3b3ff8f8723&mode=mathml)
- repeat steps 2-4 until either |σi(q)| are smaller than a predefined tolerance (determined by SHAKETOL), or the number of iterations exceeds SHAKEMAXITER.
Anderson thermostat
- For a constrained molecular dynamics run with Andersen thermostat, one has to:
- Set the standard MD-related tags: IBRION=0, TEBEG, POTIM, and NSW.
- Set MDALGO=1, and choose an appropriate setting for ANDERSEN_PROB.
- Define geometric constraints in the ICONST-file, and set the STATUS parameter for the constrained coordinates to 0.
- When the free-energy gradient is to be computed, set LBLUEOUT=.TRUE.
References
- ↑ E. A. Carter, G. Ciccotti, J. T. Hynes, and R. Kapral, Chem. Phys. Lett. 156, 472 (1989).
- ↑ W. K. Den Otter and W. J. Briels, Mol. Phys. 98, 773 (2000).
- ↑ E. Darve, M. A. Wilson, and A. Pohorille, Mol. Simul. 28, 113 (2002).
- ↑ P. Fleurat-Lessard and T. Ziegler, J. Chem. Phys. 123, 084101 (2005).
- ↑ a b J. P. Ryckaert, G. Ciccotti, and H. J. C. Berendsen, J. Comp. Phys. 23, 327 (1977).