8 #ifndef RK4Integrator_H_
9 #define RK4Integrator_H_
12 #include <rrRoadRunnerOptions.h>
32 using Integrator::Integrator;
67 double integrate(
double t0,
double tf)
override;
73 void restart(
double t0)
override;
82 std::string
getName()
const override;
96 std::string
getHint()
const override;
107 virtual Setting getValue(std::string key);
164 unsigned stateVectorSize;
169 double *k1, *k2, *k3, *k4, *y, *ytmp;
171 void testRootsAtInitialTime();
172 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 super basic 4'th order fixed step integrator.
Definition: RK4Integrator.h:29
void syncWithModel(ExecutableModel *m) override
Called whenever a new model is loaded to allow integrator to reset internal state.
Definition: RK4Integrator.cpp:30
void resetSettings() override
Reset all integrator settings to their respective default values.
Definition: RK4Integrator.cpp:217
void setListener(IntegratorListenerPtr) override
the integrator can hold a single listener.
Definition: RK4Integrator.cpp:176
double integrate(double t0, double tf) override
implement Integrator interface
Definition: RK4Integrator.cpp:70
Solver * construct(ExecutableModel *model) const override
construct an instance of type RK4Integrator.
Definition: RK4Integrator.cpp:200
IntegratorListenerPtr getListener() override
get the integrator listener
Definition: RK4Integrator.cpp:180
std::string getHint() const override
Get the hint for this integrator.
Definition: RK4Integrator.cpp:196
IntegrationMethod getIntegrationMethod() const override
Always deterministic for RK4.
Definition: RK4Integrator.cpp:212
~RK4Integrator() override
clean up any mess.
Definition: RK4Integrator.cpp:58
void restart(double t0) override
copies the state std::vector out of the model and into cvode std::vector, re-initializes cvode.
Definition: RK4Integrator.cpp:152
RK4Integrator(ExecutableModel *m)
Creates a new RK4Integrator.
Definition: RK4Integrator.cpp:21
std::string getDescription() const override
Get the description for this integrator.
Definition: RK4Integrator.cpp:189
std::string getName() const override
Get the name for this integrator.
Definition: RK4Integrator.cpp:185
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