Nächste Seite: Das Adams-Störmer-Prädiktor-Korrektor-Verfahren Aufwärts: Numerik Vorherige Seite: Das Euler-Cauchy-Verfahren   Inhalt

Das Runge-Kutta-Verfahren

Auch wenn das Euler-Cauchy-Verfahren für kleine Zeitintervalle recht gute Ergebnisse liefert, so summieren sich die Fehler bei einer großen Zahl von Zeitintervallen doch recht schnell auf und die Berechnung längerfristiger Effekte, wie z. B. der Periheldrehung von orbitierenden Körpern, wird unmöglich oder zumindest sehr stark gestört.

Es wurden deswegen Verfahren mit wesentlich höherer Genauigkeit entwickelt. Eines davon ist das Runge-Kutta-Verfahren. Dieses Verfahren existiert in verschiedenen Varianten; wir verwenden hier das Runge-Kutta-Nyström-Verfahren, das speziell auf Differentialgleichungen zweiter Ordnung abgestimmt ist. Da die Herleitung der Formeln den Rahmen dieser Facharbeit sprengen würden, führen wir sie hier ohne Begründung, jedoch mit Verweis auf [5, S. 242], an:

$\displaystyle a_1$ $\textstyle =$ $\displaystyle a(x_n, v_n)\cdot\Delta t$ (70)
$\displaystyle a_2$ $\textstyle =$ $\displaystyle a\left(x_n + v_n\cdot\frac{\Delta t}{2} + a_1\frac{\Delta t}{8},
v_n + \frac{a_1}{2}\right)\cdot\Delta t$ (71)
$\displaystyle a_3$ $\textstyle =$ $\displaystyle a\left(x_n + v_n\cdot\frac{\Delta t}{2} + a_1\frac{\Delta t}{8},
v_n + \frac{a_2}{2}\right)\cdot\Delta t$ (72)
$\displaystyle a_4$ $\textstyle =$ $\displaystyle a\left(x_n + v_n\cdot\Delta t + a_3\frac{\Delta t}{2},
v_n + a_3\right)\cdot\Delta t$ (73)
$\displaystyle x_{n+1}$ $\textstyle =$ $\displaystyle x_n + v_n\cdot\Delta t + \frac{\Delta t}{6}(a_1+a_2+a_3)
+ O\left((\Delta t)^5\right)$ (74)
$\displaystyle v_{n+1}$ $\textstyle =$ $\displaystyle v_n + \frac{1}{6}(a_1+2a_2+2a_3+a_4)
+ O\left((\Delta t)^5\right)$ (75)

Die Implementation des Runge-Kutta-Nyström-Verfahrens befindet sich in der Datei grav_runge_kutta.h (siehe Abschnitt D.4).




Nächste Seite: Das Adams-Störmer-Prädiktor-Korrektor-Verfahren Aufwärts: Numerik Vorherige Seite: Das Euler-Cauchy-Verfahren   Inhalt
FAQ Homepage