15 c3 = 2.0/3; a31 = -1./3; a32 = 1;
16 c4 = 1.0; a41 = 1; a42 = -1; a43 = 1;
17 c5 = 1.0; a51 = 1.0/8; a52 = 3.0/8; a53 = 3.0/8; a54 = 1.0/8;
18 b1 = 1.0/8; b2 = 3.0/8; b3 = 3.0/8; b4 = 1.0/8;
19 d1 = 1./12; d2 = 1./2; d3 = 1.0/4; d5 = 1./6;
22void OdeRK43::step_ (
double dt) {
52 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
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
OdeRK43(unsigned long neq)
constructs
Provides space for stage slope values, an array of arrays for k values.
double ** k_
stage evaluations