Clear Filters
Clear Filters

what is 'Derivative of state in block at time t is not finite. There may be a singularity in the solution.' error? how to address it?

39 views (last 30 days)
Hi
I am trying to simulate a thermal fluid system. As soon as I introduce gas-charged accumulator circled red in the circuit, it gives me following error
An error occurred while running the simulation and the simulation was terminated
Caused by:
Derivative of state 'pumpandpipe13082024b.Gas_Charged_Accumulator_TL.T_I' in block 'pumpandpipe13082024b/Gas-Charged Accumulator (TL)' at time 20.0 is not finite. The simulation will be stopped. There may be a singularity in the solution. If not, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances)
Also, when I introduce elevation gain from port A to port B in pipes TL circled red, i have the following error
An error occurred while running the simulation and the simulation was terminated
Caused by:
  • Derivative of state 'pumpandpipe13082024b.Centrifugal_Pump_TL1.A.T' in block 'pumpandpipe13082024b/Centrifugal Pump (TL)1' at time 16.666666666666668 is not finite. The simulation will be stopped. There may be a singularity in the solution. If not, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances)
what do these errors mean?
  2 Comments
Muhammad Ali
Muhammad Ali on 14 Aug 2024 at 8:52
UPDATE!!!!
The problem has been resolved using Variable-step solver ode15s (Stiff/NDF) instead of fixed step solver ode14x.
However, another question arises ==> Does this mean ONLY that the problem was a stiff one? and no error in the model?
Yifeng Tang
Yifeng Tang on 15 Aug 2024 at 13:48
I did find the gas-charged accumulator to be a bit more difficult to use, mainly because the definition for the parameters and initial conditions can be a bit hard to get right (read the documentation!). I prefer to use a Tank (TL) or Tank (G-TL) for similar behavior and easier parametrization. You will need some kind of tank/accumulator in a closed thermal liquid network. Otherwise it's quite likely to build up pressure or energy and error out, as the fluid has no extra volume to expand or shrink.
Using a stiff solver for fluids systems is almost a must. The nature of the equations typically requires stiff solver. If you leave it to variable-step, auto selection, you'll likely get "daessc", a solver designed to handle typical equations from a Simscape network. I find it to work fine most of the time.

Sign in to comment.

Answers (0)

Categories

Find more on Thermal Liquid Library in Help Center and File Exchange

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!