Л.5 Основні чисельні алгоритми методу молекулярної динаміки
Алгоритм Верле “leapfrog”
Алгоритм Верле у швидкісній формі “velocity Verlet”
Алгоритми Верле - порівняння
Алгоритм Беемана
Алгоритми типу предиктор-коректор
Алгоритми типу предиктор-коректор. Алгоритм Рунге-Кутта
Алгоритми типу предиктор-коректор. Алгоритми Гіра
Стабільність алгоритмів при виборі часового кроку
Стабільність алгоритмів при довгих симуляціях
Проблеми при великому часовому кроці
556.50K
Category: informaticsinformatics

Основні чисельні алгоритми методу молекулярної динаміки

1. Л.5 Основні чисельні алгоритми методу молекулярної динаміки

Рівняння руху частинок:
d 2 ri (t )
mi
Fi (t ) i E pot (t )
2
dt
Алгоритм Верле
F (t ) 2
r (t t ) 2r (t ) r (t t )
t
m
t - часовий крок у МД
Різницева схема обчислення швидкості частинок, як
першої похідної по часу
r (t t ) r (t t )
v (t )
O ( t 2 )
2 t

2. Алгоритм Верле “leapfrog”

1.
1
1
F (t )
v(t t ) v(t t ) t
2
2
m
2.
1
r (t t ) r (t ) tv(t t )
2
3.
1
1
1
v(t ) [v(t t ) v(t t )]
2
2
2

3. Алгоритм Верле у швидкісній формі “velocity Verlet”

1.
F (t )
r (t t ) r (t ) tv(t ) ( t )
2m
2.
t
v(t t ) v(t )
[ F (t ) F (t t )]
2m
2
Цей алгоритм можна виразити також через зсунуті на пів кроку
швидкості
1
t
v(t t ) v(t )
F (t )
2
2m
1
t
v(t t ) v(t t )
F (t t )
2
2m

4. Алгоритми Верле - порівняння

(a): Verlet
(b): Half-Step (Leapfrog)
(c ): Velocity Verlet

5. Алгоритм Беемана

2 F (t ) F (t t )
1. r (t t ) r (t ) tv (t ) ( t ) [
]
3m
6m
2
t 7
1
2. v(t t ) v(t )
[ F (t ) F (t t )]
m 6
6
Більш складний ніж алгоритм Верле у швидкісній формі
Та вимагає більше пам’яті комп’ютера, однак дозволяє
добре зберігати енергію системи

6. Алгоритми типу предиктор-коректор

Предиктор : звичайний розклад у ряд Тейлора
1
1
r p (t t ) r (t ) tv(t ) ( t ) 2 a (t ) ( t )3 b(t ) ...
2
6
1
v p (t t ) v(t ) ta (t ) ( t ) 2 b(t ) ...
2
a p (t t ) a(t ) tb(t ) ...
Коректор : визначає похибку в передбачених значеннях і
Обраховано з нових позицій предиктора
поправляє їх
a(t t ) a c (t t ) a p (t t )
r c (t t ) r p (t t ) c0 ( t ) 2 a (t t )
v (t t ) v (t t ) c1 t a(t t )
c
p
bc (t t ) b p (t t ) c3 a(t t ) / t
c2 1

7. Алгоритми типу предиктор-коректор. Алгоритм Рунге-Кутта

1.
2.
2
4
r *(t ) r (t ) tv(t ) k1
3
9
F (r , t )
k1 ( t )
2m
2
F (r*, t )
k2 ( t )
2m
3.
1
r (t t ) r (t ) tv(t ) (k1 k2 )
2
4.
k1 3k2
v(t t ) v(t )
2 t
2

8. Алгоритми типу предиктор-коректор. Алгоритми Гіра

r c (t t ) r p (t t ) c0 ( t ) 2 a (t t )
vc (t t ) v p (t t ) c1 t a(t t )
bc (t t ) b p (t t ) c3 a(t t ) / t
c0=1/6, c1=5/6, c2=1, c3=1/3 - алгоритм Гіра 4-го
порядку (враховуються 3-ті похідні від координат
частинок)
c0=19/120, c1=3/4, c2=1, c3=1/2, c4=1/2 - алгоритм Гіра 5го порядку (враховуються 4-ті похідні від координат
частинок)

9. Стабільність алгоритмів при виборі часового кроку

Кружечки: Verlet
Квадратики: Gear 4th order
Трикутники: Gear 5th order
Ромбики: Gear 6th order
Середньоквадратичне
відхилення енергії в залежності
від часового кроку

10. Стабільність алгоритмів при довгих симуляціях

11. Проблеми при великому часовому кроці

Особливо біля моменту
зіткнення частинок сили
сильно змінюються.
Похибка сильно
акумулюється у
послідуючих кроках
Симуляція міжатомної відстані між двома
атомами аргону з двома різними часовими
кроками dts.
Показано різницю з точною траєкторією.
English     Русский Rules