Documentation

Trigger

Event trigger

Description

Trigger is a property of an Event object

A Trigger is a condition that must become true for an event to execute. You can use a combination of relational and logical operators to build a trigger expression. Trigger can be a string, an expression, or a function handle that when evaluated returns a value of true or false. A Trigger can access species, parameters, and compartments.

A trigger can contain the keyword time and relational operators to trigger an event that occurs at a specific time during the simulation. For example, time >= x. In this example trigger, note that:

  • The units associated with the keyword time are the units for the TimeUnits property for the Configset object associated with the simulation.

  • If x is an expression containing compartments, species, or parameters, then any units associated with the expression must have the same dimensions as the keyword time.

  • If x is a raw number, then its dimensions (and units, if unit conversion is on) are assumed to be the same as the keyword time.

For more information about how the SimBiology® software handles events, see How Events Are Evaluated. For examples of event functions, see Specifying Event Triggers.

    Tip   If UnitConversion is on and your model has any event, follow the recommendation below.

    Non-dimensionalize any parameters used in the event trigger if they are not already dimensionless. For example, suppose you have a trigger x > 1, where x is the species concentration in mole/liter. Non-dimensionalize x by scaling (dividing) it with a constant such as x/x0 > 1, where x0 is a parameter defined as 1.0 mole/liter. Note that x does not have to have the same unit as the constant x0, but must be dimensionally consistent with it. For example, the unit of x can be picomole/liter instead of mole/liter.

Characteristics

Applies toObject: event
SimBiology typeString, function handle
SimBiology values

Specify a MATLAB® expression as a string. Default is '' (empty string).

AccessRead/write

Examples

  1. Create a model object, and then add an event object.

    modelObj = sbmlimport('oscillator');
    eventObj = addevent(modelObj, 'time>= 5', 'OpC = 200');
  2. Set the Trigger property of the event object.

    set(eventObj, 'Trigger', '(time >=5) && (speciesA<1000)');
    
  3. Get the Trigger property.

    get(eventObj, 'Trigger')
Was this topic helpful?