Solver was unable to reduce the step size without violating the minimum step size value

  • Solver was unable to reduce the step size without violating the minimum step size value of 1.17684e-19 for 1 consecutive times at time 3.31252e-05. This usually may be caused by violating algebraic constraints in the differential-algebraic system or by the high stiffness of the system. Try tightening the error tolerances, and/or the tolerances for computing consistent conditions. If the problem persists, please check the system or increase the solver Number of consecutive min stepsviolation parameter.
Suggested Actions
Open Solver Profiler to explore such issues

댓글 수: 4

I tried the three suggestions but they don't work!
  1. Decreased the "relative tolerance"
  2. Increased the "number of consecutive min steps"
  3. Increased the "consistency tolerance"
Hi Hamed - the diagnostic message alone is not enough for us to help you. This is the best guess the software can make at ways to solve the problem, and that guess is based only on the numerical behavior observed by the solver. Please upload the model if you want more specific suggestions.
--Steve
Please find the attached file.
Thank you!
Best regards
Hamed
Attached is the model saved in R2020b.
--Steve

댓글을 달려면 로그인하십시오.

 채택된 답변

Steve Miller
Steve Miller 2021년 12월 1일
I examined your model. The diagnostic clearly points to the heat exchanger components. If you eliminate them from the loop, the model simulates extremely fast. I have attached a model with those components eliminated (see attached Upload_mathworks_sm.slx).
You need to look at the parameterization of the heat exchangers.
--Steve

댓글 수: 3

Always cracks me up.... Mathworks says " yea just take out the part of your model causing the problem" as if we dont need it???
Unreal..... how much do we payfor this thing? and that is the suggestion?
In my opinion, you are misreading the discussion.
An important step towards fixing a model is to figure out which part of the model is triggering the problem. @Steve Miller did some investigative work and found that the heat exchanger portion of the model is responsible in this particular case -- that the same model without the heat exchanger does not give the same error message. This gives key information to @Hamed Majeed about what portion of the original model needs to be focused on, that the heat exchanger setup is probably incorrect.
Steve Miller did not create the original model and has not been given the equations for the model, so Steve Miller could not be expected to be able to say exactly what is wrong with the heat exchanger setup.
... or is your complaint that Simulink should somehow manage to automatically figure out how convert models of unstable equations and incorrect connections to "Do What The Programmer Meant" ?

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Walter Roberson
Walter Roberson 2021년 11월 29일
you probably have an algebraic loop. Algebraic loops are mostly caused by having feedback processes through a sequence of steps that do not take any time. The error is not typically in the fact that the feedback exists, but rather in the fact that no processing time was associated with the sequence, so mathematically you get into situations similar to "x must equal x+1" (which is is only possible for infinite x in that example.)

카테고리

도움말 센터File Exchange에서 Discrete Events and Mode Charts에 대해 자세히 알아보기

제품

릴리스

R2020b

질문:

2021년 11월 29일

댓글:

2023년 7월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by