Intention

Imagine a state machine that has to perform certain operations at exactly specified time points, for example, at t1 = 1 ms, t2 = 2 ms, and so on. To trigger these events, the simulator will approach t1 with some step size h. It will ignore t1 until t > t1, then discard the last step and reduce h. The simulator does some kind of interpolation to find the new h. From then on, h will be successively increased until again t > t1 and the same procedure starts anew. This whole process continues until t1 is being stepped over by hmin.

This has many drawbacks. First, the simulation accuracy suffers considerably because t1 is only hit by an error depending on hmin. Second, simulation speed suffers extremely (especially for clocked systems and alike) because Twin Builder takes a lot of extra steps (such as many hundreds depending on h, hmin, and hmax) just to trigger this event roughly.

If the model itself knows the point where the condition goes true, it could set the step size to synchronize exactly to this point.