Leaking Bucket Equation and Reversibility
How do reversible integrators work for nonreversible differential equations, such as the leaking bucket equation? This is investigated here for the asynchronous leapfrog integrator, a presumably novel variant of the well-known leapfrog method. For comparison, one can also choose the second-order nonreversible Runge–Kutta method, which is also known as Heun's method.[more]
Both integrators empty the bucket only approximately, even in the long run. So the behavior of the reversed trajectories does not contradict the fact that any one-step method has a flat-line solution, given an autonomous rate function that is initially vanishing.[less]
The leaking bucket equation for the water level is , where is the unit step function. The solution is easily seen to be and says that is zero for (because the bucket is empty then). In this Demonstration, we replace the exact solution by a numerical one, which is obtained by repeated application of a so-called integrator (actually the asynchronous leapfrog integrator) to the initial state of the system. We compute this solution well beyond the time that the bucket is empty. Because the integrator under consideration is reversible, we can take the final (empty) state and evolve it back in exact agreement with the forward evolution. Along this reversed trajectory, the bucket will start to get filled exactly at time . How can this be? It works because the state description according to the asynchronous leapfrog method contains, in addition to the water level, a second quantity. In most cases this quantity behaves like . However, when approaches the value 0 on a trajectory of the leaking bucket equation, the steepness of the right-hand side of this equation makes this second quantity oscillate. It is only the mean value over two consecutive steps that resembles . This oscillation together with a small linear trend of carries the information concerning the moment of emptying.
 U. Mutze, "An Asynchronous Leap-Frog Method".