Compressible flow

A duct that cannot be run backwards

Friction drives a compressible duct flow towards the speed of sound from either side, and the entropy rises the whole way. So the state of the gas at a station is an odometer: it records how much duct is behind it, and no amount of further duct can take it back.

Worth reading first: Two ways to choke · What a shock costs.

Two ways to choke sets out the two classical duct flows: friction with no heat, and heat with no friction. Both drive the Mach number towards one, both stop there, and the reason in each case is that the entropy is at a maximum at the sonic point.

This essay takes the first of the two and reads it as a record. The state of the gas at a station says how much duct is behind it, and nothing the duct can do afterwards will unsay it.

The Fanno line, which has only one direction on it. The entropy relative to the sonic state, against Mach number, for both branches. Friction raises the entropy, so a duct flow moves to the right along this curve whichever branch it is on — up in Mach number from below and down from above — and it stops at the sonic point.
Fig. 1 Entropy relative to the sonic state against Mach number, for both branches. Friction raises the entropy, so a duct flow moves rightward along this curve whichever branch it is on — up in Mach number from below, down from above, and never past the nose.

One curve, two branches, one direction

Plot the entropy against the Mach number for adiabatic constant-area flow with friction and the result is a single curve with a maximum at Mach one. The subsonic branch rises towards it from the left and the supersonic branch rises towards it from the right.

Friction raises the entropy — that is what an irreversibility does — so the state moves rightwards along the curve wherever it starts. On the subsonic branch that means the Mach number increases, and on the supersonic branch it means the Mach number decreases. Both arrive at one.

That is a strong statement and it is worth noticing how strange it is. Friction accelerates a subsonic duct flow. It does so because the pressure falls faster than the density does, so the velocity rises — and the mechanism is not obvious from the word “friction” at all.

The state as an odometer

How much duct is left, read off the Mach number. The friction length still available before choking, against Mach number. It is single-valued on each branch, so a measurement of the Mach number at a station is a measurement of how much duct remains — and, given the inlet, of how much has been used.
Fig. 2 The friction length still available before choking, against Mach number. It is single-valued on each branch, so a Mach number at a station is a measurement of how much duct remains — and, given the inlet, of how much has been used.

The friction length still available before choking is a single-valued function of the Mach number on each branch. A march from Mach 0.3, which has 5.299 friction lengths in front of it:

Friction length used Mach number Remaining Entropy (J/kg·K)
0 0.300 5.299 −487.2
0.900 0.321 4.399 −465.4
1.800 0.348 3.499 −439.0
2.700 0.385 2.599 −405.8
3.600 0.439 1.699 −360.4
4.500 0.538 0.799 −286.5
5.294 0.937 0.005 −36.2

So a measurement of the Mach number at a station is a measurement of how much duct remains, and — given the inlet condition — of how much has been used. Note where the change happens: the first 85 per cent of the duct moves the Mach number from 0.300 to 0.538, and the last fifteen per cent moves it from 0.538 to 0.937.

That is a memory in the strict sense used here: a quantity available now which records something that happened earlier, and which no present measurement of the geometry could supply. A gas taken out of the duct and examined would say, from its own state, how far it had come.

A duct marched from a third of the speed of sound. The Mach number and the entropy along a duct entering at Mach 0.3. Both rise monotonically and both stop at the sonic point, which is where the duct runs out — adding more duct does not push the flow past it, it reduces the flow.
Fig. 3 Mach number and entropy along a duct entering at Mach 0.3. Both rise monotonically and both stop at the sonic point: the flow reaches 0.937 after 5.30 friction lengths, and adding more duct reduces the mass flow rather than pushing it past one.

A duct entered at Mach 0.3 has 5.3 friction lengths available, and marching it produces a Mach number rising smoothly to 0.94 and an entropy rising to 451 J/kg/K above the inlet’s.

The entropy is the odometer’s dial

The entropy is the odometer. The entropy produced against the length of duct traversed. It is monotone and single-valued, so it records the distance — which is what makes it a memory rather than a state. The state the gas is in says how far it has come.
Fig. 4 Entropy produced against duct traversed. It is monotone and single-valued, so it records the distance — which is what makes it a memory rather than a state. The gas’s condition says how much duct is left; its entropy says how much is behind.

