14 c2 = 1.0/5; a21 = 1.0/5;
15 c3 = 3.0/10; a31 = 3.0/40; a32 = 9.0/40;
16 c4 = 4.0/5; a41 = 44.0/45; a42 = -56.0/15; a43 = 32.0/9;
17 c5 = 8.0/9; a51 = 19372.0/6561; a52 = -25360.0/2187; a53 = 64448.0/6561; a54 = -212.0/729;
18 c6 = 1.0; a61 = 9017.0/3168; a62 = -355.0/33; a63 = 46732.0/5247; a64 = 49.0/176; a65 = -5103.0/18656;
19 c7 = 1.0; a71 = 35.0/384; a72 = 0.0; a73 = 500.0/1113; a74 = 125.0/192; a75 = -2187.0/6784; a76 = 11.0/84;
20 b1 = 35.0/384; b2 = 0.0; b3 = 500.0/1113; b4 = 125.0/192; b5 = -2187.0/6784; b6 = 11.0/84;
21 d1 = 5179.0/57600; d2 = 0.0; d3 = 7571.0/16695; d4 = 393.0/640; d5 = -92097.0/339200; d6 = 187.0/2100; d7 = 1.0/40;
24void OdeDoPri54::step_ (
double dt) {
71 for (i=0; i<
neq_; i++) {
unsigned long neq_
number of equations in the system of ODEs
std::string method_
the "name" of the solver/method, as in "Euler" or "RK4"
double * sol_
array for the solution, changing over time
void ode_fun_(double *solin, double *fout)
wrapper, calls ode_fun() and increases the neval counter by one
OdeDoPri54(unsigned long neq)
constructs
Base class providing space for temporary solutions moving through RK stages.
double * soltemp_
temporary solution vector
Base clase implementing methods for embedded Runge-Kutta error estimation.
double * solemb_
embedded solution array
Provides space for stage slope values, an array of arrays for k values.
double ** k_
stage evaluations