#include <RungeKutta.h>
Klassendiagramm für RungeKutta:
Definiert in Zeile 29 der Datei RungeKutta.h.
Öffentliche Methoden | |
virtual double | integrate (double time) |
virtual string | getName () |
virtual double | getTime () |
virtual void | createAttributeWindow () |
virtual void | save (ostream &FILE) |
virtual void | load (istream &FILE) |
virtual list< Collisionspair > * | getCollisionslist () |
RungeKutta () | |
virtual | ~RungeKutta () |
Geschützte Methoden | |
virtual void | saveAttributes () |
virtual void | loadAttributes () |
virtual void | deleteAdditionalInformation (void *additionalInformation) |
Private Methoden | |
double | distance (const int i, const int j, const double x[]) |
double | acceleration (const int i, const int komponente, const double x[]) |
void | derivs (double x, double y[], double dydx[]) |
double | rk4 (double y[], double dydx[], int n, double x, double h, double yout[]) |
double * | vec (long nl, long nh) |
void | free_vec (double *v, long nl, long nh) |
Private Attribute | |
list< Collisionspair > | collisions |
double * | m |
double * | radius |
double | t |
double | h |
int | n |
int | objnumber |
|
Konstruktor , h=0.1 Standardwert, der aber an jeweilige Beduerfnisse angepasst werden sollte Definiert in Zeile 112 der Datei RungeKutta.cpp. |
|
Definiert in Zeile 104 der Datei RungeKutta.h. |
|
Definiert in Zeile 232 der Datei RungeKutta.cpp. Benutzt Integrator::cubic(), distance(), GAMMA, m und objnumber. Wird benutzt von derivs(). |
|
Erzeuge AttributeWindow, um Eigenschaften des Integrators festzulegen Implementiert Integrator. Definiert in Zeile 63 der Datei RungeKutta.cpp. Benutzt Integrator::createBasisAttributeWindow() und loadAttributes(). |
|
loesche Zeiger additionalInformation
Implementiert Integrator. Definiert in Zeile 104 der Datei RungeKutta.cpp. |
|
berechnet die Ableitungen der Funktionen in b und speichert diese in dbda
Definiert in Zeile 253 der Datei RungeKutta.cpp. Benutzt acceleration() und n. Wird benutzt von integrate() und rk4(). |
|
Definiert in Zeile 215 der Datei RungeKutta.cpp. Benutzt Integrator::sqr(). Wird benutzt von acceleration(). |
|
Numerical Recipes Funktion um Speicher eines Vektors freizugeben
Definiert in Zeile 354 der Datei RungeKutta.cpp. Wird benutzt von rk4(). |
|
Implementiert Integrator. Definiert in Zeile 205 der Datei RungeKutta.cpp. Benutzt collisions. |
|
Implementiert Integrator. Definiert in Zeile 87 der Datei RungeKutta.h. |
|
Implementiert Integrator. Definiert in Zeile 94 der Datei RungeKutta.h. Benutzt t. |
|
Funktion, die Integration vorbereitet und den eigentlichen Integrator rk4 aufruft.
Implementiert Integrator. Definiert in Zeile 120 der Datei RungeKutta.cpp. Benutzt collisions, derivs(), h, m, Object::mass, n, objnumber, Object::pos, Object::radius, radius, rk4(), t, Object::v, Vector::x, Vector::y und Vector::z. |
|
laedt die Einstellungen des Integators
Implementiert Integrator. Definiert in Zeile 29 der Datei RungeKutta.cpp. Benutzt h. |
|
setze Schrittweite in AttributeWindow-Verwaltungsklasse Implementiert Integrator. Definiert in Zeile 89 der Datei RungeKutta.cpp. Benutzt h. Wird benutzt von createAttributeWindow(). |
|
Runge-Kutta-Integrator Quelle: Numerical Recipes Erweiterungen: Kollisionscheck, Schrittweitenverringerung bei Kollisionsgefahr
Definiert in Zeile 270 der Datei RungeKutta.cpp. Benutzt collisions, derivs(), free_vec(), Message::msg(), objnumber, radius und vec(). Wird benutzt von integrate(). |
|
speichert die Einstellungen des Integators
Implementiert Integrator. Definiert in Zeile 19 der Datei RungeKutta.cpp. Benutzt h. |
|
hole eps aus AttributeWindow-Verwaltungsklasse Implementiert Integrator. Definiert in Zeile 96 der Datei RungeKutta.cpp. Benutzt h. |
|
Numerical Recipes Funktion um Speicher fuer einen Vektors zu allokieren
Definiert in Zeile 363 der Datei RungeKutta.cpp. Benutzt NR_END. Wird benutzt von rk4(). |
|
Liste, die Kollisionspaare enthaelt Definiert in Zeile 35 der Datei RungeKutta.h. Wird benutzt von getCollisionslist(), integrate() und rk4(). |
|
Schrittweite Definiert in Zeile 55 der Datei RungeKutta.h. Wird benutzt von integrate(), load(), loadAttributes(), save() und saveAttributes(). |
|
Massen der Objekte Definiert in Zeile 40 der Datei RungeKutta.h. Wird benutzt von acceleration() und integrate(). |
|
Anzahl der DGLn Definiert in Zeile 60 der Datei RungeKutta.h. Wird benutzt von derivs() und integrate(). |
|
Objektanzahl Definiert in Zeile 65 der Datei RungeKutta.h. Wird benutzt von acceleration(), integrate() und rk4(). |
|
Radien der Objekte Definiert in Zeile 45 der Datei RungeKutta.h. Wird benutzt von integrate() und rk4(). |
|
Zeitdauer, fuer die bisher integriert wurde Definiert in Zeile 50 der Datei RungeKutta.h. Wird benutzt von getTime() und integrate(). |