The entropy against distance is monotone and single-valued, which is what makes it a record rather than a state. Across this march it rises by 451.0 J/kg·K, every joule of it in the same direction, and three fifths of that rise happens in the last fifth of the duct. Two gases at the same pressure and temperature but different entropies have been through different histories, and the entropy is the difference.

And the record cannot be erased by anything the duct does. More duct raises it further; a bend, a valve, a screen raise it further; and nothing available to an adiabatic flow lowers it. The only way to reduce a gas’s entropy is to cool it, which is outside this problem by construction.

That is the same property that makes the contact surface in a surface that remembers the diaphragm permanent, and it is the same reason: entropy is the one variable an adiabatic inviscid flow carries unchanged and an irreversible one only ever increases.

Why friction speeds a subsonic flow up

The counter-intuitive half of the result deserves its own argument, because “friction accelerates the flow” is the sentence most readers stop at.

In a constant-area duct the mass flow per unit area is fixed, so the product of density and velocity is constant. Friction removes momentum, so the pressure falls along the duct — and in a compressible gas a falling pressure means a falling density.

If the density falls, the velocity must rise to keep the product fixed — here from 0.300 to 0.937 of the sound speed, a factor of 3.12, while the entropy climbs 451.0 J/kg·K. That is the whole of it: the acceleration is a consequence of compressibility plus continuity, not of anything friction does directly, and it does not happen in an incompressible duct flow at all.

The same argument run on the supersonic branch gives the opposite sign, because there the pressure rises along the duct — a supersonic flow decelerating in a constant area does so against a rising pressure, which is the duct that works backwards’s subject in a different setting.

So the two branches are not two behaviours of friction; they are one behaviour of friction seen through a continuity relation whose sign depends on whether the flow is above or below the speed of sound.

What happens at the end

A slow inlet buys a long duct. The friction length available before choking, for six inlet Mach numbers. It diverges as the inlet is slowed, which is why a long pipe is fed slowly — and it is the same statement as the entropy still available, since the two are one curve.
Fig. 5 The friction length available before choking, at six inlet Mach numbers. It diverges as the inlet is slowed, which is why a long pipe is fed slowly — the same statement as the entropy still available before the nose of the curve.

The duct available diverges as the inlet is slowed: at Mach 0.1 it is 66 friction lengths and at Mach 0.9 it is 0.015. That is why a long pipe is fed slowly, and it is the practical form of the choking condition.

What happens when a duct longer than the available length is fitted is worth being precise about, because it is where the one-way character becomes physical rather than mathematical.

The flow does not accelerate past Mach one. Instead, the mass flow falls until the inlet Mach number is low enough that the available length matches the duct that is there. The upstream conditions adjust — a subsonic flow can be told about the exit — and the system settles at whatever flow rate is compatible with reaching Mach one exactly at the end.

So a duct that is too long does not fail; it throttles. And the flow it settles at is a function of the duct’s length, which is another way in which the state records the geometry: a duct with 5.299 friction lengths in it admits an inlet Mach number of 0.300, one with 4.399 admits 0.321, one with 2.599 admits 0.385 and one with 0.799 admits 0.538 — so halving the length raises the admissible inlet Mach number by about a fifth, over and over.

What the solver computed, and how it was checked

The Fanno relations are closed forms and the march inverts one of them at each station by bisection. Nothing here is approximated except the inversion, which converges to machine precision.

Three checks. That the entropy rises monotonically along the march, at every station, which is the essay’s whole claim and would catch a sign error in the entropy expression — as it did, on the first attempt, when the expression was written for the reverse difference and the check reported the entropy falling at the first station. That the Mach number rises monotonically too. And that the exit condition approaches one, above 0.9, so the march really does reach the choking limit rather than stopping early.

A duct that cannot be run backwards, as computed. The duct available at the inlet, the exit condition, the entropy produced, and the two branches that both run the same way.
Fig. 6 The 5.30 friction lengths available at the inlet, the exit at Mach 0.937, the 451 J/kg/K produced on the way, and the two branches that both run the same way.

Why the entropy is maximum at Mach one

The maximum is the mathematical heart of the result and it has a short physical reading.

Along the Fanno line the total enthalpy is fixed — the flow is adiabatic — so the state is confined to a curve in the enthalpy-entropy plane. Differentiating along that curve and setting the entropy’s derivative to zero gives the condition that the velocity equals the local speed of sound.

