Eingebettete adaptive Einschrittverfahren

Werbung
Adaptive Schrittweitensteuerung bei expliziten
Einschrittverfahren (Eingebettete Verfahren)
Gegeben seien explizite Einschrittverfahren für Verfahrensfunktionen
• ϕ mit Konsistenzordnung p,
• ϕ̂ mit Konsistenzordnung p + 1.
Als Schätzung des Fehlers im Zwischenschritt verwenden wir folgende Schätzung
T (tk , hk , uk ) ≈
ûk+1 − uk+1
,
hk
wobei
uk+1 = uk + hk ϕ(tk , uk , hk )
ûk+1 = uk + hk ϕ̂(tk , uk , hk ).
Für die Schrittweitenwahl h̃ wird folgende Schätzung verwendet:
ûk+1 − uk+1
p
T (tk , h̃, uk ) ≈ h̃
.
hp+1
k
Eingabe: Toleranz ε, minimale Schrittweite hmin , Faktor für Schrittweitenwachstum η ≥ 1, Sicherheitsfaktor ρ ∈ (0, 1], Anfangsschrittweite h.
t = t0 ;
u = u0 ;
ende nicht erreicht = true;
while (ende nicht erreicht)
{
u = u + hϕ(t, u, h);
û = u + hϕ̂(t, u, h);
ku − ûk
;
h
if (schaetzung fehler zwischenschritt ≤ ε)
{
t = t + h; //nächster Knoten tk+1 = tk + h
u = û; //Verwende Approximation der Ordnung p + 1, d. h. uk+1 = û
if (t == b) then ende
nichterreicht = false;
1/p ε
p
h :=max hmin , min ηh, ρ schaetzung fehler zwischenschritt h
schaetzung fehler zwischenschritt =
if (t + h ≥ b) then h = b − t;
}
else
1/p ε
p
h :=max hmin , ρ schaetzung fehler zwischenschritt h
;
}
Adaptive Schrittweitenwahl
Wir betrachten das Anfangswertproblem
y 0 (t) = −200ty 2 (t),
y(0) = 1.
für t ∈ [0, 1]
1
Die Lösung ist gegeben durch y(t) = 1+100t
2 . Die Abbildungen zeigen die Lösung und die
Schrittweitenwahl durch das eingebettete RK5(4) nach Dormand & Prince.
1
0.9
0.8
0.7
y(t)
0.6
0.5
0.4
0.3
0.2
0.1
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0.06
0.05
Schrittweite
0.04
0.03
0.02
0.01
0
Das Butcher-Tableau für RK5(4) von Dormand & Prince ist folgendermaßen gegeben:
Herunterladen