SimBiology model components include quantities and expressions. You can refer to model quantities (compartments, species, and parameters) and observables by their names in an expression, such as a reaction or an assignment equation. Follow these guidelines when you name model components or referencing their names in expressions. When evaluating a name that matches different quantities, SimBiology resolves it by following precedence rules.
Model, parameter, and observable names cannot contain brackets
[ ] and cannot be empty, the word
time, or all whitespace.
Compartment, species, and observable names cannot contain the
] and cannot be empty,
null, or the word
However, a name can contain the words
time within the name, such as
Reaction, event, and rule names cannot contain brackets
] and cannot be the word
If the quantity name is not a valid MATLAB® variable name, you must enclose the name in brackets when
referring to it in an expression. For example, if the name of a species
is DNA polymerase+, write
If you have multiple species with the same name in different
compartments, you must qualify the name by referring to the name of the
compartment that contains the species. For example, the qualified name
polymerase+] refers to the DNA
polymerase+ species that resides in the
If a name referenced in an expression matches multiple quantities or
observable objects, SimBiology evaluates the expression using
precedence rules. The rules depend on whether the name is referenced in a reaction
or other expressions that are not reactions.
When a reaction refers to a name that matches different quantities, SimBiology evaluates the name as the first quantity with a matching name in this order: species, parameter scoped to the reaction, compartment, or parameter scoped to the model.
There are different types of expressions that are not reactions, namely rules,
events, and observables. Rules include initial and repeated assignment
equations, algebraic equations, and differential rate equations. An event
contains expressions that represent an event trigger and one or more event
functions to model discrete transitions in the values of quantities or
expressions in the model. An
observable object is a mathematical expression that lets you
perform post-simulation calculations.
When a nonreaction expression refers to a name that matches different quantities, SimBiology evaluates the name as the first quantity with a matching name in this order: species, compartment, or parameter scoped to the model. An active observable expression can reference another active observable object by its name as long as there are no circular dependencies (or algebraic loops).