Skip to content
Free public beta until December 4, 2026: every course is open, no card needed. After that, the first chapter of each course stays free and full access is a one-time $39 ($19 for up to 100 founding members chosen for helpful feedback). Your progress is kept. How the beta works

Recipe

Compute a shock speed via the Rankine-Hugoniot condition

Use when: you have a conservation law u_t+f(u)_x=0 with a jump between states u_L and u_R, and need the shock's own speed \sigma

Goal: the numeric shock speed \sigma, confirmed by the general formula

Taught in The Rankine-Hugoniot condition, revisited in full

  1. 1

    Write down f(u) for this specific conservation law. Also write down the left and right states u_L and u_R the shock connects.

    Example

    For Burgers' equation with u_L=3, u_R=-1: f(u)=u^2/2.

    Why: the shock speed formula is built entirely from these three pieces of data. Get any one wrong, and the answer changes.

  2. 2

    Compute \sigma=\dfrac{f(u_R)-f(u_L)}{u_R-u_L} directly from THIS flux's own formula. Plug in the actual numbers.

    Example

    f(3)=4.5, f(-1)=0.5, so \sigma=\dfrac{0.5-4.5}{-1-3}=\dfrac{-4}{-4}=1.

    ⚡ Shortcut

    For a general quadratic flux f(u)=au^2+bu+c, the same computation always simplifies to \sigma=a(u_L+u_R)+b. No factoring is needed. For Burgers, a=1/2,b=0, giving the familiar average (u_L+u_R)/2. For traffic's f(\rho)=60\rho-0.5\rho^2, a=-0.5,b=60. That gives \sigma=-0.5(\rho_L+\rho_R)+60. At \rho_L=20,\rho_R=50 that's -0.5(70)+60=25, matching the general formula exactly. Each quadratic flux needs its OWN a and b. Burgers' own average is only the special case a=1/2,b=0.

    Why: this formula is the rule itself. It is true for any flux, so it always works, even when no shortcut applies.

  3. 3

    Whenever a flux-specific shortcut is used, check it against the last step's direct computation before trusting the result.

    Example

    Both routes gave \sigma=1 for Burgers with u_L=3,u_R=-1, confirming agreement.

    • the two routes agree — the shortcut was applied to the correct flux; report \sigma.
    • the two routes disagree — the shortcut's coefficients came from the wrong flux; redo the expansion for THIS flux specifically.

    Why: this catches a common mistake. A student reuses one flux's simplified formula on a different flux's data. Checking here stops that error before it spreads.

Common mistakes

  • Reusing Burgers' own average formula (u_L+u_R)/2 for a different flux, instead of that flux's own a(u_L+u_R)+b.
  • Forgetting the flux's own linear coefficient b when applying the general quadratic shortcut.
  • Swapping u_L and u_R's order in the numerator or denominator, which flips the sign of \sigma.
  • Skipping the agreement check and trusting a shortcut without confirming it against the general formula.