The Lax–Friedrichs method, named after Peter Lax and Kurt O. Friedrichs, is a numerical method for the solution of hyperbolic partial differential equations based on finite differences. The method can be described as the FTCS (forward in time, centered in space) scheme with an artificial viscosity term of 1/2. One can view the Lax–Friedrichs method as an alternative to Godunov's scheme, where one avoids solving a Riemann problem at each cell interface, at the expense of adding artificial viscosity.
Illustration for a Linear Problem
Consider a one-dimensional, linear hyperbolic partial differential equation for of the form:
on the domain
with initial condition
and the boundary conditions
If one discretizes the domain to a grid with equally spaced points with a spacing of in the -direction and in the -direction, we define
are integers representing the number of grid intervals. Then the Lax–Friedrichs method for solving the above partial differential equation is given by:
Or, rewriting this to solve for the unknown
Where the initial values and boundary nodes are taken from
Extensions to Nonlinear Problems
A nonlinear hyperbolic conservation law is defined through a flux function :
In the case of , we end up with a scalar linear problem. Note that in general, is a vector with equations in it. The generalization of the Lax-Friederichs method to nonlinear systems takes the form
This method is conservative and first order accurate, hence quite dissipative. It can, however be used as a building block for building high-order numerical schemes for solving hyperbolic partial differential equations, much like Euler time steps can be used as a building block for creating high-order numerical integrators for ordinary differential equations.
We note that this method can be written in conservation form:
Without the extra terms and in the discrete flux, , one ends up with the FTCS scheme, which is well known to be unconditionally unstable for hyperbolic problems.
Stability and accuracy
This method is explicit and first order accurate in time and second order accurate in space provided are sufficiently-smooth functions. Under these conditions, the method is stable if and only if the following condition is satisfied:
(A von Neumann stability analysis can show the necessity of this stability condition.) The Lax–Friedrichs method is classified as having second-order dissipation and third order dispersion Template:Harv. For functions that have discontinuities, the scheme displays strong dissipation and dispersion Template:Harv; see figures at right.
- ↑ LeVeque, Randy J. Numerical Methods for Conservation Laws", Birkhauser Verlag, 1992, p. 125.