13.4 Hyperbolic equations and the CFL condition

For the advection equation \(u_t + au_x = 0\) with \(a > 0\), the upwind scheme takes the space difference on the side from which information comes: \[ u_j^{n + 1} = u_j^n - \nu \bigl (u_j^n - u_{j - 1}^n\bigr ), \qquad \nu = \frac {a\,\Delta t}{\Delta x} , \] where \(\nu \) is the Courant number. Its amplification factor \(G = 1 - \nu (1 - e^{-i\theta })\) has \(|G|^2 = 1 - 2\nu (1 - \nu )(1 - \cos \theta )\), so it is stable exactly when \(0 \leq \nu \leq 1\). The centred FTCS scheme \(u_j^{n + 1} = u_j^n - \frac \nu 2(u_{j + 1}^n - u_{j - 1}^n)\), although consistent, has \(|G|^2 = 1 + \nu ^2\sin ^2\theta > 1\) and is unstable for every \(\Delta t\).

The condition \(\nu \leq 1\) has a geometric meaning. The value \(u_j^{n + 1}\) depends on \(u_{j - 1}^n\) and \(u_j^n\), so after \(n\) steps on data in \([x_j - n\Delta x, x_j]\): the numerical domain of dependence. The exact solution at \((x_j, t_n)\) depends on the data at \(x_j - at_n = x_j - n\nu \Delta x\). If \(\nu > 1\), that point lies outside the numerical domain of dependence, and the scheme cannot converge, since changing the data there changes the solution but not the computation.

Theorem 13.4.1 (Courant–Friedrichs–Lewy). A necessary condition for an explicit scheme to converge is that its numerical domain of dependence contain the domain of dependence of the differential equation, in the limit as the grid is refined with \(\Delta t/\Delta x\) fixed.

For the wave equation \(u_{tt} = c^2u_{xx}\) and the leapfrog scheme of Section 4, the condition is \(c\,\Delta t \leq \Delta x\); at equality the scheme is exact in one dimension. For explicit schemes for hyperbolic equations, \(\Delta t\) need only be proportional to \(\Delta x\), much less restrictive than the \(\Delta x^2\) of the heat equation, because information travels at a finite speed.

Upwind is first order; its modified equation, the equation it solves to higher accuracy, is \(u_t + au_x = \frac {a\Delta x}2(1 - \nu )u_{xx}\), so it adds numerical diffusion that smears sharp fronts. The second-order Lax–Wendroff scheme \[ u_j^{n + 1} = u_j^n - \frac \nu 2\bigl (u_{j + 1}^n - u_{j - 1}^n\bigr ) + \frac {\nu ^2}2\bigl (u_{j + 1}^n - 2u_j^n + u_{j - 1}^n\bigr ) \] is stable for \(\nu \leq 1\) and keeps fronts sharper, but produces oscillations next to them. This is unavoidable: Godunov’s theorem says that a linear scheme which never creates new maxima or minima is at most first-order accurate. Modern schemes for conservation laws, like those of Section 2, escape the theorem by being non-linear, switching to first order only near discontinuities.

Questions on this section

Stuck on something here? Ask below and it stays attached to this topic.