Documentation

LeanPool.NavierStokesAndEuler.Euler.ParentPacketExactEuler

The actual source packet is Euler in the physical parent coordinates. The normalized frame and inverse identities are supplied by the parent construction, and the final physical scaling is explicit.

Euler's spatial/amplitude rescaling, proved for the actual first derivatives and scalar pressure. Time is unchanged.

Coordinates, given by (fst ℝ ℝ E).prod ((ell⁻¹ • ContinuousLinearMap.id ℝ E).comp (snd ℝ ℝ E)).

Equations
Instances For
    noncomputable def EulerSpatialRescaling.velocity {E : Type} [NormedAddCommGroup E] [InnerProductSpace E] (ell : ) (u : × EE) (q : × E) :
    E

    Velocity, given by ell • u (coordinates ell q).

    Equations
    Instances For
      noncomputable def EulerSpatialRescaling.pressure {E : Type} [NormedAddCommGroup E] [InnerProductSpace E] (ell : ) (p : × E) (q : × E) :

      Pressure, given by ell^2*p (coordinates ell q).

      Equations
      Instances For
        theorem EulerSpatialRescaling.pressure_gradient {E : Type} [NormedAddCommGroup E] [InnerProductSpace E] [CompleteSpace E] (ell : ) (hell : ell 0) (p : × E) (q : × E) (hp : DifferentiableAt (fun (y : E) => p (q.1, y)) (ell⁻¹ q.2)) :
        gradient (fun (y : E) => pressure ell p (q.1, y)) q.2 = ell gradient (fun (y : E) => p (q.1, y)) (ell⁻¹ q.2)
        theorem EulerSpatialRescaling.momentumResidual_eq {E : Type} [NormedAddCommGroup E] [InnerProductSpace E] [CompleteSpace E] (ell : ) (hell : ell 0) (u : × EE) (p : × E) (q : × E) (hu : DifferentiableAt u ((coordinates ell) q)) (hp : DifferentiableAt (fun (y : E) => p (q.1, y)) (ell⁻¹ q.2)) :
        theorem EulerSpatialRescaling.momentumResidual_zero {E : Type} [NormedAddCommGroup E] [InnerProductSpace E] [CompleteSpace E] (ell : ) (hell : ell 0) (u : × EE) (p : × E) (q : × E) (hu : DifferentiableAt u ((coordinates ell) q)) (hp : DifferentiableAt (fun (y : E) => p (q.1, y)) (ell⁻¹ q.2)) (hEuler : EulerLagrangian.momentumResidual u p ((coordinates ell) q) = 0) :
        theorem EulerSpatialRescaling.spatial_derivative {E : Type} [NormedAddCommGroup E] [InnerProductSpace E] (ell : ) (hell : ell 0) (u : × EE) (t : ) (x : E) (hu : DifferentiableAt (fun (y : E) => u (t, y)) (ell⁻¹ x)) :
        fderiv (fun (y : E) => velocity ell u (t, y)) x = fderiv (fun (y : E) => u (t, y)) (ell⁻¹ x)

        Normalizing the actual parent Euler velocity and pressure preserves Euler and supplies the true time law of the normalized particle map.

        Packet frame, given by A.frame.realField A.T A.T_pos.le q.1 q.2.

        Equations
        Instances For

          Normalized exact velocity, constructed using A.normalizedVelocity.

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

            Normalized exact pressure, given by A.normalizedPressure p q + physicalPressure (((exactPacketOfResidual P B residual)).rawGraphPotential k) (A.packetInverse Y) q.

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

              Exact packet velocity, given by EulerSpatialRescaling.velocity A.ell (A.normalizedExactVelocity m hm J support hSupport B residual k Y u).

              Equations
              Instances For

                Exact packet pressure, given by EulerSpatialRescaling.pressure A.ell (A.normalizedExactPressure m hm J support hSupport B residual k Y p).

                Equations
                Instances For
                  theorem EulerParentPacketFrames.Parent.normalizedExactVelocity_differentiableAt (A : Parent) {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] (m : EulerSmoothLimit.Space) (hm : m = 1) (J : U ≃ₗᵢ[] (EulerTransverseFrameCoordinates.referencePlane m)) (support : Set EulerSmoothLimit.Space) (hSupport : IsCompact support) {P : } [Fact (0 < P)] {κ : } { : |κ| 1} {Z R : EulerAllOrderCorrectionData.FieldTower P A.T} (B : EulerAllOrderDriftCorrection.Budget P (EulerPacketCorrectionCoefficients.correctionData (A.transverseData m hm J support hSupport) P κ Z R)) (residual : EulerAllOrderDriftCorrection.ApproximationResidual P (EulerPacketCorrectionCoefficients.correctionData (A.transverseData m hm J support hSupport) P κ Z R)) (k : ) (Y : (Set.Icc 0 A.T)EulerSmoothLimit.SpaceEulerSmoothLimit.Space) (hYX : ∀ (t : (Set.Icc 0 A.T)) (x : EulerSmoothLimit.Space), Y t (A.position t x) = x) (hXY : ∀ (t : (Set.Icc 0 A.T)) (x : EulerSmoothLimit.Space), A.position t (Y t x) = x) (hY : Continuous (Function.uncurry Y)) (u : × EulerSmoothLimit.SpaceEulerSmoothLimit.Space) (hu : tSet.Ioo 0 A.T, ∀ (x : EulerSmoothLimit.Space), DifferentiableAt u (t, x)) (t : ) (ht : t Set.Ioo 0 A.T) (x : EulerSmoothLimit.Space) :
                  DifferentiableAt (A.normalizedExactVelocity m hm J support hSupport B residual k Y u) (t, x)
                  theorem EulerParentPacketFrames.Parent.normalizedExactPressure_differentiableAt (A : Parent) {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] (m : EulerSmoothLimit.Space) (hm : m = 1) (J : U ≃ₗᵢ[] (EulerTransverseFrameCoordinates.referencePlane m)) (support : Set EulerSmoothLimit.Space) (hSupport : IsCompact support) {P : } [Fact (0 < P)] {κ : } { : |κ| 1} {Z R : EulerAllOrderCorrectionData.FieldTower P A.T} (B : EulerAllOrderDriftCorrection.Budget P (EulerPacketCorrectionCoefficients.correctionData (A.transverseData m hm J support hSupport) P κ Z R)) (residual : EulerAllOrderDriftCorrection.ApproximationResidual P (EulerPacketCorrectionCoefficients.correctionData (A.transverseData m hm J support hSupport) P κ Z R)) (k : ) (hk : k * κ = 1) (Y : (Set.Icc 0 A.T)EulerSmoothLimit.SpaceEulerSmoothLimit.Space) (hXY : ∀ (t : (Set.Icc 0 A.T)) (x : EulerSmoothLimit.Space), A.position t (Y t x) = x) (hY : Continuous (Function.uncurry Y)) (p : × EulerSmoothLimit.Space) (hp : ∀ (t : (Set.Icc 0 A.T)) (x : EulerSmoothLimit.Space), DifferentiableAt (fun (y : EulerSmoothLimit.Space) => p (t, y)) x) (t : (Set.Icc 0 A.T)) (x : EulerSmoothLimit.Space) :
                  DifferentiableAt (fun (y : EulerSmoothLimit.Space) => A.normalizedExactPressure m hm J support hSupport B residual k Y p (t, y)) x
                  theorem EulerParentPacketFrames.Parent.normalizedExact_momentum (A : Parent) {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] (m : EulerSmoothLimit.Space) (hm : m = 1) (J : U ≃ₗᵢ[] (EulerTransverseFrameCoordinates.referencePlane m)) (support : Set EulerSmoothLimit.Space) (hSupport : IsCompact support) {P : } [Fact (0 < P)] {κ : } { : |κ| 1} {Z R : EulerAllOrderCorrectionData.FieldTower P A.T} (B : EulerAllOrderDriftCorrection.Budget P (EulerPacketCorrectionCoefficients.correctionData (A.transverseData m hm J support hSupport) P κ Z R)) (residual : EulerAllOrderDriftCorrection.ApproximationResidual P (EulerPacketCorrectionCoefficients.correctionData (A.transverseData m hm J support hSupport) P κ Z R)) (k : ) (hk : k * κ = 1) (Y : (Set.Icc 0 A.T)EulerSmoothLimit.SpaceEulerSmoothLimit.Space) (hYX : ∀ (t : (Set.Icc 0 A.T)) (x : EulerSmoothLimit.Space), Y t (A.position t x) = x) (hXY : ∀ (t : (Set.Icc 0 A.T)) (x : EulerSmoothLimit.Space), A.position t (Y t x) = x) (hY : Continuous (Function.uncurry Y)) (u : × EulerSmoothLimit.SpaceEulerSmoothLimit.Space) (p : × EulerSmoothLimit.Space) (hvelocity : ∀ (t : (Set.Icc 0 A.T)) (x : EulerSmoothLimit.Space), (A.velocity.field t) x = u (t, A.position t x)) (hu : tSet.Ioo 0 A.T, ∀ (x : EulerSmoothLimit.Space), DifferentiableAt u (t, x)) (hp : ∀ (t : (Set.Icc 0 A.T)) (x : EulerSmoothLimit.Space), DifferentiableAt (fun (y : EulerSmoothLimit.Space) => p (t, y)) x) (heuler : tSet.Ioo 0 A.T, ∀ (x : EulerSmoothLimit.Space), EulerLagrangian.momentumResidual u p (t, x) = 0) (t : ) (ht : t Set.Ioo 0 A.T) (x : EulerSmoothLimit.Space) :
                  EulerLagrangian.momentumResidual (A.normalizedExactVelocity m hm J support hSupport B residual k Y u) (A.normalizedExactPressure m hm J support hSupport B residual k Y p) (t, x) = 0
                  theorem EulerParentPacketFrames.Parent.exactPacketVelocity_differentiableAt (A : Parent) {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] (m : EulerSmoothLimit.Space) (hm : m = 1) (J : U ≃ₗᵢ[] (EulerTransverseFrameCoordinates.referencePlane m)) (support : Set EulerSmoothLimit.Space) (hSupport : IsCompact support) {P : } [Fact (0 < P)] {κ : } { : |κ| 1} {Z R : EulerAllOrderCorrectionData.FieldTower P A.T} (B : EulerAllOrderDriftCorrection.Budget P (EulerPacketCorrectionCoefficients.correctionData (A.transverseData m hm J support hSupport) P κ Z R)) (residual : EulerAllOrderDriftCorrection.ApproximationResidual P (EulerPacketCorrectionCoefficients.correctionData (A.transverseData m hm J support hSupport) P κ Z R)) (k : ) (Y : (Set.Icc 0 A.T)EulerSmoothLimit.SpaceEulerSmoothLimit.Space) (hYX : ∀ (t : (Set.Icc 0 A.T)) (x : EulerSmoothLimit.Space), Y t (A.position t x) = x) (hXY : ∀ (t : (Set.Icc 0 A.T)) (x : EulerSmoothLimit.Space), A.position t (Y t x) = x) (hY : Continuous (Function.uncurry Y)) (u : × EulerSmoothLimit.SpaceEulerSmoothLimit.Space) (hu : tSet.Ioo 0 A.T, ∀ (x : EulerSmoothLimit.Space), DifferentiableAt u (t, x)) (t : ) (ht : t Set.Ioo 0 A.T) (x : EulerSmoothLimit.Space) :
                  DifferentiableAt (A.exactPacketVelocity m hm J support hSupport B residual k Y u) (t, x)
                  theorem EulerParentPacketFrames.Parent.exactPacket_momentum (A : Parent) {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] (m : EulerSmoothLimit.Space) (hm : m = 1) (J : U ≃ₗᵢ[] (EulerTransverseFrameCoordinates.referencePlane m)) (support : Set EulerSmoothLimit.Space) (hSupport : IsCompact support) {P : } [Fact (0 < P)] {κ : } { : |κ| 1} {Z R : EulerAllOrderCorrectionData.FieldTower P A.T} (B : EulerAllOrderDriftCorrection.Budget P (EulerPacketCorrectionCoefficients.correctionData (A.transverseData m hm J support hSupport) P κ Z R)) (residual : EulerAllOrderDriftCorrection.ApproximationResidual P (EulerPacketCorrectionCoefficients.correctionData (A.transverseData m hm J support hSupport) P κ Z R)) (k : ) (hk : k * κ = 1) (Y : (Set.Icc 0 A.T)EulerSmoothLimit.SpaceEulerSmoothLimit.Space) (hYX : ∀ (t : (Set.Icc 0 A.T)) (x : EulerSmoothLimit.Space), Y t (A.position t x) = x) (hXY : ∀ (t : (Set.Icc 0 A.T)) (x : EulerSmoothLimit.Space), A.position t (Y t x) = x) (hY : Continuous (Function.uncurry Y)) (u : × EulerSmoothLimit.SpaceEulerSmoothLimit.Space) (p : × EulerSmoothLimit.Space) (hvelocity : ∀ (t : (Set.Icc 0 A.T)) (x : EulerSmoothLimit.Space), (A.velocity.field t) x = u (t, A.position t x)) (hu : tSet.Ioo 0 A.T, ∀ (x : EulerSmoothLimit.Space), DifferentiableAt u (t, x)) (hp : ∀ (t : (Set.Icc 0 A.T)) (x : EulerSmoothLimit.Space), DifferentiableAt (fun (y : EulerSmoothLimit.Space) => p (t, y)) x) (heuler : tSet.Ioo 0 A.T, ∀ (x : EulerSmoothLimit.Space), EulerLagrangian.momentumResidual u p (t, x) = 0) (t : ) (ht : t Set.Ioo 0 A.T) (x : EulerSmoothLimit.Space) :
                  EulerLagrangian.momentumResidual (A.exactPacketVelocity m hm J support hSupport B residual k Y u) (A.exactPacketPressure m hm J support hSupport B residual k Y p) (t, x) = 0