Einführung in die Programmierung numerischer und ... - Desy
Einführung in die Programmierung numerischer und ... - Desy
Einführung in die Programmierung numerischer und ... - Desy
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Programmierung</strong><br />
<strong>numerischer</strong> <strong>und</strong> statistischer Methoden<br />
<strong>in</strong> C++<br />
Teil II: Numerische <strong>und</strong> Statistische Methoden<br />
Vorlesung 7: Numerisches Lösen von Differentialgleichungen<br />
Hartmut Sta<strong>die</strong> & Christian Sander<br />
SS 2008<br />
Universität Hamburg
Gewöhnliche DGL<br />
● Gewöhnliche DGL n-ter Ordnung hängen nur von den Ableitungen der<br />
gesuchte Funktion y(x) nach genau e<strong>in</strong>er Variable x ab:<br />
f (x, y(x), y'(x), y''(x), ..., y (n) (x)) = 0<br />
● Ist f e<strong>in</strong>e Funktion mit m-Komponenten, so nennt man sie e<strong>in</strong><br />
gewöhnliches Differentialgleichungssystem n-ter Ordnung von m<br />
Gleichungen<br />
● Gewöhnliche Differentialgleichungen beliebiger Ordnung lassen sich<br />
immer auf e<strong>in</strong> System von gewöhnlichen Differentialgleichungen erster<br />
Ordnung zurückführen :<br />
Hilfsfunktionen y 1 , y 2 , ..., y n mit: y 1 ' = y 2 , y 2 ' = y 3 , ... y n−1 ' = y n <strong>und</strong><br />
y n ' = f (x, y 1 , y 2 , ..., y n )<br />
2
Gewöhnliche DGL<br />
● Kann e<strong>in</strong>e DGL nach der höchsten vorkommenden Ableitung aufgelöst<br />
werden<br />
y (n) (x) = f (x, y'(x), y''(x), ..., y (n−1) (x))<br />
so nennt man sie explizit, ansonsten implizit.<br />
● Sucht man e<strong>in</strong>e spezielle Lösung der DGL, <strong>die</strong> Anfangsbed<strong>in</strong>gungen<br />
der Form<br />
y(x 0 ) = y 0 , y'(x 0 ) = y 1 , ..., y (n−1) (x 0 ) = y n−1<br />
erfüllt, so spricht man von e<strong>in</strong>em Anfangswertproblem.<br />
● Ist f l<strong>in</strong>ear <strong>in</strong> den Ableitungen y (k) (x) (k = 0 ... n), so nenn man <strong>die</strong> DGL<br />
l<strong>in</strong>ear<br />
● Hängt f nicht explizit von x ab, so nennt man <strong>die</strong> DGL autonom<br />
3
●Beispiel: Radioaktiver Zerfall<br />
Gewöhnliche DGL<br />
●Die Anzahl der <strong>in</strong> e<strong>in</strong>em Zeit<strong>in</strong>tervall dt zerfallenden Kerne ist<br />
proportional zur Gesamtzahl der radioaktiven Atome<br />
●Beispiel: Newtonsche Bewegungsgleichung<br />
m⋅d 2<br />
dN<br />
dt =⋅N<br />
dt 2 x t= F t , x t<br />
●System l<strong>in</strong>earer DGL 2ter Ordnung<br />
4
Gewöhnliche DGL<br />
● Da sich nur wenige Typen von DGL analytisch lösen lassen<br />
verwendet man häufig numerische Lösungsverfahren<br />
● Wir wollen hier <strong>die</strong> folgenden numerischen Methoden für<br />
gewöhnliche DGL behandeln:<br />
● E<strong>in</strong>schritt-Verfahren<br />
● Eulersches Polygonzug-Verfahren (explizites Euler-Verfahren)<br />
● Implizites Euler-Verfahren<br />
● Methode von Heun<br />
● Runge-Kutta-Verfahren<br />
● Mehrschritt-Verfahren<br />
● Adams-Bashforth-Methode (explizit)<br />
● Adams-Moulton-Methode (implizit)<br />
5
E<strong>in</strong>schrittverfahren<br />
● E<strong>in</strong>schrittverfahren benützen zur Berechnung der Näherung an <strong>die</strong><br />
Lösung im nächsten Zeitpunkt nur Informationen des aktuellen<br />
Zeitpunktes.<br />
● Näherungslösung u des Anfangswertproblems<br />
ist gegeben durch<br />
y'(x) = f (x, y(x)) mit y(x 0 ) = y 0<br />
u(x i+1 ) = u(x i ) + h ∙ Φ(x i , u(x i ), h, f )<br />
● Dabei wird Φ als Inkrementfunktion bezeichnet<br />
● Alternativ: Rekursionsformel der folgenden Art verwenden:<br />
u(x i+1 ) = u(x i ) + h ∙ Φ(x i , u(x i ), u(x i+1 ), h, f )<br />
● Hängt Φ nicht von u(x i+1 ) ab, so wird das Verfahren explizit genannt<br />
(sonst implizit)<br />
6
Eulersches Polygonzug-Verfahren<br />
● Entwickelt von Leonhard Euler (1707-1783)<br />
● Ist e<strong>in</strong> explizites E<strong>in</strong>schrittverfahren<br />
y'(x) = f (x, y(x)) mit y(x 0 ) = y 0<br />
● man wählt e<strong>in</strong>e Diskretisierungs-Schrittweite h > 0 <strong>und</strong> betrachte <strong>die</strong> diskreten<br />
x-Werte<br />
x k = x 0 + k∙h mit k = 1, 2, ...<br />
● Iterative Berechnung der Näherungswerte<br />
y k+1 = y k + h ∙ f (x k , y k )<br />
● Die y k s<strong>in</strong>d Näherungen an <strong>die</strong> wahre Lösung y(x k )<br />
● Interpretation: l<strong>in</strong>eare Taylorentwicklung<br />
● Je kle<strong>in</strong>er <strong>die</strong> Schrittweite h, desto genauer <strong>die</strong> Näherung<br />
7
Eulersches Polygonzug-Verfahren<br />
●Die e<strong>in</strong>zelnen Näherungslösungen (x k , y (x k )) können als Punkte A k<br />
e<strong>in</strong>es Polygonzuges <strong>in</strong>terpretiert werden<br />
y(x)<br />
x<br />
8
Eulersches Polygonzug-Verfahren<br />
● Fehlerabschätzung: vergleiche Näherung y 1<br />
y 1 = y 0 + h ∙ f (x 0 , y 0 ) = y 0 + h ∙ y'(x 0 )<br />
● mit der Taylorentwicklung von y um x 0 unter der Voraussetzung, dass<br />
y(x 0 ) = y 0 bekannt ist<br />
y 1 = y 0 + y'(x 0 ) ∙ h + ½ ∙ y''(x 0 ) ∙ h 2 + O(h 3 )<br />
● Der Fehler für den ersten Schritt ist<br />
½ ∙ y''(x 0 ) ∙ h 2 + O(h 3 )<br />
● Für kle<strong>in</strong>e h ist der Fehler also proportional zu h 2 . Für e<strong>in</strong>e Berechnung<br />
über e<strong>in</strong> Intervall [x 0 ,x] benötigt man e<strong>in</strong>e Anzahl von Schritten<br />
proportional zu 1/h. Also wird näherungsweise der Gesamtfehler<br />
proportional zu h se<strong>in</strong>. Man spricht von e<strong>in</strong>em Verfahren erster<br />
Ordnung.<br />
9
Implizites Euler-Verfahren<br />
● Gesucht ist <strong>die</strong> Lösung der DGL<br />
● Diskretisierung von x<br />
y'(x) = f (x, y(x)) mit y(x 0 ) = y 0<br />
x k = x 0 + k ∙ h mit k = 1, 2, ...<br />
● iterative Berechnung der Näherungswerte<br />
y k+1 = y k + h ∙ f (x k+1 , y k+1 )<br />
● Anschauliche Beschreibung: Auswertung der Ableitung am Zielpunkt<br />
<strong>und</strong> nicht am Ausgangspunkt<br />
● f (x k+1 , y k+1 ) ist nicht explizit, sondern nur implizit gegeben. Auflösen der<br />
Gleichung nach y k+1 (Problemabhängig)<br />
● Implizit heißt nicht, dass es e<strong>in</strong>en implizite DGL se<strong>in</strong> muss<br />
10
Implizites Euler-Verfahren<br />
● Beispiel: Gesucht ist <strong>die</strong> Lösung des Anfangswertproblems<br />
y'(x) = f (y) = a – b ∙ y mit y (x 0 ) = y 0<br />
● f (y) soll am Ziel des Iterationsschrittes ausgewertet werden<br />
● also<br />
● <strong>und</strong> auflösen nach y k+1<br />
y k+1 = y k + h ∙ f (y k+1 )<br />
y k+1 = y k + h ∙ (a – b ∙ y k+1 )<br />
y k+1 = ( y k + h ∙ a ) / ( 1 – h ∙ b )<br />
● Das Verfahren ist von erster Ordnung; es gibt ke<strong>in</strong>e E<strong>in</strong>schränkung der<br />
Zeitschritte bzgl. der Stabilität; besonders <strong>in</strong>teressant für Probleme, <strong>die</strong><br />
e<strong>in</strong>em stabilen Zustand entgegenstreben.<br />
11
Methode von Heun<br />
● Entwickelt von Karl Heun (1859-1929)<br />
● Gesucht sei wieder <strong>die</strong> Lösung der DGL zu e<strong>in</strong>em<br />
bestimmten Wert x 1<br />
● Integration liefert:<br />
y'(x) = f (x, y (x)) mit y (x 0 ) = y 0<br />
● Auswertung des Integrals mit numerischen Verfahren; z.B. mit<br />
Trapezregel<br />
y 1 = y 0 + h/2 ∙ (f (x 0 ,y 0 ) + f (x 1 ,y 1 ))<br />
●<br />
*<br />
Die rechte Seite der Gleichung hängt von y ab; E<strong>in</strong>e Näherung y 1 1<br />
erhält man durch l<strong>in</strong>eare Extrapolation von x 0 nach x 1<br />
x 1<br />
y x 1= y x 0∫ x0<br />
f x , ydx<br />
12
Methode von Heun<br />
* y = y0 + h ∙ f (x , y )<br />
1<br />
0 0<br />
●<br />
* Mit <strong>die</strong>ser Näherung y (sog. Prädiktor) lässt sich e<strong>in</strong>e neue Näherung<br />
1<br />
für y bestimmen, <strong>die</strong> iterativ verbessert werden könnte.<br />
1<br />
● Die Gleichung<br />
nenn man Korrektor<br />
* y = y + h/2 ∙ ( f (x ,y ) + f (x ,y ))<br />
1 0 0 0 1 1<br />
●<br />
* Verwendet man <strong>die</strong> Näherung y direkt als Lösung, ist <strong>die</strong>s das Euler-<br />
1<br />
Verfahren; verwendet man den Korrektor ist es <strong>die</strong> Methode von Heun<br />
● E<strong>in</strong>faches aber stabiles Verfahren zweiter Ordnung (Fehler proportional<br />
zu h 2 )<br />
13
Methode von Heun<br />
●Graphische Interpretation y'(x) = f (y) mit y (x 0 ) = y 0<br />
y (x)<br />
y 0<br />
x 0<br />
wahre Lösung y (x)<br />
x<br />
14
Methode von Heun<br />
●Graphische Interpretation y'(x) = f (y) mit y (x 0 ) = y 0<br />
y (x)<br />
y 1<br />
y 0<br />
gesucht<br />
x 0<br />
h x 1<br />
wahre Lösung y (x)<br />
x<br />
15
Methode von Heun<br />
●Graphische Interpretation y'(x) = f (y) mit y (x 0 ) = y 0<br />
y (x)<br />
* y1 y 0<br />
Steigung f ( y 0 )<br />
x 0<br />
h x 1<br />
wahre Lösung y (x)<br />
* y ist Lösung nach<br />
1<br />
Euler-Polygonzug-Verfahren<br />
x<br />
16
Methode von Heun<br />
●Graphische Interpretation y'(x) = f (y) mit y (x 0 ) = y 0<br />
y (x)<br />
* y1 y 0<br />
* Steigung f ( y ) Steigung f ( y )<br />
0 1<br />
x 0<br />
h x 1<br />
* y wird als Prädiktor<br />
1<br />
verwendet<br />
wahre Lösung y (x)<br />
x<br />
17
Methode von Heun<br />
●Graphische Interpretation y'(x) = f (y) mit y (x 0 ) = y 0<br />
y (x)<br />
* y1 y 0<br />
* Steigung f ( y ) Steigung f ( y )<br />
0 1<br />
x 0<br />
h/2<br />
x 1<br />
* y wird als Prädiktor<br />
1<br />
verwendet<br />
wahre Lösung y (x)<br />
x<br />
18
Methode von Heun<br />
●Graphische Interpretation y'(x) = f (y) mit y (x 0 ) = y 0<br />
y (x)<br />
* y1 y 0<br />
* Steigung f ( y ) Steigung f ( y )<br />
0 1<br />
x 0<br />
h/2<br />
x 1<br />
wahre Lösung y (x)<br />
Näherung für y 1 nach<br />
der Methode von Heun<br />
x<br />
19
Runge-Kutta-Verfahren<br />
●Entwickelt von Carl Runge (1856-1927) <strong>und</strong><br />
Mart<strong>in</strong> Wilhelm Kutta (1867-1944)<br />
●Verbesserung der Methode durch Verwendung<br />
von fe<strong>in</strong>eren Integrationsregeln als <strong>die</strong><br />
Trapezregel (z.B. Simpson-1/3-Regel)<br />
●Erste Annahme: (x 0 , y 0 ) <strong>und</strong> (x 1 , y 1 ) seien bekannt<br />
x 1 – x 0 = x 2 – x 1 = h<br />
y 2 = y 0 + h/3∙( f (x 0 , y 0 ) + 4∙f (x 1 , y 1 ) + f (x 2 , y 2 ))<br />
●Man *<br />
benötigt nun wieder e<strong>in</strong>en Prädiktor y2 20
Runge-Kutta-Verfahren<br />
● Ansatz: y(x 0 ), y(x 1 ) <strong>und</strong> y'(x 0 ), y'(x 1 ) seien bekannt; verwende kubisches<br />
Polynom mit <strong>die</strong>sen Randbed<strong>in</strong>gungen, um Prädiktor herzuleiten<br />
* y = 5∙y0 – 4∙y + 2∙h∙y'(x ) + 4∙h∙y'(x )<br />
2<br />
1 0 1<br />
●<br />
* e<strong>in</strong>setzen: y = y + h/3∙( f (x , y ) + 4∙f (x , y ) + f (x , y ))<br />
2 0 0 0 1 1 2 2<br />
● Es handelt sich nicht um e<strong>in</strong> E<strong>in</strong>-Schritt-Verfahren, da zwei<br />
aufe<strong>in</strong>anderfolgende Stützstellen verwendet werden.<br />
● Diese ursprüngliche Voraussetzung kann nun aufgegeben werden,<br />
<strong>in</strong>dem man e<strong>in</strong> anderes E<strong>in</strong>-Schritt-Verfahren (z.B. <strong>die</strong> Methode von<br />
* Heun) verwendet, um y mit y abzuschätzen<br />
1 1<br />
● Mit der Methode von Heun ergibt sich der folgende kompakte<br />
Formelsatz zur Bestimmung e<strong>in</strong>er Näherung von y 1 bei gegebenen y 0<br />
21
Runge-Kutta-Verfahren<br />
●Gegeben: y'(x) = f (x, y(x)) mit y(x 0 ) = y 0<br />
k 1 = h ∙ f (x 0 , y 0 )<br />
k 2 = h ∙ f (x 0 + h/2, y 0 + k 1 /2)<br />
k 3 = h ∙ f (x 0 + h/2, y 0 + k 1 /4 + k 2 /4)<br />
k 4 = h ∙ f (x 0 + h, y 0 - k 2 + 2∙k 3 )<br />
●<strong>und</strong> schließlich: y 1 = y 0 + h/6∙(k 1 + 4∙k 3 + k 4 )<br />
●Dieses Runge-Kutta-Verfahren ist von der 3. Ordnung (Fehler<br />
proportional zu h 3 )<br />
22
Runge-Kutta-Verfahren<br />
● In der Praxis hat sich e<strong>in</strong> etwas anderes Formelsystem e<strong>in</strong>gebürgert, was<br />
nicht mehr auf der Simpson-1/3-Regel aufbaut: das klassische Runge-Kutta-<br />
Verfahren 4ter Ordnung<br />
● Ansatz: Vergleiche y 1 = y 0 + h∙(a 1 k 1 + a 2 k 2 + a 3 k 3 + a 4 k 4 ) mit Taylorentwicklung der<br />
Ordnung 4 (Rechnung länglich)<br />
y 1 ≈ y 0 + h∙y'(x 0 ) + h 2 /2∙y''(x 0 ) + h 3 /3!∙y (3) (x 0 ) + h 4 /4!∙y (4) (x 0 )<br />
y 1 ≈ y 0 +h∙f (x 0 , y 0 )+h 2 /2∙f '(x 0 , y 0 )+h 3 /3!∙f ''(x 0 , y 0 )+h 4 /4!∙f (3) (x 0 , y 0 )<br />
k 1 = h ∙ f (x 0 , y 0 )<br />
k 2 = h ∙ f (x 0 + h/2, y 0 + k 1 /2)<br />
k 3 = h ∙ f (x 0 + h/2, y 0 + k 2 /2)<br />
k 4 = h ∙ f (x 0 + h, y 0 + k 3 )<br />
● <strong>und</strong> schließlich: y 1 = y 0 + h/6∙(k 1 + 2∙k 2 + 2∙k 3 + k 4 )<br />
23
●Gegeben:<br />
Mehrschrittverfahren<br />
y'(x) = f (x, y(x)) mit y (x 0 ) = y 0<br />
●E<strong>in</strong> l<strong>in</strong>eares Mehrschrittverfahren erzeugt zu e<strong>in</strong>er gegebenen<br />
Schrittweite h>0 e<strong>in</strong>e Folge y n , n є N von Näherungen zu den<br />
Funktionswerten y n ≈ y (x n ) = y (x 0 + h∙n)<br />
●Dabei besteht zwischen den Näherungswerten <strong>und</strong> der<br />
Differentialgleichung <strong>die</strong> l<strong>in</strong>eare Rekursionsgleichung<br />
m m<br />
j=0 a j⋅y n− j=h j=0 b j⋅f xn− j , yn− j ●a 0 ... a m sowie b 0 ... b m bestimmen das Mehrschrittverfahren, dabei<br />
gilt a 0 = 1<br />
●Ist b 0 ≠ 0 so nennt man das Verfahren implizit ansonsten explizit<br />
24
Mehrschrittverfahren<br />
●Implizite Verfahren können bei gleicher Länge m der<br />
Koeffizienten-Ntupel e<strong>in</strong>e um 1 höhere Konsistenzordnung als<br />
explizite Verfahren haben. Ihr Nachteil besteht jedoch dar<strong>in</strong>, dass<br />
bei der Berechnung von y n+1 bereits f (x n+1 , y n+1 ) benötigt wird. Dies<br />
führt <strong>in</strong> der Regel zu e<strong>in</strong>em nichtl<strong>in</strong>earen Gleichungssystem.<br />
●In jedem Fall müssen <strong>die</strong> ersten m Glieder der Folge der<br />
Näherungswerte mit e<strong>in</strong>em anderen Verfahren bestimmt werden,<br />
im e<strong>in</strong>fachsten Fall wird l<strong>in</strong>ear extrapoliert<br />
y k = y 0 +k ∙ h ∙ f (x 0 , y 0 ), k = 1, ..., m−1<br />
●Besser: mit Runge-Kutta bestimmen<br />
25
Adams-Bashforth-Methode<br />
●Explizites s+1-Schritt-Verfahren (Ordnung s)<br />
mit<br />
s = 1:<br />
s = 2:<br />
usw.<br />
b j=<br />
s<br />
yn1= ynh⋅ j=0<br />
j<br />
−1<br />
j !s− j! ∫ 1<br />
0<br />
s<br />
i=0, i≠ j<br />
b j⋅f x n− j , y n− j <br />
uidu j=0s<br />
nh⋅ yn1= y 3<br />
2 f xn , y 1<br />
n− 2 f xn−1 , yn−1 y n1= y nh⋅ 23<br />
12 f t n , y n − 16<br />
12 f t n−1 , y n−1 5<br />
12 f t n−2 , y n−2 <br />
26
Adams-Moulton-Methode<br />
● Implizites s+1-Schritt Verfahren (Ordnung s+1)<br />
mit<br />
s = 2:<br />
b j=<br />
s−1<br />
yn1= ynh⋅ j=−1 b j⋅f xn− j , yn− j<br />
−1 j1<br />
j−1!s− j−1! ∫ 1<br />
0<br />
s−1<br />
i=−1,i≠ j<br />
uidu j=−1s−1<br />
y n1= y nh⋅ 1<br />
12 5⋅f x n1 , y n1 8⋅f x n , y n − f x n−1 , y n−1 <br />
● Wenn analytisches Lösen der Gleichung nach y n+1 nicht möglich ist,<br />
kann wieder <strong>die</strong> Prädiktor-Korrektor-Methode angewendet werden.<br />
● Der Vorteil von MV gegenüber EV ist ihr Verhältnis zwischen Kosten<br />
<strong>und</strong> Konsistenzordnung. Dies liegt daran, dass bei e<strong>in</strong>em MV jeweils<br />
nur e<strong>in</strong> Wert aus bereits vorhandenem Datenmaterial berechnet werden<br />
muss.<br />
27
Stabilität <strong>numerischer</strong> Verfahren<br />
● Gesamtfehler hat zwei Anteile<br />
● Numerischer Verfahrensfehler (Diskretisierungsfehler): hängt von<br />
Schrittweite h <strong>und</strong> Ordnung des Verfahrens ab<br />
● R<strong>und</strong>ungsfehler: hängt von Rechnertyp, Compiler <strong>und</strong> Datentyp ab<br />
Fehler<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
R<strong>und</strong>ungsfehler<br />
h optimal<br />
0<br />
0 1 2 3 4 5 6 7 8<br />
h<br />
Diskretisierungsfehler<br />
28
Partielle DGL<br />
●Hängt e<strong>in</strong>e Funktion z von mehreren Veränderlichen (z.B. x <strong>und</strong> y)<br />
ab, so kann ihr Verlauf durch e<strong>in</strong>e partielle DGL gegeben se<strong>in</strong><br />
f <br />
x , y , z x , y , ∂ z<br />
∂ x<br />
, ∂ z<br />
∂ y , ∂2 z<br />
∂ 2 x , ∂2 z<br />
∂ 2 y , ∂2 z<br />
∂ x ∂ y<br />
, =0<br />
●Viele physikalische Prozesse hängen sowohl vom Ort als auch<br />
von der Zeit ab (Beispiele: Wellengleichung,<br />
Diffusionsgleichung ...)<br />
●Den Grad der höchsten Ableitung, der <strong>in</strong> der Gleichung vorkommt,<br />
nennt man <strong>die</strong> Ordnung<br />
●Treten <strong>die</strong> Ableitungen nur l<strong>in</strong>ear auf, nenn man <strong>die</strong> DGL l<strong>in</strong>ear<br />
29
Partielle DGL<br />
● E<strong>in</strong>teilung für partielle DGL 2. Ordnung<br />
● Wenn<br />
a ∂2 z<br />
∂ x 2b ∂2 z<br />
∂ x ∂ y c ∂2 z ∂ z<br />
2d<br />
∂ y ∂ x<br />
∂ z<br />
e f =0<br />
∂ y<br />
● a∙c − b 2 /4 > 0 ist <strong>die</strong> Gleichung <strong>in</strong> (x, y) elliptisch (Poisson-Gl.)<br />
● a∙c − b 2 /4 = 0 ist <strong>die</strong> Gleichung <strong>in</strong> (x, y) parabolisch (Diffusionsgl.)<br />
● a∙c − b 2 /4 < 0 ist <strong>die</strong> Gleichung <strong>in</strong> (x, y) hyperbolisch (Wellengl.)<br />
● Für mehr Variablen ist <strong>die</strong> E<strong>in</strong>teilung i.A. nicht vollständig<br />
● PDGL haben i.A. mehrere Lösungen; um e<strong>in</strong>deutige Lösung zu<br />
erhalten, bedarf es Zusatzbed<strong>in</strong>gungen (Rand- <strong>und</strong>/oder<br />
Anfangsbed<strong>in</strong>gungen RB/AB); <strong>die</strong>s ist vergleichbar mit gewöhnlichen<br />
DGL, bei denen man AB/RB <strong>in</strong> e<strong>in</strong>em Punkt braucht; bei PDGL reicht<br />
<strong>die</strong> Vorgabe e<strong>in</strong>es Funktionswertes an e<strong>in</strong>em Punkt nicht mehr aus;<br />
man benötigt zur e<strong>in</strong>deutigen Lösung Werte auf e<strong>in</strong>er Mannigfaltigkeit<br />
30
Lösungsmethoden:<br />
Partielle DGL<br />
● F<strong>in</strong>ite Elemente (Simulation von elastischen <strong>und</strong> <strong>in</strong>elastischen<br />
Verformungen)<br />
● F<strong>in</strong>ite Differenzen (Anwendung z.B. <strong>in</strong> der Meteorolgie)<br />
● F<strong>in</strong>ite Volumen (Beispiel Navier-Stokes-Gleichung <strong>in</strong> der<br />
Strömungsmechanik)<br />
● Randelement-Methode (nur <strong>die</strong> Randfläche wird diskretiesiert)<br />
● Leapfrog-Verfahren: abgewandeltes Eulerverfahren für DGL zweiter<br />
Ordnung (z.B. Planetenbewegung); <strong>die</strong> Zeitschritte für Ort <strong>und</strong><br />
Geschw<strong>in</strong>digkeit s<strong>in</strong>d um <strong>die</strong> halbe Integrationschrittweite versetzt;<br />
dadurch wird höhere Genauigkeit <strong>und</strong> Zeitsymmetrie erreicht.<br />
● Und <strong>und</strong> <strong>und</strong> <strong>und</strong> ...<br />
31
Spektralmethode<br />
● Lösung von Anfangswertproblemen<br />
● Idee: Darstellung der Funktion nicht auf e<strong>in</strong>em diskreten Gitter, sondern<br />
durch e<strong>in</strong>en Satz orthogonaler Funktionen (z.B. Fourierentwicklung <strong>in</strong><br />
der Ebene oder Kugelflächenfunktionen auf e<strong>in</strong>er Kugeloberfläche)<br />
● Für <strong>die</strong>se Komponenten seien <strong>die</strong> Lösungen der PDGL entweder<br />
bekannt oder leicht bestimmbar<br />
● Die Lösung ergibt sich dann wieder aus der Zusammensetzung der<br />
e<strong>in</strong>zelnen Komponenten<br />
● Am besten lässt sich <strong>die</strong> Methode anhand e<strong>in</strong>es Beispieles<br />
demonstrieren:<br />
Advektionsgleichung:<br />
∂T<br />
∂t<br />
u⋅∂T<br />
∂ x =0<br />
32
Spektralmethode<br />
● Die Advektionsleichung beschreibt <strong>die</strong> Eigenschaft e<strong>in</strong>es Partikels (zum<br />
Beispiel Temperatur T ) <strong>in</strong> e<strong>in</strong>em Strömungsfeld<br />
∂T u⋅∂T<br />
<br />
∂t ∂ x<br />
● Hängt u nicht explizit vom Ort x ab, so beschriebt <strong>die</strong> DGL <strong>die</strong><br />
Verlagerung e<strong>in</strong>er beliebigen Verteilung T mit der Zeit<br />
=0<br />
● Natürlich lässt sich sofort e<strong>in</strong>e analytische Lösung angeben<br />
wobei f e<strong>in</strong>e beliebige Funktion ist<br />
T (x, t ) = f (x − t ∙ u)<br />
● Die Lösungen umfassen auch ebene propagierende Wellen<br />
mit der Dispersionsrelation c/k = u<br />
T (x, t ) = T 0 ∙exp( i ∙( k ∙ x − c ∙ t ))<br />
33
Spektralmethode<br />
● Darstellung von T(x,t) als Fourierreihe (*)<br />
N<br />
T t , x= k=−N<br />
T k t⋅e i⋅k⋅x<br />
● E<strong>in</strong>setzen <strong>in</strong> <strong>die</strong> Advektionsgleichung <strong>und</strong> analytisches Berechnen der<br />
Ableitung liefert:<br />
N ∂T k t<br />
k=−N ∂ t ⋅ei⋅k⋅x N<br />
u⋅ k =−N i⋅k⋅T k t ⋅e i⋅k⋅x =0<br />
● Durch Orthogonalität <strong>und</strong> <strong>die</strong> Tatsache, dass <strong>die</strong> Koeffizienten mit<br />
negativem k gleich dem Komplexkonjugierten mit positiven k s<strong>in</strong>d (bei<br />
reelem T(t, x)), erhält man N + 1 Differentialgleichungen <strong>in</strong> der Zeit zur<br />
Bestimmung der Real- <strong>und</strong> Imag<strong>in</strong>ärteile der e<strong>in</strong>zelnen Tk ∂T k t<br />
∂t i⋅u⋅k⋅T k x=0<br />
● Diese Gleichung kann wiederum numerisch oder analytisch gelöst<br />
werden <strong>und</strong> <strong>in</strong> (*) e<strong>in</strong>gestzt werden<br />
34
The End