Wykład 9.pdf

(147 KB) Pobierz
Molecular Dynamics
Lecture 9: MD algorithms - part 2
D
M
A
T
y
b
-
3
1
0
2
Velocity Verlet
Velocity Verlet yields positions, velocities and accelerations at
the same time t, thus minimizing round-off errors.
Calculate positions at t+δt:
1
˙
r
i
(t +
δt)
=
r
i
(t) +
v
i
(t)δt +
v
i
(t)(δt)
2
+
O(δt
3
)
2
Calculate velocities at t+1/2δt:
D
M
Calculate accelerations at t+1/2δt using previously calculated
values of
r
i
(t+δt) and
v
i
(t+1/2δt)
Calculate velocities at t+δt:
v
i
(t +
δt)
=
v
i
(t) +
1
˙
˙
v
i
(t) +
v
i
(t +
δt) δt
+
O(δt
2
)
2
A
T
y
b
-
3
1
0
2
1
1
˙
v
i
(t +
δt)
=
v
i
(t) +
v
i
δt
2
2
Velocity Verlet
Truncation errors are the same as in standard Verlet
More accurate expressions for velocities are used by
Beeman algorithm (O(δt
3
)) and Velocity-corrected Verlet
algorithm (O(δt
4
))
D
M
A
T
y
b
-
3
1
0
2
Predictor-Corrector
1.
Predict
r
i
,
v
i
and
a
i
at a time t+δt using the current values of
these quantities at a time t (from Taylor expressions)
2.
Calculate forces, and via equations of motion accelerations,
from new positions
r(t+δt)
3.
Compare values of
a(t+δt)
obtained from both steps and
calculate
∆a(t +
δt)
-
„an error signal”
∆a(t +
δt)
=
a(t
+
δt)
a
Taylor
(t +
δt)
4.
Correct positions, velocities, accelerations and higher order
terms using new accelerations
a(t+δt)
D
M
5.
return to point 1 for the next step
A
T
y
b
-
3
1
0
2
Predictor-corrector
r
c
(t +
δt)
=
r
Taylor
(t +
δt)
+
c
0
∆a(t +
δt)
v
c
(t +
δt)
=
v
Taylor
(t +
δt)
+
c
1
∆a(t +
δt)
(t +
δt)
(t +
δt)
a
c
=
a
Taylor
+
c
2
∆a(t +
δt)
2
2
(t +
δt)
(t +
δt)
=
b
Taylor
+
c
3
∆a(t +
δt)
b
c
6
6
D
M
coefficients determined to maximize the stability of the 3
rd
-order
algorithm: c
0
=1/6, c
1
=5/6, c
2
=1 and c
3
=1/3 (Gear)
A
T
y
b
-
3
1
0
2
Zgłoś jeśli naruszono regulamin