Documentation

LeanPool.NavierStokesAndEuler.Euler.TransversePacketForwardBounds

The source forward estimates apply to the actual packet paths #

The input bound below is on the literal forcing divided by g. The weighted Duhamel identities identify the result with the actual unweighted solution, and with its actual time derivative divided by g. No g derivative or profile extremum is introduced.

Actual forward coordinate and time-derivative bounds at one radius #

The source propagator bound is used only on the support half-ball. The real physical time derivative, divided by g, obeys the same fixed-Hq external-word radius as the forcing and spends just the solve's one shift.

The bounded time-right-side estimate applies to the actual PDE time derivative divided by g.

theorem EulerSourceCylinderEquation.velocityDerivative_eq_physicalRhs (P : ) [Fact (0 < P)] {U : Type u_1} {E : Type u_2} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] [NormedAddCommGroup E] [InnerProductSpace E] [CompleteSpace E] (S : Set EulerSmoothLimit.Space) (hS : MeasurableSet S) (T : ) (hT : 0 T) (Q Q₁ : EulerMeanCoefficients.SmoothCoefficientPath (↑(Set.Icc 0 T)) (U →L[] E)) (c : ) (hc : 0 < c) (hQ : ∀ (t : (Set.Icc 0 T)) (x : EulerSmoothLimit.Space) (v : U), c * v ^ 2 ((Q.field t) x) v ^ 2) (f : C((Set.Icc 0 T), (EulerLpCylinderPaths.Supported P E S hS))) (a₀ : (EulerLpCylinderPaths.Supported P U S hS)) :
velocityDerivative P S hS T hT Q Q₁ c hc hQ f a₀ = EulerSourceCylinderTimeBounds.physicalRhs P S hS Q Q₁ c hc hQ f (coordinates P S hS T hT Q Q₁ c hc hQ f a₀)
noncomputable def EulerSourceCylinderEquation.normalizedVelocityDerivative (P : ) [Fact (0 < P)] {U : Type u_1} {E : Type u_2} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] [NormedAddCommGroup E] [InnerProductSpace E] [CompleteSpace E] (S : Set EulerSmoothLimit.Space) (hS : MeasurableSet S) (T : ) (hT : 0 T) (Q Q₁ : EulerMeanCoefficients.SmoothCoefficientPath (↑(Set.Icc 0 T)) (U →L[] E)) (c : ) (hc : 0 < c) (hQ : ∀ (t : (Set.Icc 0 T)) (x : EulerSmoothLimit.Space) (v : U), c * v ^ 2 ((Q.field t) x) v ^ 2) (f : C((Set.Icc 0 T), (EulerLpCylinderPaths.Supported P E S hS))) (a₀ : (EulerLpCylinderPaths.Supported P U S hS)) (g : C((Set.Icc 0 T), )) (hg : ∀ (t : (Set.Icc 0 T)), 0 < g t) :

