Documentation

LeanPool.NavierStokesAndEuler.Euler.Foundations.PacketRay

The triangular ray system and its perturbation estimates. These results derive ray closeness from the differential equations and coefficient errors.

The sum norm of three scalar coordinates.

Equations
Instances For
    theorem EulerPacketRay.triangular_ray_formula {β T : } {P Q N f g h : } (hP : tSet.Icc 0 T, HasDerivAt P (-Q t + f t) t) (hQ : tSet.Icc 0 T, HasDerivAt Q (-2 * β * N t + g t) t) (hN : tSet.Icc 0 T, HasDerivAt N (h t) t) (hfc : ContinuousOn f (Set.Icc 0 T)) (hgc : ContinuousOn g (Set.Icc 0 T)) (hhc : ContinuousOn h (Set.Icc 0 T)) (t : ) :
    t Set.Icc 0 TP t = P 0 - t * Q 0 + β * t ^ 2 * N 0 + (s : ) in 0..t, f s - (t - s) * g s + β * (t - s) ^ 2 * h s Q t = Q 0 - 2 * β * t * N 0 + (s : ) in 0..t, g s - 2 * β * (t - s) * h s N t = N 0 + (s : ) in 0..t, h s

    Exact Duhamel formulas for the triangular ray system.

    theorem EulerPacketRay.triangular_ray_kernel_bound {β Θ d p q n : } ( : 0 β) (hβupper : β 1) ( : 1 Θ) (hd : 0 d) (hdΘ : d Θ) :
    norm3 (p - d * q + β * d ^ 2 * n) (q - 2 * β * d * n) n 4 * Θ ^ 2 * norm3 p q n

    The triangular ray propagator has a polynomial norm bound.

    theorem EulerPacketRay.triangular_ray_forced_bound {β Θ T : } {P Q N f g h : } ( : 0 β) (hβupper : β 1) ( : 1 Θ) (hT : T Θ) (hP : tSet.Icc 0 T, HasDerivAt P (-Q t + f t) t) (hQ : tSet.Icc 0 T, HasDerivAt Q (-2 * β * N t + g t) t) (hN : tSet.Icc 0 T, HasDerivAt N (h t) t) (hfc : ContinuousOn f (Set.Icc 0 T)) (hgc : ContinuousOn g (Set.Icc 0 T)) (hhc : ContinuousOn h (Set.Icc 0 T)) (t : ) :
    t Set.Icc 0 Tnorm3 (P t) (Q t) (N t) 4 * Θ ^ 2 * norm3 (P 0) (Q 0) (N 0) + 4 * Θ ^ 2 * (s : ) in 0..t, norm3 (f s) (g s) (h s)

    The exact triangular ray equations imply a polynomial Duhamel bound.

    theorem EulerPacketRay.triangular_ray_perturbed_bound {β Θ T δ : } {P Q N f g h : } ( : 0 β) (hβupper : β 1) ( : 1 Θ) (hT0 : 0 T) (hT : T Θ) ( : 0 δ) (hsmall : 4 * Θ ^ 2 * δ * T 1 / 2) (hP : tSet.Icc 0 T, HasDerivAt P (-Q t + f t) t) (hQ : tSet.Icc 0 T, HasDerivAt Q (-2 * β * N t + g t) t) (hN : tSet.Icc 0 T, HasDerivAt N (h t) t) (hfc : ContinuousOn f (Set.Icc 0 T)) (hgc : ContinuousOn g (Set.Icc 0 T)) (hhc : ContinuousOn h (Set.Icc 0 T)) (hforcing : tSet.Icc 0 T, norm3 (f t) (g t) (h t) δ * norm3 (P t) (Q t) (N t)) (t : ) :
    t Set.Icc 0 Tnorm3 (P t) (Q t) (N t) 8 * Θ ^ 2 * norm3 (P 0) (Q 0) (N 0)

    A small perturbation of the triangular ray system remains polynomially bounded on the whole interval.

    theorem EulerPacketRay.triangular_ray_difference_bound {β Θ T δ η : } {P Q N f g h : } ( : 0 β) (hβupper : β 1) ( : 1 Θ) (hT0 : 0 T) (hT : T Θ) ( : 0 δ) ( : 0 η) (hsmall : 4 * Θ ^ 2 * δ * T 1 / 2) (hP : tSet.Icc 0 T, HasDerivAt P (-Q t + f t) t) (hQ : tSet.Icc 0 T, HasDerivAt Q (-2 * β * N t + g t) t) (hN : tSet.Icc 0 T, HasDerivAt N (h t) t) (hfc : ContinuousOn f (Set.Icc 0 T)) (hgc : ContinuousOn g (Set.Icc 0 T)) (hhc : ContinuousOn h (Set.Icc 0 T)) (hforcing : tSet.Icc 0 T, norm3 (f t) (g t) (h t) δ * norm3 (P t) (Q t) (N t)) (hinitial : norm3 (P 0) (Q 0) (N 0 - 1) η) (t : ) :
    t Set.Icc 0 Tnorm3 (P t - β * t ^ 2) (Q t + 2 * β * t) (N t - 1) 4 * Θ ^ 2 * η + 32 * δ * Θ ^ 5 * (1 + η)

    Ray closeness is derived from the ODE and the forcing bound, with a polynomial loss and arbitrary small initial ray error.

    def EulerPacketRay.idealRayEntry (β : ) (i j : Fin 3) :

    Entries of the triangular ideal ray generator.

    Equations
    Instances For
      theorem EulerPacketRay.three_term_bound {a b c p q n e : } (ha : |a| e) (hb : |b| e) (hc : |c| e) :
      |a * p + b * q + c * n| e * norm3 p q n
      theorem EulerPacketRay.ray_closeness_of_coefficient_error {β Θ T e : } {A : Fin 3Fin 3} {P Q N : } ( : 0 β) (hβupper : β 1) ( : 1 Θ) (hT0 : 0 T) (hT : T Θ) (he : 0 e) (hsmall : 400 * e * Θ ^ 5 1) (hAc : ∀ (i j : Fin 3), ContinuousOn (fun (t : ) => A t i j) (Set.Icc 0 T)) (hP : tSet.Icc 0 T, HasDerivAt P (A t 0 0 * P t + A t 0 1 * Q t + A t 0 2 * N t) t) (hQ : tSet.Icc 0 T, HasDerivAt Q (A t 1 0 * P t + A t 1 1 * Q t + A t 1 2 * N t) t) (hN : tSet.Icc 0 T, HasDerivAt N (A t 2 0 * P t + A t 2 1 * Q t + A t 2 2 * N t) t) (hclose : tSet.Icc 0 T, ∀ (i j : Fin 3), |A t i j - idealRayEntry β i j| e) (hinitial : norm3 (P 0) (Q 0) (N 0 - 1) e) (t : ) :
      t Set.Icc 0 Tnorm3 (P t - β * t ^ 2) (Q t + 2 * β * t) (N t - 1) 200 * e * Θ ^ 5 1 / 2 N t

      The ray closeness estimate follows from entrywise coefficient error. No closeness of the ray itself is assumed. The third component stays away from zero, as required to eliminate the third velocity coordinate.

      def EulerPacketRay.frameSkew (B : Fin 3Fin 3) (i j : Fin 3) :

      The skew matrix of the moving orthonormal frame in the source.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        def EulerPacketRay.parentEntry (B E : Fin 3Fin 3) (h : ) (i j : Fin 3) :

        The older gradient plus rank-one parent shear and error.

        Equations
        Instances For
          def EulerPacketRay.rayScale (ε : ) (i : Fin 3) :

          Coordinate scaling for the normalized ray.

          Equations
          Instances For
            noncomputable def EulerPacketRay.scaledRayEntry (a ε : ) (M S : Fin 3Fin 3) (i j : Fin 3) :

            Coefficients after the moving-frame transformation and the scaling m/s₀=(P,εQ,N), dt/dτ=ε/a.

            Equations
            Instances For
              def EulerPacketRay.normalizedRayEntry (ε H κ : ) (B E : Fin 3Fin 3) (i j : Fin 3) :

              The scaled moving-frame ray entries in normalized coefficients.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                theorem EulerPacketRay.scaled_ray_entry_identity {a ε h : } {B E : Fin 3Fin 3} (ha : a 0) ( : ε 0) (i j : Fin 3) :
                scaledRayEntry a ε (parentEntry B E h) (frameSkew B) i j = normalizedRayEntry ε (ε ^ 2 * h / a) (B 2 1 / a) (fun (i j : Fin 3) => ε * B i j / a) (fun (i j : Fin 3) => E i j / a) i j

                Exact entries of the scaled moving-frame ray matrix.

                theorem EulerPacketRay.normalized_ray_entry_error {ε H κ β e : } {B E : Fin 3Fin 3} ( : 0 ε) (hεupper : ε 1) (he : 0 e) (hB : ∀ (i j : Fin 3), |B i j| e) (hE : ∀ (i j : Fin 3), |E i j| e) (hH : |H - 1| e) ( : |κ - β| e) (i j : Fin 3) :
                |normalizedRayEntry ε H κ B E i j - idealRayEntry β i j| 4 * e

                Each scaled matrix entry is close to the triangular ideal matrix when the normalized older-gradient, error, shear, and coupling coefficients are small.

                theorem EulerPacketRay.scaled_ray_entry_error {a ε h β e : } {B E : Fin 3Fin 3} (ha : a 0) ( : 0 < ε) (hεupper : ε 1) (he : 0 e) (hB : ∀ (i j : Fin 3), |ε * B i j / a| e) (hE : ∀ (i j : Fin 3), |E i j / a| e) (hH : |ε ^ 2 * h / a - 1| e) ( : |B 2 1 / a - β| e) (i j : Fin 3) :
                |scaledRayEntry a ε (parentEntry B E h) (frameSkew B) i j - idealRayEntry β i j| 4 * e

                The original moving-frame entries imply the coefficient hypothesis of ray_closeness_of_coefficient_error.

                theorem EulerPacketRay.abs_product_difference {a b c d ea eb A B : } (ha : |a - c| ea) (hb : |b - d| eb) (hc : |c| A) (hd : |b| B) :
                |a * b - c * d| ea * B + A * eb

                A product difference estimate used to control the projection denominator.

                noncomputable def EulerPacketRay.velocityThird (P Q N U V : ) :

                The third velocity coordinate imposed by ray orthogonality.

                Equations
                Instances For

                  Squared norm of the scaled ray.

                  Equations
                  Instances For
                    theorem EulerPacketRay.ray_geometric_bounds {Θ ρ ε P Q N P₀ Q₀ U V : } ( : 1 Θ) ( : 0 ρ) (hρupper : ρ 1 / 2) (hP₀ : |P₀| Θ ^ 2) (hQ₀ : |Q₀| 2 * Θ ^ 2) (hP : |P - P₀| ρ) (hQ : |Q - Q₀| ρ) (hN : |N - 1| ρ) :
                    1 / 2 N |P| 2 * Θ ^ 2 |Q| 3 * Θ ^ 2 |N| 2 |velocityThird P Q N U V| 6 * Θ ^ 2 * (|U| + |V|) 1 / 4 rayDenominator ε P Q N |rayDenominator ε P Q N - (1 + P₀ ^ 2)| 6 * ρ * Θ ^ 2 + 9 * ε ^ 2 * Θ ^ 4

                    Elimination of the third velocity component and the denominator estimate are consequences of the proved ray error.

                    def EulerPacketRay.normalizedVelocityEntry (ε H α κ : ) (B E : Fin 3Fin 3) (i j : Fin 3) :

                    The three rows entering J_v, with the middle row multiplied by ε.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For

                      The ideal scaled parent action on velocity coordinates.

                      Equations
                      Instances For
                        noncomputable def EulerPacketRay.scaledVelocityEntry (a ε : ) (M : Fin 3Fin 3) (i j : Fin 3) :

                        Parent-gradient entries after ray and velocity rescaling.

                        Equations
                        Instances For
                          theorem EulerPacketRay.scaled_velocity_entry_identity {a ε h : } {B E : Fin 3Fin 3} (ha : a 0) (i j : Fin 3) :
                          scaledVelocityEntry a ε (parentEntry B E h) i j = normalizedVelocityEntry ε (ε ^ 2 * h / a) (B 0 1 / a) (B 2 1 / a) (fun (i j : Fin 3) => ε * B i j / a) (fun (i j : Fin 3) => E i j / a) i j
                          theorem EulerPacketRay.normalized_velocity_entry_error {ε H α κ β e : } {B E : Fin 3Fin 3} ( : 0 ε) (hεupper : ε 1) (he : 0 e) (hB : ∀ (i j : Fin 3), |B i j| e) (hE : ∀ (i j : Fin 3), |E i j| e) (hH : |H - 1| e) ( : |α - 1| e) ( : |κ - β| e) (i j : Fin 3) :
                          |normalizedVelocityEntry ε H α κ B E i j - idealVelocityEntry β i j| 3 * e
                          def EulerPacketRay.velocityNumerator (A : Fin 3Fin 3) (P Q N U V W : ) :

                          The scalar pressure numerator in the scaled coordinates.

                          Equations
                          Instances For
                            theorem EulerPacketRay.velocity_numerator_error {A : Fin 3Fin 3} {Θ ρ e β P Q N P₀ Q₀ U V W : } ( : 1 Θ) ( : 0 ρ) (he : 0 e) ( : |β| 1) (hA : ∀ (i j : Fin 3), |A i j - idealVelocityEntry β i j| e) (hp : |P| 2 * Θ ^ 2) (hq : |Q| 3 * Θ ^ 2) (hn : |N| 2) (hP : |P - P₀| ρ) (hQ : |Q - Q₀| ρ) (hN : |N - 1| ρ) (hw : |W| 6 * Θ ^ 2 * (|U| + |V|)) :
                            |velocityNumerator A P Q N U V W - ((P₀ + β) * V + Q₀ * U)| (49 * e * Θ ^ 4 + 2 * ρ) * (|U| + |V|)
                            def EulerPacketRay.normalizedUnprojectedEntry (ε H α : ) (B E : Fin 3Fin 3) (i j : Fin 3) :

                            The first two velocity rows before pressure projection.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For

                              Ideal entries of the unprojected two-component velocity equation.

                              Equations
                              Instances For
                                theorem EulerPacketRay.scaled_unprojected_entry_identity {a ε h : } {B E : Fin 3Fin 3} (ha : a 0) (j : Fin 3) :
                                scaledVelocityEntry a ε (fun (i j : Fin 3) => parentEntry B E h i j + frameSkew B i j) 0 j = normalizedUnprojectedEntry ε (ε ^ 2 * h / a) (B 0 1 / a) (fun (i j : Fin 3) => ε * B i j / a) (fun (i j : Fin 3) => E i j / a) 0 j scaledVelocityEntry a ε (fun (i j : Fin 3) => parentEntry B E h i j + frameSkew B i j) 1 j = normalizedUnprojectedEntry ε (ε ^ 2 * h / a) (B 0 1 / a) (fun (i j : Fin 3) => ε * B i j / a) (fun (i j : Fin 3) => E i j / a) 1 j

                                Exact first and second rows of the moving-frame velocity operator.

                                theorem EulerPacketRay.normalized_unprojected_entry_error {ε H α e : } {B E : Fin 3Fin 3} ( : 0 ε) (hεe : ε e) (he : 0 e) (heupper : e 1) (hB : ∀ (i j : Fin 3), |B i j| e) (hE : ∀ (i j : Fin 3), |E i j| e) (hH : |H - 1| e) ( : |α - 1| e) (i j : Fin 3) :
                                theorem EulerPacketRay.quotient_difference_bound {P P₀ D D₀ ρ d A : } (hD : 1 / 4 D) (hD₀ : 1 D₀) (hP : |P - P₀| ρ) (hP₀ : |P₀| A) (hDD : |D - D₀| d) :
                                |P / D - P₀ / D₀| 4 * ρ + 4 * A * d

                                A quotient difference bound requiring only the quantitative lower bounds actually available for the ray denominator.

                                theorem EulerPacketRay.velocity_projection_error {Θ ρ d j ε P Q D P₀ D₀ J J₀ U V : } ( : 1 Θ) ( : 0 ρ) (hd : 0 d) (_hj : 0 j) (hjupper : j 1) (hD : 1 / 4 D) (hD₀ : 1 D₀) (hP : |P - P₀| ρ) (hP₀ : |P₀| Θ ^ 2) (hp : |P| 2 * Θ ^ 2) (hq : |Q| 3 * Θ ^ 2) (hDD : |D - D₀| d) (hJ : |J - J₀| j * (|U| + |V|)) (hJ₀ : |J₀| 2 * Θ ^ 2 * (|U| + |V|)) :
                                |2 * P * J / D - 2 * P₀ * J₀ / D₀| + |2 * ε ^ 2 * Q * J / D| (16 * Θ ^ 2 * j + 16 * ρ * Θ ^ 2 + 16 * Θ ^ 4 * d + 72 * ε ^ 2 * Θ ^ 4) * (|U| + |V|)

                                Quantitative stability of the two pressure projection components.

                                noncomputable def EulerPacketRay.velocityFirstRhs (A C : Fin 3Fin 3) (ε P Q N U V : ) :

                                The first normalized velocity equation with pressure projection.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  noncomputable def EulerPacketRay.velocitySecondRhs (A C : Fin 3Fin 3) (ε P Q N U V : ) :

                                  The second normalized velocity equation with pressure projection.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For
                                    theorem EulerPacketRay.velocity_rhs_error {A C : Fin 3Fin 3} {Θ e ε β P Q N P₀ Q₀ U V : } ( : 1 Θ) (he : 0 e) ( : 0 ε) (hεe : ε e) (hsmall : 10000 * e * Θ ^ 5 1) ( : |β| 1) (hA : ∀ (i j : Fin 3), |A i j - idealVelocityEntry β i j| 3 * e) (hC : ∀ (i j : Fin 3), |C i j - idealUnprojectedEntry i j| 5 * e) (hP₀ : |P₀| Θ ^ 2) (hQ₀ : |Q₀| 2 * Θ ^ 2) (hP : |P - P₀| 800 * e * Θ ^ 5) (hQ : |Q - Q₀| 800 * e * Θ ^ 5) (hN : |N - 1| 800 * e * Θ ^ 5) :
                                    |velocityFirstRhs A C ε P Q N U V - (-2 * V + 2 * P₀ * ((P₀ + β) * V + Q₀ * U) / (1 + P₀ ^ 2))| + |velocitySecondRhs A C ε P Q N U V + U| 200000 * e * Θ ^ 12 * (|U| + |V|)

                                    The full pressure projection is a small matrix perturbation, with an explicit constant and the power of Θ used in the source.