1 #ifndef PSPM_ODE_RKCK45_H 2 #define PSPM_ODE_RKCK45_H_ 49 static constexpr
double SAFETY = 0.9;
50 static constexpr
double PGROW = -0.2;
51 static constexpr
double PSHRNK = -0.25;
52 static constexpr
double ERRCON = 1.89e-4;
74 RKCK45(
double t_start_,
double accuracy,
double h1);
85 template <
class functor>
86 void Step(
double& x,
container& y, functor& derivs,
double hmax=1e20,
double hmin=1e-6);
91 template <
class functor,
class AfterStep>
92 void Step_to(
double t_stop,
double& x,
container& y, functor& derivs, AfterStep &after_step);
94 double h(){
return ht;}
99 template <
class functor>
102 template <
class functor>
107 #include "../src/rkck45.tpp"
static constexpr double PGROW
void RKStep(container &y, container &dydx, double &x, double htry, double &hdid, double &hnext, functor &derivs)
void resize(int new_size)
RKCK45(double t_start_, double accuracy, double h1)
static constexpr double PSHRNK
static constexpr double SAFETY
void Step_to(double t_stop, double &x, container &y, functor &derivs, AfterStep &after_step)
void Step(double &x, container &y, functor &derivs, double hmax=1e20, double hmin=1e-6)
void RKTry(container &y, container &dydx, double &x, double h, container &yout, container &yerr, functor &derivs)
static constexpr double ERRCON
std::vector< double > container