MATLAB: Is there a way to add constraints (other than nonnegativity) on ode15s

odeode15s

I am using ode15s to solve a DAE system describing oil-water flow in a pipe. Some of the variables in the solution are physically unrealistic, and I was wondering whether there is a way to add specific constraints?
Thank you.

Best Answer

Only in the sense that you could add an event function to detect the value going out of range, and terminating when it does. If you wanted it to somehow "bounce off" of the boundary then you would have to signal the termination and then call ode15s again with revised conditions and tspan. See for example ballode()
Related Question