00001 #ifndef gridripper_odesolver_relax_method_O4Relax_h
00002 #define gridripper_odesolver_relax_method_O4Relax_h
00003
00004 #include <gridripper/odesolver/relax/ODERelax.h>
00005
00006 namespace gridripper { namespace odesolver {
00007
00008 class ODE;
00009
00010 namespace relax {
00011
00018 class O4Relax: public ODERelax::Method
00019 {
00020 private:
00021 ODE* theODE;
00022
00023 int maxi;
00024
00025 public:
00031 O4Relax(ODE* ode, int nx) throw(ODERelax::RelaxationException&);
00032
00033 int getNumSubsteps() const;
00034
00045 void set(tvalarray<GReal_t>& fieldValues, tvalarray<GReal_t>& matrix,
00046 tvalarray<GReal_t>& rhsvec,
00047 const tvalarray<GReal_t>& deltaField);
00048 };
00049
00050 } } }
00051
00052 #endif