advanced34 min studyLesson 418 in Mathematics

Riemann problems and rarefaction waves

Solve a convex scalar jump problem by shock or a self-similar fan and evaluate the state selected at a fixed interface.

On this page

What you’ll understand

  • Construct the entropy Riemann solution for a strictly convex scalar flux.
  • Evaluate a centered fan using x/t and its two edge speeds.
  • Use the correct interface state rather than an arithmetic average of endpoint states.

A Riemann problem starts from one constant state on each side of a single jump. This simple initial pattern is both an exact nonlinear model and a building block for finite-volume algorithms. For a strictly convex scalar flux, the entropy solution has two basic forms: a compressive shock when the left state is larger, or a spreading rarefaction when it is smaller. The variable x divided by t organizes the solution, turning wave speeds into boundaries between constant states and a fan.

Self-similarity exposes the fan equation

Take u0=uLu_0=u_L for x<0 and u0=uRu_0=u_R for x>0, and suppose f∈C2f\in C^2 with f′′>0f''>0 on a neighborhood of the state interval. The initial pattern and equation are unchanged by simultaneous positive scaling of x and t, so the entropy solution is self-similar for t positive. Substituting u=V(x/t)u=V(x/t) into the smooth equation yields the factor f′(V)−x/tf'(V)-x/t multiplying the derivative of V. A nonconstant smooth fan must therefore satisfy the inverse characteristic-speed relation.

Strict convexity makes the flux derivative strictly increasing and invertible on the relevant interval. When the left state is smaller, characteristic speeds spread from the left endpoint speed to the right endpoint speed. The fan fills that gap continuously and matches the constant states at its edges. This is not a linear interpolation in space at a fixed arbitrary width: its width grows linearly in time, and for a general convex flux its state profile need not be linear in the similarity coordinate.

u(x,t)={uL,x/t≤f′(uL),(f′)−1(x/t),f′(uL)<x/t<f′(uR),uR,x/t≥f′(uR),(uL<uR, t>0)u(x,t)=\begin{cases}u_L,&x/t\le f'(u_L),\\(f')^{-1}(x/t),&f'(u_L)<x/t<f'(u_R),\\u_R,&x/t\ge f'(u_R),\end{cases}\qquad(u_L<u_R,\ t>0)
This centered rarefaction assumes a strictly convex smooth scalar flux on the state interval. The inverse is taken only between the two edge speeds.↔ Scroll wide equations horizontally.

A downward jump uses one conservative shock speed

When the left state exceeds the right state, the characteristics would overlap. The entropy Riemann solution instead has a single shock moving at the flux secant speed. Strict convexity places that speed between the two endpoint characteristic speeds, giving compression. Equal left and right states give a constant solution. These cases cover the strictly convex scalar Riemann problem, but a nonconvex flux can produce compound shock-fan patterns that require a more detailed construction.

The value assigned exactly on a shock curve does not change the weak solution as a space-time equivalence class, since that curve has measure zero. Its traces and speed are what enter conservation and entropy. At a fan edge, by contrast, the displayed rarefaction joins continuously to its constant neighbor. Keeping this distinction avoids interpreting a chosen plotting convention at a discontinuity as an additional physical state or an extra condition in the weak formulation.

