|
|
(23 intermediate revisions by 3 users not shown) |
Line 1: |
Line 1: |
|
| |
| In general, constrained molecular dynamics generates biased statistical averages.
| |
| It can be shown that the correct average for a quantity <math>a(\xi)</math> can be obtained using the formula:
| |
| :<math>
| |
| a(\xi)=\frac{\langle |\mathbf{Z}|^{-1/2} a(\xi^*) \rangle_{\xi^*}}{\langle |\mathbf{Z}|^{-1/2}\rangle_{\xi^*}},
| |
| </math>
| |
| where <math>\langle ... \rangle_{\xi^*}</math> stands for the statistical average of the quantity enclosed in angular parentheses computed for a constrained ensemble and <math>Z</math> is a mass metric tensor defined as:
| |
| :<math>
| |
| 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,
| |
| </math>
| |
| It can be shown that the free energy gradient can be computed using the equation:<ref name="Carter89"/><ref name="Otter00"/><ref name="Darve02"/><ref name="Fleurat05"/>
| |
| :<math>
| |
| \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^*},
| |
| </math>
| |
| where <math>\lambda_{\xi_k}</math> is the Lagrange multiplier associated with the parameter <math>{\xi_k}</math> used in the [[#SHAKE|SHAKE algorithm]].<ref name="Ryckaert77"/>
| |
|
| |
| The free-energy difference between states (1) and (2) can be computed by integrating the free-energy gradients over a connecting path:
| |
| :<math>
| |
| {\Delta}A_{1 \rightarrow 2} = \int_{{\xi(1)}}^{{\xi(2)}}\Bigl( \frac{\partial {A}} {\partial \xi} \Bigr)_{\xi^*} \cdot d{\xi}.
| |
| </math>
| |
| Note that as the free-energy is a state quantity, the choice of path connecting (1) with (2) is irrelevant.
| |
|
| |
|
| |
| <div id="SHAKE"></div> | | <div id="SHAKE"></div> |
| Constrained molecular dynamics is performed using the SHAKE algorithm.<ref name="Ryckaert77"/>. | | Constrained molecular dynamics is performed using the SHAKE{{cite|ryckaertt:jcp:1977}} algorithm. |
| In this algorithm, the Lagrangian for the system <math>\mathcal{L}</math> is extended as follows: | | In this algorithm, the Lagrangian for the system <math>\mathcal{L}</math> is extended as follows: |
| :<math> | | :<math> |
Line 58: |
Line 35: |
| <div id="Slowgro"></div> | | <div id="Slowgro"></div> |
|
| |
|
| == Anderson thermostat ==
| | == References == |
| | | |
| * For a constrained molecular dynamics run with Andersen thermostat, one has to:
| | [[Category:Advanced molecular-dynamics sampling]][[Category:Theory]] |
| #Set the standard MD-related tags: {{TAG|IBRION}}=0, {{TAG|TEBEG}}, {{TAG|POTIM}}, and {{TAG|NSW}}
| |
| #Set {{TAG|MDALGO}}=1, and choose an appropriate setting for {{TAG|ANDERSEN_PROB}}
| |
| #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>
| |
| <ref name="Ryckaert77">[http://dx.doi.org/10.1016/0021-9991(77)90098-5 J. P. Ryckaert, G. Ciccotti, and H. J. C. Berendsen, J. Comp. Phys. 23, 327 (1977).]</ref>
| |
| </references>
| |
| ----
| |
| | |
| [[Category:Molecular Dynamics]][[Category:Constrained molecular dynamics]][[Category:Theory]][[Category:Howto]] | |
Constrained molecular dynamics is performed using the SHAKE[1] algorithm.
In this algorithm, the Lagrangian for the system is extended as follows:
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:
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):
- Use the new positions q(t+Δt) to compute Lagrange multipliers for all constraints:
- Update the velocities and positions by adding a contribution due to restoring forces (proportional to λk):
- repeat steps 2-4 until either |σi(q)| are smaller than a predefined tolerance (determined by SHAKETOL), or the number of iterations exceeds SHAKEMAXITER.
References