VML Data Structures #
Defines the core data structures for the VML steady state problem:
VMLSteadyState: intermediate bundle of derived factsVMLEquilibrium: the equilibrium configurationVMLInput: minimal physical input for the steady state problem
Intermediate bundle of DERIVED facts about a VML steady state on T³ × ℝ³.
This is NOT an input specification — all fields are proved from physical
hypotheses in VMLInput.toSteadyState (VMLInputDerive.lean). It serves as
an internal API between the derivation logic (Sections 3-7) and the final
assembly (main_steady_state).
Encodes:
- The VML equations at steady state (Vlasov, Ampère, Gauss, div B = 0)
- Analytical results from the H-theorem chain (Sections 3-4 of tex)
- Polynomial matching results (Section 5 of tex)
- Maximum principle conclusion (Section 7 of tex)
- x₀ : X
- ν : ℝ
- ρ_ion : ℝ
- ρ : X → ℝ
- hρ_cont : Continuous self.ρ
- hDiff_B (i : Fin 3) : FlatTorus3.IsSpatiallySmooth 2 fun (y : X) => self.B y i
- a_loc : X → ℝ
- c_loc : X → ℝ
- c₀ : ℝ
Instances For
Minimal physical input for the VML steady state problem.
Contains:
- The physical state (f, E, B) on a spatial domain X with [FlatTorus3 X]
- Physical parameters (ν, ρ_ion, Ψ)
- Maxwell equations at steady state
- Entropy dissipation vanishes (from H-theorem chain)
- Analytical interface hypotheses (polynomial identity, Gaussian integrals)
The spatial operators (grad, div, curl, ∫) and their properties come from the FlatTorus3 typeclass instance, NOT from this structure.
The key distinction from VMLSteadyState: this structure does NOT include the Maxwellian parameters (a, b, c), temperature/drift constancy, or density constancy — those are DERIVED in toSteadyState.
- x₀ : X
- ν : ℝ
- ρ_ion : ℝ
- hf_int (x : X) : MeasureTheory.Integrable (self.f x) MeasureTheory.volume
- ρ : X → ℝ
- hρ_cont : Continuous self.ρ
- hDiff_fv (v : Fin 3 → ℝ) : FlatTorus3.IsSpatiallySmooth 2 fun (x : X) => self.f x v
- hDiff_B (i : Fin 3) : FlatTorus3.IsSpatiallySmooth 2 fun (y : X) => self.B y i
- hPSD_cont (x : X) : Continuous fun (p : (Fin 3 → ℝ) × (Fin 3 → ℝ)) => PSDIntegrand self.Ψ (self.f x) p.1 p.2
- hPSD_inner (x : X) (v : Fin 3 → ℝ) : MeasureTheory.Integrable (PSDIntegrand self.Ψ (self.f x) v) MeasureTheory.volume
- hPSD_outer (x : X) : MeasureTheory.Integrable (fun (v : Fin 3 → ℝ) => ∫ (w : Fin 3 → ℝ), PSDIntegrand self.Ψ (self.f x) v w) MeasureTheory.volume
- hPolynomialIdentity (a : X → ℝ) (b : X → Fin 3 → ℝ) (c : X → ℝ) : FlatTorus3.IsSpatiallySmooth 2 a → (∀ (j : Fin 3), FlatTorus3.IsSpatiallySmooth 2 fun (y : X) => b y j) → FlatTorus3.IsSpatiallySmooth 2 c → (∀ (x : X) (v : Fin 3 → ℝ), self.f x v = Real.exp (a x + b x ⬝ᵥ v + c x * normSq v)) → ∀ (x : X) (v : Fin 3 → ℝ), v ⬝ᵥ FlatTorus3.gradX c x * normSq v + ∑ i : Fin 3, ∑ j : Fin 3, v i * v j * FlatTorus3.gradX (fun (y : X) => b y j) x i + v ⬝ᵥ FlatTorus3.gradX a x + self.E x ⬝ᵥ b x + v ⬝ᵥ ((2 * c x) • self.E x + cross (self.B x) (b x)) = 0
- x_max : X
- x_min : X