# Runge Kutta methods

Runge Kutta (RK) methods are an important class of methods for integrating initial value problems formed by ODEs. Runge Kutta methods encompass a wide selection of numerical methods and some commonly used methods such as Explicit or Implicit Euler method, the implicit midpoint rule and the trapezoidal rule are actually simplified versions of a general RK method.

For the ODE,

$y^\prime = f(t,y)$

the basic idea is to build a series of "stages", $k_i$ that approximate the solution $y$ at various points using samples of $f$ from other stages. Finally, the numerical solution $u_{n+1}$ is constructed from a linear combination of $u_n$ and all the precomputed stages.

Since the computation of one stage may involve other stages $k_i$ the right hand side $f$ is evaluated in a complicated nonlinear way. The most famous classical RK scheme is described below.

In the context of CFD, application of Runge-Kutta methods is quite different than in case of ODE. A combination of the Navier-Stokes equations and Continuity Equations result in a system of Differential Algebraic Equations (DAE), not in ODE. Dealing a DAE is different than dealing an ODE. Few people have worked on development of RK-methods for DAE as well, but it doesn't seem to be complete yet.

To begin with, lets consider Runge-Kutta scheme for an ODE. The classical 4th order Runge-Kutta scheme (RK4) can be summarized as below:

# Classical 4th Runge-Kutta method

$y^\prime = f\left( {t,y} \right)$
$k_1 = hf\left( {t_n ,y_n } \right)$
$k_2 = hf\left( {t_n + {h \over 2},y_n + {{k_1 } \over 2}} \right)$
$k_3 = hf\left( {t_n + {h \over 2},y_n + {{k_2 } \over 2}} \right)$
$k_4 = hf\left( {t_n + h,y_n + k_3 } \right)$
$y_{n + 1} = y_n + {{k_1 } \over 6} + {{k_2 } \over 3} + {{k_3 } \over 3} + {{k_4 } \over 6}$

Howewver, many other variants of RK methods have been developed, which are much more efficient than the classical RK scheme. R.J.Spiteri, S.J.Ruuth, S.Gottlieb, C.W.Shu, and E.Tadmor are among the people who have worked extensively on development of efficient Runge-Kutta schemes for ODE.