Equations with Variable Coefficients

The front tracking construction can easily be extended to first-order, quasilinear equations with variable coefficients of the form

ut + V(x,t) f(u)x = 0,     u(x,0) = u0(x).    (1)
The key observation is that the form of the discontinuity paths is not essential in the front tracking method. Assume for the moment that V=V(x)>0. Then the permissible discontinuities for are the same as those for the scalar conservation law. This follows from the Oleinik entropy condition. Consider again the Riemann problem
u0(x) = uL,    for x < 0
u0(x) = uR,    for x > 0
and let fc denote the correct envelope of the flux function. Then the solution consists of constant states separated by discontinuities
u(x,t) = u1= uL,   for x < x1(t)
u(x,t) = ui,   for xi-1(t) < x < xi(t),    i=2,...,N-1
u(x,t) = uN= uR,   for x > xN-1(t)
where each path of discontinuity is given by
x'i(t) = V(x) * [fc(ui+1) -fc(ui)]/ [ui+1-ui] = V(x)* si,      x(0)=0.    (2)
A similar construction holds if V(x) is negative, but then with the roles of upper and lower convex envelope interchanged in the definition of the envelope function.

If the velocity V(x) has a simple form, e.g., V(x)=ax+b, the ordinary differential equation (2) can be solved explicitly. In this case, the shock path is given by

x(t) = (x0 + b/a) exp[ a s(t - t0)] - b/a.
Hence, by using a piecewise linear approximation to the velocity field V(x), the discontinuity paths can be computed explicitly. Then the front tracking method follows immediately as in the scalar case. Note that the velocity field may be discontinuous, as long as the sign is preserved over the discontinuity. The same construction can be applied if V=V(t). If V depends both on x and t, one can for instance use a piecewise linear approximation in x and a piecewise constant approximation in t. A more thorough discussion of this method is given in [1].

Examples

The discretization parameters have been chosen very coarse with purpose in the examples below to clearly demonstrate the nature of the front tracking approximation.

Example 1. Burgers' equation with a time-dependent velocity field

ut + cos(pi*t/4.0) * (0.5u2)x = 0,      u(x,0) = I[-0.75,0.75](x).
Initially, the solution consists of a shock wave propagating in the positive direction, followed by a rarefaction wave, see Figure
1. At time t=2.0, the velocity changes sign and the shock is transformed to a rarefaction wave which propagates backwards. The initial rarefaction wave becomes steeper and eventually turns into a shock. At time t=6.0, the velocity changes sign again. After this time, the solution consists of two rarefaction waves propagating back and forth. A MPEG-movie shows the solution up to time t=24.0 and GIF image shows the solution in the (x,t)-plane.
ex1
Figure 1: Example 1.

Example 2. In the next example we introduce x-dependence in the velocity field,

ut + cos(pi*(x-t)/4.0) * (0.5u2)x = 0,      u(x,0) = I[-0.5,0.5](x).
Figure
2 shows the velocity field, initial data, solution at time t=24.0, and fronts in the (x,t)-plane. A MPEG-movie shows the dynamics of the problem and GIF image shows the solution in the (x,t)-plane.
ex2
Figure 2: Example 2.

Example 3. In the final example we consider a non-convex flux function and non-monotone initial data. That is, we wish to solve

ut + 0.75*sin(0.5*pi*x) * [4u2(1-u2)]x = 0,      u(x,0) = I[5,5](x)*sin(pi*x).
Figure
3 shows the solution at time t=3.5 and the tracked discontinuities in the (x,t)-plane. At the left and right boundary we have imposed outflow boundary conditions.
ex3
Figure 3: Example 3.

References

[1] K.-A. Lie:
Front tracking for one-dimensional quasilinear hyperbolic equations with variable coefficients.
Manuscript, 1999.

Knut-Andreas Lie <andreas@math.ntnu.no>
Last modified: Wed Jun 23 15:02:32 1999