Does my simulation really go into Zeno mode(multiple zero crossing)?

3 views (last 30 days)
Hello all,
I am simulating in Simulink a simple half-bridge switch with an inductive load and an pulse input,the schema is shown in the picture attached, as it can be seen the circuitery is quite simple.
However, I am running into an issue where my simulation becomes 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 because I am using SimScape (suggested in the documentation), I have tried to change tolerances without any success too (currently they are at 1e-4). I have noticed that if I set an inductor in the PMOS drain then it begins such as 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; however, I don´t understand why Simulink complains.
Is really my model showing Zeno/ multiple zero crossing behaviour? What kind of approach can I take to solve this ?
Thanks in advance,
Best regards

Answers (1)

Vishal Neelagiri
Vishal Neelagiri on 5 Dec 2016
The problem with this model seems to occur only when you select Start simulation from steady-state on the solver block and are using ode15s. It runs fine if you un-tick Start simulation from steady-state, or if you choose ode23t or local solver. As to why ode15s is having difficulties with this model, that's harder to say. ode15s uses higher-order forward prediction which may be part of the cause. You could try reducing the order from the Simulation parameters pane. For electrical simulation models I'd recommend using ode23t for best reliability and accuracy.
  2 Comments
Javier
Javier on 5 Dec 2016
Hello Vishal,
I will make use of ode23t unchecking the Star simulation from steady-state.I will come to you with the outcome
Thanks in advance,
Javier
Javier
Javier on 6 Dec 2016
Edited: Javier on 6 Dec 2016
Hi Vishal,
I have unchecked the Start Simulation from stady-state and used oe23t as solver. In that case the issue seems to be gone, however, I see that the signal going into the gate of the transistor is not squared, as shown in the image. If I want that to preserve the shape at the gate, I need to keep applying a filter in the Simulink-PS Converter at the gate of the pmos. Is this correct?
REgards

Sign in to comment.

Categories

Find more on View and Analyze Simulation Results in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!