|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
Functions | |
| float | sound_speed (float gamma, float R_g, float T) |
| List[float] | longitudinal_mode_frequencies (float a, float L_ch, int n_modes=5) |
Variables | |
| list | __all__ |
Shared physics primitives for the combustion/feed stability model. Pure functions only — no config coupling, no I/O — so every primitive is unit-testable against a closed form. Integration (pulling gas properties from CEA, choosing defaults for ``n``/``chi``, etc.) lives in ``chug.py`` / ``acoustic.py`` / ``analysis.py``, not here. Equation numbers in the docstrings refer to ``docs/stability/combustion_stability_physics.md`` (v0.2). Sections -------- 1. Acoustic mode frequencies — longitudinal half-wave (closed-closed); transverse via J'_m roots 2. Combustion response (n-tau) — Crocco linearized burning-rate gain [Phys §2] 3. Gas dynamics — choked-flow function, chamber residence time [Phys §3.1] 4. Vaporization / time lag — Spalding B, d^2-law K_v, tau_vap, sensitive lag [Phys §5] 5. Feed / injector primitives — injector conductance, feed inertance, chamber gain [Phys §3.2] 6. Acoustic damping — compact choked-nozzle admittance, Kirchhoff wall layer [Phys §4.2]
| List[float] engine.pipeline.stability.core.longitudinal_mode_frequencies | ( | float | a, |
| float | L_ch, | ||
| int | n_modes = 5 ) |
Longitudinal (axial) acoustic mode frequencies [Hz], closed-closed half-wave set. ``f_nL = n * a / (2 * L_ch)`` for n = 1..n_modes (1L, 2L, ...). [Phys §4.1] Both ends are acoustically closed. The injector face is a rigid wall. A choked compact nozzle has normalised admittance ``(gamma-1)*M_ne/2`` (Crocco; Marble & Candel 1977), ~0.005 at M_ne 0.07: a near-rigid end, not a pressure-release one. ``tan(kL) = i*Y`` then gives ``Re(kL) = n*pi`` exactly -- the admittance damps the mode (``nozzle_damping_rate``) and does not move it. This is the q-branch of Harrje & Reardon SP-194 ch. 1's closed-cylinder ``f = (a/2) sqrt((q/L)^2 + (alpha_mn/(pi R))^2)``, and the passive spectrum the hi-fi V3 case checks (engine/stability_hifi/validation/v3_ntau_duct.py). The old quarter-wave set ``(2n-1) a/(4L)`` is the open-end answer and put 1L a factor 2 low.
| float engine.pipeline.stability.core.sound_speed | ( | float | gamma, |
| float | R_g, | ||
| float | T ) |
|
private |