ODE Events In SimBiology toolbox
1 view (last 30 days)
Show older comments
I would like to define a custom ode stopping event for the solver of a SimBiology model. How to achieve that?
Say, I want to write some event function, like described in
and set isterminal conditioned at specific values of my concentrations, the model of which is defined by the SimBiology toolbox.
Where is the option located (or, how to export the code in the needed granularity) where I can provide my event function?
2 Comments
zmi zmi
on 1 Apr 2019
You might be interested in "addevent" method of the model object and "trigger" property of the event object in SimBiology.
Accepted Answer
Arthur Goldsipe
on 1 Apr 2019
Currently (as of R2019a), SimBiology events cannot directly stop a simulation. I usually handle this sort of situation by post-processing simulation results that continue past the event of interest.
That said, there are 3 stop criteria: simulation stop time, maximum number of logs, and maximum (wall clock) simulation time. If you don't care about how long a simulation takes, you could use an event indirectly end the simulation by triggering the wall clock condition. For example, if you set the maximum wall clock time to 30 seconds and create an event that pauses for 30 seconds, then the simulation should stop after the event is triggered.
You also asked about export options. SimBiology supports export to SBML. You could also use the output from getequations as a starting point for converting your model to MATLAB code that can be used with ode15s or one of the other solvers in MATLAB.
More Answers (0)
Communities
More Answers in the SimBiology Community
See Also
Categories
Find more on Extend Modeling Environment in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!