One area, two answers
Worth reading first: The throat that stops listening.
The area–Mach relation has a minimum at Mach one and rises on both sides of it. That is the fact that makes a de Laval nozzle work, and it has a consequence that has been quietly deferred through two rungs of this ladder: a horizontal line crosses the curve twice.
Nothing at the station decides
A station in the divergent section of a nozzle, with an area two and a half times the throat, can be carrying flow at Mach 0.24 or at Mach 2.44. The gas at that station has the same duct, the same stagnation conditions, and the same governing equation in both cases.
There is no local quantity that distinguishes them. The choice is made elsewhere.
This is the first place in this field where a familiar structure from elsewhere on this site reappears. Ideal flow round an aerofoil also admits infinitely many solutions, one for each circulation, and the physics picks one by an extra condition applied at a specific place. Here the extra condition is the pressure imposed at the far end of the duct, and the analogy is close enough to be useful: a differential equation with a family of solutions, and a boundary condition doing the selecting. The difference is that the Kutta condition is a statement about the flow at a sharp edge and this one is a number imposed at the far end of a pipe, which is a much blunter instrument and does a much larger job.
The five things a nozzle can be doing
Sweeping the back pressure from just below the stagnation pressure down to vacuum takes the nozzle through five regimes, in order, with no gaps.
Subsonic throughout. The back pressure is high, the throat is not sonic, and the device is a venturi: the flow accelerates to the throat, decelerates after it, and the exit pressure equals the back pressure. Both halves are on the subsonic branch.
Choked, with a shock in the divergent section. Below a back pressure of 0.9608 of stagnation for this geometry, the throat goes sonic. The flow accelerates supersonically past the throat, and then somewhere in the divergent section it has to get back to the imposed pressure — which it does by a normal shock, after which the remainder of the duct decelerates it subsonically.
Shock at the exit plane. At a back pressure of 0.4348 the shock has reached the exit. This is the lowest back pressure at which any part of the exit flow is subsonic.
Overexpanded. Below that, the duct runs supersonic all the way out at the pressure its area dictates — 0.0640 of stagnation here — which is lower than the imposed back pressure. The adjustment happens outside the nozzle, in a system of oblique shocks in the plume.
Underexpanded. Below 0.0640 the exit pressure exceeds the back pressure, and the plume adjusts with expansion fans instead.
Where the shock stands, and why it is not a free choice
The shock position inside the divergent section is the interesting quantity, because it is the one thing the flow has left to vary.
The reasoning is a chain. A shock at a given area is a shock at a given Mach number, since the supersonic branch fixes the Mach number from the area. That shock has a definite strength, and it spends a definite fraction of the total pressure. Spending total pressure enlarges the effective sonic area behind the shock — the same mass flow now needs more room to go sonic in — so the remaining duct, measured against the new , has a smaller ratio and gives a particular subsonic exit Mach number. That exit Mach number, applied to the reduced total pressure, gives an exit static pressure.
So each shock position produces exactly one exit pressure, and the flow puts the shock wherever that pressure equals the imposed back pressure. It is a one-dimensional root find, and the solver here does it by bisection.
Lowering the back pressure moves the shock downstream, where it stands in faster flow, is stronger,
and destroys more total pressure. That monotonic march is asserted:
assertNozzleRegimesAreOrdered requires every shock in a swept solve to sit further down the duct
than the one at the higher back pressure, and refuses a sweep in which it does not.
The bug that assertion caught
The bisection above ran the wrong way when it was first written, and the failure is worth recording because of how convincing it looked.
The exit pressure falls as the shock moves downstream. The bracket therefore has to close upward on a back pressure that is too high. Written the other way — the direction that reads naturally, since higher pressure suggests moving the bracket up — the search converges on the exit plane for every back pressure in the whole range.
What that produces is not an error message. It is a nozzle figure with a shock drawn neatly at the exit, an exit Mach number, a total-pressure loss, and a caption, at every back pressure between 0.95 and 0.45: one answer repeated eight times, wearing eight different labels. Every number in it was individually correct. Nothing about the picture looked wrong, and the pressure curve was smooth.
It was caught by the requirement that the shock march, which is a statement about the set of solutions rather than about any one of them — and which is the only kind of check that could have caught it.
The regime that is not on the list
There is one thing a converging–diverging nozzle cannot do, and its absence from the list above is a result rather than an oversight.
There is no operating condition in which the flow becomes supersonic and then returns to subsonic smoothly. Deceleration from supersonic to subsonic through Mach one would require passing the sonic point at a station where the area is stationary, and in the divergent section the area is increasing everywhere. So the return to subsonic can only happen discontinuously — which is to say, through a shock.
That is a strong statement, and it is worth pausing on: the shock is not a failure of the nozzle. It is the only mechanism available. The flow is required by its boundary conditions to be supersonic here and subsonic there, the smooth route between them is geometrically forbidden, and the equations happen to admit a discontinuity that does the job. Whether such a jump is even permissible is the beginning of the next ladder.
What the shock costs, station by station
The shock’s position is not merely a curiosity of where a line falls on a drawing. It sets how much of the flow’s usefulness survives, and the range is enormous.
At a back pressure of 0.95 in this geometry the shock sits at , meets flow at Mach 1.23, and destroys about one per cent of the total pressure. At 0.45 it has moved to 2.43, meets flow at Mach 2.41, and destroys 46.6 per cent.
That is the design argument for supersonic diffusers stated in its plainest form: a shock is cheap where the flow is slow, and getting a shock to stand somewhere slow is worth going to considerable trouble for. The alternative — several weak shocks instead of one strong one — is the other half of the same argument, arriving on a different ladder.
Why the exit pressure detaches from the back pressure
The overexpanded and underexpanded regimes contain a fact that feels wrong at first hearing: the pressure at the exit plane of the nozzle is not equal to the pressure of the room it exhausts into.
For a subsonic exit, it must be — a subsonic flow can be told what pressure to arrive at, and it adjusts upstream to comply. For a supersonic exit, it cannot. The exit flow has no way of learning what the room’s pressure is, so it arrives at whatever pressure the duct’s area gave it, and the mismatch is resolved outside, in a plume of shocks or fans that the nozzle knows nothing about.
This is choking applied at the exit rather than the throat, and it is the reason rocket exhaust plumes have visible structure. The regular diamond pattern in a rocket or jet plume is a train of shocks and expansions reflecting between the plume boundaries, each one an attempt at the reconciliation the nozzle could not make internally.
The design condition, and why nothing flies at it
Exactly one back pressure gives a plume with no structure at all: the one that matches the exit pressure the area ratio produces. That is the design condition, and for this geometry it is 0.0640 of stagnation.
A rocket climbing through the atmosphere passes through its design condition once, on the way up, and spends the rest of the flight either overexpanded or underexpanded. Since the area ratio is fixed in metal and the ambient pressure falls by five orders of magnitude between the pad and vacuum, this is unavoidable, and engine design is a choice about which part of the trajectory to be wrong in.
Being badly overexpanded is the dangerous direction. If the pressure mismatch is large enough, the oblique shock system moves inside the nozzle, the flow separates from the bell asymmetrically, and the resulting side load can tear the engine apart. That is a real failure mode and it is why sea-level engines have modest area ratios while vacuum stages have enormous ones.
Why matching is the optimum, and not merely the tidy case
The design condition has been described here as the one that gives a plume with no structure in it, which is an argument from appearance. There is a better one, from force.
A nozzle exists to make thrust, and the thrust has two terms: the momentum leaving through the exit, and the exit pressure acting over the exit area against the ambient pressure outside it. Now ask what lengthening the bell by a little does. The extra area accelerates the gas further, which raises the momentum term, and it also adds a ring of exit plane on which the pressure difference acts. Working the two through, the rate of change of thrust with exit area is exactly
so the thrust is stationary precisely where the exit pressure matches the ambient. The tidy plume and the maximum thrust are the same condition, and the second is the reason to care.
The asymmetry the essay already names is sharp in that form. Underexpanded, the extra area would still be pushing; overexpanded, every additional square metre of bell has ambient pressure pressing on it harder than the gas inside, and is subtracting. And in vacuum the penalty vanishes entirely: the optimum area ratio is unbounded, and what stops a vacuum bell growing is mass and length rather than aerodynamics.
Running it backwards: the diffuser problem
Everything so far has read the duct left to right, as a device for accelerating gas. Read it the other way and it is an intake, and the double-valued relation becomes an unpleasant problem rather than a convenience.
A supersonic intake has to slow the flow down to something a compressor can accept, which means getting from the supersonic branch to the subsonic branch. The area relation says a convergent duct does the decelerating above Mach one, so the ideal intake is the nozzle run in reverse: converge to a sonic throat, then diverge to decelerate subsonically, with no shock anywhere and no total pressure lost.
That ideal is unattainable, and the reason is the starting problem. Before the flow is established there is a shock ahead of the intake, and to swallow it the throat has to be large enough to pass the flow behind the shock — which has a bigger , because the shock spent total pressure. A throat sized for the ideal running condition is too small to start; a throat large enough to start is too large to run efficiently. Variable geometry is the only complete answer, and it is heavy.
What the solver computes, and how it is checked
nozzle takes an area ratio and a back-pressure ratio and returns which of the five regimes the
device is in, together with the throat and exit Mach numbers and — where there is one — the area at
which the shock stands and the total pressure it destroys.
Two assertions run over a sweep of them.
assertChokedFlowDoesNotRespond requires every choked case to have a throat at exactly Mach one and
every unchoked case to have one below it, and checks the choked flux constant against the sonic state
assembled from the isentropic ratios. assertNozzleRegimesAreOrdered requires the five regimes to
appear in falling order of back pressure, with no case appearing out of sequence, and requires the
shock to march downstream monotonically.
The rejection tests feed each of them a case that is internally consistent and physically impossible: a choked nozzle with a subsonic throat for the first, and a set of shock positions that do not advance for the second.
Where the model stops
The shock is treated as a normal shock across the whole duct, at a single station, with uniform flow on both sides. Real shocks in nozzles are curved, interact strongly with the wall boundary layer, and frequently produce a lambda-shaped foot with separated flow behind it. The quasi-one-dimensional model puts the shock in approximately the right place and says nothing true about its structure.
Separation is not modelled at all. The overexpanded cases here run attached to the exit by assumption. In reality a strongly overexpanded nozzle separates, and where it separates is a boundary-layer question this site’s solver cannot answer — the same limit that governs every separation prediction here.
The plume is not computed. The regimes named “overexpanded” and “underexpanded” describe what happens outside the nozzle, and nothing outside the exit plane is solved. Those labels are classifications of the exit condition, not descriptions of a computed plume.
What the picture cannot show
The pressure curves along the duct are exact, and the shock in them is a vertical line, which is the one honest lie in the figure.
A shock is a few molecular mean free paths thick — of order m at atmospheric density — which is far thinner than the stroke used to draw it and thinner than any duct feature at the scale of the picture. The vertical line has a width, and that width means nothing whatever. It is not the shock’s thickness scaled down; it is the minimum a line can be drawn at.
The figure is also silent about what makes the shock stand still. A shock is a wave, and a wave that is not moving is a wave whose propagation speed exactly cancels the flow carrying it — the shock sits where the local flow speed matches the speed at which that particular jump would propagate. If the back pressure changes, the balance breaks and the shock travels until it finds a new station where it holds. None of that motion is in a steady figure.
Who found it, and when
Stodola’s work on steam turbines around 1903 included measurements of the pressure along a nozzle at a series of back pressures, and the curves he published are recognisably the figure in this essay. They showed the shock as a sharp pressure rise partway along the divergent section, moving downstream as the back pressure was lowered, and they showed the convergent half being identical in every case.
That experiment settled the matter for engineering, and the theory was assembled around it. Prandtl’s group produced the interference photographs in the 1900s, and the normal-shock relations themselves — Rankine’s from 1870 and Hugoniot’s from 1887 — had been available and largely unused for a generation. The pattern is the one this site keeps meeting: the mathematics was sitting ready before anybody had an apparatus that needed it.
Where the ladder goes next
Three rungs of this ladder have now used the word “shock” as though it were an available move, without asking whether the conservation laws permit a discontinuity at all.
They do, and that is genuinely surprising: mass, momentum and energy can all be satisfied across a jump, which is why shocks exist and why they are so much easier to compute than to imagine, and which sits oddly beside the smoothness every other flow on this site has. The uncomfortable part comes one rung further on, when the same algebra turns out to permit a jump in the other direction that nature refuses.
What links here
Computed from the collection rather than written here: the essays that point at this one.
Reads more easily once this is understood
Essays that name this one as worth reading first.
Shares its objects with
Essays naming at least two of the same things, that neither author linked.
- A shock that lies on the body — both name shock wave, stagnation pressure
Named objects
A dashed tag is an object no other essay names yet.
Area machBack pressureBoundary-valueChokingde Laval nozzleOverexpandedShock waveStagnation pressureUnderexpanded