Powered-descent kinematics kernels: the closed-form stopping distance,
the ignition-altitude solution, and the suicide-burn deceleration command.
These are the Tier-A terminal-guidance closed forms of the retropulsion
descent; Apollo polynomial guidance (Klumpp 1974) and convex
powered-descent guidance (Açıkmeşe & Ploen 2007) are the named upgrade
path beyond them.
Finite-rate ionization network kernels: the two-way channel set that turns
the corridor’s electron density from a calibrated closure into a
prediction from published rate data.
Ionization kernels: the Saha equilibrium ionization fraction, the Tier-A
Park-2T ionization surrogate (the LER relaxation target), and the
electron-density reconstruction.
Nozzle exit-state kernels: the branch-selected inverse of the area–Mach
relation and the isentropic exit-state composition. Both build on the
existing Mach-parameterized isentropic kernels in kernels/fluids/ — no
isentropic formula is restated here.
Rocket-performance kernels: propellant mass flow from specific impulse and
the Tsiolkovsky rocket equation. Pure pointwise relations; propellant
bookkeeping and throttle mapping live in the CFD-side stages.
The Cordell analytic SRP plume model — the plume-as-effective-obstruction
geometry of a single on-axis retro-nozzle. Implemented subset: terminal
(Mach-disk) shock via Sibulkin source flow + stagnation-pressure balance
(dissertation §3.2, Eqs. 7–16), Charwat barrel-shock shape (§3.3.1,
Eqs. 17–26), and the mass-flow-conservation radial scaling (§3.3.2,
Eqs. 27–40). The bow-shock construction (§3.4) is deliberately absent:
in this codebase the marched CFD layer forms its own bow shock around the
obstruction this kernel returns. The crossflow deflection (§3.5.2) is
identically zero for the on-axis single nozzle (“a plume exhausting
directly into the freestream gets no preferred direction”, diss. p. 99),
and the free-shear-layer thickening (§3.5.1) is not modeled.
All physics quantities, consolidated from kernel-local files and the former
units module. Every public type is re-exported flat from this module and
from the crate root so consumers always import via deep_causality_physics::TypeName
— imports remain stable regardless of where within quantities/ a type lives.
Shock and recovery-temperature kernels: the Rankine–Hugoniot normal-shock
temperature jump (mandatory — isentropic recovery alone is too cold to
ionize) and the Tier-A recovery-temperature reconstruction.
Supersonic-retropropulsion similarity numbers and the digitized
Jarvinen–Adams central-nozzle drag correlation. All correlations
interpolate the digitized tables in constants/propulsion.rs by value
and reject out-of-domain inputs — extrapolating a wind-tunnel correlation
would fabricate physics.
Park two-temperature thermochemistry kernels: vibrational relaxation
(Landau–Teller with a Millikan–White relaxation time, integrated by the
closed-form LER exponential) and the Arrhenius reaction-rate coefficient.
An exact 3-D two-body (Kepler) propagator via KS regularisation, built from a single physical
state. Propagation is the constant-generator matrix exponential in the KS fictitious time; it is
exact to floating-point round-off for any dt, with no step-size error.
An exact planar two-body (Kepler) propagator built from a single physical state. Propagation is the
constant-generator matrix exponential in eccentric anomaly (see the module docs); it is exact to
floating-point round-off for any dt, with no step-size error.
Unpowered (C_T = 0) axial-force coefficient C_A0 vs freestream Mach for
the 60° single-engine aeroshell. Digitized from the C_T = 0 intercepts of
Figs. 32–33 (report pp. 54–55), corroborated by Fig. 11 (p. 27);
uncertainty ±0.03. The M = 0.4 point exists only for the three-nozzle
model (~0.52 with the 60° fairing) and is excluded; domain M ∈ [0.6, 2.0].
Caveat (report p. 25): the corner radius r_c/r_m = 0.06 reduces C_A about
5% below sharp-corner cone data.
Preserved-drag fraction C_A_F / C_A0 vs C_T for the 60° single
(central) engine aeroshell, Air Nozzle 2, at M∞ = 2.0. Digitized from
Fig. 32 (report p. 54), cross-checked against Fig. 56 (p. 81);
uncertainty ±0.02 in the fraction, ±0.05 in C_T (±0.03 above C_T = 4).
The sharp drop between C_T = 1.03 and 1.05 is the report’s measured
jet-penetration → blunt-flow transition (“occurs sharply at a thrusting
coefficient near unity”, report p. 32); the piecewise-linear bracket
across it deliberately encodes that jump. Negative preserved fractions
past C_T ≈ 2 are the report’s slightly negative forebody axial force
(wake-type flow). Domain: C_T ∈ [0.0, 8.8].
Jet-penetration → blunt-flow transition thrust coefficient at M∞ = 2.0
for the central nozzle: “The transition from jet penetration to blunt
flow regimes occurs sharply at a thrusting coefficient near unity (1)”
(report p. 32, §3.1.3). Below it the flow is unsteady (the jet penetrates
far upstream, bow shock up to six body diameters forward); above it the
blunt-flow regime is steady.
The transition is fixed in jet-exit-to-freestream pressure ratio across
all supersonic conditions tested: P_ej/P∞ ≈ 7.0–7.2 (report Fig. 18,
p. 35; Conclusion 3, p. 145), with corresponding C_T in 0.5–3.0.
PERIPHERAL-configuration bow-shock rippling onset: “Both Jarvinen and
Adams and Keyes and Hefner observed local instabilities affecting the
slope of the bow shock as the total thrust coefficient increased beyond
approximately 3.0” — Korzun, Cruz & Braun, “A Survey of Supersonic
Retropropulsion Technology for Mars Entry, Descent, and Landing,” 2008
IEEE Aerospace Conf., IEEEAC #1246, p. 6
(papers/korzun_braun_cruz_srp_survey.pdf). This bound concerns the
peripheral nozzle configuration, not the central one the tables above
describe; recorded for the future peripheral work.
Park’s classic controlling-temperature exponent for dissociation,
T_q = T^q · T_v^(1−q) with q = 0.7 (Park 1990; the geometric mean
q = 0.5 is the alternative). The controlling-temperature choice is the
largest closure divergence among production codes (DPLR/LAURA/US3D); this
model adopts the Park lineage’s own published exponent for the Park rate
set. The ionization controller keeps the calibrated geometric mean.
Temperature exponent for N + e⁻ → N⁺ + 2e⁻ (dimensionless). Table II
states −3.14; written as a quotient because the raw literal trips
clippy::approx_constant (it is a temperature exponent, not π).
The Cordell analytic plume-boundary geometry of a single on-axis
retro-nozzle: terminal-shock standoff (Sibulkin + stagnation balance,
§3.2), maximum plume radius (Charwat barrel shape, §3.3.1, scaled by
mass-flow conservation, §3.3.2), and the penetration/obstruction length
(the barrel profile extended at its maximum radius to the terminal-shock
station, diss. p. 84). Returns geometry only — shaping any discrete
forcing region from it is the CFD stage’s job.
Δ-criterion (Chong, Perry & Cantwell 1990; generalized form): the
discriminant of the depressed velocity-gradient characteristic polynomial
Δ = (p̃/3)³ + (q̃/2)² where
p̃ = Q − P²/3, q̃ = 2P³/27 − PQ/3 + R,
and (P, Q, R) are the velocity-gradient invariants in the CPC convention.
Equilibrium dissociation fraction of a diatomic pool A₂ ⇌ 2A at fixed
nuclei density: solve [A]²/[A₂] = K with [A₂] = (n_nuclei − [A])/2 for
the atom share x = [A]/n_nuclei. Closed form:
[A] = (−K + √(K² + 8·K·n_nuclei))/4. k_eq and nuclei_density must be
in one consistent concentration basis.
Thresholded electron-impact ionization N + e⁻ → N⁺ + 2e⁻, rated at the
electron temperature (k_f = 1.1e32 · T_e⁻³·¹⁴ · exp(−1.69e5/T_e)
cm³·mol⁻¹·s⁻¹). Table II states a ±36 percent spread on the prefactor and
the source notes these expansion-flow rates tend to be lower than
compressive-flow data; the validation band absorbs both.
Thresholded electron-impact ionization O + e⁻ → O⁺ + 2e⁻, rated at the
electron temperature (k_f = 3.6e31 · T_e⁻²·⁹¹ · exp(−1.58e5/T_e)
cm³·mol⁻¹·s⁻¹). Same data-quality caveats as the N channel.
Local entropy-production rate density (W/(m³·K)) for a Newtonian fluid:
σ = Φ/T + κ · ‖∇T‖² / T²
where Φ = τ : ∇u is viscous dissipation and κ is thermal conductivity.
The network’s closed-form fixed point: the electron concentration where
production balances loss, β·x² − k_lin·x − p = 0 with quadratic loss
through quasi-neutrality (n_NO⁺ ≈ n_e), solved as
x* = (k_lin + √(k_lin² + 4·β·p)) / (2β).
Calculates the time evolution of the magnetic field (Frozen-in flux).
$$ \frac{\partial \mathbf{B}}{\partial t} = \nabla \times (\mathbf{v} \times \mathbf{B}) $$
Unpowered baseline axial-force coefficient C_A0(M) of the
Jarvinen–Adams 60° single-engine aeroshell, digitized over the tested
envelope M ∈ [0.6, 2.0] (JARVINEN_ADAMS_BASELINE_CA0). Inputs
outside the digitized envelope are rejected.
Project the KS velocity w onto the constraint surface b(u, ·) = 0, returning the nearest
constraint-satisfying velocity under the fixed gauge that keeps u. The constraint is linear in w
with gradient g = (u₄, −u₃, u₂, −u₁) and |g|² = |u|², so the orthogonal projection removes the
violating component: w' = w − (b(u,w)/|u|²)·g. Idempotent.
One Strang-split perturbed step (the B1 between-step perturbation hook): half-kick the velocity
with the caller-supplied non-conformal Cartesian acceleration, drift exactly along the KS conformal
core for dt, then half-kick again. The perturbation is never expressed inside the KS algebra
(FS-2). 2nd-order accurate; the exact core is untouched when accel returns zero.
λ₂-criterion (Jeong & Hussain 1995): the second-largest (middle)
eigenvalue of the symmetric tensor M = S² + Ω² where S and Ω are
the symmetric and antisymmetric parts of ∇u.
Concentration-basis equilibrium constant of N₂ dissociation
(N₂ + M ⇌ 2N + M) from the RP-1232 Table II pair: K = k_f / k_b, unit
mol·cm⁻³ (the backward rate is three-body). Detailed balance holds by
construction because both rates come from one table row.
Associative ionization N + O → NO⁺ + e⁻ forward rate, rated at the
heavy-particle controlling temperature
(k_f = 9.03e9 · T⁰·⁵ · exp(−3.24e4/T) cm³·mol⁻¹·s⁻¹): the convenience
form of the shipped Arrhenius evaluation over the shipped reaction-7
constants, paired with
no_dissociative_recombination_rate_kernel as one Table II row.
Dissociative recombination NO⁺ + e⁻ → N + O: the two-body backward rate
of the associative-ionization channel, rated at the electron
temperature (barrier-free; k_b = 1.80e19 · T_e⁻¹ cm³·mol⁻¹·s⁻¹). This
is the physical blackout-exit mechanism: in cold dense air it decays a
carried electron population toward the local (low) equilibrium.
Isentropically expanded nozzle exit state from chamber conditions — the
unstated input that makes the SRP momentum-flux ratio computable from a
commanded throttle: exit Mach from the inverse area–Mach relation, static
exit pressure/temperature from the existing isentropic-ratio kernels, exit
density from the ideal-gas state relation ρ = p/(R_s·T) (this crate’s
single authoritative use), and exit velocity u_e = M_e · a(T_e) through
the existing speed-of-sound kernel.
Tier-A Park-2T ionization surrogate: the relaxation targetα_eq(T, n)
that the LER IonizationStage relaxes toward. It is the Saha equilibrium for
the dominant NO ionization channel (E_ion ≈ 9.26 eV); being the full
equilibrium it carries electron-impact electrons as well as NO⁺. The gap
between the carried α and this target is the nonequilibrium lag.
Park’s controlling temperature T_q = T_tr^q · T_v^(1−q) for the given
exponent q (the dissociation closure uses PARK_DISSOCIATION_Q
= 0.7, Park 1990; the ionization controller keeps the geometric mean).
The controlling-temperature choice is the largest closure divergence
among production codes; the exponent here is the Park lineage’s own
published value, a citation rather than a fit.
Recovery-temperature reconstruction T_tr = T_post − ½|u|²/c_p — the Tier-A
stand-in for the post-shock translational temperature, built from the
post-shock stagnation temperature and the local speed off the incompressible
velocity field. Labeled a reconstruction, not a true thermodynamic path.
The fractional clock-rate offset of a moving clock relative to a reference clock — both in the same
monopole field — to 1PN order: [Φ_clock − Φ_ref]/c² − [v_clock² − v_ref²]/(2c²). The leading 1s
cancel, so this is the directly-measurable frequency difference (e.g. a GPS satellite clock vs a geoid
clock). Multiply by elapsed coordinate time to get the accumulated τ offset.
Jet-edge Mach number of the barrel shock: the Prandtl–Meyer expansion of
the nozzle exit flow to the post-bow-shock backpressure P_T,1
(Cordell Eq. (19)). Note the exit-Mach dependence cancels against the
exit static pressure, so M_edge depends only on P_T,jet/P_T,1 — the
property that makes the dissertation’s printed Table 13 an exact anchor.
Preserved-drag fraction of the central-nozzle SRP configuration — the
digitized Jarvinen–Adams curve C_A_F/C_A0 vs C_T at M∞ = 2.0
(JARVINEN_ADAMS_PRESERVED_DRAG_M2). The low-C_T structure is the
report’s measured drag collapse: the fraction falls from 1.0 to 0.22 by
C_T ≈ 0.46 and drops sharply across the jet-penetration → blunt-flow
transition near C_T ≈ 1; slightly negative values past C_T ≈ 2 are the
measured wake-type forebody force. Domain: C_T ∈ [0.0, 8.8]; inputs
outside it are rejected, never extrapolated. Corroboration: the
Korzun–Cruz–Braun survey’s “minimum value of approximately 10% of the
no-jet value” brackets this curve’s 0.12 → 0.02 transition values.
Terminal (Mach-disk) shock Mach number of the retro-plume: the M at
which the jet’s post-terminal-shock stagnation pressure balances the
freestream’s post-bow-shock stagnation pressure (Cordell §3.2,
Eqs. (13)–(15); interface at rest). Solved by deterministic bisection —
the loss ratio is monotone decreasing in M.
Zeldovich exchange N₂ + O → NO + N forward rate
(k = 6.75e13 · exp(−3.75e4/T) cm³·mol⁻¹·s⁻¹): the low-activation
N-atom production path (37,500 K barrier against direct dissociation’s
113,100 K) that feeds associative ionization while direct N₂
dissociation is still frozen. Rated at the heavy-particle controlling
temperature.