23
Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu Dany jest układ różniczkowych t x x x f t x x x f t x x x f t t x t x t x t t dt d n n n n n , , , , , , , , , , , , , ) ( ) ( ) ( , 2 1 2 1 2 2 1 1 2 1 0 0 x f x x x x f x Należy znaleźć jego rozwiązanie x(t) dla warunków początkowych zadanych przez x(t 0 ).

Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu

  • 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

Page 1: 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).

Page 2: Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu

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.

Page 3: Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu

x1

x2

NH3...HCl

NH4+...Cl-

NH3...H...Cl

H3N H Clx1 x2

E

E

Page 4: Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu

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

Page 5: Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu

Często nie jest aż tak prosto (przykład: reakcje Biełousowa-Żabotyńskiego).

Page 6: Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu

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

Page 7: Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu

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.

Page 8: Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu

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)

Page 9: Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu

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

Page 10: Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu

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

Page 11: Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu

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.

Page 12: Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu

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

Page 13: Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu

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

Page 14: Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu

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.

Page 15: Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu

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.

Page 16: Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu

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

Page 17: Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu

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

Page 18: Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu

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

Page 19: Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu

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

Page 20: Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu

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

Page 21: Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu

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).

Page 22: Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu

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)

Page 23: Zagadnienie początkowe dla równań różniczkowych zwyczajnych pierwszego rzędu

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.