Derivative of state is not finite (integrator error)

Hi,
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.

1 Comment

Hi.
I don't know if you have fixed this error yet. If so, I don't know if you can choose me to ask for your solution.Thanks.

Sign in to comment.

Answers (1)

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).

6 Comments

Thank you for your answer,
but I cannot detect any large variation when the error occurs. However, it is possible that the system is unstable as there are several subsystems with similar integrators (ever though I only get the error for two out of many integrators). Do you recommend any method for bettering such an unstable system?
Can you identify which Integrator block gives out the error message?
Show the picture.
Here is the whole system, where each colored subsystem contain an integrator:
The yellow subsystems contain the integrators which return the error message.
Okay, where this Integrator block?
RL/env/Environment/p7/Integrator
Can you circle it?
It is in the following subsystem:
Put some scopes to check along the signals that are fed into the integrator block.
Since you design the system, you should be able to see which math equation that causes issue.

Sign in to comment.

Categories

Find more on General Applications in Help Center and File Exchange

Products

Release

R2022a

Asked:

on 28 Jul 2022

Commented:

on 17 Aug 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!