This is A_t/g, obtained from the actual equation rather than differentiating A/g.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    theorem EulerSourceCylinderEquation.velocityDerivative_weight_eq (P : ) [Fact (0 < P)] {U : Type u_1} {E : Type u_2} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] [NormedAddCommGroup E] [InnerProductSpace E] [CompleteSpace E] (S : Set EulerSmoothLimit.Space) (hS : MeasurableSet S) (T : ) (hT : 0 T) (Q Q₁ : EulerMeanCoefficients.SmoothCoefficientPath (↑(Set.Icc 0 T)) (U →L[] E)) (c : ) (hc : 0 < c) (hQ : ∀ (t : (Set.Icc 0 T)) (x : EulerSmoothLimit.Space) (v : U), c * v ^ 2 ((Q.field t) x) v ^ 2) (f : C((Set.Icc 0 T), (EulerLpCylinderPaths.Supported P E S hS))) (a₀ : (EulerLpCylinderPaths.Supported P U S hS)) (g : C((Set.Icc 0 T), )) (hg : ∀ (t : (Set.Icc 0 T)), 0 < g t) :
    velocityDerivative P S hS T hT Q Q₁ c hc hQ ((EulerContinuousTimeWeight.weight g) f) a₀ = (EulerContinuousTimeWeight.weight g) (normalizedVelocityDerivative P S hS T hT Q Q₁ c hc hQ f a₀ g hg)
    theorem EulerSourceCylinderEquation.normalized_full_velocityDerivative_eq (P : ) [Fact (0 < P)] {U : Type u_1} {E : Type u_2} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] [NormedAddCommGroup E] [InnerProductSpace E] [CompleteSpace E] (S : Set EulerSmoothLimit.Space) (hS : MeasurableSet S) (T : ) (hT : 0 T) (Q Q₁ : EulerMeanCoefficients.SmoothCoefficientPath (↑(Set.Icc 0 T)) (U →L[] E)) (c : ) (hc : 0 < c) (hQ : ∀ (t : (Set.Icc 0 T)) (x : EulerSmoothLimit.Space) (v : U), c * v ^ 2 ((Q.field t) x) v ^ 2) (f : C((Set.Icc 0 T), (EulerLpCylinderPaths.Supported P E S hS))) (a₀ : (EulerLpCylinderPaths.Supported P U S hS)) (g : C((Set.Icc 0 T), )) (hg : ∀ (t : (Set.Icc 0 T)), 0 < g t) :
    @[instance_reducible]

    Cache the standard NormedRing (U →L[ℝ] U) instance to shorten typeclass synthesis.

    Equations
    Instances For
      @[instance_reducible]

      Cache the standard NormedRing (Space →ᵇ U →L[ℝ] U) instance to shorten typeclass synthesis.

      Equations
      Instances For
        theorem EulerSourceCylinderForwardSobolev.coordinate_forward_block_bound (P : ) [Fact (0 < P)] {U : Type u_1} {E : Type u_2} {ι : Type u_3} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] [NormedAddCommGroup E] [InnerProductSpace E] [CompleteSpace E] [Fintype ι] (T : ) (hT : 0 T) (S : Set EulerSmoothLimit.Space) (hS : MeasurableSet S) (Q Q₁ : EulerMeanCoefficients.SmoothCoefficientPath (↑(Set.Icc 0 T)) (U →L[] E)) (c : ) (hc : 0 < c) (hQ : ∀ (t : (Set.Icc 0 T)) (x : EulerSmoothLimit.Space) (v : U), c * v ^ 2 ((Q.field t) x) v ^ 2) (g : C((Set.Icc 0 T), )) (hg : ∀ (t : (Set.Icc 0 T)), 0 < g t) (f : C((Set.Icc 0 T), (EulerLpCylinderPaths.Supported P E S hS))) (a₀ : (EulerLpCylinderPaths.Supported P U S hS)) (directions : ιEulerLiftedGradientSpace.LiftTangent) (hd : ∀ (i : ι), directions i 1) (q : ) (Ω : Set EulerSmoothLimit.Space) ( : MeasurableSet Ω) (hSc : IsCompact S) (hΩo : IsOpen Ω) (hsub : SΩ) (hΩball : xΩ, x 1 / 2) (hg₀ : g 0, = 1) (hf : ContDiff fun (a : EulerLiftedGradientSpace.LiftTangent) => (EulerLpCylinderTranslation.pathTranslate P a) ((EulerLpCylinderPaths.includePath P S hS) f)) (ha₀ : ContDiff fun (a : EulerLiftedGradientSpace.LiftTangent) => (EulerLpCylinderTranslation.translate P a) a₀) (C A D Rc C₀ C₁ Ri R : ) (hC : 0 C) (hA : 0 A) (hD : 0 D) (hRc : 0 Rc) (hC₀ : 0 C₀) (hC₁ : 0 C₁) (hRi : 2 * EulerTimeLpGramGevrey.gramCost c C₀ 1 * (Rc + 1) Ri) (hbQ : ∀ (n : ) (t : (Set.Icc 0 T)) (x : EulerSmoothLimit.Space), iteratedFDeriv n (⇑(Q.field t)) x C₀ * EulerGevrey.majorant Rc 0 n) (hbQ₁ : ∀ (n : ) (t : (Set.Icc 0 T)) (x : EulerSmoothLimit.Space), iteratedFDeriv n (⇑(Q₁.field t)) x C₁ * EulerGevrey.majorant Rc 0 n) (hRforcing : EulerParameterWordGevrey.sobolevCoefficientRadius ι (4 * Ri) R) (hR : 2 * EulerLinearDuhamel.forwardSobolevCost ι q T C A (forcingCost ι q Ri C₀ * D) (18 * Ri * C₀ * C₁) (4 * Ri) * (EulerParameterWordGevrey.sobolevCoefficientRadius ι (4 * Ri) + 1) R) (hH3 : ∀ (t s : (Set.Icc 0 T)), s t∀ (x : EulerSmoothLimit.Space), x 1 / 2((EulerLinearFundamentalExistence.fundamentalPath T hT (EulerSourceForwardCoefficient.sourceGenerator Q Q₁ c hc hQ)).forward t) x ∘SL ((EulerLinearFundamentalExistence.fundamentalPath T hT (EulerSourceForwardCoefficient.sourceGenerator Q Q₁ c hc hQ)).backward s) x C * g t / g s) (d : ) (hforce : ∀ (n : ), EulerParameterWordGevrey.block directions q (fun (a : EulerLiftedGradientSpace.LiftTangent) => (EulerLpCylinderTranslation.pathTranslate P a) ((EulerLpCylinderPaths.includePath P S hS) f)) n 0 D * EulerGevrey.majorant R d n) (hinitial : ∀ (n : ), EulerParameterWordGevrey.block directions q (fun (a : EulerLiftedGradientSpace.LiftTangent) => (EulerLpCylinderTranslation.translate P a) a₀) n 0 A * EulerGevrey.majorant R d n) (n : ) :
        theorem EulerSourceCylinderForwardSobolev.derivative_forward_block_bound (P : ) [Fact (0 < P)] {U : Type u_1} {E : Type u_2} {ι : Type u_3} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] [NormedAddCommGroup E] [InnerProductSpace E] [CompleteSpace E] [Fintype ι] (T : ) (hT : 0 T) (S : Set EulerSmoothLimit.Space) (hS : MeasurableSet S) (Q Q₁ : EulerMeanCoefficients.SmoothCoefficientPath (↑(Set.Icc 0 T)) (U →L[] E)) (c : ) (hc : 0 < c) (hQ : ∀ (t : (Set.Icc 0 T)) (x : EulerSmoothLimit.Space) (v : U), c * v ^ 2 ((Q.field t) x) v ^ 2) (g : C((Set.Icc 0 T), )) (hg : ∀ (t : (Set.Icc 0 T)), 0 < g t) (f : C((Set.Icc 0 T), (EulerLpCylinderPaths.Supported P E S hS))) (a₀ : (EulerLpCylinderPaths.Supported P U S hS)) (directions : ιEulerLiftedGradientSpace.LiftTangent) (hd : ∀ (i : ι), directions i 1) (q : ) (Ω : Set EulerSmoothLimit.Space) ( : MeasurableSet Ω) (hSc : IsCompact S) (hΩo : IsOpen Ω) (hsub : SΩ) (hΩball : xΩ, x 1 / 2) (hg₀ : g 0, = 1) (hf : ContDiff fun (a : EulerLiftedGradientSpace.LiftTangent) => (EulerLpCylinderTranslation.pathTranslate P a) ((EulerLpCylinderPaths.includePath P S hS) f)) (ha₀ : ContDiff fun (a : EulerLiftedGradientSpace.LiftTangent) => (EulerLpCylinderTranslation.translate P a) a₀) (C A D Rc C₀ C₁ Ri R : ) (hC : 0 C) (hA : 0 A) (hD : 0 D) (hRc : 0 Rc) (hC₀ : 0 C₀) (hC₁ : 0 C₁) (hRi : 2 * EulerTimeLpGramGevrey.gramCost c C₀ 1 * (Rc + 1) Ri) (hbQ : ∀ (n : ) (t : (Set.Icc 0 T)) (x : EulerSmoothLimit.Space), iteratedFDeriv n (⇑(Q.field t)) x C₀ * EulerGevrey.majorant Rc 0 n) (hbQ₁ : ∀ (n : ) (t : (Set.Icc 0 T)) (x : EulerSmoothLimit.Space), iteratedFDeriv n (⇑(Q₁.field t)) x C₁ * EulerGevrey.majorant Rc 0 n) (hRforcing : EulerParameterWordGevrey.sobolevCoefficientRadius ι (4 * Ri) R) (hR : 2 * EulerLinearDuhamel.forwardSobolevCost ι q T C A (forcingCost ι q Ri C₀ * D) (18 * Ri * C₀ * C₁) (4 * Ri) * (EulerParameterWordGevrey.sobolevCoefficientRadius ι (4 * Ri) + 1) R) (hH3 : ∀ (t s : (Set.Icc 0 T)), s t∀ (x : EulerSmoothLimit.Space), x 1 / 2((EulerLinearFundamentalExistence.fundamentalPath T hT (EulerSourceForwardCoefficient.sourceGenerator Q Q₁ c hc hQ)).forward t) x ∘SL ((EulerLinearFundamentalExistence.fundamentalPath T hT (EulerSourceForwardCoefficient.sourceGenerator Q Q₁ c hc hQ)).backward s) x C * g t / g s) (d : ) (hforce : ∀ (n : ), EulerParameterWordGevrey.block directions q (fun (a : EulerLiftedGradientSpace.LiftTangent) => (EulerLpCylinderTranslation.pathTranslate P a) ((EulerLpCylinderPaths.includePath P S hS) f)) n 0 D * EulerGevrey.majorant R d n) (hinitial : ∀ (n : ), EulerParameterWordGevrey.block directions q (fun (a : EulerLiftedGradientSpace.LiftTangent) => (EulerLpCylinderTranslation.translate P a) a₀) n 0 A * EulerGevrey.majorant R d n) (hRone : 1 R) (n : ) :

        The bounded field is the actual time derivative divided by g, by normalized_full_velocityDerivative_eq. No profile derivative appears.

        @[instance_reducible]

        Cache the standard NormedRing (U →L[ℝ] U) instance to shorten typeclass synthesis.

        Equations
        Instances For
          @[instance_reducible]

          Cache the standard NormedRing (Space →ᵇ U →L[ℝ] U) instance to shorten typeclass synthesis.

          Equations
          Instances For
            theorem EulerTransversePacketProvider.Forcing.source_velocity_normalized_bound {P : } [Fact (0 < P)] {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : Data U} {raw : EulerPacketProfileRecursion.VectorField} (G : Forcing P D raw) (I : InitialData P D) (g : C((Set.Icc 0 D.T), )) (hg : ∀ (t : (Set.Icc 0 D.T)), 0 < g t) {ι : Type u_2} [Fintype ι] (directions : ιEulerLiftedGradientSpace.LiftTangent) (hdir : ∀ (i : ι), directions i 1) (q : ) (Ω : Set EulerSmoothLimit.Space) ( : MeasurableSet Ω) (hΩo : IsOpen Ω) (hsub : D.supportΩ) (hΩball : xΩ, x 1 / 2) (hg0 : g 0, = 1) (C A Cf Rc C₀ C₁ Ri R : ) (hC : 0 C) (hA : 0 A) (hCf : 0 Cf) (hRc : 0 Rc) (hC₀ : 0 C₀) (hC₁ : 0 C₁) (hRi : 2 * EulerTimeLpGramGevrey.gramCost D.frameLower C₀ 1 * (Rc + 1) Ri) (hbF : ∀ (n : ) (t : (Set.Icc 0 D.T)) (x : EulerSmoothLimit.Space), iteratedFDeriv n (⇑(D.F.field t)) x C₀ * EulerGevrey.majorant Rc 0 n) (hbF₁ : ∀ (n : ) (t : (Set.Icc 0 D.T)) (x : EulerSmoothLimit.Space), iteratedFDeriv n (⇑(D.F₁.field t)) x C₁ * EulerGevrey.majorant Rc 0 n) (hRforcing : EulerParameterWordGevrey.sobolevCoefficientRadius ι (4 * Ri) R) (hR : 2 * EulerLinearDuhamel.forwardSobolevCost ι q D.T C A (EulerSourceCylinderForwardSobolev.forcingCost ι q Ri C₀ * Cf) (18 * Ri * C₀ * C₁) (4 * Ri) * (EulerParameterWordGevrey.sobolevCoefficientRadius ι (4 * Ri) + 1) R) (hH3 : ∀ (t s : (Set.Icc 0 D.T)), s t∀ (x : EulerSmoothLimit.Space), x 1 / 2((EulerLinearFundamentalExistence.fundamentalPath D.T (EulerSourceForwardCoefficient.sourceGenerator D.frame D.frameDerivative D.frameLower )).forward t) x ∘SL ((EulerLinearFundamentalExistence.fundamentalPath D.T (EulerSourceForwardCoefficient.sourceGenerator D.frame D.frameDerivative D.frameLower )).backward s) x C * g t / g s) (d : ) (hforce : ∀ (n : ), EulerParameterWordGevrey.block directions q (fun (a : EulerLiftedGradientSpace.LiftTangent) => (EulerLpCylinderTranslation.pathTranslate P a) ((EulerContinuousTimeWeight.normalize g hg) ((EulerLpCylinderPaths.includePath P D.support ) G.path))) n 0 Cf * EulerGevrey.majorant R d n) (hinitial : ∀ (n : ), EulerParameterWordGevrey.block directions q (fun (a : EulerLiftedGradientSpace.LiftTangent) => (EulerLpCylinderTranslation.translate P a) I.value) n 0 A * EulerGevrey.majorant R d n) (hRframe : EulerParameterWordGevrey.sobolevCoefficientRadius ι Rc R) (n : ) :

            The literal forward packet velocity divided by g, at the input radius.

            theorem EulerTransversePacketProvider.Forcing.source_derivative_normalized_bound {P : } [Fact (0 < P)] {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : Data U} {raw : EulerPacketProfileRecursion.VectorField} (G : Forcing P D raw) (I : InitialData P D) (g : C((Set.Icc 0 D.T), )) (hg : ∀ (t : (Set.Icc 0 D.T)), 0 < g t) {ι : Type u_2} [Fintype ι] (directions : ιEulerLiftedGradientSpace.LiftTangent) (hdir : ∀ (i : ι), directions i 1) (q : ) (Ω : Set EulerSmoothLimit.Space) ( : MeasurableSet Ω) (hΩo : IsOpen Ω) (hsub : D.supportΩ) (hΩball : xΩ, x 1 / 2) (hg0 : g 0, = 1) (C A Cf Rc C₀ C₁ Ri R : ) (hC : 0 C) (hA : 0 A) (hCf : 0 Cf) (hRc : 0 Rc) (hC₀ : 0 C₀) (hC₁ : 0 C₁) (hRi : 2 * EulerTimeLpGramGevrey.gramCost D.frameLower C₀ 1 * (Rc + 1) Ri) (hbF : ∀ (n : ) (t : (Set.Icc 0 D.T)) (x : EulerSmoothLimit.Space), iteratedFDeriv n (⇑(D.F.field t)) x C₀ * EulerGevrey.majorant Rc 0 n) (hbF₁ : ∀ (n : ) (t : (Set.Icc 0 D.T)) (x : EulerSmoothLimit.Space), iteratedFDeriv n (⇑(D.F₁.field t)) x C₁ * EulerGevrey.majorant Rc 0 n) (hRforcing : EulerParameterWordGevrey.sobolevCoefficientRadius ι (4 * Ri) R) (hR : 2 * EulerLinearDuhamel.forwardSobolevCost ι q D.T C A (EulerSourceCylinderForwardSobolev.forcingCost ι q Ri C₀ * Cf) (18 * Ri * C₀ * C₁) (4 * Ri) * (EulerParameterWordGevrey.sobolevCoefficientRadius ι (4 * Ri) + 1) R) (hH3 : ∀ (t s : (Set.Icc 0 D.T)), s t∀ (x : EulerSmoothLimit.Space), x 1 / 2((EulerLinearFundamentalExistence.fundamentalPath D.T (EulerSourceForwardCoefficient.sourceGenerator D.frame D.frameDerivative D.frameLower )).forward t) x ∘SL ((EulerLinearFundamentalExistence.fundamentalPath D.T (EulerSourceForwardCoefficient.sourceGenerator D.frame D.frameDerivative D.frameLower )).backward s) x C * g t / g s) (d : ) (hforce : ∀ (n : ), EulerParameterWordGevrey.block directions q (fun (a : EulerLiftedGradientSpace.LiftTangent) => (EulerLpCylinderTranslation.pathTranslate P a) ((EulerContinuousTimeWeight.normalize g hg) ((EulerLpCylinderPaths.includePath P D.support ) G.path))) n 0 Cf * EulerGevrey.majorant R d n) (hinitial : ∀ (n : ), EulerParameterWordGevrey.block directions q (fun (a : EulerLiftedGradientSpace.LiftTangent) => (EulerLpCylinderTranslation.translate P a) I.value) n 0 A * EulerGevrey.majorant R d n) (hRone : 1 R) (n : ) :

            This is A_t/g for the actual raw solution, not a derivative of A/g.