14 #ifndef RK45Integrator_H_
15 #define RK45Integrator_H_
18 #include <rrRoadRunnerOptions.h>
19 #include "Registrable.h"
35 using Integrator::Integrator;
73 virtual double integrate(
double t,
double h);
78 virtual void restart(
double t0);
125 virtual Setting getValue(std::string key);
155 unsigned stateVectorSize;
160 double *k1, *k2, *k3, *k4, *y, *ytmp;
163 double hCurrent, hmin, hmax;
165 double *k5, *k6, *err;
167 void testRootsAtInitialTime();
168 void applyEvents(
double timeEnd, std::vector<unsigned char> &previousEventStatus);
RoadRunner's Gillespie SSA integrator.
Base class for all code generation systems; allows compiling and evaluating the model.
Definition: rrExecutableModel.h:118
Integrator is an abstract base class that provides an interface to specific integrator class implemen...
Definition: Integrator.h:60
A Runge-Kutta Fehlberg method for roadrunner.
Definition: RK45Integrator.h:32
static std::string getRK45Hint()
Get the hint for this integrator.
Definition: RK45Integrator.cpp:298
static std::string getRK45Description()
Get the description for this integrator.
Definition: RK45Integrator.cpp:288
std::string getDescription() const
Get the description for this integrator.
Definition: RK45Integrator.cpp:284
RK45Integrator(ExecutableModel *m)
Constructor: takes an executable model, does not own the pointer.
Definition: RK45Integrator.cpp:22
void resetSettings()
Reset all integrator settings to their respective default values.
Definition: RK45Integrator.cpp:313
static std::string getRK45Name()
Get the name for this integrator.
Definition: RK45Integrator.cpp:280
virtual void setListener(IntegratorListenerPtr)
the integrator can hold a single listener.
Definition: RK45Integrator.cpp:269
virtual ~RK45Integrator()
Destructor.
Definition: RK45Integrator.cpp:68
virtual double integrate(double t, double h)
implement Integrator interface
Definition: RK45Integrator.cpp:83
virtual void restart(double t0)
Restarts the integrator.
Definition: RK45Integrator.cpp:248
virtual void syncWithModel(ExecutableModel *m)
Called whenever a new model is loaded to allow integrator to reset internal state.
Definition: RK45Integrator.cpp:32
IntegrationMethod getIntegrationMethod() const
Always deterministic for RK45.
Definition: RK45Integrator.cpp:309
std::string getHint() const
Get the hint for this integrator.
Definition: RK45Integrator.cpp:294
std::string getName() const
Get the name for this integrator.
Definition: RK45Integrator.cpp:276
virtual IntegratorListenerPtr getListener()
get the integrator listener
Definition: RK45Integrator.cpp:272
Solver * construct(ExecutableModel *executableModel) const
Constructs a new Solver of a given type.
Definition: RK45Integrator.cpp:333
Store a roadrunner option (or setting) as a Variant type.
Definition: Setting.h:78
Base class for all integrators and steady state solvers.
Definition: Solver.h:39