Skip to main content
Sandbox Physics

Pressure mismatch · compressible flow

Supersonic Jet & Shock Diamonds

A converging–diverging nozzle supplies a live planar Euler plume. Compare underexpanded, matched, and overexpanded exits through Mach, pressure, and numerical schlieren views. Follow the centerline, audit open-boundary conservation, and challenge a normal shock against its exact jump.

Interactive modelSupersonic Jet & Shock Diamonds
Simulation time tt00
Nozzle total pressure p0/pap_0/p_a00
Exit / throat area Ae/A∗A_e/A_*00
Inlet mass flow m˙\dot m00
Ideal nozzle thrust FF00
Probe Mach MpM_p00
Probe pressure pp/pap_p/p_a00
Open-box conservation error εU\varepsilon_U00
Relative state-change rate rUr_U00
Normal-shock pressure error εs\varepsilon_sn/a\mathrm{n/a}
First-order fallback steps nlimn_{\mathrm{lim}}00
Step cost ms\mathrm{ms}00

Physics tutorial

A pressure mismatch writes a wave system

BackgroundA supersonic nozzle exit does not automatically have the pressure of its surroundings. The free jet must adjust through expansions and compressions. Their interaction across a jet can produce repeated shock cells.

Why it mattersA glowing diamond animation cannot reveal whether the pressure, mass flux, or shock jump is physically consistent. Here the nozzle baseline, evolved external flow, centerline trace, and conservation ledger are separate, inspectable evidence.

Start with the essentials

Focus question
What changes when exit pressure is above, equal to, or below ambient pressure?
One-sentence intuition
Above ambient, the jet initially expands; below ambient, it initially compresses. A matched, inviscid straight jet is a stationary contact/shear solution, so this solver does not manufacture diamonds in that limit.

Core mathematical model

Nozzle area and Mach number

AA∗=1M[2γ+1(1+γ−12M2)]γ+12(γ−1),pp0=(1+γ−12M2)−γγ−1\frac{A}{A_*}=\frac1M\left[\frac{2}{\gamma+1}\left(1+\frac{\gamma-1}{2}M^2\right)\right]^{\frac{\gamma+1}{2(\gamma-1)}},\quad \frac{p}{p_0}=\left(1+\frac{\gamma-1}{2}M^2\right)^{-\frac{\gamma}{\gamma-1}}

The same area above the throat admits subsonic and supersonic branches. The baseline takes the subsonic branch before the throat and the supersonic branch after it. It fixes total temperature and derives total pressure from the chosen exit state. No internal nozzle shock or wall boundary layer is solved.

Sonic capacity and ideal thrust

m˙=ρuA=A∗p0T0γR(2γ+1)γ+12(γ−1),F=m˙ue+(pe−pa)Ae\dot m=\rho u A=\frac{A_*p_0}{\sqrt{T_0}}\sqrt{\frac\gamma R}\left(\frac2{\gamma+1}\right)^{\frac{\gamma+1}{2(\gamma-1)}},\quad F=\dot m u_e+(p_e-p_a)A_e

The mass-flow function reaches its maximum at sonic Mach for a fixed area and total state. Every nozzle section must carry the same mass flow. Thrust is a quasi-1D ideal nozzle value per unit span, not a measured 2D box force. The critical pressure ratio refers to the local sonic throat, not a universal back-pressure threshold for every converging–diverging nozzle.

Independent normal-shock jump

p2p1=1+2γγ+1(M12−1),ρ2ρ1=(γ+1)M122+(γ−1)M12,M22=1+γ−12M12γM12−γ−12\frac{p_2}{p_1}=1+\frac{2\gamma}{\gamma+1}(M_1^2-1),\quad \frac{\rho_2}{\rho_1}=\frac{(\gamma+1)M_1^2}{2+(\gamma-1)M_1^2},\quad M_2^2=\frac{1+\frac{\gamma-1}{2}M_1^2}{\gamma M_1^2-\frac{\gamma-1}{2}}

Mass, axial momentum, and energy flux agree on both sides, while total pressure drops. The verification scenario evolves this stationary jump with the same 2D code; the dashed centerline prediction is computed independently. Its error is the mean absolute pressure error normalized by downstream pressure. It is a shock benchmark, not a prediction that every jet has a Mach disk.

External two-dimensional Euler flow

