roadrunner  2.6.0
Fast simulator for SBML models
Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
rr::CompiledModelGenerator Class Referenceabstract

Both compiled model generators (C and CSharp) share a lot of functionality, so implement that here. More...

#include <rrCompiledModelGenerator.h>

Inheritance diagram for rr::CompiledModelGenerator:
rr::CModelGenerator

Protected Member Functions

std::string substituteTerms (const std::string &reactionName, const std::string &inputEquation, bool bFixAmounts)
 
std::string substituteTerms (const int &numReactions, const std::string &reactionName, const std::string &equation)
 
virtual std::string convertUserFunctionExpression (const std::string &equation)=0
 
virtual void substituteEquation (const std::string &reactionName, Scanner &s, CodeBuilder &sb)=0
 
virtual void substituteWords (const std::string &reactionName, bool bFixAmounts, Scanner &s, CodeBuilder &sb)=0
 
virtual void substituteToken (const std::string &reactionName, bool bFixAmounts, Scanner &s, CodeBuilder &sb)=0
 
virtual std::string findSymbol (const std::string &varName)=0
 
virtual void writeComputeAllRatesOfChange (CodeBuilder &sb, const int &numIndependentSpecies, const int &numDependentSpecies, ls::DoubleMatrix &L0)=0
 
virtual void writeComputeConservedTotals (CodeBuilder &sb, const int &numFloatingSpecies, const int &numDependentSpecies)=0
 
virtual void writeUpdateDependentSpecies (CodeBuilder &sb, const int &numIndependentSpecies, const int &numDependentSpecies, ls::DoubleMatrix &L0)=0
 
virtual void writeUserDefinedFunctions (CodeBuilder &sb)=0
 
virtual void writeResetEvents (CodeBuilder &sb, const int &numEvents)=0
 
virtual void writeSetConcentration (CodeBuilder &sb)=0
 
virtual void writeGetConcentration (CodeBuilder &sb)=0
 
virtual void writeConvertToAmounts (CodeBuilder &sb)=0
 
virtual void writeConvertToConcentrations (CodeBuilder &sb)=0
 
virtual void writeProperties (CodeBuilder &sb)=0
 
virtual void writeAccessors (CodeBuilder &sb)=0
 
virtual void writeOutVariables (CodeBuilder &sb)=0
 
virtual void writeClassHeader (CodeBuilder &sb)=0
 
virtual void writeTestConstraints (CodeBuilder &sb)=0
 
virtual void writeEvalInitialAssignments (CodeBuilder &sb, const int &numReactions)=0
 
virtual int writeComputeRules (CodeBuilder &sb, const int &numReactions)=0
 
virtual void writeComputeReactionRates (CodeBuilder &sb, const int &numReactions)=0
 
virtual void writeEvalEvents (CodeBuilder &sb, const int &numEvents, const int &numFloatingSpecies)=0
 
virtual void writeEvalModel (CodeBuilder &sb, const int &numReactions, const int &numIndependentSpecies, const int &numFloatingSpecies, const int &numOfRules)=0
 
virtual void writeEventAssignments (CodeBuilder &sb, const int &numReactions, const int &numEvents)=0
 
virtual void writeSetParameterValues (CodeBuilder &sb, const int &numReactions)=0
 
virtual void writeSetCompartmentVolumes (CodeBuilder &sb)=0
 
virtual void writeSetBoundaryConditions (CodeBuilder &sb)=0
 
virtual void writeSetInitialConditions (CodeBuilder &sb, const int &numFloatingSpecies)=0
 
virtual std::string convertCompartmentToC (const std::string &compartmentName)=0
 
virtual std::string convertSpeciesToBc (const std::string &speciesName)=0
 
virtual std::string convertSpeciesToY (const std::string &speciesName)=0
 
virtual std::string convertSymbolToC (const std::string &compartmentName)=0
 
virtual std::string convertSymbolToGP (const std::string &parameterName)=0
 
void reset ()
 
int numAdditionalRates ()
 
virtual std::string getInfo ()
 get various information about the model in a user displayable format.
 
ls::DoubleMatrix * initializeL0 (int &nrRows, int &nrCols)
 
bool expressionContainsSymbol (ASTNode *ast, const std::string &symbol)
 
bool expressionContainsSymbol (const std::string &expression, const std::string &symbol)
 
const SymbolgetSpecies (const std::string &id)
 
int readGlobalParameters ()
 
void readLocalParameters (const int &numReactions, std::vector< int > &localParameterDimensions, int &totalLocalParmeters)
 
int readCompartments ()
 
std::string writeDouble (const double &value, const std::string &format="%G")
 

Static Protected Member Functions

static ASTNode * cleanEquation (ASTNode *ast)
 creates a new AST node
 
static std::string cleanEquation (const std::string &equation)
 

Protected Attributes

ls::LibStructural * mLibStruct
 Refernce to libstruct library this are set by createModel, and for the time being remain after createModel completes.
 
NOMSupportmNOM
 Object that provide some wrappers and new "NOM" functions. More...
 
bool mComputeAndAssignConsevationLaws
 
const std::string mFixAmountCompartments
 
StringList mWarnings
 
ModelSymbols ms
 hold all the symbolic (AKA metadata) information in the model The idea is that all the memebers of this class will be const, and the entire thing will be created anew each time createModel is called. More...
 

Detailed Description

Both compiled model generators (C and CSharp) share a lot of functionality, so implement that here.

Member Data Documentation

◆ mNOM

NOMSupport* rr::CompiledModelGenerator::mNOM
protected

Object that provide some wrappers and new "NOM" functions.

this are set by createModel, and for the time being remain after createModel completes.

◆ ms

ModelSymbols rr::CompiledModelGenerator::ms
protected

hold all the symbolic (AKA metadata) information in the model The idea is that all the memebers of this class will be const, and the entire thing will be created anew each time createModel is called.

This thing will creted in one shot, then all the code building will access it.


The documentation for this class was generated from the following files: