Derivative of state is not finite (integrator error)
17 views (last 30 days)
I am currently feacing a problem with my simulink model. The model is a complex network where I need to calculate and pass mass flow and pressures through several subsystems. The model works fine for some situations, with spesific inputs (mass flows), but with large variation in the inputs I get the following error message:
I have tried a lot of differet approaches to resolve the problem, among other things;
- Reduce the fixed step size.
- Tightening the error tolerances.
- Using unit delay block or a swich block.
- Creating Self-Resetting integrators, but then this error occured: "State ports can only be used to break algebraic loops or to "hand-off " states between systems."
- Using different solvers such as ode15s, ode45 and odeN.
This has worked for some situations, but then the error reoccurs with a different input later on.
The error occurs in the integrator block in the following subsystem:
I would really appreciate some guidance on this problem, it would really help me out a lot. Thank you in advance.
Sam Chak on 28 Jul 2022
Hi @Hanne Grov
I don't see any division-by-zero issue, unless there are some divisive terms hidden inside the MATLAB Function Block fcnVs.
If the issue isn't caused by the division-by-zero issue, then I guess your pressure system is inherently unstable. Some large inputs may cause to explode (grow rapidly within a very short time interval).