∂tU+∂xF+∂yG=0,U=(ρ,ρu,ρv,E,ρc)T,p=(γ−1)[E−12ρ(u2+v2)]\partial_t\mathbf U+\partial_x\mathbf F+\partial_y\mathbf G=0,\quad \mathbf U=(\rho,\rho u,\rho v,\mathcal E,\rho c)^{\mathsf T},\quad p=(\gamma-1)\left[\mathcal E-\tfrac12\rho(u^2+v^2)\right]

Density, two momenta, energy, and a passive jet mass fraction are evolved conservatively. MUSCL uses monotonized-central primitive slopes. The hybrid HLLC/HLLE flux uses a Roe/Davis speed envelope; compression with a pressure jump above one tenth of the smaller pressure uses HLLE. SSP-RK2 integrates the unsplit flux divergence.

Stability and the open-box ledger

Δt≤CFLmax⁡[(∣u∣+a)/Δx+(∣v∣+a)/Δy],a=γp/ρ,Q(t)+∫0tΦ∂Ω dt=Q(0)\Delta t\le\frac{\mathrm{CFL}}{\max\left[(|u|+a)/\Delta x+(|v|+a)/\Delta y\right]},\quad a=\sqrt{\gamma p/\rho},\quad \mathbf Q(t)+\int_0^t\mathbf\Phi_{\partial\Omega}\,dt=\mathbf Q(0)

The box can gain or lose conserved quantities through its boundaries. The ledger adds the stage-weighted outward numerical flux to the current volume integral. Zero-reference components use an initial-mass scale. The relative state-change rate is a nondimensional vector norm per time; it is not a discretization-error estimate. Rejected updates retry without reconstruction, then reduce the time step; no clipping repairs their energy.

Numerical schlieren is a gradient view

S=1−exp⁡(−0.16∣∇ρ∣)S=1-\exp\left(-0.16|\nabla\rho|\right)

The same finite-volume density field supplies this fixed-contrast, centered-difference gradient image. Both shocks and contact layers can appear dark. Compression hints require a pressure gradient and negative velocity divergence; they are thresholded grid hints, not exact shock geometry or a calibrated optical instrument.

Common difficulties

Not a fire model

Typical misconceptionBright regions reproduce combustion luminosity and exhaust temperature.

Better mental modelThere is no combustion or emission model. The colors encode Mach or pressure, and the monochrome view encodes density gradients. A planar inviscid jet cannot provide axisymmetric cell spacing, viscous mixing, real-gas chemistry, or noise predictions.

Conserved is not converged

Typical misconceptionA small ledger error certifies the shock-cell pattern.

Better mental modelConservation tests the discrete flux bookkeeping. Numerical diffusion, reconstruction, shock sensors, box boundaries, and resolution still affect the pattern. Repeat at equal simulation times with different grids. Early prefilled-jet relaxation is a transient, not an established steady plume.

Run the experiment

  1. 01

    Make the atmosphere disagree

    Compare the three plume presets at the same Mach number. Let the wave system develop, then inspect pressure and schlieren. Click the centerline to move the shared probe.

    What to observe: An underexpanded jet expands first, an overexpanded jet compresses first, and the matched shear/contact baseline remains straight. The waves are evolved, not prescribed sinusoidal diamonds.
  2. 02

    Check a shock before trusting a plume

    Select the normal-shock test. Advance and refine the grid; compare the pressure curve with the dashed exact jump and the numerical error.

    What to observe: The captured shock occupies several cells. Refinement should reduce its integrated error; the plateau ratios and equal mass/momentum/energy flux are independent analytic checks.
  3. 03

    Challenge the nozzle and the budget

    Change Mach, specific-heat ratio, and nozzle length. Compare exit/throat area and mass flow. Increase grid resolution and inspect step cost and the actual simulation clock.

    What to observe: The nozzle profile changes while each section carries the same mass. Length does not change the prescribed exit state. A higher grid may advance more slowly under the frame budget, and a low conservation error still requires a resolution comparison.
  4. 04

    Scientific basis and inspiration

    NASA Glenn: Isentropic Flow Equations, Mass Flow Choking, Normal Shock Wave Equations, and Rocket Thrust Equations at grc.nasa.gov/www/k-12/airplane/. HLLC basis: Toro, Spruce and Speares (1994), Restoration of the contact surface in the HLL-Riemann solver, DOI 10.1007/BF01414629.

    What to observe: Bugman123 FluidMotion supplied conceptual inspiration only. Code and graphics are original. Automated evidence includes analytic nozzle/shock values, stationary contact preservation, the independent Sod solution, grid refinement, symmetry, positivity, and boundary-flux conservation.