The Transport Equation: An Application of Directional Derivatives

The transport equation is a partial differential equation of the form
u t + c u x = 0  .       (1)
Here, u is a function of two variables (x,t) and the subscripts denote partial derivatives. We will assume that c is a fixed constant. Given an initial condition
u(x,0)=f(x)              (2)
we would like to find a function of two variables that satisfies both the transport equation (1) and the initial condition (2).

For discussion and simulation of more general conservation laws, including shock wave phenomena, see Scott Sarra's article The Method of Characteristics with Applications to Conservation Laws.

This equation can be used to model air pollution, dye dispersion, or even traffic flow with u representing the density of the pollutant (or dye or traffic) at position x and time t. For a discussion of the physical model, see [2]. For a discussion of the more general transport equation and its solutions, see [1].

Using the gradient operator:   Grad = (d t , d x)    we may rewrite (1) as:
(1,c) · Grad u  = 0 .  
Note that this last equation says that the directional derivative in the (1,c) direction (in the t-x plane) is zero. So our solution u(x,t) must be constant in this direction. In the t-x plane, the (1,c) direction is along lines parallel to x=ct. Note: the lines parallel to x=ct are called the characteristics of equation (1).
static graph

Now, fix a point on the x-axis, say (x0, 0). The line through this point, parallel to x=ct is given by x=x0 +ct. Since our solution is constant along this line we must have
u(x,t) = u(x0+ct, t) = u (x0, 0).
But from the initial data
u(x0,0) = f(x0)
where f is known. So for any (x,t):
u(x,t)= f(x0) = f(x-ct)

static graph2

The applet given below allows you to enter the initial data u(x,0) and the slope of the characteristic lines, c. Pressing return in any of the input boxes will update the graph. A Scrollbar allows the user to control the time units on the graph of the solution (note that changing c changes the "speed" of the solution). Scrollbars at the top and bottom allow you to control the viewpoint (somewhat). 

When entering the initial condition u(x,0), be sure to include * for multiplication, / for division, ^ for a power, etc. The parser also recognizes many standard math functions including sin(x), cos(x), ln(x), arctan(x), etc. Do not leave any blank spaces in the middle of the input box.

Sample Problem:
Suppose dye is spilled in a fast moving stream. Let u(x,t) represent the concentration of dye at x meters downstream from the initial spill at time t (measured in minutes). Suppose the inital concentration of dye at t=0 has the form u(x,0)=e^(-(x-2)^2) and c=.5.
  1. Use the applet to show what the concentration profile looks like when t=5.
  2. Now try changing the value of c (c=-1, -.5, 0, 1, 2). How does the profile at time t=5 change?
  3. What does c represent in this application? What would be proper units for c?

[1] Introduction to Partial Differential Equations with MATLAB, J. Cooper, Birkhauser, 1998.
[2] An Introduction to the Mathematical Theory of Waves, R. Knobel, Student Mathematical Library of the AMS, 2000.

Components for the applet are based on the Java Components for Mathematics at Hobart and William Smith Colleges.