36 std::shared_ptr<RKdata>
ode;
49 void evalEquations(
double result[],
double,
const double vars[]);
52 static int RKfunction(
double,
const double y[],
double f[],
void*);
54 static int jacobian(
double,
const double y[],
double*,
double dfdt[],
void*);
71 for (
auto& eq: equations)
77 #include "rungeKutta.cd" void rkstep()
step the equations (by n steps, default 1) evaluate the flow equations without stepping.
components excluded from reflection
static int RKfunction(double, const double y[], double f[], void *)
function to be integrated (internal use)
std::vector< Integral > integrals
void rkreset()
reset the simulation
convenience class for accessing matrix elements from a data array
static std::vector< double, CIVITA_ALLOCATOR< double > > stockVars
vector of variables that are integrated via Runge-Kutta. These variables label the columns of the God...
static int jacobian(double, const double y[], double *, double dfdt[], void *)
compute jacobian (internal use)
CLASSDESC_ACCESS(RungeKutta)
std::shared_ptr< RKdata > ode
Creation and access to the minskyTCL_obj object, which has code to record whenever Minsky's state cha...
std::string threadErrMsg
used to report a thrown exception on the simulation thread
bool reverse
reverse direction of simulation
static std::vector< double, CIVITA_ALLOCATOR< double > > flowVars
variables defined as a simple function of the stock variables, also known as lhs variables. These variables appear in the body of the Godley table
volatile bool RKThreadRunning
flag indicates that RK engine is computing a step
void evalJacobian(Matrix &, double, const double vars[])
virtual bool resetIfFlagged()
checks whether a reset is required, and resets the simulation if so
virtual ~RungeKutta()=default
bool running
controls whether simulation is running