Documentation

LeanPool.NavierStokesAndEuler.Euler.OrdinaryEulerLimit

A common-interval Euler limit constructed from genuine smooth Euler evolutions. The only compactness inputs are actual uniform Sobolev bounds and L² Cauchy convergence. The nonlinear term, pressure, and time equation are all recovered in the proof.

theorem EulerOrdinarySobolev.SmoothLimitData.field_integral_equation {T : } {hT : 0 T} {V : Evolution T hT} (L : SmoothLimitData (fun (k : ) => (V k).velocity) ) (hpos : 0 < T) (M : ) (hb : ∀ (k : ) (t : (Set.Icc 0 T)), tensorNorm 3 ((V k).velocity t) M) (t : (Set.Icc 0 T)) :
theorem EulerOrdinarySobolev.SmoothLimitData.field_hasDerivWithinAt {T : } {hT : 0 T} {V : Evolution T hT} (L : SmoothLimitData (fun (k : ) => (V k).velocity) ) (hpos : 0 < T) (M : ) (hb : ∀ (k : ) (t : (Set.Icc 0 T)), tensorNorm 3 ((V k).velocity t) M) (t : (Set.Icc 0 T)) :
HasDerivWithinAt (fun (r : ) => (L.field (Set.projIcc 0 T hT r)).toLp) (projectedRhs (L.field t)).toLp (Set.Icc 0 T) t
noncomputable def EulerOrdinarySobolev.SmoothLimitData.toEvolution {T : } {hT : 0 T} {V : Evolution T hT} (L : SmoothLimitData (fun (k : ) => (V k).velocity) ) (hpos : 0 < T) (M : ) (hb : ∀ (k : ) (t : (Set.Icc 0 T)), tensorNorm 3 ((V k).velocity t) M) :

To evolution, bundling velocity, pressureForce, velocity_continuous, pressure_continuous and the required compatibility proofs.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    noncomputable def EulerOrdinarySobolev.eulerLimitData {T : } {hT : 0 T} (V : Evolution T hT) (hb : ∀ (q : ), ∃ (M : ), ∀ (k : ) (t : (Set.Icc 0 T)), tensorNorm q ((V k).velocity t) M) (h0 : CauchySeq fun (k : ) => fieldPath (V k).velocity ) :
    SmoothLimitData (fun (k : ) => (V k).velocity)

    Euler limit data, given by smoothLimitData hT (fun k => (V k).velocity) (fun k => (V k).velocity_continuous) hb h0.

    Equations
    Instances For
      noncomputable def EulerOrdinarySobolev.limitEvolution {T : } {hT : 0 T} (V : Evolution T hT) (hpos : 0 < T) (hb : ∀ (q : ), ∃ (M : ), ∀ (k : ) (t : (Set.Icc 0 T)), tensorNorm q ((V k).velocity t) M) (h0 : CauchySeq fun (k : ) => fieldPath (V k).velocity ) :

      Limit evolution, given by (eulerLimitData V hb h0).toEvolution hpos (Classical.choose (hb 3)) (Classical.choose_spec (hb 3)).

      Equations
      Instances For
        theorem EulerOrdinarySobolev.limitEvolution_jet_convergence {T : } {hT : 0 T} (V : Evolution T hT) (hpos : 0 < T) (hb : ∀ (q : ), ∃ (M : ), ∀ (k : ) (t : (Set.Icc 0 T)), tensorNorm q ((V k).velocity t) M) (h0 : CauchySeq fun (k : ) => fieldPath (V k).velocity ) (q : ) :
        Filter.Tendsto (fun (k : ) => jetPath (V k).velocity q) Filter.atTop (nhds (jetPath (limitEvolution V hpos hb h0).velocity q))
        theorem EulerOrdinarySobolev.limitEvolution_initial {T : } {hT : 0 T} (V : Evolution T hT) (hpos : 0 < T) (hb : ∀ (q : ), ∃ (M : ), ∀ (k : ) (t : (Set.Icc 0 T)), tensorNorm q ((V k).velocity t) M) (h0 : CauchySeq fun (k : ) => fieldPath (V k).velocity ) (u0 : EulerMeanSolenoidal.L2) (hu0 : Filter.Tendsto (fun (k : ) => ((V k).velocity 0, ).toLp) Filter.atTop (nhds u0)) :
        ((limitEvolution V hpos hb h0).velocity 0, ).toLp = u0
        theorem EulerOrdinarySobolev.limitEvolution_bound {T : } {hT : 0 T} (V : Evolution T hT) (hpos : 0 < T) (hb : ∀ (q : ), ∃ (M : ), ∀ (k : ) (t : (Set.Icc 0 T)), tensorNorm q ((V k).velocity t) M) (h0 : CauchySeq fun (k : ) => fieldPath (V k).velocity ) (q : ) (M : ) (hM : ∀ (k : ) (t : (Set.Icc 0 T)), tensorNorm q ((V k).velocity t) M) (t : (Set.Icc 0 T)) :
        tensorNorm q ((limitEvolution V hpos hb h0).velocity t) M
        noncomputable def EulerOrdinarySobolev.Evolution.scalarPressure {T : } {hT : 0 T} (U : Evolution T hT) (t : (Set.Icc 0 T)) :

        Scalar pressure, given by EulerCanonicalGraphPotential.radialPotential (U.pressureForce t).field.

        Equations
        Instances For