ODEIntegrator.h
00001 #ifndef gridripper_odesolver_shoot_ODEIntegrator_h
00002 #define gridripper_odesolver_shoot_ODEIntegrator_h
00003
00004 #include <gridripper/config.h>
00005 #include <gridripper/odesolver/ODE.h>
00006 #include <gridripper/amr1d/FieldWrapper.h>
00007 #include <gridripper/lang/IllegalArgumentException.h>
00008 #include <gridripper/tvalarray.h>
00009 #include <string>
00010
00011 namespace gridripper { namespace odesolver { namespace shoot {
00012
00013 using namespace gridripper;
00014 using namespace gridripper::odesolver;
00015 using namespace gridripper::amr1d;
00016 using namespace std;
00017
00024 class ODEIntegrator
00025 {
00026 private:
00027 ODE* theODE;
00028
00029 public:
00034 ODEIntegrator(ODE* ode): theODE(ode) {
00035 }
00036
00037 virtual ~ODEIntegrator() { }
00038
00046 virtual void integrate(FieldWrapper& f, GReal_t x, GReal_t dx) =0;
00047
00052 ODE& getODE() const {
00053 return *theODE;
00054 }
00055 };
00056
00057 } } }
00058
00059 #endif