Upload
kiri
View
37
Download
1
Embed Size (px)
DESCRIPTION
Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu. Dany jest układ różniczkowych. Należy znaleźć jego rozwiązanie x (t) dla warunków początkowych zadanych przez x (t 0 ). - PowerPoint PPT Presentation
Citation preview
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.