Second-order methods

Second-order explicit Runge-Kutta methods are given by

\[ \begin{align}\begin{aligned}& q^0 = p^n\\& q^1 = p^n + a_{1,0} f \left( q^0 \right) \Delta t\\& q^2 = p^n + a_{2,0} f \left( q^0 \right) \Delta t + a_{2,1} f \left( q^1 \right) \Delta t\\& p^{n + 1} = q^2\end{aligned}\end{align} \]

The Butcher tableau is

\[\begin{split}\begin{array}{c|cc} b_0 & a_{0,0} & a_{0,1} \\ b_1 & a_{1,0} & a_{1,1} \\ \hline & a_{2,0} & a_{2,1} \\ \end{array} = \begin{array}{c|cc} 0 & 0 & 0 \\ \alpha & \alpha & 0 \\ \hline & 1 - \frac{1}{2 \alpha} & \frac{1}{2 \alpha} \\ \end{array}\end{split}\]

where the elements are constrained by a free parameter \(\alpha\).

The low-storage schemes can be derived as follows.

First, we substitute \(p^n\) with \(q^0\) and eliminate \(q^1\) from the third relation:

\[ \begin{align}\begin{aligned}& q^0 = p^n\\& q^1 = q^0 + a_{1,0} f \left( q^0 \right) \Delta t\\& q^2 = q^1 + \left( - a_{1,0} + a_{2,0} \right) f \left( q^0 \right) \Delta t + a_{2,1} f \left( q^1 \right) \Delta t\\& p^{n + 1} = q^2\end{aligned}\end{align} \]

Then the pre-factors are rearranged:

\[ \begin{align}\begin{aligned}& q^0 = p^n\\& q^1 = q^0 + a_{1,0} f \left( q^0 \right) \Delta t\\& q^2 = q^1 + a_{2,1} \left[ \frac{- a_{1,0} + a_{2,0}}{a_{2,1}} f \left( q^0 \right) + f \left( q^1 \right) \right] \Delta t\\& p^{n + 1} = q^2\end{aligned}\end{align} \]

Finally, we define \(r^k\), which store the computed right-hand-side terms of the differential equation:

\[ \begin{align}\begin{aligned}& q^0 = p^n\\& r^0 = f \left( q^0 \right)\\& q^1 = q^0 + a_{1,0} r^0 \Delta t\\& r^1 = \frac{- a_{1,0} + a_{2,0}}{a_{2,1}} f \left( q^0 \right) + f \left( q^1 \right)\\& q^2 = q^1 + a_{2,1} r^1 \Delta t\\& p^{n + 1} = q^2\end{aligned}\end{align} \]

to obtain

\[\begin{split}\begin{array}{c|cc} k & 0 & 1 \\ \hline \beta^k & 0 & \frac{- a_{1,0} + a_{2,0}}{a_{2,1}} \\ \gamma^k & a_{1,0} & a_{2,1} \end{array} = \begin{array}{c|cc} k & 0 & 1 \\ \hline \beta^k & 0 & - 2 \alpha^2 + 2 \alpha - 1 \\ \gamma^k & \alpha & \frac{1}{2 \alpha} \end{array}\end{split}\]

Unlike the first-order method, there are countless low-storage schemes yielding second-order accuracy due to the presence of the free parameter \(\alpha\). The following methods are popular among others.

Explicit mid-point method

\[\begin{split}\alpha = \frac{1}{2} \Rightarrow \begin{array}{c|cc} k & 0 & 1 \\ \hline \beta^k & 0 & - \frac{1}{2} \\ \gamma^k & \frac{1}{2} & 1 \end{array}\end{split}\]

Heun’s method

\[\begin{split}\alpha = 1 \Rightarrow \begin{array}{c|cc} k & 0 & 1 \\ \hline \beta^k & 0 & - 1 \\ \gamma^k & 1 & \frac{1}{2} \end{array}\end{split}\]

Ralston’s method

\[\begin{split}\alpha = \frac{2}{3} \Rightarrow \begin{array}{c|cc} k & 0 & 1 \\ \hline \beta^k & 0 & - \frac{5}{9} \\ \gamma^k & \frac{2}{3} & \frac{3}{4} \end{array}\end{split}\]