The reason that is the maximum, rather than a minimum or an inflection, is that the sonic point is where the flow stops being able to communicate with what is downstream — which is when the warning cannot arrive’s subject. A subsonic flow can be told to slow down and a supersonic one cannot, so the two branches approach the sonic point from opposite directions and neither can pass it.

The maximum of the entropy and the loss of upstream influence are the same event, which is a connection between thermodynamics and the character of the equations that is worth noticing.

Where the record is read in practice

A shock-tube driver tube. The gas driving a shock tube runs down a long duct, and the friction it meets degrades the driver condition — which is one of the reasons the measured shock is weaker than the ideal Riemann solution of a surface that remembers the diaphragm predicts.

Pipeline metering. A long gas pipeline’s pressure drop is a Fanno problem, and the state at a delivery point contains the accumulated friction of the line. Inferring a leak from a pressure profile is reading that record and looking for a discrepancy.

Choked-flow measurement. A critical-flow venturi meters mass flow by choking it, and its calibration depends on where the sonic point sits — which depends on the friction upstream, which is the same integral.

And engine intakes. A long intake duct at high subsonic Mach number is close to the choking limit, and the margin is the friction length remaining. That number is what an intake designer trades against length and against diffuser angle.

Friction drives it to one, from either side. Mach number along a duct with friction, against the friction length 4fL*/D remaining before the flow reaches sonic. A subsonic flow speeds up along the duct and a supersonic one slows down, and both arrive at Mach 1 — at which point the duct can be no longer without the whole flow rearranging itself. Friction, which is a dissipation, accelerates a subsonic gas: the entropy has to rise, and rising entropy means moving towards the sonic point.
Fig. 7 The duct this collection computes elsewhere, with both effects in it: Mach number against the friction length remaining. A subsonic flow speeds up along the duct and a supersonic one slows down, and both arrive at Mach one.

The same duct seen from the totals’ side is the last essay in this field, drawn by the same solver.

The same two totals down a duct with friction. The total temperature and total pressure along an adiabatic duct with friction. The first does not move, because nothing is being added or removed; the second falls, because the friction is irreversible. The two are measuring different things and only one of them is a loss.
Fig. 8 What friction does to the two totals along the same duct, drawn by the same solver. The first does not move, because nothing is added or removed; the second falls, because friction is irreversible — the one-way property in its bookkeeping form.

What the duct is actually doing to the gas

It is worth writing down the energy account, because it explains how a flow can be both losing something and speeding up.

The total temperature is unchanged. The duct is adiabatic, so no energy enters or leaves. Every joule the gas has at the exit it had at the inlet.

The total pressure falls. That is the entropy rising, and it is the whole of the loss. It is the same currency what a shock costs is priced in, spent gradually along a duct instead of all at once across a discontinuity. It is the same currency what a shock costs is priced in, spent gradually along a duct instead of all at once across a discontinuity.

And the kinetic energy rises, on the subsonic branch, at the expense of the static enthalpy. The gas gets faster and colder, and the sum of the two is constant.

So nothing has been lost in the sense of energy. What has been lost is availability: the gas at the exit has the same energy and less ability to do anything with it, because its total pressure is lower. A turbine downstream of the duct extracts less work from the same energy.

That distinction — energy conserved, availability destroyed — is the one thermodynamics exists to make, and this flow is the cleanest fluid-mechanical example of it available: two totals, one exactly constant and one monotonically falling, in a device with no moving parts.

What friction cannot undo, and what a shock can

There is one apparent exception worth closing off, because it looks like a way back.

A supersonic duct flow can contain a shock, and a shock takes the flow from the supersonic branch to the subsonic one. That looks like the flow moving backwards along the curve — from a high Mach number to a low one — and it is not.

The jump is from a point on the supersonic branch to a point on the subsonic branch at higher entropy, which is what the shock produced. On the diagram it is a vertical move to the right, not a slide back along the curve, and everything after it happens on the subsonic branch moving rightwards as before.

So a shock changes which branch the flow is on and does not reverse the direction of travel. Nothing in the problem moves left, and that is the exact content of the second law for this flow.

The same reading, in the other quantities

The Mach number is not the only variable that records the distance, and it is worth listing what else does, because some are far easier to measure.

The total pressure. It falls monotonically along the duct — it is the entropy written differently, which is two totals, one of which a shock cannot touch’s subject — so a total-pressure measurement is an entropy measurement is a distance measurement.

