Documentation

LeanPool.NavierStokesAndEuler.Euler.PacketScaledRay

The actual ray in the source time and coordinate scaling.

noncomputable def EulerPacketMovingFrame.physicalTime (t₀ a ε τ : ) :

Physical time, given by t₀ + (ε/a)*τ.

Equations
Instances For
    theorem EulerPacketMovingFrame.physicalTime_hasDerivAt (t₀ a ε τ : ) :
    HasDerivAt (physicalTime t₀ a ε) (ε / a) τ
    theorem EulerPacketMovingFrame.scaledRayRate_algebra {a ε s₀ : } (ha : a 0) ( : ε 0) (hs₀ : s₀ 0) (M S : Fin 3Fin 3) (R : Fin 3) (i : Fin 3) :
    (-j : Fin 3, (M j i - S j i) * R j) * (ε / a) / (s₀ * EulerPacketRay.rayScale ε i) = j : Fin 3, EulerPacketRay.scaledRayEntry a ε M S i j * (R j / (s₀ * EulerPacketRay.rayScale ε j))
    noncomputable def EulerPacketMovingFrame.scaledRay (m v r : EulerSmoothLimit.Space) (s₀ t₀ a ε τ : ) (i : Fin 3) :

    Scaled ray, given by movingRay m v r (physicalTime t₀ a ε τ) i / (s₀*rayScale ε i).

    Equations
    Instances For
      theorem EulerPacketMovingFrame.scaledRay_hasDerivAt (B M : EulerSmoothLimit.Space →L[] EulerSmoothLimit.Space) {m v r : EulerSmoothLimit.Space} {s₀ t₀ a ε τ : } (ha : a 0) ( : ε 0) (hs₀ : s₀ 0) (hm : HasDerivAt m (-(ContinuousLinearMap.adjoint B) (m (physicalTime t₀ a ε τ))) (physicalTime t₀ a ε τ)) (hv : HasDerivAt v (-B (v (physicalTime t₀ a ε τ)) + (2 * inner (m (physicalTime t₀ a ε τ)) (B (v (physicalTime t₀ a ε τ))) / m (physicalTime t₀ a ε τ) ^ 2) m (physicalTime t₀ a ε τ)) (physicalTime t₀ a ε τ)) (hr : HasDerivAt r (-(ContinuousLinearMap.adjoint M) (r (physicalTime t₀ a ε τ))) (physicalTime t₀ a ε τ)) (hm0 : m (physicalTime t₀ a ε τ) 0) (hv0 : v (physicalTime t₀ a ε τ) 0) (hmv : inner (m (physicalTime t₀ a ε τ)) (v (physicalTime t₀ a ε τ)) = 0) (i : Fin 3) :
      HasDerivAt (fun (σ : ) => scaledRay m v r s₀ t₀ a ε σ i) (∑ j : Fin 3, EulerPacketRay.scaledRayEntry a ε (frameMatrix M (EulerPacketNormalizedPrimary.unit (m (physicalTime t₀ a ε τ))) (EulerPacketNormalizedPrimary.unit (v (physicalTime t₀ a ε τ)))) (EulerPacketRay.frameSkew (frameMatrix B (EulerPacketNormalizedPrimary.unit (m (physicalTime t₀ a ε τ))) (EulerPacketNormalizedPrimary.unit (v (physicalTime t₀ a ε τ))))) i j * scaledRay m v r s₀ t₀ a ε τ j) τ

      The physical ODE supplies exactly the scaled coefficient matrix whose entrywise errors are controlled in the existing propagation proof.

      theorem EulerPacketMovingFrame.scaledRay_hasDerivWithinAt (B M : EulerSmoothLimit.Space →L[] EulerSmoothLimit.Space) {m v r : EulerSmoothLimit.Space} {s₀ t₀ a ε τ : } {S U : Set } (ha : a 0) ( : ε 0) (hs₀ : s₀ 0) (hmap : Set.MapsTo (physicalTime t₀ a ε) U S) (hm : HasDerivWithinAt m (-(ContinuousLinearMap.adjoint B) (m (physicalTime t₀ a ε τ))) S (physicalTime t₀ a ε τ)) (hv : HasDerivWithinAt v (-B (v (physicalTime t₀ a ε τ)) + (2 * inner (m (physicalTime t₀ a ε τ)) (B (v (physicalTime t₀ a ε τ))) / m (physicalTime t₀ a ε τ) ^ 2) m (physicalTime t₀ a ε τ)) S (physicalTime t₀ a ε τ)) (hr : HasDerivWithinAt r (-(ContinuousLinearMap.adjoint M) (r (physicalTime t₀ a ε τ))) S (physicalTime t₀ a ε τ)) (hm0 : m (physicalTime t₀ a ε τ) 0) (hv0 : v (physicalTime t₀ a ε τ) 0) (hmv : inner (m (physicalTime t₀ a ε τ)) (v (physicalTime t₀ a ε τ)) = 0) (i : Fin 3) :
      HasDerivWithinAt (fun (σ : ) => scaledRay m v r s₀ t₀ a ε σ i) (∑ j : Fin 3, EulerPacketRay.scaledRayEntry a ε (frameMatrix M (EulerPacketNormalizedPrimary.unit (m (physicalTime t₀ a ε τ))) (EulerPacketNormalizedPrimary.unit (v (physicalTime t₀ a ε τ)))) (EulerPacketRay.frameSkew (frameMatrix B (EulerPacketNormalizedPrimary.unit (m (physicalTime t₀ a ε τ))) (EulerPacketNormalizedPrimary.unit (v (physicalTime t₀ a ε τ))))) i j * scaledRay m v r s₀ t₀ a ε τ j) U τ

      The same rescaling for actual one-sided time derivatives.