1 #ifndef rrExecutableModelH
2 #define rrExecutableModelH
3 #include "rrOSSpecifics.h"
32 virtual std::string getModelName() = 0;
34 virtual void setTime(
double _time) = 0;
35 virtual double getTime() = 0;
53 virtual void evalInitialConditions() = 0;
60 virtual void reset() = 0;
72 virtual int getNumDepFloatingSpecies() = 0;
77 virtual int getNumFloatingSpecies() = 0;
79 virtual int getFloatingSpeciesIndex(
const std::string& eid) = 0;
80 virtual std::string getFloatingSpeciesId(
int index) = 0;
86 virtual int getNumIndFloatingSpecies() = 0;
96 virtual int getFloatingSpeciesAmounts(
int len,
int const *indx,
99 virtual int setFloatingSpeciesAmounts(
int len,
int const *indx,
100 const double *values) = 0;
102 virtual int getFloatingSpeciesAmountRates(
int len,
int const *indx,
106 virtual int getFloatingSpeciesConcentrationRates(
int len,
int const *indx,
117 virtual int getFloatingSpeciesConcentrations(
int len,
int const *indx,
128 virtual int setFloatingSpeciesConcentrations(
int len,
int const *indx,
129 double const *values) = 0;
141 virtual int setFloatingSpeciesInitConcentrations(
int len,
int const *indx,
142 double const *values) = 0;
148 virtual int getFloatingSpeciesInitConcentrations(
int len,
int const *indx,
161 virtual int setFloatingSpeciesInitAmounts(
int len,
int const *indx,
162 double const *values) = 0;
168 virtual int getFloatingSpeciesInitAmounts(
int len,
int const *indx,
185 virtual int getNumBoundarySpecies() = 0;
186 virtual int getBoundarySpeciesIndex(
const std::string &eid) = 0;
187 virtual std::string getBoundarySpeciesId(
int index) = 0;
197 virtual int getBoundarySpeciesAmounts(
int len,
int const *indx,
209 virtual int getBoundarySpeciesConcentrations(
int len,
int const *indx,
220 virtual int setBoundarySpeciesConcentrations(
int len,
int const *indx,
221 double const *values) = 0;
236 virtual int getNumGlobalParameters() = 0;
241 virtual int getGlobalParameterIndex(
const std::string& eid) = 0;
246 virtual std::string getGlobalParameterId(
int index) = 0;
256 virtual int getGlobalParameterValues(
int len,
int const *indx,
259 virtual int setGlobalParameterValues(
int len,
int const *indx,
260 const double *values) = 0;
272 virtual int getNumCompartments() = 0;
273 virtual int getCompartmentIndex(
const std::string& eid) = 0;
274 virtual std::string getCompartmentId(
int index) = 0;
284 virtual int getCompartmentVolumes(
int len,
int const *indx,
287 virtual int setCompartmentVolumes(
int len,
int const *indx,
288 const double *values) = 0;
300 virtual int setCompartmentInitVolumes(
int len,
int const *indx,
301 double const *values) = 0;
307 virtual int getCompartmentInitVolumes(
int len,
int const *indx,
328 virtual void getIds(
int types, std::list<std::string> &ids) = 0;
333 virtual int getSupportedIdTypes() = 0;
339 virtual double getValue(
const std::string&
id) = 0;
344 virtual void setValue(
const std::string&
id,
double value) = 0;
361 virtual int getStoichiometryMatrix(
int* rows,
int* cols,
double** data) = 0;
368 virtual double getStoichiometry(
int speciesIndex,
int reactionIndex) = 0;
371 virtual int getNumConservedMoieties() = 0;
372 virtual int getConservedMoietyIndex(
const std::string& eid) = 0;
373 virtual std::string getConservedMoietyId(
int index) = 0;
374 virtual int getConservedMoietyValues(
int len,
int const *indx,
double *values) = 0;
375 virtual int setConservedMoietyValues(
int len,
int const *indx,
376 const double *values) = 0;
378 virtual int getNumRules() = 0;
383 virtual int getNumReactions() = 0;
389 virtual int getReactionIndex(
const std::string& eid) = 0;
394 virtual std::string getReactionId(
int index) = 0;
396 virtual int getReactionRates(
int len,
int const *indx,
404 virtual void evalReactionRates() = 0;
420 virtual void setRateRuleValues(
const double *rateRuleValues) = 0;
429 virtual void getRateRuleValues(
double *rateRuleValues) = 0;
441 virtual int getStateVector(
double *stateVector) = 0;
452 virtual int setStateVector(
const double *stateVector) = 0;
455 virtual void convertToConcentrations() = 0;
456 virtual void updateDependentSpeciesValues() = 0;
457 virtual void computeAllRatesOfChange() = 0;
475 virtual void evalModel(
double time,
const double *y,
double* dydt=0) = 0;
477 virtual void testConstraints() = 0;
479 virtual std::string getInfo() = 0;
481 virtual void print(std::ostream &stream) = 0;
487 virtual int getNumEvents() = 0;
499 virtual int getEventTriggers(
int len,
const int *indx,
unsigned char *values) = 0;
501 virtual void evalEvents(
double timeEnd,
const unsigned char* previousEventStatus,
502 const double *initialState,
double* finalState) = 0;
504 virtual int applyPendingEvents(
const double *stateVector,
double timeEnd,
double tout) = 0;
517 virtual void evalEventRoots(
double time,
const double* y,
double* gdot) = 0;
519 virtual double getNextPendingEventTime(
bool pop) = 0;
521 virtual int getPendingEventSize() = 0;
523 virtual void resetEvents() = 0;
543 virtual bool getConservedSumChanged() = 0;
549 virtual void computeConservedTotals() = 0;
555 virtual void setConservedSumChanged(
bool) = 0;
564 virtual void convertToAmounts() = 0;
570 RR_DECLSPEC std::ostream& operator << (std::ostream &stream, ExecutableModel* model);
virtual ~ExecutableModel()
Definition: rrExecutableModel.h:531
Definition: rrExecutableModel.h:26