Leapfrog method

Update for positions:

xim+1 = xim + h vim+1/2
Update for velocities:
vim+1/2 = vim-1/2 + h aim

One immediate problem is how to begin: the first update of positions from xi0 to xi1 requires vi1/2. One way around this is to use a simple Euler half-step to approximate the needed velocity:

vi1/2 = vi0 + h/2 ai0

Verlet published a paper in 1967 ("Computer Experiments on Classical Fluids" in Physical Review 159(1), 98--103, 1967) that described a method like this; some people call this the Verlet method. However, Stormer had published virtually the same algorithm in 1907 and had analyzed a family of algorithms based on a certain generalized condition; thus this method is sometimes known as one of the Stormer methods.

Quoting Greenspan: The name "leap frog" derives from the way position and velocity are defined at alternate, sequential time values ... symboliz[ing] the children's game "leap frog".

References