Expand description
§deep_causality_cfd
Computational fluid dynamics solvers and the CfdFlow DSL for DeepCausality.
This crate consolidates the fluid-dynamics theories and the DEC-native
Navier–Stokes solver behind a composable, precision-generic interface,
and lifts them into the CfdFlow domain-specific language
Physics errors (PhysicsError), physics quantities (the typed DEC forms and
quantity newtypes), and the pointwise governing kernels stay consolidated in
deep_causality_physics; this crate imports them rather than duplicating them.
Precision is a parameter: every theory and solver is generic over a real
scalar (CfdScalar). Composition is static (no dyn),
built on the deep_causality_haft HKT/algebra foundation.
CPU parallelism ships on: parallel sits in the crate’s default feature
set and rides the MaybeParallel bound. Build with
--no-default-features --features std for the serial operator loops, which
are the faster choice below roughly 256² cells
(see benches/PERFORMANCE.md).
Modules§
- chronometric
- condensed
- dec_
config - Owned configuration and type-state builder for the DEC incompressible Navier–Stokes solver.
- dimensionless
- Dimensionless scalars: Ratio, PhaseAngle, Probability. Dimensionless scalars: quantities that carry no SI unit and are used across multiple physics domains.
- dynamics
- em
- fluids
- hypersonic
- Reacting / weakly-ionized-air quantity newtypes for the hypersonic Park-2T
blackout slice (Gap 2, Tier-A). These complement the existing MHD plasma
quantities (
PlasmaFrequency,DebyeLength) inquantities/mhd/, which are reused — not duplicated — by the hypersonic kernels. - materials
- mhd
- nuclear
- photonics
- propulsion
- Propulsion quantity types for the retropulsion kernel family: the mass-flow
newtype, the nozzle-branch selector, and the composite exit-state and
plume-geometry results. Scalar quantities from other domains (
Force,Acceleration,Pressure,Temperature,Density,Speed,Length,Mass,Area) are reused — not duplicated — by the propulsion kernels. - read_
rows - Typed-row loader as a lazy
IoAction: read a delimited table intoVec<T>whereT: FromTableRow. The file’s header names are matched to the row type’sSCHEMA, and each row’s cells are delivered tofrom_cellsin schema order, so the file may carry its columns in any order (and extra columns) without breaking the reader. A required column absent from the file is an error naming that column. - read_
table - Typed numeric-table loader as a lazy
IoAction. - relativity
- si_
primitives - SI base and derived scalar quantities used across multiple domains. SI base and derived scalar quantities shared across multiple physics domains. Any type that belongs to the International System of Units and is used by more than one domain kernel lives here rather than in a domain-specific file.
- thermodynamics
- write_
rows - Typed-row writer as a lazy
IoAction: write a slice ofTableRowwhere the column schema and precision come from the row type, so column names live once on the row struct rather than being repeated at the write site. - write_
table - Result-table writer as a lazy
IoAction, precision-generic over anyTableScalar.
Structs§
- Abcd
Matrix - ABCD Matrix. $2 \times 2$ Ray Transfer Matrix.
- Acceleration
- Linear acceleration (m/s²).
- Acceleration
Vector - Acceleration vector (m/s²). Return type of momentum-equation RHS evaluators.
- Acoustic
Core Inverse - Closed-form inverse of the constant-coefficient acoustic core
A₀ = I − β·∂²on a periodic grid, applied to a right-hand side without any iterative solve. See the module docs for the construction. - Acoustic
Core Inverse2d - Closed-form inverse of the 2-D constant-coefficient acoustic core
A₀ = I − β·∇²on a periodic2^lx × 2^lygrid, via ADI dimensional splitting:A₀⁻¹ ≈ (I − β·∂ₓ²)⁻¹·(I − β·∂ᵧ²)⁻¹, each factor the 1-D closed-form inverse acting along one axis. The splitting error is theO(β²·∂ₓ²∂ᵧ²)cross term; free-stream exactness is preserved exactly (each 1-D factor maps a uniform field to itself). The per-axis stiffness iss = β/Δx²,β/Δy². - Acoustic
Core Inverse3d - Closed-form inverse of the 3-D constant-coefficient acoustic core
A₀ = I − β·∇²on a periodic2^lx × 2^ly × 2^lzgrid, via ADI dimensional splitting:A₀⁻¹ ≈ (I−β∂ₓ²)⁻¹·(I−β∂ᵧ²)⁻¹·(I−β∂_z²)⁻¹. The splitting error is theO(β²)cross terms; free-stream exactness is preserved exactly (each 1-D factor maps a uniform field to itself). - Acoustic
Imex1d - A 1-D IMEX integrator for
u_t = −a·u_x + κ·c²(x)·u_xx(fixedΔt), with the stiff acoustic/diffusion term advanced by the D10 split: constant-coefficient core implicit (closed-form inverse), variable remainder lagged. - Activity
- Radioactivity (Becquerels).
- Aero
Blackout Stub - A stub producer for the ④ blackout-coupling contract, standing in for the real Stage-1 marcher
so downstream stages (trajectory, classifier, correction) can be built and validated before it
lands. Each step it publishes a constant mock aero drag
[−drag, 0, 0]into the field’s aero-force channel and writes a single-cell"n_e"scalar that isne_blackoutinside the scheduled step window[start, end)andne_ambientoutside it — so a downstreamBlackoutTriggersees the denial window. Swapping this stub for the real marcher stage changes no consumer. - Aero
Force Coupling - The real ④ aero-force producer (Stage 1.3): the marcher→trajectory adapter that closes the
physics→navigation coupling with flow-derived data, replacing
AeroBlackoutStub’s constant mock. It reads the per-cell"speed"field the marcher publishes each step, forms the peak dynamic pressureq = ½·ρ_ref·U_max², and writes the aero accelerationa = −(C_d·A/m)·qinto the aero-force channel the trajectory kick reads. The electron density / blackout side of ④ is produced upstream by the reacting stages (IonizationStagewriting"n_e"), so the real ④ producer stack isRecoveryTemperature → Ionization → AeroForceCoupling. A no-op if"speed"is absent. - Alfven
Speed - Alfven Speed ($v_A$). Characteristic speed of magnetic waves in plasma. Unit: m/s. Constraint: >= 0.
- Alternated
- One world per case, each alternated from the baseline, plus the ensemble draw multiplicity.
Produced by
alternate; verbsensembleandcouple. - Ambient
- The per-step ambient a marcher reads each step: kinematic viscosity, the
freestream inflow speed, and an optional body force. Coupling stages and
dynamic-law counterfactuals write into it between steps (e.g.
ν(T)feedback or a thrust-driven freestream); the marching rate only reads it. When no coupling is present the ambient is constant and the march reproduces the construction-fixed behaviour. - Amount
OfSubstance - Amount of Substance (Moles).
- Area
- Area (m²).
- Atmosphere
Row - One row of the descent atmosphere table: the freestream at one altitude.
- Band
Drude Weight - Band Drude Weight ($D$).
- Bank
Steered Lift - The 3-DOF bank-steered ④ aero producer: point-mass drag and lift, so the clamped guidance command actually steers the trajectory instead of only reshaping the carrier world.
- Beam
Waist - Beam Waist ($w_0$). Minimum radius of Gaussian beam. Unit: Meters. Constraint: > 0.
- Berry
Curvature - Berry Curvature component ($Ω_{ij}$).
- Blackout
State - The blackout classification at a point: the (angular) plasma frequency and whether the link is denied (plasma frequency above the configured comms band).
- Blackout
Trigger - Maps an electron density to a blackout decision:
n_e → ω_p(the plasma-frequency kernel) → compare to the configured comms band → GNSS/comms-denied flag. The canonical causal-monad seam:classifyreturns aPropagatingEffect(matching the crate’s otherPropagatingEffectwrappers). The comparison threshold is config; the plasma frequency it compares is computed from state. - Blended
Map - A continuous blend between the Cartesian-capture rectangle (
λ = 0) and the body-fitted polar fan (λ = 1) over a2^Lx × 2^Ly(ξ, η)lattice, exposing the same low-rank inverse-Jacobian metric a compressible marcher consumes throughMetricProvider. - Blended
MapConfig - Geometry + blend parameters for
BlendedMap: the2^lx × 2^lylattice, the polar fanr ∈ [r0, r0+dr],θ ∈ [theta0, theta0+dtheta], and the blendlambda ∈ [0, 1]. - Blended
MapConfig Builder - Fluent builder for a
BlendedMapConfig. Every section is required;buildnames the first missing one, then validates the geometry — before any metric field is assembled. - Body
- An immersed cut-cell body. The mesh clips the lattice against this primitive
(exact clipped volumes + wetted-face apertures) and merges sliver cut cells whose
fluid fraction falls below
merge_floor(stabilization). Coordinates are in the mesh’s spacing units. - Body
Fitted Coordinate - A body-fitted polar (annular) coordinate over a
2^Lx × 2^Lycomputational lattice (ξ×η), carrying the low-rank inverse-Jacobian metric and the chain-rule gradient machinery. - Body
Fitted Coordinate3d - A spherical-shell body-fitted coordinate over a
2^Lx × 2^Ly × 2^Lzlattice. - Body
Force Density - Body force per unit volume (N/m³).
- Body
Force OneForm - A body-force-per-unit-mass field as an edge 1-form on a cubical lattice. A forcing input, not a marching state: no arithmetic is provided.
- Body
Force Zone - A body force on the velocity edges: the edge-integral cochain
g♭(e.g. a streamwise pressure gradientG·hon the x-edges) added to the rate source. The carried tensor is the grade-1 edge cochain; the solver validates and wraps it as aBodyForceOneFormwhen assembling. - Branch
Accumulator - A predict-only reducer for one bank-angle branch: fold each rolled-out step’s instantaneous heat
flux, comms-denial flag, and
dtwithobserve, then close with the terminal miss distance infinish. The alternate-world rollout driver (Stage 4’srun_coupledover an alternated context) feeds this; keeping the fold here makes the branch scoring a small, exhaustively-tested unit independent of the march machinery. - Branch
Outcome - The outcome of one counterfactual bank-angle branch — the four scores the corridor compares across candidate bank schedules: peak heat flux, integrated thermal load, terminal miss distance, and total comms-blackout dwell.
- Branched
- One branch world per case at the fork, awaiting the continued march. Produced by
branch; its only verb iscontinue_for. - Burn
Envelope - The optional powered-descent axes of a
SafetyEnvelope(changeplasma-retropulsion-cfd-contracts, capabilitypowered-descent-envelope). Present only for a burn-phase world; absent (SafetyEnvelope::burn == None) for the corridor, where the gate behaves exactly as before. Carries the throttle floor/ceiling, the maximum thrust coefficientmax_ct(the dynamic throttle cap — the admissible ceiling is the static ceiling min’d with the throttle at whichC_T = T/(q∞·S_ref)reachesmax_ct), the ignition dynamic-pressure window[q_min, q_max](stored for M4’s ignition-corridor commit, not enforced by the gate), the propellant floor, and the maximum descent rate. - Cartesian
Identity - The Cartesian identity coordinate over a
2^Lx × 2^Lylattice with physical spacing(dx, dy). - Cartesian
Identity3d - The Cartesian identity coordinate over a
2^Lx × 2^Ly × 2^Lzlattice with physical spacing(dx, dy, dz). - CaseRun
- What a reduction reads for one case: the case, its config, and its report.
- Cases
- The typed case axis: the study’s cases, awaiting a binder or a sweep.
- Cauchy
Stress - Cauchy stress tensor (Pa). Symmetric, positive-in-tension sign convention.
- Central
Body - Parameters describing a central gravitating body for weak-field GM recovery.
- CfdConfig
Builder - The configuration entry point. Each method starts a dedicated, validated config builder for one solver (and, later, one parameterized coupling) or a marching-case container.
- CfdFlow
- The CfdFlow DSL entry point.
- Chemical
Potential Gradient - Chemical Potential Gradient $\nabla μ$.
- Complex
Beam Parameter - Complex Beam Parameter ($q(z) = z + i z_R$). Constraint: $\text{Im}(q) > 0$.
- Compressible
Euler1d - The 1-D conservative compressible Euler marcher (ideal gas + global Lax–Friedrichs flux) in QTT form.
- Compressible
March Config - The owned configuration container for a compressible coupled marching case. Holds only owned specs; the same config can be run repeatedly (factual + counterfactual).
- Compressible
March Config Builder - A fluent builder for
CompressibleMarchConfig. Started byCfdConfigBuilder::compressible_march, which takes the case name. - Compressible
March Run - A runnable compressible marching pipeline: the same config→run split, coupled loop, and counterfactual vocabulary as the QTT host, over the evolved-state carrier.
- Compressible
Marcher2d - A 2-D compressible Euler marcher over a structured coordinate (
M: MetricProvider). - Compressible
Marcher3d - A 3-D compressible Euler marcher on a periodic Cartesian lattice.
- Compressible
Marcher3d Fitted - A body-fitted 3-D compressible Euler marcher, generic over the curvilinear coordinate
M. - Concentration
- Concentration field $c(\mathbf{r})$.
- Conductance
- Electrical Conductance ($G$).
- Conductivity
- Electrical Conductivity ($\sigma$). Unit: Siemens/m (S/m). Constraint: > 0.
- Configured
- One case bound to a solver config, awaiting the march.
- Counterfactual
- The cases plus the declared baseline world. Produced by
baseline; its only verb isalternate. - Coupled
Campaign - The alternated campaign with its coupling stack factory attached. Produced by
couple; its only verb ismarch_for. - Coupled
Field - The owned auxiliary state threaded through the coupling between steps: named scalar fields
(e.g. a temperature field over cells) and the per-step
Ambienta stage writes back to the solver (e.g.ν(T)). - Coupled
March - The coupled march with its stack attached, awaiting the initial field. Opened by
CompressibleMarchRun::couple. - Coupling
- A fluent builder for a between-step coupling — a static cons-tuple of
PhysicsStages. - Cybernetic
Correct - The bounded-correction gate ([6]) as a between-step
PhysicsStage. It senses the coupled state (peak"heat_flux","g_load"), runs oneCyberneticLoop::control_stepagainst theSafetyEnvelope, and either writes the clamped bank angle into the field’s control channel or — on an unrecoverable breach — logs it and returnsErr, short-circuiting the coupling (the design’s “return EntropyE, emit no unsafe action”). The desired bank is the field’s current control action (a prior guidance stage’s raw command) or0if none; the gate only ever bounds it. - Debye
Length - Debye Length ($\lambda_D$). Screening length in plasma. Unit: Meters (m). Constraint: > 0.
- DecIncompressible
- The DEC-native incompressible Navier–Stokes regime as a
FluidTheory. - DecNs
Config - An owned, validated DEC NS solver configuration carrying no manifold borrow. Materialize it against a manifold and a boundary-zone set to obtain the marcher.
- DecNs
Config Needs Time Step - Type-state: viscosity set, awaiting the time step.
- DecNs
Config Needs Viscosity - Type-state: awaiting the kinematic viscosity.
- DecNs
Config Ready - Type-state: required knobs set; optional knobs may be tuned before
build. - DecNs
Rate - The rate field
u♭ ↦ −½[i_u(du♭) − G*_ω u] − ν Δ_dR u♭ + g♭on a metric-bearing periodic lattice manifold. The convective term is the skew-symmetrizedconv' = ½[G_ω u − G*_ω u](the dec-ns-stability fix; see the module doc), not the raw Lamb gatheri_u(du♭). - DecNs
Solver - The DEC Navier–Stokes solver on a periodic lattice manifold.
- DecScalar
Rate - Passive scalar advection–diffusion on a metric-bearing lattice manifold.
- Density
- Density (kg/m^3).
- Descent
Schedule - The descent schedule: a standard-atmosphere table evaluated at the truth vehicle’s state each step, closing the navigation→flow direction of the corridor’s two-way coupling.
- Diffusivity
- Magnetic Diffusivity ($\eta$). Unit: $m^2/s$. Constraint: >= 0.
- Displacement
- Displacement field $\mathbf{u}(\mathbf{r})$.
- Dissociation
Fraction - Dissociation fraction of a diatomic pool: the share of a species’ nuclei bound in atoms rather than the parent molecule. Constraint: finite, in $[0, 1]$.
- Duct
Config - The owned configuration for a quasi-one-dimensional duct march: the case name, geometry,
inlet stagnation state, back pressure, resolution, and the stop condition.
Holds only owned specs; the same config can be run repeatedly. Built by
DuctConfigBuilder, started byCfdConfigBuilder::duct. - Duct
Config Builder - Fluent builder for a
DuctConfig. The area profile, the inlet stagnation state, the ratio of specific heats, the back pressure, the cell count, and the stop condition are all required;buildreports the first missing section and then validates the values. - Duct
March Run - The runnable duct march composed by
CfdFlow::march. Borrows the ownedDuctConfig;runreturns the ownedReportand the borrow never escapes it. - Efficiency
- Thermodynamic efficiency (0.0 to 1.0).
- Electric
Potential - Electric Potential (Volts or J/C).
- Electron
Density - Electron number density $n_e$. Unit: $m^{-3}$. Constraint: finite, $\geq 0$.
- Electron
Temperature - Free-electron translational temperature $T_e$. Unit: K. Constraint: finite, $\geq 0$.
- Energy
- Energy (Joules) — SI-derived unit. Can be negative (potential wells).
- Energy
Budget - Per-term M-inner products of a state against the marched rate’s terms; see the module doc for the sign convention.
- Energy
Density - Energy Density (Joules per cubic meter).
- Ensemble
Marched - One report per case and draw (flat, case-major), awaiting the ensemble reduction. Produced by
march_for; verbsreduce_ensembleandinspect. - Entropy
- Entropy (J/K).
- EosStage
- A single-temperature ideal-gas pressure closure
p = n·k_B·T_trat the configured number density, written into a per-cell"pressure"scalar. Despite sitting in the two-temperature stack, the closure reads only the translational temperatureT_tr; the vibrational temperatureT_vedoes not enter, so this is not a two-temperature pressure. - Equilibrium
Constant - Concentration-basis equilibrium constant of a reversible reaction,
K_eq = k_f / k_b(RP-1232 eq. 5a). Unit: model-dependent (dimensionless for two-body/two-body reactions; a concentration for dissociation). Constraint: finite, $\geq 0$. - Finite
Rate Ionization Stage - The finite-rate ionization network stage. Reads the translational
temperature (default
"T_tr"; rename withdriven_by), the vibrational-electron temperature (default"T_ve", falling back to the translational value), and the heavy-particle density (per-cell viawith_density_field, else the configured constant); each channel’s controlling temperature is computed internally. Carries"alpha"and the two lagged atom-pool fractions ("atom_frac_n","atom_frac_o"); writes"n_e". - Fitted
Normal Shock - A fitted normal shock on the stagnation streamline: the exact Rankine–Hugoniot interface (task 4.1).
- Flight
Sensors - Publishes the two powered-descent sensor scalars the safety envelope reads but nothing else produces: freestream dynamic pressure and descent rate.
- Focal
Length - Focal Length ($f$). Unit: Meters. Constraint: None (can be negative for diverging lens).
- Force
- Force (N).
- Forcing
Region - A masked forcing region over the 2-D compressible conservative state: a smoothed volume
fraction mask, the target conserved state
[ρ, ρu, ρv, ρE]the interior is driven toward, and the penalization strengthη(time units of the solver step;η ≤ Δtenforces hard). - Fork
Economics - What a counterfactual branch’s fork actually cost, recorded by the carrier at the moment the branch was set up.
- Fork
Study - The cases plus the shared fork point — a paused trajectory this study’s branches continue from.
Produced by
fork; its only verb isbranch. - Four
Momentum - Lorentz 4-momentum (E, px, py, pz) in natural units (c = 1).
- Frequency
- Frequency (Hz).
- Gate
Outcome - One gate’s outcome within a verdict.
- GateSeq
- A named, ordered sequence of gate checks over a study’s
Rowtype. - Hadron
- A produced hadron from string fragmentation.
- Half
Life - Half-Life (Seconds).
- Ignition
Corridor - The four-condition ignition corridor a
ThrottleGuidancecommits through. - ImuModel
- A strapdown-IMU model: a constant accelerometer + gyro bias and the process noise its grade implies.
- Index
OfRefraction - Index of refraction for a medium (ratio of c to phase velocity in the medium). Typically > 1; negative values are physically possible in metamaterials but zero is rejected to prevent division errors in downstream calculations.
- Inflow
- An inflow boundary: the face perpendicular to
wall_axis(themax_sideface when true, the zero face otherwise) carries a prescribed wall-normal velocityspeed. It contributes the face’s normal edges as the prescribed (inflow) set — held at their lifted value with their flux counted in the open-boundary projection — and the lift that sets that value. Requires a matchingOutflowreference to balance the net flux. - Inflow
Context - Immutable march context (design D10): the zone configuration and the per-step sensor stream.
- Inflow
March State - Mutable march state (design D10): the stateless solver, the current divergence-free field, the last-good inflow value, the step index, and whether the previous step was a dropout (for transition logging).
- InsError
State - The 17-element strapdown-INS error state carried through the filter.
- Ionization
Fraction - Ionization fraction $\alpha = n_e / n_{tot}$. Unit: dimensionless. Constraint: finite, $\in [0, 1]$.
- Ionization
Stage - Relaxes the carried ionization fraction
αtoward the Park-2T Saha surrogateα_eq(T_tr)withτ_ion = 1/(k_f·[M])(the dominant associative-ionization rate, computed from state), via the closed-form LER exponential, then writes the electron densityn_e = α · n_tot. Reads"T_tr"by default (seedriven_by), carries"alpha", writes"n_e". - Jones
Vector - Jones Vector. Polarized Electric Field. Rank 1, Dim 2 Complex Tensor.
- Judged
- The rows plus the accumulated gate verdict, awaiting more gates or the terminal verdict.
- Keyed
Interpolation - The result of a value-bracketed table interpolation: the interpolated columns at the query key, the indices of the bracketing rows (equal when the query clamped to a single end row), and whether the query fell outside the tabulated range (the marker the flight side stamps into provenance).
- Keyed
Table - A table of numeric rows keyed by an ascending scalar, supporting value-bracketed linear interpolation with end clamping. Rows are sorted ascending by key at construction; duplicate keys and ragged column counts are rejected.
- Kinematic
Viscosity - Kinematic Viscosity (m^2/s). Equals dynamic viscosity divided by density.
- Larmor
Radius - Larmor Radius ($r_L$). Gyroradius of a charged particle. Unit: Meters (m). Constraint: > 0.
- Length
- Length (m).
- Lund
Parameters - Configuration parameters for Lund String Fragmentation.
- Magnetic
Flux - Magnetic Flux (Webers).
- Magnetic
Pressure - Magnetic Pressure ($P_B$). Energy density of the magnetic field. Unit: Pascals (Pa). Constraint: >= 0.
- Manufactured
Sample - The pointwise inputs an MMS kernel residual needs at a sample point, plus the exact reference.
- March
Config - The owned configuration container for a marching case. Holds only owned specs; the same config
can be materialized and run repeatedly (factual + counterfactual). The boundary-zone tuple
Zand the couplingCcompose statically (each()by default). - March
Config Builder - Fluent builder for a
MarchConfig. The boundary-zone tupleZ(default()) is set viaMarchConfigBuilder::zonesand the between-step couplingC(default()) viaMarchConfigBuilder::couple; each transitions the builder type. - March
Pipeline - The injected pipeline before a geometry is bound.
.on(&manifold)lends the caller-owned geometry and yields the runnableMarchRun. - March
Run - A geometry-bound, runnable marching pipeline. The no-arg stages resolve their sub-config from
the container; the
*_with_configvariants override one sub-config (counterfactuals). - March
State - A resumable coupled-march state: the
CoupledFieldto resume from, and the step reached. - Marched
- One report per case, awaiting the reduction to rows.
- Mass
- Mass (kg).
- Mass
Flow Rate - Propellant mass-flow rate $\dot m$. Unit: $kg \cdot s^{-1}$. Constraint: finite, $\geq 0$.
- Mass
Fraction - Species mass fraction $Y_s = \rho_s / \rho$. Unit: dimensionless. Constraint: finite, $\in [0, 1]$.
- Mesh
- An owned mesh specification — lattice shape, per-axis periodicity, and uniform
spacing. It carries no borrow;
materializebuilds the manifold insiderun. - MmsBuilder
- Fluent builder for an MMS-verification case.
- Mobility
- Charge Carrier Mobility ($μ$).
- Moment
OfInertia - Moment of Inertia (kg·m²).
- Momentum
- Momentum vector $\mathbf{k}$.
- Moving
Wall - A moving wall: the wall perpendicular to
wall_axis(themax_sideface when true, the zero face otherwise) carries the tangentialvelocity. It contributes the prescribed lift (edge integralvelocity[a]·edge length) on that wall’s tangential edges; those edges are already in the wall’s auto-derived no-slip set, so the projection holds the value exactly each step. - NavFilter
- A 17-state error-state Kalman filter: the error-state estimate + its covariance.
- Nozzle
Exit State - The isentropically expanded nozzle exit state: exit Mach number and the
static exit quantities, as composed by
nozzle_exit_state_kernel. Each component is a validated quantity; the struct only groups them. - Numeric
Table - A typed numeric table: columns with semantics plus rectangular numeric rows in the working
scalar
R. Construction validates rectangularity once, so aNumericTablein hand is always well-shaped. - Numerical
Aperture - Numerical Aperture ($NA = n \sin \theta$). Unit: Dimensionless. Constraint: > 0.
- Observe
- The set of diagnostics a march collects into its
Report. Built fluently; the scalar diagnostics (kinetic_energy,divergence,max_speed) sample one value per step, while the immersed-body diagnostics (drag/lift, the wakeprobefor Strouhal, and the final-statecenterlineprofile) require an immersed body / a chosen sample geometry and are opt-in by reference speed or point. - Operator
Study Builder - Fluent builder for an operator-accuracy study.
- Optical
Power - Optical Power ($D = 1/f$). Unit: Diopters ($m^{-1}$). Constraint: None.
- Orbital
Angular Momentum - Orbital Angular Momentum ($L$).
- Order
Parameter - Superconducting Order Parameter ($ψ$).
- Outflow
- An outflow boundary: the face perpendicular to
wall_axis(themax_sideface when true, the zero face otherwise) is the open-boundary pressure reference. Its vertices pinφ = 0in the projection, so the outflow velocity is free and adjusts to balance the inflow flux (mass conservation). It carries no prescribed velocity: the outflow velocity is whatever the projection produces, with the face’s tangential edges left free. - Park2t
Closure - Park two-temperature ionization closure — the gas-property inputs that turn the translational post-shock state into the lagging vibrational-electron controller that actually governs ionization.
- Phase
Angle - Phase angle (radians) — dimensionless angle used in wave and quantum physics.
- Physical
Field - Wrapper for CausalMultiVector representing a physical field (E, B, etc.). Implements Default to return a zero vector.
- Physics
Error - Plasma
Beta - Plasma Beta ($\beta$). Ratio of thermal to magnetic pressure. Unit: Dimensionless. Constraint: >= 0.
- Plasma
Frequency - Plasma Frequency ($\omega_{pe}$). Natural oscillation frequency. Unit: Rad/s. Constraint: > 0.
- Plume
Geometry - The analytic plume-as-effective-obstruction geometry the SRP plume kernel returns: the maximum plume radius, the upstream penetration length of the plume from the nozzle exit, and the terminal-shock (Mach-disk) standoff. All lengths; shaping any discrete forcing region from them is the CFD stage’s job — kernels do not discretize space.
- Plume
Imprint - The opt-in plume re-imprint spec (change
add-retropulsion-coupled-stages, capabilityplume-obstruction-stage): it lets a world’s marched forcing region follow a varying throttle. - Plume
Nozzle - The nozzle + freestream description the analytic plume boundary needs
(
cordell_braun_plume_boundary_kernel). The chamber pressure at full throttle scales linearly with the commanded throttle, and the remaining values are the fixed nozzle and freestream constants. Supplying it toPlumeObstruction::with_plume_geometryopts a world into publishing the plume geometry each step. - Plume
Obstruction - The production plume stage (change
add-retropulsion-coupled-stages, capabilityplume-obstruction-stage) — the drag half of the M2PropulsionStub, productionized. - Post
Shock State - The post-shock state from the exact Rankine–Hugoniot normal-shock jump.
- Prepared
- The cases plus a shared apparatus built once (a fitted shock, a calibration), awaiting a rig-sharing sweep.
- Pressure
- Pressure (Pascals).
- Pressure
Zero Form - A pressure field as a vertex 0-form on a cubical lattice. Diagnostic carrier (the Leray-form solver removes pressure from the time loop); no arithmetic is provided.
- Probability
- Probability — a dimensionless scalar constrained to [0, 1].
- Propulsion
Stub - An inert-safe A0 propulsion stub satisfying the powered-descent coupling contract.
- QttImmersed2d
- Marches the periodic 2-D incompressible Navier–Stokes equations with an immersed body enforced by
Brinkman volume penalization. Wraps a
QttIncompressible2d(convection + diffusion + projection) and adds the penalization forcing each step. State is the(u, v)velocity train pair. - QttIncompressible2d
- Marches the periodic 2-D incompressible Navier–Stokes equations with the velocity pair
(u, v)held as tensor trains. Each step forms the nonlinear convectionu·∇u(via the fused Hadamard product, so ther²intermediate is never materialized) plus viscous diffusion, advances by explicit Euler, recompresses, and applies the Leray projection — so the field stays divergence-free and low-rank. ImplementsMarcherdirectly (the tensor-train stages must round between operations). - QttLinear1d
- Marches the periodic linear advection–diffusion equation
∂u/∂t = −c·∂ₓu + ν·∂²ₓuon a2^Lgrid in compressed tensor-train form. - QttMarch
Config - The owned configuration container for a QTT 2-D incompressible marching case. Holds only owned specs; the same config can be run repeatedly (factual + counterfactual).
- QttMarch
Config Builder - Fluent builder for a
QttMarchConfig. Started byCfdConfigBuilder::qtt_march, which takes the case name. Set the grid and solver, supply a seed (a closure over the grid or pre-built fields), thenbuild. The seed is materialized at build-supply time into owned fields, sobuildvalidates the grid is2^Lx × 2^Lyand the seed matches it. - QttMarch
Run - A geometry-free, runnable QTT marching pipeline. The overrides (
seed_with/march_with/observe_with) swap one spec for a counterfactual while reusing the borrowed container. - QttObserve
- The set of tensor-train-native diagnostics a QTT march collects into its
Report. Built fluently; each is a one-value-per-step series. No immersed-body / probe / centerline options — those need a body the periodic QTT solver does not yet encode. - QttProjector2d
- Periodic 2-D Leray projector: holds the gradient MPOs and the grid metadata, and exposes
divergence, the spectralsolve_poisson, and the divergence-freeproject. - QttStep
View - A cheap, read-only view of one completed QTT step, passed to a
QttMarchRun::run_withhook. Exposes the step index/time, the(u, v)velocity trains, and the tensor-train-native diagnostics computed off them. - Quantum
Eigenvector - Quantum Eigenvector $|u_n➢$.
- Quantum
Metric - Quantum Metric component ($g_{ij}$).
- Quantum
Velocity - Quantum Velocity vector $\partial_i H |u_n➢$.
- Quaternion
- Ratio
- A generic dimensionless ratio (no physical unit).
- RayAngle
- Ray Angle ($\theta$). Angle relative to optical axis. Unit: Radians.
- RayHeight
- Ray Height ($y$). Distance from optical axis. Unit: Meters.
- Reaction
Rate - Reaction rate (forward or backward rate coefficient evaluated at a rate-controlling temperature). Unit: model-dependent (e.g. $m^3 mol^{-1} s^{-1}$). Constraint: finite, $\geq 0$.
- Ready
March - A coupled march ready to run: stack and initial field attached. Terminal stages produce a
CompressiblePause(until) or an ownedReport(run/run_for). - Recovery
Temperature Stage - Rebuilds
T_treach step from the flow state:T_tr = T_post − ½|u|²/c_p, withT_postfrom a Rankine–Hugoniot normal-shock jump on the configured flight Mach. Reads the per-cell"speed"field (the state-derived|u|) and writes"T_tr". - Reentry
NavEngine - The onboard reentry trajectory + navigation engine.
- Reference
Scales - The fixed dimensional anchors the nondimensional marched state is rescaled by when publishing
physical projections (
T_tr = T̂·t_ref,n_tot = ρ̂·n_ref,speed = |û|·u_ref). Chosen once per corridor (the peak-station post-shock values are the natural pick) and never varied, so the marched numbers stay O(1) across the whole descent. - Refine
Branched - The refinement round’s branch worlds, prior rounds carried. Its only verb is
continue_for. - Refine
Marched - The refinement round’s continued reports, prior rounds carried. Its only verb is
reduce_all, which lands onSweptwithroundspopulated. - Refining
- After
refine: the next round’s cases, the shared fork point re-attached, and the prior round’s rows carried across the (possible) case-type change. Its only verb isbranch. - Regime
Class - The classifier’s decision at a step: the selected
GoverningModel, the Knudsen number it was selected from, the plasma/comms state (angular plasma frequency + whether GNSS is denied), and the powered-descent flight phase (Mach band, thrust state, touchdown). - Regime
Classify - The governing-model selector ([2]/[3]). Reads the peak mean free path from a
"mean_free_path"field and formsKn = λ / Lagainst the configured characteristic length, reads the peak electron density from"n_e"and maps it through aBlackoutTriggerto the GNSS-denial flag, then records theRegimeClasson the field, logging a provenance entry whenever the regime changes. A regime here is the full tuple (governing model, comms-denial, Mach band, thrust state, touchdown), not only the first two: a change in any component logs a transition. The last three stay neutral unlessSelf::with_flight_axesis attached, which is why a corridor without flight axes only ever logs model and comms-denial changes. The transition count is also published as a typed field (REGIME_TRANSITIONS_FIELD). A no-op if"mean_free_path"is absent. - Regime
Switch - A hysteresis (Schmitt-trigger) integrator switch: it flips to
IntegratorRegime::Directwhen the g-loadεrises aboveenter_direct, and back toIntegratorRegime::PerturbedConformalonly whenεfalls below the lowerexit_direct— the dead band prevents chatter aroundε_switch. - Report
- The owned result of a CfdFlow solver run: labeled observation series. The borrows
that produced it (manifold, solver) never escape
run; only this ownedReportdoes (design D2). Shared by all three solver kinds (march, MMS-verify, operator-study). - Retro
Thrust - The production retro-thrust stage (change
add-retropulsion-coupled-stages, capabilityretro-thrust-stage) — the thrust half of the M2PropulsionStub, productionized. - Reynolds
Stress - Reynolds stress tensor
R_ij = ⟨u'_i u'_j⟩(Pa, after multiplication by ρ in caller; here a kinematic Reynolds stress in m²/s² is also acceptable). Symmetric. Diagonal entries are non-negative (variances) — not enforced by the newtype to keep the constructor cheap; callers passing a tensor that violates the diagonal-positivity property are responsible for downstream interpretation. - Rotation
Rate Tensor - Rate-of-rotation (spin) tensor
Ω = 0.5·(∇u − ∇uᵀ). Antisymmetric:Ω_ji = −Ω_ij, withΩ_ii = 0.newchecks the antisymmetry invariant by exact equality. - RunOutput
- The result of a multi-step run: the final state, how many steps ran,
and whether the stop predicate was satisfied (always
truefor a completed fixed-horizon run). - Safety
Envelope - The verified safety envelope — the cybernetic loop’s Context
C. A bank-angle correction is admissible only inside it; the gate clamps into[−max_bank, max_bank]and refuses (yieldsBankCorrection::NoSafeAction) once the sensed heat flux or g-load exceeds its ceiling. - Slip
Wall - A free-slip (far-field) wall on the face perpendicular to
wall_axis(themax_sideface when true, the zero face otherwise): no penetration (zero wall-normal flux — already the projection’s Neumann condition at a closed face) with a free tangential velocity (zero shear). It un-pins the face’s wall-tangential edges from the auto-derived no-slip set, so the boundary-clipped viscous operator gives the zero-shear condition. It is the lateral boundary an isolated body needs (a confining no-slip wall would impose a spurious boundary layer). - Snapshot
Package - A snapshot package in memory: what the saver serializes and the loader returns.
- Snapshot
Section - One named section: an opaque byte blob with its own version byte, so a single section’s layout can evolve without bumping the container format.
- Solenoidal
Field - A divergence-free velocity 1-form: constructible only by projection.
- Space
Time Coordinate - Represents a point in 4D Space-Time with associated kinematic and clock data.
- Spacetime
Interval - Spacetime Interval ($s^2$).
- Spacetime
Vector - Wrapper for CausalMultiVector representing a vector in Spacetime.
- Specific
Enthalpy - Specific Enthalpy (J/kg). Reference-state dependent; may be negative.
- Speed
- Speed — scalar magnitude of velocity (m/s).
- Stagnation
Outcome - The stagnation-line blackout outcome at the post-shock equilibrium (the peak).
- Step
Context - The immutable per-step read-view a coupling stage consults: the time step and step index
(universal), plus a DEC-only manifold/velocity for stages that sample the primary field. The
backing sum type (design D8) lets the same
PhysicsStagerun under both the DEC and QTT marchers with no change to the stage trait. - Step
Output - The result of one projected march step: the new divergence-free state together with the diagnostics the step already computed — callers do not recompute them.
- Step
View - A cheap, read-only view of one completed step, passed to a
MarchRun::run_withhook. Exposes the step index/time, the raw edge cochain (for an edge-indexed probe), and convenience diagnostics off the manifold. - Stiffness
- Scalar stiffness (Young’s Modulus, etc.) (Pascals).
- Stiffness
Tensor - Stiffness tensor $C_{ijkl}$ (Rank 4) used in generalized Hooke’s law.
- Stokes
Vector - Stokes Vector. Intensity vector $(S_0, S_1, S_2, S_3)$. Rank 1, Dim 4 Tensor. Constraint: $S_0^2 \ge S_1^2 + S_2^2 + S_3^2$.
- Strain
- Strain tensor field $\boldsymbol{\epsilon}$ (Rank 2).
- Strain
Rate Tensor - Strain-rate tensor
S = 0.5·(∇u + ∇uᵀ). Symmetric:S_ij = S_ji.newchecks the symmetry invariant by exact equality, matching what natural construction0.5·(G + Gᵀ)produces in IEEE 754. Usenew_uncheckedto bypass the check in hot kernels where symmetry is guaranteed by the algebra. - Stress
- Scalar stress (Pascals), used for simple 1D cases or invariants (Von Mises).
- Stress
Tensor - Cauchy stress tensor $\boldsymbol{\sigma}$ (Rank 2).
- Study
Def - The study entry: a titled campaign awaiting its case axis. Opened by
CfdFlow::study. - Study
Effect - A phase value inside the study effect: either the carried value or the first (verb-tagged) error, plus the accumulated non-fatal warnings.
- Study
Effect Witness - A witness type that fixes the error
Eand warning-logWLogforStudyEffect, carrying the type-level functionType<T> = StudyEffect<T>. The lawfulFunctor/Applicative/Monadinstances live in the sibling modules; no consumer ever names this type. - Study
Error - A study failure: its cause plus the verb (stage) it arose in. A bare
Fromconversion leaves the stage empty; the campaign’s verbs re-tag with their own name viain_stage. - Study
View - A read-only view of a study at judgment time.
- Study
Warning Log - The accumulated study warnings, in the order they were recorded.
- Swept
- The reduced result rows (with any prior refinement rounds), awaiting record / gates.
- Table
Column - One column’s semantics: its name and its unit (empty string when the table carries none).
- Taylor
Green - The Taylor–Green vortex (2D embedded in 3D,
w = 0), an exact solution of the incompressible Navier–Stokes equations and the canonical MMS benchmark: - Temperature
- Absolute Temperature (Kelvin) — SI base unit.
- Thermal
Relax - A first-order conduction relaxation of a named scalar field toward a wall temperature:
T ← T + rate·dt·(T_wall − T)per cell. A stand-in forSolid::conduction()— enough to drive theν(T)feedback throughViscosityArrhenius. A no-op if the field is absent. - Throttle
Guidance - The production terminal-guidance stage: commands the throttle from the stopping-distance closed form, behind a latched ignition-corridor commit.
- Time
- Time (seconds) — SI base unit.
- Torque
- Torque (N·m).
- Trajectory
Nav - The trajectory/navigation stage ([4]): one
ReentryNavEnginestep per coupling step — KS predict with the ④ aero-force channel as the perturbation kick, then the ESKF measurement fold. - Twist
Angle - Moiré Twist Angle ($θ$).
- Uncertain
Boundary Source - Supplies the time-varying scalar value of a boundary (or, in principle, any parameter) from a
MaybeUncertain<R>stream — the cross-domain generalization of the Stage-4 uncertain-inflow mechanism (CFDadd-boundary-zone-abstractionD4). - Uncertain
Inflow Zone - A sensor-fed inflow boundary patch (CFD Stage-4 — the first
MaybeUncertaindata zone). - Uncertain
March Config - An owned uncertain-inflow march configuration. The dimension is fixed by the geometry at
.on(&manifold), not here. - Uncertain
March Config Builder - Fluent builder for an
UncertainMarchConfig. Required:solver,inflow_zone,sensor_stream,march_for. The seed defaults toSeed::Rest. - Uncertain
March Pipeline - The injected uncertain-march pipeline before a geometry is bound.
- Uncertain
March Run - A geometry-bound, runnable uncertain-inflow march.
- Uncertain
Step View - A read-only view of one completed uncertain-inflow step, passed to a
UncertainMarchRun::run_withhook. Exposes the step index, the raw edge cochain (for an edge-indexed wake probe), whether this step was a sensor dropout, and convenience diagnostics. - Vector
Potential - Electromagnetic Vector Potential $\mathbf{A}$.
- Velocity3
- Fluid velocity vector (m/s).
- Velocity
Gradient - Velocity gradient tensor
∇u. Pinned to the Jacobian convention:value[i][j] = ∂u_i / ∂x_j. Construction-time check is finiteness only — any finite 3×3 matrix is a valid velocity gradient. - Velocity
OneForm - A velocity field as an edge 1-form (grade-1 cochain) on a cubical lattice.
- Verdict
- The resolved outcome of a study: the gate outcomes and the accumulated non-fatal warnings.
- Verify
Config - An owned MMS-verification configuration: a
ManufacturedsolutionM, the sample point/time, and an optional kernel-in-the-loop amplitude march. Built byCfdConfigBuilder::verify; run byCfdFlow::verify. - Verify
Config Builder - Fluent builder for a
VerifyConfig. - Verify
Run - A runnable MMS-verification workflow.
- Vibrational
LagStage - The Park two-temperature vibrational lag: turns the per-cell translational
T_trinto the rate-controlling temperatureTₐ = √(T_tr·T_ve)that actually governs ionization. - Vibrational
Temperature - Vibrational (vibrational–electronic) temperature $T_{ve}$. Unit: K. Constraint: finite, $\geq 0$.
- Viscosity
- Dynamic Viscosity (Pa·s).
- Viscosity
Arrhenius - A temperature-dependent viscosity closure (Arrhenius form) that writes
ν(T)into the ambient — the stage that closes the thermo → fluid loop.ν(T) = ν_ref · exp(β·(T_ref/T − 1)), soν = ν_refatT = T_ref. Reads the mean of the"temperature"field (the wall-driven bulk temperature); with no temperature field it leavesνunchanged. - Viscous
Stress - Viscous (deviatoric) stress tensor
τ(Pa). Symmetric. Distinct from the full Cauchy stressσ = −p I + τ— only the viscous part appears in the dissipationΦ = τ:∇u ≥ 0and entropy-production guarantees. - Volume
- Volume (m³).
- Vorticity
TwoForm - A vorticity field as a face 2-form on a cubical lattice. Closedness
(
dω = 0) is automatic for anyω = d u♭byd² = 0and therefore not a runtime invariant of this carrier (design open question 3 ofadd-dec-solver-foundations: plain typed wrapper, no type-state). - Vorticity
Vector - Vorticity vector
ω = ∇ × u(1/s). Pseudovector under spatial reflection. - Wall
Shear Stress - Wall Shear Stress magnitude (Pa). Stored as magnitude; sign convention is carried by the calling context, not by this type.
- Wavelength
- Wavelength ($\lambda$). Unit: Meters. Constraint: > 0.
Enums§
- Bank
Correction - The bounded bank-angle correction — the loop’s Action
A. - Dropout
Verbosity - Verbosity policy for the BC-fallback record an
UncertainInflowZonewrites when a sensor sample fails its presence gate (CFD Stage-4 design D6, open question 3). - Duct
Area Profile - The duct’s cross-sectional area as a function of axial position.
- Evidence
Class - The provenance of a gate’s numeric bound.
- Flow
Branch - The isentropic branch of the area–Mach relation: for every area ratio $A/A^* > 1$ the relation has one subsonic and one supersonic root, and the caller must say which flow regime it is asking about.
- Governing
Model - The governing continuum/rarefaction model selected from the Knudsen number. The classic bands:
continuum Navier–Stokes below
Kn ≈ 0.01, slip-corrected continuum to≈ 0.1, transitional to≈ 10, free-molecular above. (Thresholds are configurable onRegimeClassify.) - Grading
- A smooth metric grading on one axis: a
PerEdgeCubicalReggeGeometrywhose edge lengths vary alongaxis, leavingd, the discrete Stokes theorem, and divergence-freeness exact (they are combinatorial) while resolving walls cheaply. The structure is unchanged; only accuracy order is at stake. - Integrator
Regime - Which trajectory integrator the regime detector has selected.
- Ladder
Outcome - The verdict on a refinement ladder.
- Mach
Regime - The compressibility band of the flight phase (change
add-retropulsion-coupled-stages, capabilityflight-regime-classifier), read from the carrier-published"flight_mach".Unknownis the neutral value a world that publishes no Mach carries, so the corridor’s classification is unchanged. - March
Stop - When the march stops.
- Operator
- A DEC operator whose discretization accuracy is studied.
- Regime
- A Navier–Stokes regime — the
FluidTheoryselector for MMS verification. - Scalar
Type Tag - The working scalar a snapshot’s values were encoded at. The tag is authoritative: loading a package into a program whose scalar differs is refused with no override, because a wrong scalar cannot be reinterpreted, only refused.
- Seed
- A named initial condition. Static (no boxed closures) so a
Mesh/case staysClone. The seed builds the vertex vector field and seeds it through the solver’s divergence-free projection. - Snapshot
Tier - The two snapshot tiers: a field snapshot (tensor fields plus grid metadata, the area-of-interest artifact) and a full resume package (the field snapshot plus the state’s passengers: carried scalars, navigation engine, provenance log, step index).
- Study
Warning - One non-fatal study diagnostic, classified by where it arose.
- Thrust
State - The propulsion state of the flight phase, read from the
"ignited"flag.Unknownis the neutral value for a world that carries no propulsion state.
Constants§
- IGNITION_
COMMIT_ AIDED_ FIELD - Whether the navigation was aided at the commit (
1aided,0dead-reckoning). - IGNITION_
COMMIT_ MACH_ FIELD - The flight Mach the corridor sensed at the commit.
- IGNITION_
COMMIT_ Q_ FIELD - The freestream dynamic pressure (Pa) the corridor sensed at the commit.
- IGNITION_
COMMIT_ SIGMA_ FIELD - The navigated position uncertainty (m, one sigma) at the commit.
- IGNITION_
COMMIT_ STEP_ FIELD - The step the ignition corridor committed on, published at the latching step.
- IGNITION_
LATCH_ FIELD - The field scalar carrying the one-way ignition latch across steps and leg boundaries.
- LEG_
RE_ SEEDS_ FIELD - The field scalar counting leg re-seeds, incremented every time a march resumes from a
MarchState. Cumulative across legs, because the coupled field carries it. - NAV_
STATES - The error-state dimension (17 = INS 15-state + clock bias/drift).
- PRESERVED_
DRAG_ FRACTION_ FIELD - The preserved-drag fraction the A0 correlation applied this step.
- REDUCED_
MASS_ AMU - Millikan–White reduced mass
μ_srof the dominant relaxing collision pair, in amu. - REGIME_
TRANSITIONS_ FIELD - The field scalar counting logged regime transitions, incremented once per genuine regime change. Cumulative across legs, because the coupled field carries it.
- STOPPING_
BURN_ ALTITUDE_ FIELD - The altitude (m) the stopping burn lit at, published when it latches.
- STOPPING_
BURN_ FIELD - The field scalar latching the start of a stopping burn, published by a guidance configured with
with_stopping_burn. Absent or zero while coasting. - STOPPING_
BURN_ SPEED_ FIELD - The flight speed (m/s) at which the stopping burn lit.
Traits§
- BitCodec
- Bit-exact encoding of a working scalar into a section payload. Values are raw IEEE bit patterns, little-endian, so encoding and decoding change no bits at any precision.
- Boundary
Zone - A composable boundary condition for the DEC Navier–Stokes solver.
- CfdScalar
- Scalar bound for every CFD theory and solver: precision as a parameter (
f32,f64,Float106), plus theMaybeParallelthread-safety marker that lets the inner topology operator loops fan out under--features parallel. Blanket- implemented for every qualifying type, so it is invisible to serial consumers and is exactly the Rayon requirement under theparallelfeature. - DecNs
Scalar - The composed bound set of the DEC solver stack: the topology operators
require
RealField + Default + PartialEq + Debug (+ FromPrimitive), the typed-form constructors addDisplay,Rk4’sScalaris satisfied byRealField + FromPrimitivethrough the blanket impl, andMaybeParallelcarries the topology crate’sparallel-feature thread-safety requirement (vacuous on serial builds;Send + Syncunder--features parallel— every workspace scalar qualifies). - Fluid
Theory - A Navier–Stokes regime expressed as a field-level marching rate, abstracted above both the DEC-native rate and the pointwise regime evaluators (the latter realized by sampling the state and calling the classical kernels for MMS / analytic verification).
- From
Table Row - The read-side inverse of
TableRow: reconstruct a row from cells delivered in schema order. - IoAction
- A deferred description of an input/output computation.
- Manufactured
- A manufactured analytic solution: the MMS seam. A corpus solution (e.g.
TaylorGreen) or a caller-supplied field both implement it; the verification workflow consumes it. - March
Dispatch - A configuration
CfdFlow::marchaccepts: it opens the family’s runnable pipeline, hidden behind the facade by the GAT, so onemarchverb serves every solver family (the DEC, QTT, duct, compressible, and uncertain marches) instead of five family-specific entries. - Marchable
- A configuration that marches itself to a
Reportin one shot. - Marcher
- One projected step of a CFD solver: the theory’s integration (RK4) followed by
the Leray projection back into the divergence-free type-state and the CFL guard,
reading the
crate::Ambientfor that step. - Metric
Provider - A structured curvilinear coordinate over a
2^Lx × 2^Lycomputational lattice, supplying the pieces a compressible marcher needs: field sampling, the chain-rule physical gradient, and the Jacobian volume factor — all carried as low-rank tensor trains. Static dispatch only (used as a generic bound). - Metric
Provider3d - A structured curvilinear coordinate over a
2^Lx × 2^Ly × 2^Lzcomputational lattice, supplying the pieces a 3-D compressible marcher needs: field sampling, the chain-rule physical gradient, and the Jacobian volume factor — all carried as low-rank tensor trains. - Physics
Stage - One between-step physics transform. Implemented for
()(identity) and(Head, Tail)(sequential composition) so couplings compose statically; a concrete physics is a small impl. - Solver
- The shared seam of the three CfdFlow solver kinds — the marching solver, the
MMS-verification solver, and the operator-accuracy solver. Each consumes its
fully-owned case (materializing any borrows as locals) and yields a common
Report. Adding a fourth kind is an implementation of this trait, not a change to the DSL core (design D2). - Table
Row - A typed table row: its column schema and its cells, in the working precision
Scalar. - Table
Scalar - A scalar that round-trips through a table cell exactly. Both the typed table reader and the
result-table writer bound on this, so a written table reads back with identical bits at the
written precision.
Copybecause the supported cell scalars (f64,f32,Float106) are all smallCopyvalues.
Functions§
- aero_
gravity_ ratio - The regime indicator
ε = a_aero / a_grav = |a_aero| / (GM/r²)— the g-load, computed from state. - body_
mask_ 2d - A smoothed cylinder volume-fraction mask:
χ = ½(1 − tanh(d/δ))over the signed distanced = ‖(x, y) − (cx, cy)‖ − radiusto the cylinder surface, smeared oversmoothing(=δ). Inside the body (d < 0)χ → 1; outsideχ → 0; on the surfaceχ = ½. Largersmoothing→ lower bond. - compressible_
ns_ continuity_ rhs - Continuity equation RHS:
∂ρ/∂t = − u·∇ρ − ρ ∇·u. - compressible_
ns_ continuity_ rhs_ effect - Causal wrapper for
compressible_ns::compressible_ns_continuity_rhs. - compressible_
ns_ energy_ rhs - Total-energy equation RHS in conservative form:
- compressible_
ns_ energy_ rhs_ effect - Causal wrapper for
compressible_ns::compressible_ns_energy_rhs. - compressible_
ns_ momentum_ rhs - Momentum equation RHS in primitive velocity form:
∂u/∂t = − (u·∇)u − (1/ρ) ∇p + (1/ρ) ∇·τ + g. - compressible_
ns_ momentum_ rhs_ effect - Causal wrapper for
compressible_ns::compressible_ns_momentum_rhs. - conservation_
round - Conservation-preserving rounding (design D4):
roundminimizes Frobenius error, not the integral, and the implicit solve carries its own residual, so a marched conservative field drifts its total. Carry the conservedtargettotal (the invariant fromt = 0) and, after rounding, restore it with a rank-1 uniform fixup (δ = (target − ∫after)/Nadded as a constant field), which projects out both the rounding error and the solver residual each step. - dec_
divergence_ residual - Post-projection divergence residual
‖δu♭‖_∞— the projection- exactness witness. - dec_
enstrophy - Enstrophy
Z = ½ Σ_f ω_f (⋆ω)_fwithω = d u♭. - dec_
helicity - Helicity
H = Σ_c (u♭ ∧ du♭)_c— the top-form cochain of the wedge, whose coefficients are already cell integrals. Three-dimensional flows only: in any other dimension the quantity is meaningless and the call is rejected. - dec_
kinetic_ energy - Kinetic energy
E = ½ Σ_e u_e (⋆u)_e— the discrete½ ∫ u♭ ∧ ⋆u♭through the diagonal Hodge star. - dec_
max_ speed - Maximum pointwise speed:
sharprecovers vertex vectors (layoutvertex * D + axis), the maximum Euclidean norm is returned. - dec_
ns_ step - Causal wrapper for
DecNsSolver::step: one projected march step, carrying the divergence-free edge cochain of the new state. - dec_
sample_ velocity - The velocity vector at the physical point
p(in spacing units), bysharp- reconstructing the vertex vector field and multilinearly interpolating. Used by the CfdFlow wake-probe (Strouhal signal) and centerline (Ghia profile) observations; a read-only point query, not on the step hot path. Corners outside the domain contribute zero (the wall / no-slip value at a boundary line). - dequantize
- Recovers the dense length-
2^Lfield from its quantized tensor train (inverse ofquantize). - dequantize_
2d - Recovers the dense
[2^Lx, 2^Ly]field from its quantized tensor train (inverse ofquantize_2d).lx/lygive the per-axis mode split. - dequantize_
3d - Recovers the dense
[2^Lx, 2^Ly, 2^Lz]field from its QTT (inverse ofquantize_3d).lx/ly/lzgive the per-axis mode split. - divergence_
3d - Divergence
∇·F = ∂ₓFₓ + ∂ᵧFᵧ + ∂_zF_zof a 3-D vector field given as three component trains and the three pre-built gradient operators (built once, reused each step by the marcher), recompressed. - divergence_
residual - The divergence residual
‖∇·(u, v)‖(Frobenius/L2 over the grid) — the projector forms the divergence train, then its norm is taken. No dequantize. - dominant_
frequency - The dominant frequency of an evenly-sampled signal by mean-crossing counting:
each pair of consecutive crossings of the signal mean spans one half-period, so
f = (crossings / 2) / TwithT = (n − 1)·dtthe record length. Returns0when fewer than two crossings are seen (no detectable oscillation over the record). - drag_
lift - Drag and lift coefficients on the immersed body, from the penalization-force contraction:
the force the fluid exerts on the body is the penalization momentum integral
F = (1/η) ∫ χ_body ⊙ (u − u_body) dVper component, nondimensionalized asC_d = F_x / (½ ρ U² D)(ρ = 1). A pure tensor-train contraction — no cut-cell surface or boundary fiber. - euler_
momentum_ rhs - Pointwise RHS of the Euler momentum equation (inviscid).
- euler_
momentum_ rhs_ effect - Causal wrapper for
euler::euler_momentum_rhs. - fingerprint64
- Digest caller-supplied world-description bytes into the fingerprint a snapshot stores. The input is a seam: today an example hashes its own constants; when the canonical config serialization lands, that serialization becomes the input without changing the container.
- force_
coefficient - A nondimensional force coefficient
C = F / (½ ρ U² A)atρ = 1(drag with the streamwise component, lift with the transverse, given the reference speedu_refand frontal area/lengthreference_area). - force_
load_ snapshot - Describe (but do not perform) a force load of a snapshot from
path. - fragment_
area_ vector - The net outward area vector
∮ n dAof a body’s fragments — zero for a closed surface (a consistency check on the fragment normals, independent of any field). - gradient
- Centered first-difference operator
∂ₓ ≈ (u[k+1] − u[k−1])/(2Δx)on a periodic2^Lgrid. - gradient_
x ∂ₓon a2^Lx × 2^Lyfield (serial x-then-y mode layout):gradient_1d(x) ⊗ I_y.- gradient_
x_ 3d ∂ₓon a2^Lx × 2^Ly × 2^Lzfield:gradient_1d(x) ⊗ I_{y,z}.- gradient_
y ∂ᵧon a2^Lx × 2^Lyfield:I_x ⊗ gradient_1d(y).- gradient_
y_ 3d ∂ᵧon a2^Lx × 2^Ly × 2^Lzfield:I_x ⊗ gradient_1d(y) ⊗ I_z(the middle block).- gradient_
z_ 3d ∂_zon a2^Lx × 2^Ly × 2^Lzfield:I_{x,y} ⊗ gradient_1d(z).- ideal_
gas_ pressure - Ideal-gas pressure
p = (γ−1)(E − ½ρu²) = (γ−1)(E − ½m²/ρ)from the conservative state. - ideal_
gas_ pressure_ 2d - Ideal-gas pressure
p = (γ−1)(E − ½(ρu²+ρv²)/ρ)from the 2-D conservative state(ρ, ρu, ρv, ρE). - incompressible_
ns_ rhs - Pointwise RHS of the incompressible Newtonian momentum equation.
- incompressible_
ns_ rhs_ effect - Causal wrapper for
incompressible_ns::incompressible_ns_rhs. - inflow_
march_ step - One uncertain-inflow march step (the
CausalFlowbind stage). See the module docs. - kinetic_
energy - Kinetic energy
½(‖u‖² + ‖v‖²)from the train norms — the‖·‖is the Frobenius/L2 norm over the2^Lx · 2^Lygrid coefficients, so this is the (unweighted) discrete kinetic energy. No dequantize. - laplacian
- Second-difference (Laplacian) operator
∂²ₓ ≈ (S₊ + S₋ − 2·I)/Δx²on a periodic2^Lgrid. - laplacian_
2d - 2-D periodic Laplacian
∂²ₓ + ∂²ᵧon a2^Lx × 2^Lyfield (the five-point stencil), recompressed. - laplacian_
3d - 3-D periodic Laplacian
∂²ₓ + ∂²ᵧ + ∂²_zon a2^Lx × 2^Ly × 2^Lzfield (the seven-point stencil), recompressed. - ler_
relax_ scalar - Relax a named
CoupledFieldscalar toward per-cell targets with per-cell timescales, in place, by the closed-formler_step. A no-op if the field is absent; thetargets/tausslices must match the field length. - ler_
step - The closed-form Lagging-Equilibrium Relaxation step:
x(t+Δt) = x_eq − (x_eq − x)·exp(−Δt/τ). - load_
resume_ state - Load and strictly verify a resume package from
pathin one call: checksum, scalar, and world fingerprint are all validated before the state is rebuilt. This is the entry point a different workflow uses days later; the returned field goes wherever an initial field would. - load_
snapshot - Describe (but do not perform) a strict snapshot load.
expected_scalaris the program’s working scalar;current_fingerprintis the digest of the current world description (passNoneto skip world validation, e.g. for inspection tools). - march_
inflow - Runs the uncertain-inflow march for
stepssteps and returns the final process — itsEffectLogholds every recorded dropout, itsStatethe final field and last-good value. - mask_
from_ fn - Samples a scalar field
f(x, y)over the2^Lx × 2^Lygrid of spacingsdx/dy(node(i, j)at(i·dx, j·dy), row-major[Nx, Ny]) and quantizes it to a rounded tensor train — the generic mask constructor (any smoothed indicator). - max_
bond - The maximum bond dimension across both velocity trains — the compression / rank metric. Each
rank-3 core
[r_left, phys, r_right]contributes its right bondshape()[2]. - max_
speed - The maximum speed
max √(u² + v²)over the dequantized2^Lx × 2^Lygrid. - nav_
transition_ matrix - The linearised 17-state error-state transition matrix
Ffor one step ofdtunder specific forcef. ReproducesInsErrorState::propagateexactly (F·x == propagate(x)), so the covariance and the state advance under one consistent linearisation. - pack_
resume - Pack a coupled field and its step index into a full resume package.
- pack_
tt_ fields - Pack named tensor-train fields and their grid shape into a field-tier package.
- penalization_
heat_ integral - The penalization heat integral over the immersed body:
Q = (1/η) ∫ χ_body ⊙ (T_w − T) dV, the volumetric rate at which the penalization term exchanges heat with the fluid to hold the body att_wall. The same contraction shape asdrag_lift, with temperature in place of velocity. - plume_
mask_ 2d - A smoothed plume-region volume-fraction mask: an axis-aligned ellipse with semi-axes
half_length(alongx, the retro-jet axis) andmax_radius(alongy), centered at(cx, cy), smoothed with the sameχ = ½(1 − tanh(d/δ))skirt asbody_mask_2d. The distance proxy is the normalized-ellipse level set rescaled to length units by the smaller semi-axis,d ≈ (‖((x−cx)/a, (y−cy)/b)‖ − 1)·min(a, b)— not a true signed distance, but monotone through the boundary, which is all the smoothed skirt needs. - positivity_
floor - Positivity limiter (task 3.3): clamp a field to a small positive
floor(dequantize →max(·, floor)→ requantize). A pragmatic guard keepingρ, p > 0through a strong rarefaction; the structural upgrade is entropy / log-variable evolution (deferred). - preserved_
drag_ fraction - The preserved-drag fraction: the powered (plume-imprinted) run’s contracted forebody
force over the unpowered baseline’s, from the same configuration — the dimensionless
quantity the Jarvinen–Adams correlation tabulates (
C_A,F / C_A0). A same-configuration ratio, so the harness’s common geometry biases cancel. - pressure_
surface_ force - The pressure surface force on an immersed cut body:
F_p = −∮ p n dA, summed over every cut cell’s fragments with the cell pressure fromcell_pressure(keyed by the cell’siter_cells(D)index — the registry’sCellId). - quantize
- Encodes a length-
2^Lperiodic 1-D field as anL-mode quantized tensor train (QTT). - quantize_
2d - Encodes a
2^Lx × 2^Lyperiodic field (shape[Nx, Ny]) as an(Lx + Ly)-mode QTT: the leadingLxmodes are the x-bits, the trailingLythe y-bits (MSB-first per axis, the natural row-major reshape). Axis operators built by lifting (seegradient_x/gradient_y) act on the matching block. - quantize_
3d - Encodes a
2^Lx × 2^Ly × 2^Lzperiodic field (shape[Nx, Ny, Nz]) as an(Lx + Ly + Lz)-mode QTT: the leadingLxmodes are the x-bits, the middleLythe y-bits, the trailingLzthe z-bits (MSB-first per axis, the natural row-major reshape). Axis operators built by block lifting (seegradient_x_3d/gradient_y_3d/gradient_z_3d) act on the matching block. The 3-D extension ofquantize_2d, the prerequisite codec for the Tier-B compressible marcher. - read_
rows - Describe (but do not perform) reading typed rows
Tfrompath. - read_
table - Describe (but do not perform) reading a typed numeric table from
path. - reduced_
mass_ amu - The Millikan–White reduced mass
μ_sr = m_s·m_r / (m_s + m_r)(amu) for a named collision pair. This is the checked constructor behindREDUCED_MASS_AMU. - save_
resume_ state - Save a full resume package to
pathin one call: pack the field and step, checksum, write. - save_
snapshot - Describe (but do not perform) saving
packagetopath. - shift_
minus S₋(cyclic−1) — the transpose (hence inverse) ofshift_plus.- shift_
plus - The periodic grid-shift operator
S₊(cyclic+1) on a2^Lgrid, as a bond-2 MPO built by hand. - stokes_
momentum_ rhs - Pointwise RHS of the Stokes momentum equation (creeping flow).
- stokes_
momentum_ rhs_ effect - Causal wrapper for
stokes::stokes_momentum_rhs. - strip_
pressure_ force - The forebody-strip pressure contraction of an evolved compressible state: the pressure is
recovered pointwise from the conserved components (
p = (γ−1)(E − ½|m|²/ρ), the ideal-gas closure), re-quantized, and contracted against the strip mask via the traininnerproduct and the cell area —∫ χ_strip · p dA, no cut-cell surface or boundary-fiber reconstruction. This is the compressible sibling of the incompressible penalization-force contraction: the integrand is the field’s own pressure (the preserved aerodynamic drag the Jarvinen–Adams dataset measured), not the forcing deficit. - strouhal_
number - The Strouhal number
St = f·L / Uof a wake-probesignalsampled everydt, with characteristic lengthlength(the body diameter) and free-stream speedu_ref. Returns0when no oscillation is detected (seedominant_frequency). - sweep
- Map
foveritemsin input order, collecting into oneResult. The first error in input order wins; under theparallelfeature every body still runs (there is no cancellation), but the returned error is the earliest failing case’s. - unpack_
resume - Unpack a full resume package into the coupled field and the suspended step index.
- unpack_
tt_ fields - Unpack a field-tier package into its named tensor trains and grid shape.
- viscous_
surface_ force - The viscous (friction) surface force on an immersed cut body:
F_μ = ∮_S μ(∇u + ∇uᵀ)·n dA, summed over every cut cell’s fragments. - wall_
heat_ flux - The Fourier-law wall heat flux on an immersed cut body:
q = −k ∮_S ∇T·n dA, summed over every cut cell’s fragments. - write_
rows - Describe (but do not perform) writing typed
rowstopath. - write_
table - Describe (but do not perform) writing
tabletopath, at the table’s precisionR.
Type Aliases§
- Compressible
Fork - One counterfactual branch forked from a
CompressiblePause. - Compressible
Pause - A compressible coupled march paused mid-flight (the shared branch state of a counterfactual
study). Produced by
CompressibleMarchRun::run_until. - Euler
State - One conservative state as three dense component buffers
(ρ, ρu, ρE). - Euler
State2d - One 2-D conservative state as four dense buffers
(ρ, ρu, ρv, ρE), row-major2^Lx × 2^Ly. - Euler
State3d - One 3-D conservative state as five dense buffers
(ρ, ρu, ρv, ρw, ρE), row-major2^Lx × 2^Ly × 2^Lz. - Euler
State Tt2d - One 2-D conservative state as four tensor trains
(ρ, ρu, ρv, ρE)— theMarcherstate. - Euler
State Tt3d - One 3-D conservative state as five tensor trains
(ρ, ρu, ρv, ρw, ρE)— theMarcherstate. - GateFn
- A gate check: reads a study view of any lifetime, returns
(passed, detail). - Inflow
Process - The stateful process the uncertain-inflow march threads: value
R(the step’s inflow),InflowMarchState,InflowContext. - March
Fork - One counterfactual branch forked from a
MarchPause: alternate its world or state, thencontinue_march. Alternation uses the verbatim core vocabulary; the error channel is never alternated. - March
Pause - A coupled QTT march paused mid-flight: the shared branch state every counterfactual fork
resumes from. Produced by
QttMarchRun::run_until. - Named
TtFields - Named tensor-train fields, as a field-tier snapshot stores them.
- Physical
Gradient3d - The physical gradient triple
(∂/∂x, ∂/∂y, ∂/∂z)a 3-D metric returns.