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
Quick recipe
-
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
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
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.