Time-propagation algorithms in molecular dynamics: Difference between revisions

From VASP Wiki
(Created page with " In molecular dynamics simulations the positions <math>\mathbf{r}_{i}(t)</math> and velocities <math>\mathbf{v}_{i}(t)</math> are monitored as functions of time <math>t</math>. This time dependence is obtained by integrating Newton's equations of motion. To solve the equations of motions a color mix of integration algorithms was developed. The time dependence of a particle can be expressed in a Taylor expansion ::<math> \mathbf{r}_{i}(t+\Delta t) = \mathbf{r}_{i}(t) +...")
 
 
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
In [[MD|molecular dynamics simulations]], the ionic positions <math>\mathbf{r}_{i}(t)</math> and velocities <math>\mathbf{v}_{i}(t)</math> are monitored as functions of time <math>t</math>. This time dependence is obtained by integrating Newton's equations of motion. When integrating the equations of motions it is important to use symplectic algorithms which conserve the phase-space volume. To solve the equations of motion under symplectic conditions, various integration algorithms have been developed. The time dependence of a particle can be expressed in a Taylor expansion
In molecular dynamics simulations the positions <math>\mathbf{r}_{i}(t)</math> and velocities <math>\mathbf{v}_{i}(t)</math> are monitored as functions of time <math>t</math>. This time dependence is obtained by integrating Newton's equations of motion. To solve the equations of motions a color mix of integration algorithms was developed.  
The time dependence of a particle can be expressed in a Taylor expansion
::<math>
::<math>
\mathbf{r}_{i}(t+\Delta t) = \mathbf{r}_{i}(t) + \mathbf{v}_{i}(t)\Delta t + \frac{\mathbf{F}_{i}}{2m}(t)\Delta t^{2} + \frac{\partial^{3} \mathbf{r}_{i}(t)}{\partial t^{3}}\Delta t^{3} + \mathcal{O}(\Delta t^{4})
\mathbf{r}_{i}(t+\Delta t) = \mathbf{r}_{i}(t) + \mathbf{v}_{i}(t)\Delta t + \frac{\mathbf{F}_{i}}{2m}(t)\Delta t^{2} + \frac{\partial^{3} \mathbf{r}_{i}(t)}{\partial t^{3}}\Delta t^{3} + \mathcal{O}(\Delta t^{4})
Line 17: Line 15:
::<math>
::<math>
\mathbf{r}_{i}(t+\Delta t) =  
\mathbf{r}_{i}(t+\Delta t) =  
\mathbf{r}_{i}(t)+ \mathbf{v}_{i}(t)\Delta t+\frac{\mathbf{F}_{i}}{2m}(t)\Delta t^{2}
\mathbf{r}_{i}(t)+ \mathbf{v}_{i}(t)\Delta t+\frac{\mathbf{F}_{i}}{2m}(t)\Delta t^{2}.
</math>
</math>
=== Velocity-Verlet Integration scheme ===
== Velocity-Verlet integration scheme ==
 
The Velocity-Verlet algorithm can be decomposed into the following steps:
<ol>
  <li><math>\mathbf{v}_{i}(t + \frac{1}{2}\Delta t)=\mathbf{v}_{i}(t)+\frac{\mathbf{F}_{i}(t)}{2m_{i}}\Delta t</math></li>
  <li><math>\mathbf{r}_{i}(t + \Delta t) = \mathbf{r}_{i}(t) + \mathbf{v}_{i}(t + \frac{1}{2}\Delta t)\Delta t</math></li>
  <li>compute forces <math> \mathbf{F}_{i}(t)</math> from density functional theory or machine learning</li>
  <li><math>\mathbf{v}_{i}(t + \Delta t)=\mathbf{v}_{i}(t+\frac{1}{2}\Delta t)+\frac{\mathbf{F}_{i}(t+\Delta t)}{2m_{i}}\Delta t</math></li>
</ol>
From these equations it can be seen that the velocity and the position vectors are synchronous in time.


== Leap-Frog integration scheme ==
Another form of the Verlet algorithm can be written in the form of the Leap-Frog algorithm. The Leap-Frog algorithm consists of the following steps:
<ol>
  <li> compute forces <math> \mathbf{F}_{i}(t)</math> from density functional theory or machine learning </li>
  <li><math>\mathbf{v}_{i}(t + \frac{1}{2}\Delta t)=\mathbf{v}_{i}(t- \frac{1}{2}\Delta t)+\frac{\mathbf{F}_{i}(t)}{m_{i}}\Delta t</math></li>
  <li><math>\mathbf{r}_{i}(t + \Delta t) = \mathbf{r}_{i}(t) + \mathbf{v}_{i}(t + \frac{1}{2}\Delta t)\Delta t</math></li>
