A variable-step solver dynamically adjusts the time step size, causing it to increase when a variable is changing slowly and to decrease when the variable changes rapidly. Zero-crossing is used to accurately locate a discontinuity without resorting to excessively small-time steps.
Following is an example illustrating, exactly when to enable and disable zero-crossing in a system to maintain a balance between required run-time and accuracy of the output.
In the above model, zero-crossing is enabled for Integrator,Hit-Crossing and Hit-Crossing 1 blocks.
In order to find the no of zero crossings in the model make use of debugger as shown.
- From the debugger results, we can infer that there is no zero-crossing detected for the Integrator block, while zero-crossing is prominent for Hit Crossing and Hit Crossing 1 block. Thus, it is advisable to disable zero-crossing for integrator block to speed up the simulation.
Alternatively, you can make use of Zero-crossing block to count the number of zero-crossings and enable zero-crossing accordingly.
Please refer the following link for further information