Scalar (Helmholtz-tier) mean-flow fields on a meridional mesh (Eq. 9-10).
``c`` is the paper's per-node sound-speed field (Section V.A) — the right
representation for any *smoothly varying* mean flow, which is what every real
generator (parametric or CFD) produces. ``c_element``, an EngineDesign-specific
addition not in the paper, is an escape hatch for synthetic verification cases that
need a genuinely *discontinuous* material property a shared node cannot represent
(verification case V2's temperature-jump duct is the only user of it in P0). When
present, ``assemble_passive`` should be called with ``c_element`` instead of ``c``;
``c`` is still filled in (as a defensible smooth proxy) purely so the dataclass
contract — "every field the paper lists is always populated" — holds even here.
Definition at line 44 of file spec.py.