Motivation für adaptive Schrittweite

Werbung
Prof. Dr. Barbara Wohlmuth
Lehrstuhl für Numerische Mathematik
Motivation für adaptive Schrittweite
Ziel: Gegebene Genauigkeit mit möglichst minimalem Aufwand zu erreichen
Idee: Wähle lokal unterschiedliche Schrittweiten
Minimierungsproblem: Bestimme für gegebene Anzahl der Schritte die Verteilung der
Stützstellen, so dass der Fehler minimal wird
Aber: Viel zu teuer
Ausweg: Bestimme die Schrittweite möglichst groß, so dass eine relative lokale
Genauigkeit erfüllt ist
Umsetzung: Bestimme den Fehler durch Vergleich mit einer besseren Lösung
• halbe Schrittweite
• höhere Ordnung
hneu =??
Adaptivität (adapt01)
1
Prof. Dr. Barbara Wohlmuth
Lehrstuhl für Numerische Mathematik
Adaptives Verfahren: Berechnung der neuen Schrittweite
nach Dahmen-Reusken
p : Ordnung des Verfahrens
r
hTOL
α=β
EST
α = min{α, αmax}
p
α = max{α, αmin}
hneu = αh
hneu = min{hneu, hmax}
hneu = max{hneu, hmin}
Validierung: Ist EST ≤ hTOL oder h = hmin?
Adaptivität (adapt20)
2
Prof. Dr. Barbara Wohlmuth
Lehrstuhl für Numerische Mathematik
Eingebettetes RK4(3)–Verfahren
y ′ = y, y(0) = 1
exakte Loesung
3
Knoten und lokale Schrittweite
TOL = 1e−6
−1
10
2
h
y
2.5
1.5
1
0
−2
0.2
0.4
t
0.6
0.8
1
10
0
0.2
0.4
t
0.6
0.8
1
Beobachtung: Geringe Schwankungen in der Schrittweite
Adaptivität (adapt02)
3
Prof. Dr. Barbara Wohlmuth
Lehrstuhl für Numerische Mathematik
Eingebettetes RK4(3)–Verfahren
y ′ = −200ty 2, y(0) = 1
exakte Loesung
1
−1
10
Knoten und lokale Schrittweite
TOL = 1e−5
0.8
y
h
0.6
0.4
−2
10
0.2
0
0
0.2
0.4
t
0.6
0.8
1
0
0.2
0.4
t
0.6
0.8
1
Beobachtung: Starke Schwankungen in der Schrittweite
Adaptivität (adapt03)
4
Prof. Dr. Barbara Wohlmuth
Lehrstuhl für Numerische Mathematik
Eingebettetes RK4(3)–Verfahren
y ′ = −sgn(t)y, y(−1) = 1/e
exakte Loesung
1
−1
10
Knoten und lokale Schrittweite
TOL = 1e−5
0.8
−2
10
y
h
0.6
−3
10
0.4
0.2
−1
−4
−0.5
t
0
0.5
1
10
−1
−0.5
t
0
0.5
1
Beobachtung: Algorithmus erkennt die Singularität;
Vorgabe von minimaler Schrittweite verhindert “Festfressen”
Adaptivität (adapt04)
5
Prof. Dr. Barbara Wohlmuth
Lehrstuhl für Numerische Mathematik
Eingebettetes RK4(3)–Verfahren
Restringiertes Dreikörperproblem (1)
1.5
1.5
TOL=0.1−>#f=421
1.5
TOL=0.01−>#f=741
TOL=0.001−>#f=1809
1
1
1
0.5
0.5
0.5
0
0
0
−0.5
−0.5
−0.5
−1
−1
−1
−1.5
−1.5
0
adaptiv RK4(3)
−1
−0.5
5
0
0.5
10
15
havg = 2.8 · 10−1
0
adaptiv RK4(3)
−1
−0.5
5
0
0.5
10
havg = 1.5 · 10−1
hmin = 1.7 · 10
0
hmax = 6.1 · 10
hmax = 1.0 · 10
1
15
−5
hmin = 3.0 · 10
Adaptivität (adapt05)
1
−1.5
−1.5
−1.5
−1.5
0
adaptiv RK4(3)
−1
−0.5
5
0
0.5
10
1
15
havg = 6.5 · 10−2
−5
hmin = 9.6 · 10
−6
−1
hmax = 3.3 · 10
−1
6
Prof. Dr. Barbara Wohlmuth
Lehrstuhl für Numerische Mathematik
Runge–Kutta: adaptiv vs. äquidistant
Restringiertes Dreikörperproblem, Fehler e(T )
0
10
−2
10
−4
Fehler
10
−6
10
−8
10
adaptiv
aequidistant
−10
10
2
10
3
10
4
10
5
10
6
10
Anzahl der Funktionsauswertungen
Blau: Standard RK 4–Verfahren, Rot: eingebettetes RK4(3)–Verfahren
Für einen Fehler in der Größenordnung von 1 km benötigt das äquidistante Verfahren mit 384000
Funktionsauswertungen über 60mal mehr als das adaptive (6261).
Adaptivität (adapt11)
7
Prof. Dr. Barbara Wohlmuth
Lehrstuhl für Numerische Mathematik
Runge–Kutta: adaptiv vs. äquidistant
Restringiertes Dreikörperproblem
1.5
60
#f = 741
#f = 1000
40
1
20
0.5
0
0
−20
−0.5
−40
−1
−60
adaptiv RK4(3)
RK 4
−40
−20
0
20
40
60
−1.5
−1.5
−1
−0.5
0
0.5
1
Blau: Äquidistante Punkte,
Rot: Adaptive Punkte,
bei ähnlicher Anzahl von Funktionsauswertungen.
Adaptivität (adapt12)
8
Prof. Dr. Barbara Wohlmuth
Lehrstuhl für Numerische Mathematik
Eingebettetes RK4(3)–Verfahren
Restringiertes Dreikörperproblem (2)
1.5
1.5
TOL=0.1−>#f=369
1.5
TOL=0.01−>#f=673
TOL=0.001−>#f=1653
1
1
1
0.5
0.5
0.5
0
0
0
−0.5
−0.5
−0.5
−1
−1
−1
−1.5
−1.5
0
adaptiv RK4(3)
−1
2
−0.5
4
0
0.5
6
8
havg = 1.9 · 10−1
10
0
adaptiv RK4(3)
−1
2
−0.5
4
0
0.5
6
8
havg = 1.1 · 10−1
−5
hmin = 1.6 · 10
−1
hmax = 6.7 · 10
hmin = 3.0 · 10
hmax = 8.4 · 10
Adaptivität (adapt06)
1
−1.5
−1.5
1
10
−1.5
−1.5
0
adaptiv RK4(3)
−1
2
−0.5
4
0
0.5
6
8
1
10
havg = 4.8 · 10−2
−5
hmin = 9.3 · 10
−6
−1
hmax = 3.6 · 10
−1
9
Prof. Dr. Barbara Wohlmuth
Lehrstuhl für Numerische Mathematik
Lokale Schrittweite
Dreikörper-Problem
TOL = 1e-2
TOL = 1e-3
Eingebettetes Runge−Kutta Verfahren RK4(3)
Eingebettetes Runge−Kutta Verfahren RK4(3)
2
2
1
1
0
0
−1
−1
−2
−2
TOL = 1e−02, Schritte = 10717
−1
0
1
−2
−2
Schrittweite
0
TOL = 1e−03, Schritte = 38897
−1
1
Schrittweite
0
10
0
10
−1
−1
10
10
−2
−2
10
10
−3
−3
h
10
h
10
−4
−4
10
10
−5
−5
10
10
−6
−6
10
10
−7
10
−7
0
Adaptivität (adapt16)
5
10
15
t
20
25
10
0
5
10
15
t
20
25
10
Prof. Dr. Barbara Wohlmuth
Lehrstuhl für Numerische Mathematik
Eingebettetes RK4(3)–Verfahren
Restringiertes Dreikörperproblem (3)
1.5
1.5
TOL=0.1−>#f=405
1.5
TOL=0.01−>#f=821
TOL=0.001−>#f=1813
1
1
1
0.5
0.5
0.5
0
0
0
−0.5
−0.5
−0.5
−1
−1
−1
−1.5
−1.5
0
adaptiv RK4(3)
−1
1
−0.5
2
0
3
0.5
1
−1.5
−1.5
4
5
0
havg = 8.8 · 10−2
−1
1
−0.5
2
0
3
hmin = 1.5 · 10
−1
hmax = 4.5 · 10
hmax = 8.6 · 10
0.5
1
−1.5
−1.5
4
5
0
havg = 4.5 · 10−2
−5
hmin = 2.7 · 10
Adaptivität (adapt07)
adaptiv RK4(3)
adaptiv RK4(3)
−1
1
−0.5
2
0
3
0.5
1
4
5
havg = 2.1 · 10−2
−5
hmin = 8.6 · 10
−6
−1
hmax = 2.5 · 10
−1
11
Herunterladen