MATLAB: ODE Events In SimBiology toolbox

eventfunctionodeSimBiology

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?

Best Answer

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.