CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Wiki > Runge Kutta methods

Runge Kutta methods

From CFD-Wiki

(Difference between revisions)
Jump to: navigation, search
m (Runge-Kutta methods)
 
(9 intermediate revisions not shown)
Line 1: Line 1:
 +
Runge Kutta (RK) methods are an important class of methods for integrating initial value problems formed by [[ODE]]s. 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.
-
= Forth order Runge-Kutta Method =
+
For the ODE,
-
The forth order Runge-Kutta method could be summarized as:
+
:<math>
 +
y^\prime = f(t,y)
 +
</math>
-
==Algorithm==
+
the basic idea is to build a series of "stages", <math>k_i</math> that approximate the solution <math>y</math> at various points using samples of <math>f</math> from other stages. Finally, the numerical solution <math>u_{n+1}</math> is constructed from a linear combination of <math>u_n</math> and all the precomputed stages.
-
::<math>\dot y = f\left( {x,y} \right) </math>
+
 
-
::<math>k_1  = hf\left( {x_n ,y_n } \right) </math>
+
Since the computation of one stage may involve other stages <math>k_i</math> the right hand side <math>f</math> is evaluated in a complicated nonlinear way. The most famous classical RK scheme is described below.
-
::<math>k_2  = hf\left( {x_n + {h \over 2},y_n  + {{k_1 } \over 2}} \right) </math>
+
 
-
::<math>k_3  = hf\left( {x_n + {h \over 2},y_n  + {{k_2 } \over 2}} \right) </math>
+
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.
-
::<math>k_4  = hf\left( {x_n + h,y_n  + k_3 } \right) </math>
+
 
 +
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 =
 +
 
 +
::<math>y^\prime = f\left( {t,y} \right) </math>
 +
::<math>k_1  = hf\left( {t_n ,y_n } \right) </math>
 +
::<math>k_2  = hf\left( {t_n + {h \over 2},y_n  + {{k_1 } \over 2}} \right) </math>
 +
::<math>k_3  = hf\left( {t_n + {h \over 2},y_n  + {{k_2 } \over 2}} \right) </math>
 +
::<math>k_4  = hf\left( {t_n + h,y_n  + k_3 } \right) </math>
::<math>y_{n + 1}  = y_n  + {{k_1 } \over 6} + {{k_2 } \over 3} + {{k_3 } \over 3} + {{k_4 } \over 6} </math>
::<math>y_{n + 1}  = y_n  + {{k_1 } \over 6} + {{k_2 } \over 3} + {{k_3 } \over 3} + {{k_4 } \over 6} </math>
 +
 +
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]].
 +
 +
{{stub}}
 +
----
 +
<i> Return to [[Numerical methods | Numerical Methods]] </i>

Latest revision as of 01:44, 26 May 2007

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.



Return to Numerical Methods

My wiki