next up previous
Next: Non-Linear Equations Up: Hyperbolic Equations Previous: A Simple Algorithm


An Improved Algorithm -- the Lax method

We see from (2.20) that our simple method is in fact unstable for the advection equation, for all finite values of $\delta x$ and $\delta t$. How might we improve on this? Let us consider a minor (?) modification of (2.11)
\begin{displaymath}
u_j^{n+1} = {\mathchoice{{\textstyle{\frac12}}}{{\textstyle...
...c \delta t\over 2\delta x}\left(u_{j+1}^n - u_{j-1}^n\right).
\end{displaymath} (2.21)

in which the term in $u^n_j$ has been replaced by an average over its 2 neighbours. When we apply the same (von Neumann) analysis to this algorithm we find
\begin{displaymath}
v^{n+1} = \left[\cos(k \delta x)
- i{c\delta t\over\delta x}\sin(k \delta x)\right]v^n
\end{displaymath} (2.22)

so that
$\displaystyle \left\vert g\right\vert^2$ $\textstyle =$ $\displaystyle \cos^2(k\delta x)
+ \left(c \delta t\over \delta x\right)^2\sin^2(k\delta x)$ (2.23)
  $\textstyle =$ $\displaystyle 1 - \sin^2(k\delta x)
\left\{1 - \left(c \delta t\over \delta x\right)^2\right\}$ (2.24)

which is stable for all $k$ as long as
\begin{displaymath}
{\delta x\over\delta t} \ge c
\end{displaymath} (2.25)

which is an example of the Courant-Friedrichs-Lewy condition applicable to hyperbolic equations. There is a simple physical explanation of this condition: if we start with the initial condition such that $u(x,t=0) =0$ everywhere except at one point on the spatial grid, then a point $m$ steps away on the grid will remain zero until at least $m$ time steps later. If, however, the equation is supposed to describe a physical phenomenon which travels faster than that then something must go wrong. This is equivalent to the condition that the time step, $\delta t$, must be smaller than the time taken for the wave to travel the distance of the spatial step, $\delta x$; or that the speed of propagation of information on the grid, $\delta
x/\delta t$, must be greater than any other speed in the problem.
next up previous
Next: Non-Linear Equations Up: Hyperbolic Equations Previous: A Simple Algorithm