Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu
description
Transcript of Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu
Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu
Dany jest układ różniczkowych
txxxf
txxxf
txxxf
t
tx
tx
tx
t
tdt
d
nn
n
n
n ,,,,
,,,,
,,,,
,
)(
)(
)(
,
21
212
211
2
1
00
xfx
xx
xfx
Należy znaleźć jego rozwiązanie x(t) dla warunków początkowych zadanych przez x(t0).
Przykłady problemów które można zapisać bezpośrednio jako układu równań różniczkowych rzędu pierwszego:
1. Kinetyka chemiczna (x jest stężeniem lub w ogólności postępem reakcji a t czasem).
2. Obliczanie trajektorii „wewnętrznej” współrzędnej reakcji (Intrinsic Reaction Coordinate; IRC); wtedy x jest wektorem współrzędnych układu reagującego a t współrzędną reakcji ().
rr
r Ed
d
Obliczenia startuje się z punktu siodłowego w dwóch kierunkach określonych przez wektor własny hesjanu odpowiadający ujemnej wartości własnej.
x1
x2
NH3...HCl
NH4+...Cl-
NH3...H...Cl
H3N H Clx1 x2
E
E
Dygresja: jeżeli prawa strona jest układem funkcji liniowych względem x (tak jak w kinetyce reakcji pierwszego rzędu) to rozwiązanie jest analityczne i ma postać kombinacji liniowej funkcji eksponencjalnych:
12
1
1
1
0
)exp(
)exp(
)exp(
)exp()exp(
)exp(
VVVVA
VVA
xAx
Axx
n
t
tdt
d
Często nie jest aż tak prosto (przykład: reakcje Biełousowa-Żabotyńskiego).
Numeryczne rozwiązywanie zagadnienia początkowego: ogólnie.
Dzielimy przedział [t0,] w którym szukamy rozwiązania na N odcinków
t0<t1<t2<...<tN=
Definiujemy hi=ti+1-ti oraz przybliżone rozwiązanie i różnicę pomiędzy przybliżonym a dokładnym rozwiązaniem w punkcie ti
X(ti)=Xix(ti)=yi ei=||xi-X||i
Mamy:
1
,1
i
i
t
t
ii dttttt xfxx
Ogólny podział metod numerycznych rozwiązywania równań różniczkowych zwyczajnych pierwszego rzędu:
1. Metody jednokrokowe: do obliczenia x w kolejnym kroku t wykorzystują tylko wartości x z poprzedniego kroku (np. metoda Eulera-Cauchy’ego,metoda Rungego-Kutty).
2. Metody wielokrokowe: wykorzystują wartości x z kilku kroków wstecz (np. metoda Adamsa-Bashforda, metoda Adamsa-Stromera).
3. Metody ekstrapolacyjne: wykorzystują kwadraturę Romberga.
4. Metody predyktora i korektora: w danym kroku t najpierw oblicza się przewidywane wartości x (krok predykcyjny) a potem się je udokładnia (krok korekcyjny) (np. algorytm Geara). Tych metod można używać w połączeniu zarówno z metodami jedno- jak i wielokrokowymi.
Metoda Eulera-Cauchy’ego
)(
)())(,('2
))(,(
)),(,('2
))(,())(,(
max1
22
1
1
1
21
hOe
hOh
tth
tth
tthdttt
i
ii
i
iiiii
t
t
iii
iii
i
i
xf
XfXX
xfxfxf
t1 t2 t3 t3 t4 t5 t
f
t1 t2 t3 t3 t4 t5 t
x rozwiązanie dokładne
rozwiązanie przybliżone
Błąd popełniany w i-tym kroku całkowania (lokalny)
Całkowity błąd którym obarczone jest rozwiązanie w i-tym punkcie (globalny)
Udoskonalona metoda Eulera-Cauchy’ego (drugiego rzędu)
)(
,2
,2
,2
2max
2/11
hOe
thh
th
hth
i
iii
ii
iii
ii
iiii
XfXfX
XfXX
Metoda predyktora-korektora Heuna
)(
,max
20.0
korektor,...2,1,,,2
predyktor,
2max1
)(11
)1(1
)0(1
1
hOe
ttL
LhK
tth
th
i
ttti
ii
iiiii
ii
iiiii
ii
Xf
XfXfXX
XfXX
Metody Rungego-Kutty
Sformułowanie ogólne:
mjhtbhhatht
htAh
j
ssjsij
m
jiiijjiii
,,2,,,,,
,,
1
11
11
YkXfXk
XkXX
m 1 2 3 4 5 6 7 8 9
qg 1 2 3 4 4 5 6 6 7
Rząd zbieżności metod Rungego-Kutty w zależności od m
m=1: metoda Eulera-Cauchy’ego
m=2: ulepszona metoda Eulera-Cauchy’ego lub metoda Heuna
m=4: klasyczna metoda Rungego-Kutty.
Klasyczna metoda Rungego-Kutty
34
23
12
1
43211
,2
2,2
2,2
,
6
1
3
1
3
1
6
1
kXfk
kXfk
kXfk
Xfk
kkkkXX
iii
i
iii
i
iii
i
ii
iii
hh
t
hh
t
hh
t
t
h
x
y
Porównanie metody Eulera-Cauchy’ego, zmodyfikowanej metody Eulera-Cauchy’ego oraz metody Rungego-Kutty dla zagadnienia
z h=0.51)0(, yydx
dy
Metody implicite Rungego-Kutty
W najprostszej wersji (m=2 wychodzimy z ulepszonej metody Eulera-Cauchy’ego i doprowadzamy do samouzgodnienia wartości f na końcu przedziału:
)(
2,2
,,
21
11
11
hOe
ht
hth
i
iii
iiiiii
kXfk
XkXX
Ogólnie, dla rzędu m prowadzimy kwadraturę Gaussa-Legendre’a (z węzłami w miejscach zerowych wielomianu Legendre’a rzędu m). Globalny błąd rozwiązania jest wtedy rzędu O(h2m) (w porównaniu z O(hm) dla formuł explicite Rungego-Kutty.
41
212
211
211
4
1
3
1
2
1
2
1,
3
11
2
1
3
1
2
1
2
1
4
1,
3
11
2
1
2
hOe
ht
ht
h
i
iii
iii
iii
kkXfk
kkXfk
kkXX
Dla m=2.
Metody wielokrokowe
W metodzie s-krokowej do całkowania wykorzystujemy wartości X i f obliczone w s poprzednich krokach. Przez te punkty prowadzimy wielomian interpolacyjny s(t)=s(t,X(t)), który następnie całkujemy.
dtti
i
t
t
sii
1
1 ΦXX
Przykład: metoda Adamsa-Bashforda z wykorzystaniem trzech kroków wstecz.
41
51
3211 4,,0,937595524
hOehO
nih
ii
iiiiii
ffffX
Metoda Geara dla układów sztywnych
n
ikkikik XtfhbXaX
111011 ,
n 1 2 3 4 5 6
b0 1 2/3 6/11 12/13 60/137 60/147
a1 1 4/3 18/11 48/25 300/137 360/147
a2 -1/3 -9/11 -36/25 -300/137 -450/147
a3 2/11 16/25 300/137 400/147
a4 -3/25 -75/137 -225/147
a5 12/137 72/147
a6 -10/147
Zagadnienie brzegowe dla równań drugiego rzędu.
Całkowanie równań dynamiki molekularnej
2
00
00
2
2
)(2
1)()(
,,2,1),(
,,2,1,)(1)(
)(
ttttttt
t
t
nitdt
d
nitVmm
tt
dt
d
dt
d
ii
ii
ii
iii
avrr
vv
rr
vr
rrF
avr
r
Algorytm Verleta:
)()(
)()(2
1)(
)()()(2)(
)()(2)()(
)(2
1)()()(
)(2
1)()()(
2
2
2
2
2
tOte
ttttt
ttttttt
ttttttt
ttttttt
ttttttt
rrv
arrr
arrr
avrr
avrr
Prędkościowy algorytm Verleta (velocity Verlet)
Krok 1:
tttt
t
ttttttt
)(2
1)(
2
)(2
1)()( 2
avv
avrr
Krok 2:
tttt
ttt
ttUm
tti
ii
)(2
1
2)(
)(1
)(
avv
ra r
Algorytm “zabiego skoku” (leapfrog):
tt
tttt
ttt
tt
t
2)()(
)(22
vrr
avv
Wszystkie trzy algorytmy są algorytmami symplektycznymi, tj, całkowita energia układu oscyluje wokół pewnej stałej wartości bliskiej początkowej energii całkowitej (inaczej: zachowują “cień hamiltonianu” (shadow Hamiltonian). Takiej właściwości nie mają wszystkie algorytmy dynamiki molekularnej (np. algorytm Geara).
Algorytmy symplektyczne zaprojektowano również do symulacji MD w warunkach izokinetycznych (stała temperatura) oraz izotermiczno-izobarycznych (stała temperatura i ciśnienie).
Energia kinetyczna
Energia potencjalna
Energia całkowita
Energia całkowita
0.0 1.0 2.0 3.0 4.0 5.0
Ene
rgia
[kc
al/m
ol]
Czas [ns]
Zależność składowych energii i energii całkowitej od czasu dla symulacji MD Ac-Ala10-NHMe (Khalili et al., J. Phys. Chem. B, 2005, 109, 13785-13797)
Literatura dotycząca algorytmów całkowania równań dynamiki molekularnej:
1. Frenkel, D.; Smit, B. Understanding molecular simulations, Academic Press, 1996, rozdział 4.
2. Calvo, M. P.; Sanz-Serna, J. M. Numerical Hamiltonian Problems; Chapman & Hall: London, U. K., 1994.
3. Verlet, L. Phys. Rev. 1967, 159, 98.
4. Swope, W. C.; Andersen, H. C.; Berens, P. H.; Wilson, K. R. J. Chem. Phys. 1982, 76, 637.
5. Tuckerman, M.; Berne, B. J.; Martyna, G. J. J. Chem. Phys. 1992, 97, 1990.
6. Ciccotti, G.; Kalibaeva, G. Philos. Trans. R. Soc. London, Ser. A 2004, 362, 1583.