Difference between revisions of "Integrators for time stepping"
(→Explicit (single step) methods) |
(→Explicit (single step) methods) |
||
Line 24: | Line 24: | ||
It is given by | It is given by | ||
− | $y_{n+1} = y_n + h \displaystyle \sum_{i=1}^s | + | $y_{n+1} = y_n + h \displaystyle \sum_{i=1}^s \beta_i k_i$ |
where | where | ||
Line 31: | Line 31: | ||
\begin{align*} | \begin{align*} | ||
k_1 & = f(t_n, y_n), \\ | k_1 & = f(t_n, y_n), \\ | ||
− | k_2 & = f(t_n+ | + | k_2 & = f(t_n+\gamma_2h, y_n+h(\alpha_{21}k_1)), \\ |
− | k_3 & = f(t_n+ | + | k_3 & = f(t_n+\gamma_3h, y_n+h(\alpha_{31}k_1+\alpha_{32}k_2)), \\ |
& \ \ \vdots \\ | & \ \ \vdots \\ | ||
− | k_s & = f(t_n+ | + | k_s & = f(t_n+\gamma_sh, y_n+h(\alpha_{s1}k_1+\alpha_{s2}k_2+\cdots+\alpha_{s,s-1}k_{s-1})). |
\end{align*} | \end{align*} | ||
$ | $ | ||
− | To specify a particular method, one needs to provide the integer | + | To specify a particular method, one needs to provide the integer $s$ (the number of stages), and the coefficients $\alpha_{ij}$, $\beta_i$ and $\gamma_i$. This structure is known as the Butcher's tableau of the method. |
Revision as of 11:57, 10 November 2017
This page describes how to solve ordinary differential equations numerically with examples from our library.
Introduction and notation
We are solving an initial value problem, given as
$ \begin{align*} \dot{y}(t) &= f(t, y) \\ y(t_0) &= y_0 \end{align*} $
where $y$ is the unknown (possibly vector) function, $t_0$ is the start time, $f$ is the derivative (the functions we wish to integrate) and $y_0$ is the initial value of $y$. Numerically, we usually choose a time step $\Delta t$ and integrate the function up to a certain time $t_{\max}$. Times os subsequent time steps are denoted with $t_i$ and function values with $y_i$.
The simplest method is explicit Euler's method: $y_{n+1} = y_{n} + \Delta t f(t, y_n)$
Explicit (single step) methods
A family of single step methods are exaplicit Runge-Kutta methods
It is given by
$y_{n+1} = y_n + h \displaystyle \sum_{i=1}^s \beta_i k_i$
where
$ \begin{align*} k_1 & = f(t_n, y_n), \\ k_2 & = f(t_n+\gamma_2h, y_n+h(\alpha_{21}k_1)), \\ k_3 & = f(t_n+\gamma_3h, y_n+h(\alpha_{31}k_1+\alpha_{32}k_2)), \\ & \ \ \vdots \\ k_s & = f(t_n+\gamma_sh, y_n+h(\alpha_{s1}k_1+\alpha_{s2}k_2+\cdots+\alpha_{s,s-1}k_{s-1})). \end{align*} $
To specify a particular method, one needs to provide the integer $s$ (the number of stages), and the coefficients $\alpha_{ij}$, $\beta_i$ and $\gamma_i$. This structure is known as the Butcher's tableau of the method.