Documentation

LeanPool.NavierStokesAndEuler.Euler.PacketPhysicalFrameRenewal

The source's next-frame scalar formulas represent the actual normalized physical ray and velocity. Orientation, physical norms, and pressure numerators are identified exactly before any quantitative estimate is used.

Exact scaled cross and pressure algebra used by physical frame renewal.

theorem EulerPacketMovingFrame.velocityNumerator_homogeneous (A : Fin 3Fin 3) (P Q N U V W : ) (hV : V 0) :
theorem EulerPacketMovingFrame.scaling_cross_flux {a : } (ha : a 0) (s₀ ε : ) (M : Fin 3Fin 3) (R V : Fin 3) (hV : V 1 0) :
i : Fin 3, (crossProduct fun (j : Fin 3) => s₀ * EulerPacketRay.rayScale ε j * R j) (fun (j : Fin 3) => velocityScale ε j * V j) i * j : Fin 3, M i j * (velocityScale ε j * V j) = s₀ * a * V 1 ^ 2 * EulerPacketFrameStability.frameCrossNumerator ε (R 0) (R 1) (R 2) (V 0 / V 1) (V 2 / V 1) (EulerPacketFrameStability.rowAction (EulerPacketRay.scaledVelocityEntry a ε M) 0 (V 0 / V 1) (V 2 / V 1)) (EulerPacketFrameStability.rowAction (EulerPacketRay.scaledVelocityEntry a ε M) 1 (V 0 / V 1) (V 2 / V 1)) (EulerPacketFrameStability.rowAction (EulerPacketRay.scaledVelocityEntry a ε M) 2 (V 0 / V 1) (V 2 / V 1))
theorem EulerPacketMovingFrame.scaling_pressure_ratio {a : } (ha : a 0) (s₀ ε : ) (M : Fin 3Fin 3) (R V : Fin 3) (hV : V 1 0) :
i : Fin 3, s₀ * EulerPacketRay.rayScale ε i * R i * j : Fin 3, M i j * (velocityScale ε j * V j) = s₀ * a * V 1 * EulerPacketRay.velocityNumerator (EulerPacketRay.scaledVelocityEntry a ε M) (R 0) (R 1) (R 2) (V 0 / V 1) 1 (V 2 / V 1)
theorem EulerPacketMovingFrame.physical_pressure_ratio (M : EulerSmoothLimit.Space →L[] EulerSmoothLimit.Space) (m v r w : EulerSmoothLimit.Space) {s₀ t₀ a ε τ : } (ha : a 0) (hs₀ : s₀ 0) ( : ε 0) (hm : m (physicalTime t₀ a ε τ) 0) (hv : v (physicalTime t₀ a ε τ) 0) (hmv : inner (m (physicalTime t₀ a ε τ)) (v (physicalTime t₀ a ε τ)) = 0) (hV : scaledVelocity m v w t₀ a ε τ 1 0) :
have R := scaledRay m v r s₀ t₀ a ε τ; have V := scaledVelocity m v w t₀ a ε τ; have A := scaledAction M m v a ε (physicalTime t₀ a ε τ); inner (r (physicalTime t₀ a ε τ)) (M (w (physicalTime t₀ a ε τ))) = s₀ * a * V 1 * EulerPacketRay.velocityNumerator A (R 0) (R 1) (R 2) (V 0 / V 1) 1 (V 2 / V 1)
theorem EulerPacketMovingFrame.physical_cross_ratio (M : EulerSmoothLimit.Space →L[] EulerSmoothLimit.Space) (m v r w : EulerSmoothLimit.Space) {s₀ t₀ a ε τ : } (ha : a 0) (hs₀ : s₀ 0) ( : ε 0) (hm : m (physicalTime t₀ a ε τ) 0) (hv : v (physicalTime t₀ a ε τ) 0) (hmv : inner (m (physicalTime t₀ a ε τ)) (v (physicalTime t₀ a ε τ)) = 0) (hV : scaledVelocity m v w t₀ a ε τ 1 0) :
have R := scaledRay m v r s₀ t₀ a ε τ; have V := scaledVelocity m v w t₀ a ε τ; have A := scaledAction M m v a ε (physicalTime t₀ a ε τ); inner (EulerPacketCrossProduct.cross (r (physicalTime t₀ a ε τ)) (w (physicalTime t₀ a ε τ))) (M (w (physicalTime t₀ a ε τ))) = s₀ * a * V 1 ^ 2 * EulerPacketFrameStability.frameCrossNumerator ε (R 0) (R 1) (R 2) (V 0 / V 1) (V 2 / V 1) (EulerPacketFrameStability.rowAction A 0 (V 0 / V 1) (V 2 / V 1)) (EulerPacketFrameStability.rowAction A 1 (V 0 / V 1) (V 2 / V 1)) (EulerPacketFrameStability.rowAction A 2 (V 0 / V 1) (V 2 / V 1))
theorem EulerPacketMovingFrame.physical_frame_formulas (M : EulerSmoothLimit.Space →L[] EulerSmoothLimit.Space) (m v r w : EulerSmoothLimit.Space) {s₀ t₀ a ε τ : } (ha : a 0) (hs₀ : 0 < s₀) ( : ε 0) (hm : m (physicalTime t₀ a ε τ) 0) (hv : v (physicalTime t₀ a ε τ) 0) (hmv : inner (m (physicalTime t₀ a ε τ)) (v (physicalTime t₀ a ε τ)) = 0) (hr : r (physicalTime t₀ a ε τ) 0) (hV : 0 < scaledVelocity m v w t₀ a ε τ 1) :
have R := scaledRay m v r s₀ t₀ a ε τ; have V := scaledVelocity m v w t₀ a ε τ; have A := scaledAction M m v a ε (physicalTime t₀ a ε τ); have D := EulerPacketRay.rayDenominator ε (R 0) (R 1) (R 2); have E := EulerPacketFrameStability.velocityDirectionNormSq ε (V 0 / V 1) (V 2 / V 1); have J := EulerPacketRay.velocityNumerator A (R 0) (R 1) (R 2) (V 0 / V 1) 1 (V 2 / V 1); have C := EulerPacketFrameStability.frameCrossNumerator ε (R 0) (R 1) (R 2) (V 0 / V 1) (V 2 / V 1) (EulerPacketFrameStability.rowAction A 0 (V 0 / V 1) (V 2 / V 1)) (EulerPacketFrameStability.rowAction A 1 (V 0 / V 1) (V 2 / V 1)) (EulerPacketFrameStability.rowAction A 2 (V 0 / V 1) (V 2 / V 1)); normalizedCoupling M (r (physicalTime t₀ a ε τ)) (w (physicalTime t₀ a ε τ)) / a = J / (D * E) normalizedTilt M (r (physicalTime t₀ a ε τ)) (w (physicalTime t₀ a ε τ)) = C / (J * E)

Exact source (34) quantities for the actual next normalized frame.