elements.catalog.cavity

elements.catalog.cavity(volume, name='cavity')

A lumped finite-volume cavity: a wall to the mean flow, a compliance to acoustics.

Mean-flow-wise the cavity is impermeable – its single port carries mdot = 0, exactly like a :func:wall, so the leg behind it is stagnant and it needs no interior mean unknowns. Acoustically its enclosed gas stores energy: a finite volume V compresses isentropically, giving the lumped compliance C = V / (rho c^2) that populates the storage block M (the i*omega*M term of the operator A = J_alg + i*omega*M + P + S). Paired with a neck inertance (a short :func:duct) off a :func:junction, it forms a Helmholtz resonator with omega_0 = c * sqrt(A_neck / (V * l_eff)) (see :func:helmholtz_resonator).

Although it is a terminal element (single-port), the cavity is not a boundary terminal: its acoustic response is the compliance itself (a reflection set by the storage), so the perturbation layer leaves its inherited mdot' = 0 row in place and lets M add the storage onto it. It is never neutralized or stamped with a reflection coefficient.

The mean state of the cavity gas is tied to its face (the local p, T, composition), so c is the local sound speed. An independently-stated cavity is currently not supported.

Parameters

Name Type Description Default
volume float Enclosed cavity volume V [m^3], strictly positive. Sets the compliance C = V / (rho c^2) and hence the resonance frequency. required
name str Element label. 'cavity'

Returns

Name Type Description
ElementSpec
Back to top