Collaboration diagram for ODE Construction: SBML reactions -> SBML rate rules:
![]() |
Functions | |
SBML_ODESOLVER_API Model_t * | Model_reduceToOdes (Model_t *m) |
C: Construct an ODE system from a Reaction Network. | |
SBML_ODESOLVER_API ASTNode_t * | Species_odeFromReactions (Species_t *s, Model_t *m) |
Creates and ODE for a species from its reactions. | |
SBML_ODESOLVER_API double | Model_getValueById (Model_t *m, const char *id) |
Returns the value of a compartment, species or parameter with the passed ID. | |
SBML_ODESOLVER_API int | Model_setValue (Model_t *m, const char *id, const char *rid, double value) |
Sets the value of a compartment, species or parameter with the passed ID. |
The ODE construction currently can't handle SBML algebraic rules. As soon as this is done correctly, the resulting SBML model can be used to initialize SUNDIALS IDA Solver for Differential Algebraic Equation (DAE) Systems, which are ODE systems with additional algebraic constraints.
|
C: Construct an ODE system from a Reaction Network. constructs an ODE systems of the reaction network of the passed model `m' and returns a new SBML model `ode', that only consists of RateRules, representing ODEs. See comments at steps C.1-C.5 for details C.1: Initialize a new model C.2: Copy predefined ODES (RateRules) and create rate rules from reactions !!! supress ODE construction for algebraic rule defined variables !!! C.3: Create ODEs from reactions C.4: Copy incompatible SBML structures The next steps will copy remaining definitions that can't be simplified, i.e. expressed in a system of ODEs, to the new model. They will also store warning and error messages, if these definitions cannot be interpreted correctly by the current state of the SBML_odeSolver. Additionally all assignment rules are copied, only for printing out results. C.4a: Copy events to new model and create warning C.4.b: Copy AlgebraicRules to new model and create error C.4.c: Copy Assignment Rules to new model C.5: replace function definitions in all formulas |
|
Creates and ODE for a species from its reactions. This function takes a species and a model, constructs and ODE for that species from all the reaction it appears in as either reactant or product. Local kinetic Law parameters are replaced by their value. It directly constructs an Abstract Syntax Tree (AST) and returns a pointer to it. In one of the next releases this function will take additional arguments: a listOfParameter, which will allow to `globalize' local parameters (e.g. for sensitivity analysis for local parameters) and a listOfRules, which will allow to convert kineticLaws to assignment rules. The ODEs will then only consist of stoichiometry and a parameter. As a kinetic Law appears in all ODEs of the reaction, this will significantly reduce the time for numerical evalution of the ODE system and thus improve the performance of integration routines. |
|
Returns the value of a compartment, species or parameter with the passed ID.
|
|
Sets the value of a compartment, species or parameter with the passed ID.
|