C API Documentation
|
#include <RK4Integrator.h>
Public Member Functions | |
RK4Integrator (ExecutableModel *m) | |
virtual | ~RK4Integrator () |
virtual void | syncWithModel (ExecutableModel *m) |
Called whenever a new model is loaded to allow integrator to reset internal state. More... | |
virtual double | integrate (double t0, double tf) |
virtual void | restart (double t0) |
std::string | getName () const |
** More... | |
std::string | getDescription () const |
Get the description for this integrator. More... | |
std::string | getHint () const |
Get the hint for this integrator. More... | |
virtual Variant | getValue (std::string key) |
IntegrationMethod | getIntegrationMethod () const |
Always deterministic for RK4. More... | |
void | resetSettings () |
Reset all integrator settings to their respective default values. More... | |
virtual void | setListener (IntegratorListenerPtr) |
virtual IntegratorListenerPtr | getListener () |
![]() | |
virtual void | loadConfigSettings () |
virtual void | loadSBMLSettings (const std::string &filename) |
virtual void | tweakTolerances () |
Fix tolerances for SBML tests. More... | |
virtual void | setIndividualTolerance (string sid, double value) |
Set tolerance for floating species or variables that have a rate rule, will only be used in CVODEIntegrator. More... | |
virtual void | setConcentrationTolerance (const Variant &value) |
Set tolerance based on concentration of species, will only be used in CVODEIntegrator. More... | |
virtual std::vector< double > | getConcentrationTolerance () |
Get tolerance based on concentration of species, will only be used in CVODEIntegrator. More... | |
std::string | toString () const |
Return a string representation of the solver. More... | |
virtual std::string | toRepr () const |
Return string representation a la Python repr method. More... | |
virtual void | setValue (std::string key, const Variant &value) |
![]() | |
std::vector< std::string > | getSettings () const |
Get a list of all settings for this solver. More... | |
virtual Variant | getValue (std::string key) const |
Get the value of an integrator setting. More... | |
virtual Variant | hasValue (std::string key) const |
Return true if this setting is supported by the integrator. More... | |
virtual size_t | getNumParams () const |
Get the number of parameters. More... | |
virtual std::string | getParamName (size_t n) const |
Get the name of the parameter at index n. More... | |
virtual std::string | getParamDisplayName (int n) const |
Get the display name of the parameter at index n. More... | |
virtual std::string | getParamHint (int n) const |
Get the hint of the parameter at index n. More... | |
virtual std::string | getParamDesc (int n) const |
Get the description of the parameter at index n. More... | |
virtual int | getValueAsInt (std::string key) |
Wrapper for getValue which converts output to a specific type. More... | |
virtual unsigned int | getValueAsUInt (std::string key) |
Wrapper for getValue which converts output to a specific type. More... | |
virtual long | getValueAsLong (std::string key) |
Wrapper for getValue which converts output to a specific type. More... | |
virtual unsigned long | getValueAsULong (std::string key) |
Wrapper for getValue which converts output to a specific type. More... | |
virtual float | getValueAsFloat (std::string key) |
Wrapper for getValue which converts output to a specific type. More... | |
virtual double | getValueAsDouble (std::string key) |
Wrapper for getValue which converts output to a specific type. More... | |
virtual std::vector< double > | getValueAsDoubleVector (std::string key) |
Wrapper for getValue which converts output to a specific type. | |
virtual char | getValueAsChar (std::string key) |
Wrapper for getValue which converts output to a specific type. More... | |
virtual unsigned char | getValueAsUChar (std::string key) |
Wrapper for getValue which converts output to a specific type. More... | |
virtual std::string | getValueAsString (std::string key) |
Wrapper for getValue which converts output to a specific type. More... | |
virtual bool | getValueAsBool (std::string key) |
Wrapper for getValue which converts output to a specific type. More... | |
virtual void | setValue (std::string key, const Variant &value) |
const std::string & | getDisplayName (std::string key) const |
Gets the hint associated with a given key. More... | |
const std::string & | getHint (std::string key) const |
Gets the hint associated with a given key. More... | |
const std::string & | getDescription (std::string key) const |
Gets the description associated with a given key. More... | |
const Variant::TypeId | getType (std::string key) |
Gets the type associated with a given key. More... | |
std::string | getSettingsRepr () const |
Get the solver settings as a string. More... | |
std::string | settingsPyDictRepr () const |
Python dictionary-style string representation of settings. More... | |
Static Public Member Functions | |
static std::string | getRK4Name () |
Get the name for this integrator. More... | |
static std::string | getRK4Description () |
Get the description for this integrator. More... | |
static std::string | getRK4Hint () |
Get the hint for this integrator. More... | |
Additional Inherited Members | |
![]() | |
enum | IntegrationMethod { Deterministic , Stochastic , Hybrid , Other } |
![]() | |
typedef std::vector< std::string > | SettingsList |
typedef RR_UNORDERED_MAP< std::string, Variant > | SettingsMap |
typedef RR_UNORDERED_MAP< std::string, std::string > | DisplayNameMap |
typedef RR_UNORDERED_MAP< std::string, std::string > | HintMap |
typedef RR_UNORDERED_MAP< std::string, std::string > | DescriptionMap |
![]() | |
void | addSetting (std::string name, Variant val, string display_name, std::string hint, std::string description) |
![]() | |
SettingsList | sorted_settings |
SettingsMap | settings |
DisplayNameMap | display_names_ |
HintMap | hints |
DescriptionMap | descriptions |
A super basic 4'th order fixed step integrator.
The RungeKuttaIntegrator will be the more sophisticated, general purpose Runge-Kutta integrator which will support different orders and adaptive time stepping.
This object is mainly here as an example of creating a new Integrator.
rr::RK4Integrator::RK4Integrator | ( | ExecutableModel * | m | ) |
Creates a new RK4Integrator.
The IntegratorFactory is the ONLY object that creates integrators.
Integrators are created when the IntegratorFactory::New method is called, typically by the top level RoadRunner object.
The integrator will hold onto the ExecutableModel pointer, m, and when the integrate method is called, will advance the model object forward in time.
m | a borrowed reference to an existing ExecutableModel object. |
o | a reference to a SimulatOptions object where the configuration parameters will be read from. |
|
virtual |
clean up any mess.
|
virtual |
|
virtual |
|
virtual |
Always deterministic for RK4.
Implements rr::Integrator.
|
virtual |
get the integrator listener
Implements rr::Integrator.
|
virtual |
|
static |
Get the description for this integrator.
|
static |
Get the hint for this integrator.
|
static |
Get the name for this integrator.
|
virtual |
implement Integrator interface integrates the model from t0 to tf.
Implements rr::Integrator.
|
virtual |
Reset all integrator settings to their respective default values.
Reimplemented from rr::Solver.
|
virtual |
copies the state vector out of the model and into cvode vector, re-initializes cvode.
Implements rr::Integrator.
|
virtual |
the integrator can hold a single listener. If clients require multicast, they can create a multi-cast listener.
Implements rr::Integrator.
|
virtual |
Called whenever a new model is loaded to allow integrator to reset internal state.
Reimplemented from rr::Integrator.