Hyperbolic PDEs & Conservation Laws

a Riemann invariant

/ REE-mahn /

Solving a coupled system is hard; solving a single transport equation is easy. A Riemann invariant is a clever change of unknowns that, for a two-equation hyperbolic system, splits the tangled pair into two quantities that each simply ride along one family of characteristics, unchanged. It is the trick that turns a system into two almost-independent scalar problems.

For a 2-by-2 strictly hyperbolic system with speeds lambda_1 < lambda_2, a 1-Riemann invariant is a function w_1(U) that stays constant along the 1-characteristics (the curves dx/dt = lambda_1), and a 2-Riemann invariant w_2(U) stays constant along the 2-characteristics (dx/dt = lambda_2). In the new variables (w_1, w_2) the system reads, schematically, (d/dt + lambda_2 d/dx) w_1 = 0 and (d/dt + lambda_1 d/dx) w_2 = 0 — each invariant is transported by the OTHER family's speed. For the shallow-water equations the Riemann invariants are u +/- 2 sqrt(g h); for isentropic gas dynamics they are u +/- 2 a /(gamma - 1). Knowing they are constant along characteristics lets you solve the Riemann problem and build rarefaction waves explicitly.

Riemann invariants are most powerful for 2-by-2 systems, where two invariants exist and essentially diagonalise the dynamics. For larger systems genuine invariants need not exist (a system of three or more equations generally has no full set), which is one reason the n=2 theory is so much more complete. Still, even partial invariants pin down rarefaction curves and contact discontinuities, and they are the natural coordinates in which gas dynamics is cleanest.

Shallow water: u_t + u u_x + g h_x = 0 together with h_t + (h u)_x = 0 has Riemann invariants w_+ = u + 2 sqrt(g h) and w_- = u - 2 sqrt(g h). Along a forward characteristic w_+ is constant, along a backward characteristic w_- is constant. From the two constants you can recover u and h at any point a pair of characteristics reaches — a classical hand computation.

Two Riemann invariants turn the shallow-water system into two transported scalars.

Riemann invariants are constant along characteristics only for smooth solutions; once a shock forms the invariants jump across it (the jump is fixed by Rankine-Hugoniot, not by the smooth invariant relation). They are a smooth-flow tool, not a shock tool.

Also called
Riemann variablecharacteristic invariant黎曼變數特徵不變量