Interactive Educational Modules in
Scientific Computing

Burgers' Equation

This module illustrates fully discrete finite difference methods for numerically solving Burgers' equation, which provides a simplified model of fluid dynamics combining nonlinear advection and linear diffusion [1]. Burgers' equation in one dimension is the nonlinear partial differential equation ut + u ux = v uxx, where the solution u(t, x) is a function of the time variable t and the spatial variable x, subscripts indicate partial differentiation with respect to the given independent variable, and the constant v, which can be interpreted as viscosity, controls the balance between convection and diffusion. Considering Burgers' equation as an initial-boundary value problem with initial time t = 0, the solution u is defined for all x in a given interval [a, b] and any nonnegative t. An initial condition is given by a function f(x) defined on the interval [a, b], and the left and right boundary conditions are given by functions g(t) and h(t), respectively, each defined for any nonnegative t.

In order to assess the quality of approximate numerical solutions, the following exact solutions to Burgers' equation are used, most of which are adapted from reference [2] below:

  • Solution 1:
  • Solution 2:
  • Solution 3:
  • Solution 4:
  • Solution 5:
  • Solution 6:

For any such function u(t, x) satisfying Burgers' equation and a given interval [a, b], a corresponding initial-boundary value problem for which u(t, x) is the solution can be obtained by taking f(x) = u(0, x), g(t) = u(t, a), and h(t) = u(t, b).

The user begins by selecting an exact solution to Burgers' equation from the menu provided and the viscosity constant v using the slider. The resulting initial function for the corresponding initial-boundary value problem is plotted on a predetermined interval [a, b]. Next the user chooses a fully discrete finite difference method to apply to Burgers' equation. Except for Lax-Wendroff, the methods are described using a two-word naming convention in which the first and second words describe the finite difference approximations to the time derivative ut and the convective term ux, respectively. The diffusive term uxx is approximated by centered differences in all cases. The stencil of the method selected is shown below, with the point being computed colored red, the other points used in the difference scheme colored blue, and any remaining points colored black. The red and blue points are drawn with three different levels of intensity to indicate how many of the terms in Burgers' equation they are used to approximate. A point that is used in approximating only one term (e.g., the diffusive term uxx ) is drawn with the lowest intensity, while a point used in approximating all three terms has the highest intensity. For the upwind methods, the direction of the stencil depends on the approximate solution values where the stencil is being applied; the stencil displayed is the one applied when the approximate solution is positive. Finally, the user specifies the step sizes in space and time for the discrete mesh of points used in the finite difference method. The explicit methods may be unstable for some choices of step sizes, but it is difficult to give an accurate stability restriction, since for a nonlinear PDE the stability of explicit finite difference methods depends on the approximate solution values at each time step, and any a priori bound is likely to be overly pessimistic. The implicit methods provided (those that use backward or centered differencing for the time derivative) are unconditionally stable.

To view the numerical solution, the user chooses between two-dimensional and three-dimensional display modes and clicks Start. The approximate solution is advanced time step by time step, and the plot of the solution is updated accordingly. In two-dimensional display mode, the solution at the current time is plotted as a curve on the spatial interval [a, b], and solution values at each new time step replace those at the previous time step. The approximate solution is shown in green, and the exact solution is shown in red for comparison. In three-dimensional display mode, the approximate solution is plotted as a surface over the space-time plane, and solution values at each new time step are added to the existing graph, extending it forward along the time axis. The solution continues to advance until a fixed upper limit is reached or the user clicks Stop. When the solution process is stopped before the final time, it can be resumed by again clicking Start. Clicking Reset clears any solution that may be partially calculated and redisplays the initial condition, allowing the user to select different parameters.


  1. J. M. Burgers, A mathematical model illustrating the theory of turbulence, Advances in Applied Mechanics, 1:171-199, 1948.
  2. Edward R. Benton and George W. Platzman, A table of solutions of the one-dimensional Burgers equation, Quart. Appl. Math., 30:195-212, 1972. This paper is the source of the exact solutions used in this module.
  3. Michael T. Heath, Scientific Computing, An Introductory Survey, 2nd edition, McGraw-Hill, New York, 2002. See Computer Problem 11.5 on page 492.
  4. J. W. Thomas, Numerical Partial Differential Equations: Finite Difference Methods, Springer, New York, 1995. See Section 6.10.1, pages 344-347.

Developers: Evan VanderZee and Michael Heath