elements.catalog.pipe
elements.catalog.pipe(length, diameter, friction_factor, name='pipe')A length-bearing pipe: Darcy-Weisbach wall friction + the duct acoustic phase.
The DUCT (+) LOSS unification (Greyvenstein-Laurie): one element that drops total pressure pt0 - pt1 = K * (1/2 rho u^2) with the Darcy-Weisbach loss coefficient K = friction_factor * length / diameter on the mean flow, and carries its length for the acoustic phase stamp P(omega) (so it propagates waves like a duct). Constant area – its two ports share one flow area (set on the wired edges; for a circular pipe that is pi * diameter^2 / 4). diameter is the hydraulic diameter used only in the friction term, so a non-circular passage is supported by passing its hydraulic diameter and matching flow area.
The lumped pipe is exact in the low-Mach limit (the paper’s Example 3, M ~ 0.01); a long or fast pipe develops Fanno gradients – chain several with :func:fanno_pipe (which uses this as its atom) to resolve the Mach rise toward choke.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| length | float | Pipe length L [m] (the acoustic propagation length and the friction length). |
required |
| diameter | float | Hydraulic diameter D [m] for the friction term K = f L / D. |
required |
| friction_factor | float | Darcy friction factor f (e.g. 64/Re laminar, Haaland/Colebrook turbulent). |
required |
| name | str | Element label. | 'pipe' |
Returns
| Name | Type | Description |
|---|---|---|
| ElementSpec |