Semi-implicit Euler method

In mathematics, the semi-implicit Euler method, also called symplectic Euler, semi-explicit Euler, Euler–Cromer, and Newton–Størmer–Verlet (NSV), is a modification of the Euler method for solving Hamilton's equations, a system of ordinary differential equations that arises in classical mechanics. It is a symplectic integrator and hence it yields better results than the standard Euler method.

Setting

The semi-implicit Euler method can be applied to a pair of differential equations of the form

${dx \over dt} = f(t,v)$
${dv \over dt} = g(t,x),$

where f and g are given functions. Here, x and v may be either scalars or vectors. The equations of motion in Hamiltonian mechanics take this form if the Hamiltonian is of the form

$H = T(t,v) + V(t,x). \,$

The differential equations are to be solved with the initial condition

$x(t_0) = x_0, \qquad v(t_0) = v_0.$

The method

The semi-implicit Euler method produces an approximate discrete solution by iterating

\begin{align} v_{n+1} &= v_n + g(t_n, x_n) \, \Delta t\\[0.3em] x_{n+1} &= x_n + f(t_n, v_{n+1}) \, \Delta t \end{align}

where Δt is the time step and tn = t0 + nΔt is the time after n steps.

The difference with the standard Euler method is that the semi-implicit Euler method uses vn+1 in the equation for xn+1, while the Euler method uses vn.

Applying the method with negative time step to the computation of $(x_n,v_n)$ from $(x_{n+1},v_{n+1})$ and rearranging leads to the second variant of the semi-implicit Euler method

\begin{align} x_{n+1} &= x_n + f(t_n, v_n) \, \Delta t\\[0.3em] v_{n+1} &= v_n + g(t_n, x_{n+1}) \, \Delta t \end{align}

which has similar properties.

The semi-implicit Euler is a first-order integrator, just as the standard Euler method. This means that it commits a global error of the order of Δt. However, the semi-implicit Euler method is a symplectic integrator, unlike the standard method. As a consequence, the semi-implicit Euler method almost conserves the energy (when the Hamiltonian is time-independent). Often, the energy increases steadily when the standard Euler method is applied, making it far less accurate.

Alternating between the two variants of the semi-implicit Euler method leads in one simplification to the Störmer-Verlet integration and in a slightly different simplification to the leapfrog integration, increasing both the order of the error and the order of preservation of energy.[1]

The stability region of the semi-implicit method was presented in [2] although the method was misleadingly called symmetric Euler. The semi-implicit method models the simulated system correctly if the complex roots of the characteristic equation are within the circle shown below. For real roots the stability region extends outside the circle for which the criteria is $s > - 2/\Delta t$

As can be seen, the semi-implicit method can simulate correctly both stable systems that have their roots in the left half plane and unstable systems that have their roots in the right half plane. This is clear advantage over forward (standard) Euler and backward Euler. Forward Euler tends to have less damping than the real system when the negative real parts of the roots get near the imaginary axis and backward Euler may show the system be stable even when the roots are in the right half plane.

Example

The motion of a spring satisfying Hooke's law is given by

\begin{align} \frac{dx}{dt} &= v(t)\\[0.2em] \frac{dv}{dt} &= -\frac{k}{m}\,x=-\omega^2\,x. \end{align}

The semi-implicit Euler for this equation is

\begin{align} v_{n+1} &= v_n - \omega^2\,x_n\,\Delta t \\[0.2em] x_{n+1} &= x_n + v_{n+1} \,\Delta t. \end{align}

The iteration preserves the modified energy functional $E_h(x,v)=\tfrac12\left(v^2+\omega^2\,x^2-\omega^2\Delta t\,vx\right)$ exactly, leading to stable periodic orbits (for sufficiently small step size) that deviate by $O(\Delta t)$ from the exact orbits. The exact circular frequency $\omega$ increases in the numerical approximation by a factor of $1+\tfrac1{24}\omega^2\Delta t^2+O(\Delta t^4)$.

References

1. ^ Hairer, Ernst; Lubich, Christian; Wanner, Gerhard (2003). "Geometric numerical integration illustrated by the Störmer/Verlet method". Acta Numerica 12: 399–450. doi:10.1017/S0962492902000144.
2. ^ Niiranen, J.: Fast and accurate symmetric Euler algorithm for electromechanical simulations Proceedings of the Electrimacs'99, Sept. 14-16, 1999 Lisboa, Portugal, Vol. 1, pages 71 - 78.