The static pressure. It falls too on the subsonic branch, and it is the easiest of all to measure, which is why pipeline monitoring is done with static taps. Its relation to distance is not linear, which is why the inversion needs the Fanno relations rather than a ruler.

And the total temperature does not. It is constant along an adiabatic duct, exactly, so it records nothing about the friction at all — which makes it the ideal reference: any change in it is heat transfer, and any change in total pressure with the total temperature fixed is friction.

Two totals and one of them is a clock. That pairing is the subject of the next essay in this field and it is what makes duct diagnostics possible: one quantity records the energy and the other records the irreversibility, and they can be read apart.

What the picture cannot show

The Fanno line is drawn as entropy against Mach number, which is the readable form, and the physically standard picture is entropy against enthalpy — where the curve is the famous hooked shape and the sonic point is at its nose. The two carry the same information and the hook makes the maximum obvious in a way the version here does not.

Nothing here draws the duct. There is no velocity profile in this problem: the flow is one-dimensional by construction and the friction enters as a wall stress correlated to the mean flow, which is a model rather than a solution.

Where this sits among the memories collected here

It is worth placing the Fanno duct beside the others, because it is an unusually clean case and the cleanliness is instructive.

The record is a single scalar. The gas’s state, given the total temperature and the mass flux, reduces to one number — the Mach number, or equivalently the entropy — and that number is the whole of the memory. Compare a duct that forgets everything but one number, where an incompressible duct also ends up remembering one number, for a completely different reason: there the higher modes decay, and here the flow is one-dimensional by construction.

The record is monotone. Nothing in the problem can reduce it, so the mapping from distance to state is invertible everywhere — which is what makes the odometer reading unambiguous. Most of the memories in this collection are not monotone and are correspondingly harder to read backwards.

And the record has an end. The sonic point is where the odometer runs out: past it there is no further state available, so a duct at the choking limit has lost the ability to record anything more. That is a boundary the other memories in this collection do not have, and it is the same boundary the flow’s own ability to be influenced from downstream runs out at.

The one-way property, stated as a design rule

The irreversibility is not an abstraction; it decides what a duct can be asked to do.

A subsonic duct cannot be made supersonic by making it longer. Friction drives the Mach number towards one from below, so the exit is choked and nothing downstream can change it. Length beyond the choking length reduces the mass flow instead of accelerating the flow.

A supersonic duct cannot be slowed to subsonic smoothly either. Friction drives it down towards one from above, and the transition through one happens in a shock rather than continuously.

So the sonic point is a one-way gate in both directions, and the design consequence is that a duct is sized to its choking length rather than to a pressure ratio. Exceeding it is not a small loss of performance; it is a change in what the duct is doing.

Who found it, and when

Fanno’s line is from 1904 and the modern treatment is Shapiro’s, from 1953, whose two volumes are still the reference. The one-way character was never in doubt — it is the second law — and what the analysis adds is that the direction is the same on both branches, which is not obvious in advance.

The choking behaviour, and the fact that an over-long duct reduces the mass flow rather than failing, is the practically important part and was understood as soon as compressible pipe flow was measured.

Limits recorded rather than smoothed over

One-dimensional, adiabatic, constant area, perfect gas. All four matter. A real duct has a boundary layer with its own structure, exchanges heat, and usually changes area.

The friction factor is a constant. It is not: it depends on the Reynolds number, which changes along the duct as the density and velocity do. Carrying that changes the lengths and none of the structure.

No heat addition. The Rayleigh problem — heat with no friction — has the same one-way character with a different curve, and a real duct has both. Two effects that both drive the flow to Mach one do not simply add, which is why two ways to choke treats them separately.

The wall stress is a correlation. The friction enters as a wall shear related to the mean flow by a friction factor, which is a turbulent boundary layer summarised by one number — three buffer layers, one friction is what that summary costs.

And the odometer needs an inlet. The state records the friction length remaining, and converting that into a distance travelled requires knowing where the flow started. Without an inlet condition the gas says how far it has to go and not how far it has come.

What links here

Computed from the collection rather than written here: the essays that point at this one.

Shares its objects with

Essays naming at least two of the same things, that neither author linked.

Named objects

A dashed tag is an object no other essay names yet.

ChokingConserved quantityDuctEntropyFanno flowFrictionIrreversibilityMeasurementMemory kernelModel validityRegimeTotal pressure