https://www.youtube.com/watch?v=LkKhusT3PxM
Consider simulating balls colliding with each other in a box under gravity. The collisions will be inelastic : each time it happens, 1/2 of the kinetic energy is lost.
The naive strategy would be to predict which two balls collide next, and then integrate to that moment, do the collision, and repeat.
However, at first, perhaps on average it requires 1 seconds for a collision to happen. After a few collisions, the balls settle down a bit, and are packed closer, it only requires 1/2 seconds for a collision to happen. Soon it'll require only 1/4, 1/8, 1/16 seconds for a collision to occur.
My question is : This is like the Zeno paradox, 1 + 1/2 + 1/4 +.. will never exceed 2. And with constant CPU power, I'll never simulate the system past the 2-second mark.
How do people deal with these kinds of situations in a simulation?