Does my simulation really go into Zeno mode(multiple zero crossing)?
2 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
回答(1 个)
Vishal Neelagiri
2016-12-5
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 General Applications 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!