Numerische Löser (Zeitintegrationsverfahren) - IAG - Universität ...
Numerische Löser (Zeitintegrationsverfahren) - IAG - Universität ...
Numerische Löser (Zeitintegrationsverfahren) - IAG - Universität ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Lösungseigenschaften von Finite-Differenzen-Verfahren<br />
- Diagrammkatalogreihe -<br />
Katalog 1<br />
<strong>Numerische</strong> <strong>Löser</strong> (<strong>Zeitintegrationsverfahren</strong>)<br />
für die gewöhnliche Modelldifferentialgleichung<br />
y´ = α y<br />
© Markus J. Kloker<br />
Institut für Aerodynamik und Gasdynamik der <strong>Universität</strong> Stuttgart, 1996<br />
Version 2005
0<br />
Inhaltsverzeichnis<br />
Seite<br />
0 Einführung 0<br />
I Runge-Kutta-Verfahren 2<br />
II Adams-Bashforth-Verfahren<br />
(mit Euler-Explizit und Leapfrog)<br />
9<br />
III Adams-Moulton-Verfahren (mit Euler-Implizit) 15<br />
IV Gear-Verfahren 22<br />
V Adams-Prädiktor-Korrektor-Verfahren<br />
a) niedrige Fehlerordnung 27<br />
b) höhere Fehlerordnung 31<br />
Einführung<br />
• Modell-G-DGL y´ = α y<br />
Exakte Lösung y = y0exp(αx)<br />
α = αr + iαi , komplexe Konstante; Sonderfälle:<br />
1. α = iαi : neutrale Schwingung mit der Wellenzahl αi ;<br />
die komplexe G-DGL entspricht dem System der zwei<br />
reellen DGLs yr´ = – αi yi , yi´ = αi yr ,<br />
und es genügt, yr zu betrachten. Beispiel:<br />
αi = π: yr = y0rcos(πx) − y0isin(πx);<br />
mit y0r = 1, y0i = 0: yr = cos(πx), s. Seite 1a, links.<br />
2. α = αr : reines exponentielles Abklingen (αr < 0). Bsp.:<br />
αr = –1: y = yr = y0e –x ;<br />
mit y0 = 1: y = e –x , s. Seite 1a, rechts.<br />
Die komplexe Modell-G-DGL erlaubt eine kompakte analytische Darstellung<br />
der tatsächlichen numerischen Integration mit der Schrittweite h, xn+1 = xn + h.<br />
• Stabilität (→ Stabilitätslimit für die Integrationsschrittweite h)<br />
Bedingung für Stabilität: ⎢yn+1 / yn ⎢= ⎢P ⎢≤ 1 für αr ≤ 0, αi beliebig.<br />
P ist das charakteristische Polynom des numerischen Verfahrens.<br />
Pexakt = exp(αh) = 1 + (αh) + 1/2(αh) 2 + 1/6(αh) 3 + 1/24(αh) 4 + 1/120(αh) 5 +…<br />
Beispiel: Euler explizit, yn+1= yn + h(αy)n = yn (1 + αh) → P = 1 + αh.<br />
Der Vergleich mit Pexakt zeigt auch die Abbruchfehlergenauigkeit des Verfahrens<br />
an. Das explizite Euler-Verfahren ist von erster Ordnung, O(h 1 ) oder kurz<br />
O1, da es die exakte Reihe bis zum Term mit h 1 reproduziert.<br />
Stabilitätskurve s(Θ):<br />
Auftragung von ⎢P(αh) ⎢= 1 in der komplexen Ebene αrh – αi h.<br />
Θ: Winkel zwischen der negativen reellen Achse und dem Vektor αh.<br />
Das Schrittweitenlimit ist dann:
1<br />
Bei α = iαi : si = s (Θ = 90°) = ⎢αi h ⎢max ; hmax = si / ⎢αi ⎢<br />
Bei α = αr : sr = s (Θ = 0°) = ⎢αr h ⎢max ; hmax = sr / ⎢αr ⎢<br />
Allgemeines Stabilitätslimit: tan Θ = ⎢αi ⎢/ ⎢αr ⎢. hmax = s(Θ)/√(αr 2 + αi 2 )<br />
� Stabilitätsdiagramme: s(Θ) in der Ebene αrh – αi h.<br />
Die Werte sr , si sind in den Tabellen bei den einzelnen Verfahrenstypen angegeben.<br />
Das dominante Problem für die Verfahren ist die Schwingungslösung.<br />
Beispiel: Euler explizit; 1) α = iαi , ⎢1 + iαih ⎢≤ 1 unmöglich , si = 0.<br />
2) α = αr , ⎢1 + αrh ⎢≤ 1, → –2≤ αrh≤0, sr = 2.<br />
• Lösungseigenschaften (→ Genauigkeitslimit für die Schrittweite h):<br />
Es lässt sich schreiben: yn+1 = P yn<br />
P = A exp(iθ) , A=√(Pr 2 +Pi 2 ), tanθ = Pi/Pr.<br />
Exakte Werte: Pexakt = exp(αh),<br />
Aexakt = exp(αr h) , θexakt = (αi h).<br />
Numerisch: Durch Einsetzen der Modellgleichung in die jeweiligen Integrationsformeln<br />
können durch die Numerik modifizierte Amplitudenfaktoren und<br />
Wellenzahlen berechnet werden. Diese enthalten bis auf den Rundungsfehler<br />
des Computers alle numerischen Fehler des Verfahrens und erlauben eine analytische<br />
Darstellung der numerischen Lösung (pseudonumerische Lösung).<br />
Amod : modifizierter Amplituden- bzw. Abklingfaktor pro Schritt<br />
APmod : A-Faktor pro exakter Wellenlänge, APmod = Amod **(2π /|αi h|)<br />
(αi h) mod : modifizierte dimensionslose Wellenzahl<br />
Beispiel: Euler explizit; 1) α = iαi , Amod =√(1 + (αi h) 2 ) > 1, s. S. 10, links;<br />
(αi h) mod = tan -1 (αi h), s. S. 10, links.<br />
2) α = αr , Amod = 1 + αr h, s. S. 10, rechts.<br />
� Diagramme:<br />
1) Amod , APmod , (αi h) mod = f (αi h) für die Schwingungslösung.<br />
Hier wird die modifizierte Amplitude und Wellenzahl aufgetragen über der<br />
numerischen Wellenauflösung (αi h); αi h = 1 z.B. bedeutet, dass h gleich<br />
λ/(2π) ist (αi = 2π/λ, λ - Wellenlänge der Schwingung), d.h. die Schwingung<br />
wird mit 6.3 Intervallen aufgelöst.<br />
2) Amod , (αi h) mod /π = f (– αr h) für die Abklinglösung.<br />
Hier werden der Abklingfaktor pro Rechenschritt und eine möglicherweise<br />
künstlich erzeugte Schwingung mit der Wellenzahl (αi) mod dargestellt über der<br />
dimensionslosen Abklingrate. Ein relevantes Maß ist die Halbwertsstrecke, d.h.<br />
für –αr h =0.693 ist der Abklingfaktor Aexakt = 0.5. Beim expliziten Eulerverfahren<br />
muss für gute Genauigkeit gelten (s. S. 10 rechts): –αr h