u(x,t)={uL,x<st,uR,x>st,s=f(uR)−f(uL)uR−uL(uL>uR)u(x,t)=\begin{cases}u_L,&x<st,\\u_R,&x>st,\end{cases}\qquad s=\frac{f(u_R)-f(u_L)}{u_R-u_L}\qquad(u_L>u_R)
The entropy shock uses the conservative secant speed. Its trace ordering is compressive for the strictly convex scalar flux assumed here.↔ Scroll wide equations horizontally.

The interface flux comes from the Riemann solution

At a fixed interface at the origin, evaluate the self-similar solution at similarity coordinate zero. A positive-speed shock leaves the left state at that interface; a negative-speed shock leaves the right state. A rarefaction whose edge speeds straddle zero supplies a sonic interior state with zero characteristic speed. In Burgers' equation that state is zero. Taking an arithmetic average of the endpoint states can therefore select the wrong interface flux even though the formula appears symmetric.

This exact local solution motivates Godunov's numerical flux. For a convex scalar flux, an increasing jump uses the minimum flux on the state interval, while a decreasing jump uses its maximum. The rule is tied to the entropy Riemann solution and the orientation of wave speeds; it is not a universal componentwise formula for systems. In a finite-volume method further questions of step size, reconstruction, and time integration remain before a complete discrete entropy or convergence result can be claimed.

f^G(uL,uR)={min⁡u∈[uL,uR]f(u),uL≤uR,max⁡u∈[uR,uL]f(u),uL>uR.\widehat f_G(u_L,u_R)=\begin{cases}\min_{u\in[u_L,u_R]}f(u),&u_L\le u_R,\\\max_{u\in[u_R,u_L]}f(u),&u_L>u_R.\end{cases}
For the convex scalar setting, this is the flux selected at x/t=0 by the entropy Riemann solution, including stationary-wave cases where both endpoint fluxes agree.↔ Scroll wide equations horizontally.

A fan spanning left and right speeds

Solve the Burgers Riemann problem with u_L=−2 and u_R=1. At t=0.5, evaluate the state at x=−2, −0.5, 0.25, and 1, and find the flux at the origin.

  1. Since −2<1 and Burgers' flux is strictly convex, use a rarefaction. Its left edge is x=−2t and right edge x=t; inside, the state is x/t.

  2. At t=0.5 the fan lies between x=−1 and x=0.5. The requested states are respectively −2, −1, 0.5, and one, by comparing each x/t with the two edge speeds.

  3. The origin has x/t=0 inside the fan, so its state is zero and its Burgers flux is zero. The arithmetic mean state would be −0.5, whose positive flux 0.125 would be incorrect here.

u(x,t)={−2,x≤−2t,x/t,−2t<x<t,1,x≥t,f^G(−2,1)=0u(x,t)=\begin{cases}-2,&x\le-2t,\\x/t,&-2t<x<t,\\1,&x\ge t,\end{cases}\qquad\widehat f_G(-2,1)=0
The piecewise formula is for t>0. Its initial trace is the specified jump, attained locally in L¹.↔ Scroll wide equations horizontally.
The result

The fan expands across both travel directions, and its sonic state determines zero interface flux.

Explore the model

Interactive lab

Interactive lab · function

Fan edges from endpoint tangent speeds

Pause and Reset, then set coefficient a=0.5 and position x=−1, interpreting x as a Burgers state. Predict the tangent speed. For a fresh comparison, Reset and set a=0.5 and x=1. Use the two slopes as the edge speeds of the Riemann rarefaction from −1 to one.

Fan edges from endpoint tangent speedsThis lab uses only y = ax². Playback traces the curve within the fixed integration interval from 0 to x; it does not estimate numerical error or change the chosen point. Current readings: y at chosen x: 0.608; Tangent slope · 2ax: 1.35; Signed area · ax³/3: 0.182. All parameters are adjustable with the labeled controls below.−2.4−1.201.22.4−9−4.504.59xy(x, ax²)
y = ax²TangentSigned integral
y at chosen x
0.608
Tangent slope · 2ax
1.35
Signed area · ax³/3
0.182
t = 0 s

This lab uses only y = ax². Playback traces the curve within the fixed integration interval from 0 to x; it does not estimate numerical error or change the chosen point. Parameter changes pause playback and recompute the model at the current elapsed time. Reset restores both parameters and returns time to zero. Playback starts paused. Adjust either parameter, then choose Play or Step.

Look forThe slopes −1 and one give fan edges x=−t and x=t, with state zero at the origin. This static flux instrument identifies characteristic speeds; it does not evolve the fan or reconstruct a spatial profile.

Check your understanding

For Burgers Riemann data u_L=−1,u_R=2, what state and flux does the entropy solution select at x=0 for t>0?

Try it yourself

For Burgers Riemann data u_L=3,u_R=1, find the entropy wave speed and the solution at t=2,x=3 and t=2,x=5. Then determine the flux at the origin.

Take a moment to make a prediction or work it out on paper. Open a hint when you need one.

Give me a hint

This is a decreasing jump, so use a shock. Compare each observation point with its position st.

Compare with the solution

The shock speed is (3+1)/2=2, and at t=2 it is at x=4. The state at x=3 is therefore three, while at x=5 it is one. The shock moves right, so x=0 stays on its left side for t>0 and the interface flux is f(3)=9/2. The state exactly on x=4 can be assigned by a representative convention without changing the weak solution.

Take it with you

  • Strictly convex scalar increasing jumps produce centered rarefactions and decreasing jumps produce entropy shocks.
  • The ratio x/t selects the fan state and distinguishes it from its edge speeds.
  • An interface flux follows the Riemann solution, not an arbitrary average of the initial states.

Read further

Original sources and deeper explanations to follow at your own pace.

Optional progress, saved in this browser when available. Revisit any lesson at any time.

Lesson not marked complete.