fanno-flowlisted
Install: claude install-skill ashfordeOU/aero-agent-skills
# Fanno Flow in a Constant-Area Adiabatic Duct (aerodynamics/high-speed/fanno-flow)
Use when the task is the Fanno flow of a steady adiabatic perfect-gas
flow in a constant-area duct with wall friction: the Fanno-line integral
fL*/D, the friction-duct choking length, the downstream Mach number
recovered on the inlet branch for a given friction parameter, the
friction required to choke a duct of given length and diameter, and the
total-pressure and static ratios along the duct to its sonic reference
state. This leaf implements the standard Fanno relations (the same
compressible-flow framework that NACA TR-824 tabulates) in pure Python,
stdlib only, with a deterministic 1-D bisection for the branch
inversion. It pairs with aerodynamics/high-speed/isentropic-flow-relations
as the frictionless complement (that leaf's area-Mach and choked mass
flow have no wall-friction term and no Fanno line), with
aerodynamics/high-speed/normal-shock for shock-jump stagnation loss at a
station, and with aerodynamics/high-speed/shock-tube, which supplies the
deterministic-bisection precedent. It does NOT do Rayleigh heat-addition
flow of a frictionless duct (rayleigh-flow, same wave; friction with heat
addition is out of scope), boundary-layer skin friction and heating on
surfaces (flat-plate-skin-friction-heating), or the unsteady shock-tube
wave system (shock-tube).
## Domain quick reference
- Fanno-line integral: phi(M) = fL*/D = (1 - M^2)/(gamma M^2) +
((gamma + 1)/(2 gamma)) ln((gamma +