</ol>
In this form the velocity and the position vectors are asynchronous in time.


== Thermostats and used integrators ==
{|class="wikitable" style="margin:aut  
{|class="wikitable" style="margin:aut  
! MDALGO !! thermostat !! integration algorithm
! MDALGO !! thermostat !! integration algorithm
|-  
|-  
|style="text-align:center;"| 0  || [[Nose-Hoover thermostat|Nose-Hoover]] || style="text-align:center;"| Velocity-Verlet
|style="text-align:center;"| 0  || [[Nose-Hoover thermostat|Nose-Hoover]] || style="text-align:center;"| [[#Velocity-Verlet integration scheme|Velocity-Verlet]]
|-
|-
|style="text-align:center;"| 1  || [[Andersen thermostat|Andersen]] || style="text-align:center;"| Leap-Frog
|style="text-align:center;"| 1  || [[Andersen thermostat|Andersen]] || style="text-align:center;"| [[#Leap-Frog integration scheme|Leap-Frog]]
|-
|style="text-align:center;"| 2  || [[Nose-Hoover thermostat|Nose-Hoover]] || style="text-align:center;"| [[#Leap-Frog integration scheme|Leap-Frog]]
|-  
|-  
|style="text-align:center;"| 2 || [[Nose-Hoover thermostat|Nose-Hoover]] || style="text-align:center;"| Leap-Frog
|style="text-align:center;"| 3 || [[Langevin thermostat|Langevin]] || style="text-align:center;"| [[#Velocity-Verlet Integration scheme|Velocity-Verlet]]
|-  
|-  
|style="text-align:center;"| 3 || [[Langevin thermostat|Langevin]] || style="text-align:center;"| Velocity-Verlet
|style="text-align:center;"| 4 || [[Nose-Hoover-chain thermostat|NHC]] || style="text-align:center;"| [[#Velocity-Verlet integration scheme|Velocity-Verlet]]
|-  
|-  
|style="text-align:center;"| 4 || [[Nose-Hoover-chain thermostat|NHC]] || style="text-align:center;"| Leap-Frog  
|style="text-align:center;"| 5 || [[CSVR thermostat|CSVR]] || style="text-align:center;"| [[#Leap-Frog integration scheme|Leap-Frog]]
|-  
|-  
|style="text-align:center;"| 5  || [[CSVR thermostat|CSVR]] || style="text-align:center;"| Leap-Frog  
|style="text-align:center;"| 5  || [[MDALGO#MDALGO=13: Multiple Andersen thermostats|Multiple Andersen]] || style="text-align:center;"| [[#Leap-Frog integration scheme|Leap-Frog]]
|}
|}
== Related tags and articles ==
{{TAG|IBRION}}, {{TAG|MDALGO}}, [[Thermostats]]
[[Category:Theory]][[Category:Molecular dynamics]][[Category:Thermostats]]

Latest revision as of 10:28, 18 October 2024

In molecular dynamics simulations, the ionic positions and velocities are monitored as functions of time . This time dependence is obtained by integrating Newton's equations of motion. When integrating the equations of motions it is important to use symplectic algorithms which conserve the phase-space volume. To solve the equations of motion under symplectic conditions, various integration algorithms have been developed. The time dependence of a particle can be expressed in a Taylor expansion

A backward propagation in time by a time step can be obtained in a similar way

Adding these two equation gives and rearrangement gives the Verlet algorithm

The Verlet algorithm can be rearranged to the Velocity-Verlet algorithm by inserting

Velocity-Verlet integration scheme

The Velocity-Verlet algorithm can be decomposed into the following steps:

  1. compute forces from density functional theory or machine learning

From these equations it can be seen that the velocity and the position vectors are synchronous in time.

Leap-Frog integration scheme

Another form of the Verlet algorithm can be written in the form of the Leap-Frog algorithm. The Leap-Frog algorithm consists of the following steps:

  1. compute forces from density functional theory or machine learning

In this form the velocity and the position vectors are asynchronous in time.

Thermostats and used integrators

MDALGO thermostat integration algorithm
0 Nose-Hoover Velocity-Verlet
1 Andersen Leap-Frog
2 Nose-Hoover Leap-Frog
3 Langevin Velocity-Verlet
4 NHC Velocity-Verlet
5 CSVR Leap-Frog
5 Multiple Andersen Leap-Frog

Related tags and articles

IBRION, MDALGO, Thermostats