Constrained molecular dynamics: Difference between revisions

From VASP Wiki
No edit summary
No edit summary
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 algorithm.<ref name="Ryckaert77"/>.

Revision as of 14:22, 18 April 2022

Constrained molecular dynamics is performed using the SHAKE algorithm.[1]. In this algorithm, the Lagrangian for the system Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): {\mathcal {L}} is extended as follows:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): {\mathcal {L}}^{*}({\mathbf {q,{\dot {q}}}})={\mathcal {L}}({\mathbf {q,{\dot {q}}}})+\sum _{{i=1}}^{{r}}\lambda _{i}\sigma _{i}(q),

where the summation is over r geometric constraints, Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): {\mathcal {L}}^{*} is the Lagrangian for the extended system, and λi is a Lagrange multiplier associated with a geometric constraint σi:

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): \sigma _{i}(q)=\xi _{i}({q})-\xi _{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:

  1. Perform a standard MD step (leap-frog algorithm):
    Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): v_{i}^{{t+{\Delta }t/2}}=v_{i}^{{t-{\Delta }t/2}}+{\frac {a_{i}^{{t}}}{m_{i}}}{\Delta }t
    Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): q_{i}^{{t+{\Delta }t}}=q_{i}^{{t}}+v_{i}^{{t+{\Delta }t/2}}{\Delta }t
  2. Use the new positions q(tt) to compute Lagrange multipliers for all constraints:
    Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): {\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}})}}
  3. Update the velocities and positions by adding a contribution due to restoring forces (proportional to λk):
    Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): v_{i}^{{t+{\Delta }t/2}}=v_{i}^{{t-{\Delta }t/2}}+\left(a_{i}^{{t}}-\sum _{k}{\frac {{\lambda }_{k}}{m_{i}}}\bigtriangledown _{i}{\sigma }_{k}(q^{{t}})\right){\Delta }t
    Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://www.vasp.at/wiki/restbase/vasp.at/v1/":): q_{i}^{{t+{\Delta }t}}=q_{i}^{{t}}+v_{i}^{{t+{\Delta }t/2}}{\Delta }t
  4. 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:
  1. Set the standard MD-related tags: IBRION=0, TEBEG, POTIM, and NSW.
  2. Set MDALGO=1, and choose an appropriate setting for ANDERSEN_PROB.
  3. Define geometric constraints in the ICONST-file, and set the STATUS parameter for the constrained coordinates to 0.
  4. When the free-energy gradient is to be computed, set LBLUEOUT=.TRUE.

References

Cite error: <ref> tag with name "Carter89" defined in <references> is not used in prior text.
Cite error: <ref> tag with name "Otter00" defined in <references> is not used in prior text.
Cite error: <ref> tag with name "Darve02" defined in <references> is not used in prior text.
Cite error: <ref> tag with name "Fleurat05" defined in <references> is not used in prior text.