This animation shows a ball
bouncing down a nonlinear slope. When the ball hits the slope,
NDSolve automatically stops the
computation, resets the conditions for bouncing off, and
restarts.
Event detection enables differential
equations to be solved differently in different regions, with
boundaries between regions determined dynamically by features of the
solutions obtained. This feature's flexibility is a unique
capability of Mathematica.
Typical applications include:
Modeling hybrid systems with physical
constraints where an event triggers swapping between different
regimes
Solving only until some logical or
functional condition is satisfied
Collecting samples of solutions at particular events,
or for Poincaré sections
Advanced documentation:EventLocator Function documentation: NDSolve The Mathematica Book: Section3.9.7