Kurs:Gewöhnliche Differentialgleichungen/4.2 Eingebetette Runge-Kutta Paare

Aus Wikiversity

4.2 Eingebetette Runge-Kutta Paare[Bearbeiten]

Auch mit expliziten Runge-Kutta Verfahren ist die Schrittweitensteuerung möglich. Im Unterschied zu dem in Absatz 3.2 beschriebenem Ansatz für die Schrittweitensteuerung des expliziten Eulerverfahrens, wird hier für die Abschätzung des lokalen Fehlers die Schrittweite nicht halbiert, sondern es werden zwei eRKV mit unterschiedlichen Konsistenzordnungen verwendet. Um die Anzahl der Funktionsauswertungen in der Berechnung der Zwischenstufen so gering wie möglich zu halten, verwenden diese zwei ’eingebetteten’ eRKV gemeinsame Stützstellen. Hierbei ist zu erwähnen, dass nach den Erkentnissen über die Stufenzahl und Ordnung eines eRKV das Verfahren höherer Ordnung weitere zusätzliche Zwischenstellen benötigt, um diese höhere Ordnung zu erreichen.

Als eingebetettes Runge-Kutta Paar verstehen wir zwei eRKV mit gemeinsamen Stützstellen (und Stufen). Das erste der eRKV hat dabei die Konsistenzordnung und das zweite Verfahren erreicht mit den gemeinsamen Stützstellen und den zusätzlichen Stützsstellen, die Konsistenzordnung . Die Gewichtsvektoren dieser beider eRKV sind im Allgemeinen unterschiedlich und die Iterationsvorschrifte (die Runge-Kutta-Updates) der beiden Verfahren sind:

Wegen den s gemeinsamen Stufen werden in beiden Verfahren die Funktionsauswertungen verwendet. Ein Beispiel eines eingebetetten Runge-Kutta Paares ist das
Fehlenberg RK-Paar der Ordnung 2 und 3:



4.2.1 Schrittweitensteuerung bei eingebetetten Runge-Kutta Verfahren[Bearbeiten]

Im Folgenden beschränken wir uns auf den Fall und leiten die Formel der Schrittweitensteuerung her. Seien die numerischen Lösungen in , die aus der exakten Lösung statt ausgehen und die Verfahren haben die Konsistenzordnung und . Dann gilt für die lokalen Fehler nach Anwendung der Taylorentwicklung (mit Taylorrest)

wobei . nennen wir die führenden Fehlerglieder der beiden Verfahren. Diese sind die Glieder mit der kleinsten Potenz von und enthalten bis zu -te und -te partielle Ableitungen der Funktion in . Nach dem Subtrahieren der beiden Gleichungen erhalten wir

d.h. der lokale Fehler des ersten Verfahrens (eRKV1) lässt sich als Unterschied der beiden numerischen Lösungen abschätzen. Vernachlässigen wir in (4.9) den Rest mit höheren Potenzen von , erhalten wir die Abschätzung des lokalen Fehlers mithilfe der numerischen Lösungen der zwei eingebetteten eRKV,[1]

Gleichzeitig gilt für ein Verfahren der Konsistenzordnung , dass

Danach lässt sich die Fehlerkonstante bei einer festen Schrittweite berechnen als

Diese Abschätzung der Fehlerkonstanten ist die Grundidee der Schrittweitensteuerung bei eingebetteten Runge-Kutta Verfahren.


ALGORITHMUS:

  1. , wähle eine Probeschrittweite und die Toleranz für den lokalen Fehler.
    Berechne die numerische Lösung im nächsten Schritt mit Probeschrittweite :
    • mithilfe eines Schrittes des eRKV1 mit Schrittweite und Stufen: ,
    • mithilfe eines Schrittes des eRKV2 mit Schrittweite und Stufen: .
  2. Schätze die Fehlerkonstante anhand (4.10) ab, als
  3. Berechne die optimale Schrittweite , sodass der lokale Fehler etwa der vorgegebenen Toleranz entspricht, wobei die Fehlerkonstante wie oben geschätzt wird:
  4. Bestimme (und speichere) die numerische Lösung im nächsten Schritt mithilfe der Schrittweite und des Verfahrens eRKV2 der Ordnung :

Weitere Beispiele der eingebetteten Runge-Kutta Verfahren sind die Formelpaare: Dorman Prince (4, 5 Ordnung), oder Bogacki Shampine (2, 3 Ordnung), die als Matlab-Funktionen ’ODE45’ und ’ODE23’ bekannt sind. Oft werden die Runge-Kutta Paare als FSAL-Typ (First Same As Last) Verfahren implementiert, wobei in jedem Zeitschritt die erste Funktionsauswertung von gespart wird, da diese mit der letzten Auswertung des vorherigen Schrittes übereinstimmt, wie es in folgendem Verfahren der Fall ist:


Hier gilt

[Bearbeiten]

  1. Diese Abschätzung setzt voraus, dass die Werte dem exakten Wert in entsprechen. Dies ist in der Praxis nicht der Fall. Da aber bei den eingebettenen Runge-Kutta Verfahren die numerische Lösung der höheren Ordnung als Lösung gespeichert wird, und diese der exakten Lösung näher liegt, kann die Absschätzung des lokalen Fehlers mittels numerischen Lösungen ausgehend aus (fast) exater Lösung in der Praxis verwendet werden.