Hauptseite | Liste aller Namensbereiche | Klassenhierarchie | Alphabetische Liste | Datenstrukturen | Auflistung der Dateien | Datenstruktur-Elemente | Datei-Elemente

RungeKutta.h

gehe zur Dokumentation dieser Datei
00001 /*
00002 Autor: $Author: kunkel $ State: $State: Exp $
00003 Datum: $Date: 2005/05/30 12:35:25 $
00004 Version: $Revision: 1.1 $
00005 */
00006 
00011 #ifndef RUNGEKUTTA_H
00012 #define RUNGEKUTTA_H
00013 
00014 #include <iterator>
00015 #include <list>
00016 
00017 #include "Integrator.h"
00018 #include "Vector.h"
00019 #include "Object.h"
00020 
00021 #define NR_END 1
00022 #define FREE_ARG char*
00023 
00029 class RungeKutta : public Integrator {
00030 private:
00031 
00035     list<Collisionspair> collisions;
00036 
00040     double* m;
00041 
00045     double* radius;
00046 
00050     double t;
00051 
00055     double h;
00056 
00060     int n;
00061 
00065     int objnumber;
00066 
00067     double distance(const int i, const int j, const double x[]);
00068     double acceleration(const int i, const int komponente,
00069                         const double x[] );
00070     void derivs(double x, double y[], double dydx[]);
00071     double rk4(double y[], double dydx[], int n, double x, double h,
00072                double yout[]);
00073     double *vec(long nl, long nh);
00074     void free_vec(double *v, long nl, long nh);
00075 
00076 protected:
00077     virtual void saveAttributes();
00078     virtual void loadAttributes();
00079     virtual void deleteAdditionalInformation(void * additionalInformation);
00080 public:
00081 
00082     virtual double integrate(double time);
00083 
00087     virtual string getName() {
00088         return "RungeKutta";
00089     }
00090 
00094     virtual double getTime() {
00095         return t;
00096     }
00097 
00098     virtual void createAttributeWindow();
00099     virtual void save(ostream & FILE);
00100     virtual void load(istream & FILE);
00101     virtual list<Collisionspair>* getCollisionslist();
00102 
00103     RungeKutta();
00104     virtual ~RungeKutta() {}
00105     ;
00106 
00107 };
00108 
00109 
00110 #endif

Erzeugt am Mon May 30 14:31:15 2005 für Sunsystembuildingandsimulation von doxygen 1.3.6