What does my simulation go into Zeno mode?

3 次查看(过去 30 天)
Hello all,
I am simulating in Simulink a simple half-bridge switch, and I am running into an issue where my simulation seems to be too slow due to these kind of warnings:
The simulation has ignored searching for zero-crossing events at time 1.2501319630498359E-6 for (1) zero crossing signals. These signals are being ignored either because their values are smaller than the zero crossing tolerance, or because they caused multiple consecutive zero crossings. This indicates your system is in Zeno, or has strong chattering.
Block path : TransistorSwitching/P-MOS (mos)
Block type : C:\Program Files\MATLAB\R2016b\toolbox\physmod\elec\elec\+elec\+semiconductors\mosfet.sscp
ZC location : C:\Program Files\MATLAB\R2016b\toolbox\physmod\elec\elec\+elec\+semiconductors\mosfet.sscp (location information is protected)
You can turn off this message by using the MATLAB command:
set_param('TransistorSwitching','IgnoredZcDiagnostic','none'); [469 similar]
Unable to reduce the step size without violating minimum step size of 8.8911859700529727E-21 for 3 consecutive times at time 2.5026463638507808E-6.Continuing simulation with the step size restricted to 8.8911859700529727E-21 and using an effective relative error tolerance of 0.0060011475262015754, which is greater than the specified relative error tolerance of 0.0001. 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 model 'TransistorSwitching' or increase Number of consecutive min steps. [1611 similar]
Suggested Actions
Open Solver Profiler to explore such issues
I have set as solver ode15s since I know that my model( attached) is stiff ODEs and becauseI am using SimScape, I have tried to change tolerances without any success too. I have noticed that if I set an inductor in the PMOS drain I get that behaviour, whereas setting a Resistor does not produce such a error, I can understand that switching can set the indcutor in a "difficult position" since it will have to cope with a huge voltage when communting.
Have anyone face this problem before? Any hint to workaround it?
Thanks in advance,
Best regards

回答(2 个)

Nirja Mehta
Nirja Mehta 2016-12-1
Runs without any warnings on my machine. You are simulating your model in Accelerator mode, try running in Normal mode or Rapid Accelerator mode and check if it still gives any warning/s.
Also, what is the compiler setting at your end? I have MinGW64 Compiler set up.
  3 个评论
Walter Roberson
Walter Roberson 2016-12-2
编辑:Walter Roberson 2016-12-2
SDK 7.1 will handle 64 bits; that is not a problem. The Warning has nothing to do with the compiler you have chosen; it is a lot standing message telling people to upgrade mex API code they wrote years ago before 64 bits was supported.
Javier
Javier 2016-12-5
Ok, thanks Walter.
Then I will keep looking for other solution.

请先登录,再进行评论。


Antonio Palma
Antonio Palma 2022-5-17
The so called Zeno behavior is not always a pathology indicator; in other words, it could be a physiological trend of your system.
In my experience, when some phenomena are modeled even fulfilling the best modelling rules, some Zeno behavior could be normal.
I faced with this effect while modelling stick and slip systems (e.g. brake or clutch) or bumping against hard stops. The model simulations are theoretically correct, but the warnings still appears. Anyway, if the simulation results are robust (i.e. giving the same results with different solvers and different parametrizations) I can accept that the Zeno is part of the phenomena under study.
P.S. I was born and still live not far from Elea, the land of Zeno... ;-)

类别

Help CenterFile Exchange 中查找有关 Run-Time Parameters 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by