Documentation

LeanPool.NavierStokesAndEuler.Euler.PacketSourceGeometryData

Construction of geometric source data from the actual parent strain, normal and stationary primary. Only the older homogeneous frame, parent center remainder, low source bounds and numerical guards are inputs.

The older frame at the fixed center, together with the actual parent strain's center remainder. It contains no new ray, new velocity or amplification assertion.

Instances For

    A, given by normalizedCoupling (P.B τ) (P.m τ) (P.v τ).

    Equations
    Instances For

      Sigma, given by Real.sqrt (normalizedTilt (P.B τ) (P.m τ) (P.v τ)).

      Equations
      Instances For

        Shear, given by primaryShear P.c P.m P.v τ.

        Equations
        Instances For

          Epsilon, given by Real.sqrt (P.a/P.shear).

          Equations
          Instances For

            Horizon, given by P.a*(D.T-τ)/P.epsilon.

            Equations
            Instances For
              noncomputable def EulerPacketSourceGeometry.ParentFrame.rayScale {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace ℝ U] {D : EulerTransversePacketProvider.Data U} {τ : ℝ} (P : ParentFrame D τ) (hτ : 0 < τ) (hτT : τ < D.T) :

              Ray scale, given by activationRayScale (D.deformationEquiv ⟨τ,hτ.le,hτT.le⟩ 0) (cross (unit (P.m τ)) (unit (P.v τ))).

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

                Terminal bound, given by 8*(activationConstant CM CH+1)*D.inverseBound/P.shear.

                Equations
                Instances For
                  noncomputable def EulerPacketSourceGeometry.ParentFrame.neighborCost {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace ℝ U] {D : EulerTransversePacketProvider.Data U} {τ : ℝ} (P : ParentFrame D τ) (hτ : 0 < τ) (hτT : τ < D.T) (H : EulerTransversePacketProvider.HistoryData (D.initial τ hτ ⋯)) (CM CH : ℝ) :

                  Neighbor cost as an element of ℝ.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    noncomputable def EulerPacketSourceGeometry.ParentFrame.totalError {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace ℝ U] {D : EulerTransversePacketProvider.Data U} {τ : ℝ} (P : ParentFrame D τ) (hτ : 0 < τ) (hτT : τ < D.T) (H : EulerTransversePacketProvider.HistoryData (D.initial τ hτ ⋯)) (CM CH ρ : ℝ) :

                    Total error, given by P.error+P.neighborCost hτ hτT H CM CH*ρ.

                    Equations
                    Instances For

                      Source and scalar guards, all stated before the new primary is constructed. The neighbor cost is the explicit coefficient expression.

                      Instances For
                        theorem EulerPacketSourceGeometry.Guards.a_pos {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace ℝ U] {D : EulerTransversePacketProvider.Data U} {τ : ℝ} (hτ : 0 < τ) (hτT : τ < D.T) (P : ParentFrame D τ) (H : EulerTransversePacketProvider.HistoryData (D.initial τ hτ ⋯)) (A : Guards hτ hτT P H) :
                        0 < P.a
                        theorem EulerPacketSourceGeometry.Guards.epsilon_pos {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace ℝ U] {D : EulerTransversePacketProvider.Data U} {τ : ℝ} (hτ : 0 < τ) (hτT : τ < D.T) (P : ParentFrame D τ) (H : EulerTransversePacketProvider.HistoryData (D.initial τ hτ ⋯)) (A : Guards hτ hτT P H) :
                        theorem EulerPacketSourceGeometry.Guards.rayScale_pos {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace ℝ U] {D : EulerTransversePacketProvider.Data U} {τ : ℝ} (hτ : 0 < τ) (hτT : τ < D.T) (P : ParentFrame D τ) :
                        0 < P.rayScale hτ hτT
                        theorem EulerPacketSourceGeometry.Guards.neighborCost_nonneg {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace ℝ U] {D : EulerTransversePacketProvider.Data U} {τ : ℝ} (hτ : 0 < τ) (hτT : τ < D.T) (P : ParentFrame D τ) (H : EulerTransversePacketProvider.HistoryData (D.initial τ hτ ⋯)) (A : Guards hτ hτT P H) :
                        0 ≤ P.neighborCost hτ hτT H A.CM A.CH
                        theorem EulerPacketSourceGeometry.Guards.totalError_nonneg {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace ℝ U] {D : EulerTransversePacketProvider.Data U} {τ : ℝ} (hτ : 0 < τ) (hτT : τ < D.T) (P : ParentFrame D τ) (H : EulerTransversePacketProvider.HistoryData (D.initial τ hτ ⋯)) (A : Guards hτ hτT P H) :
                        0 ≤ P.totalError hτ hτT H A.CM A.CH A.radius
                        theorem EulerPacketSourceGeometry.Guards.selection {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace ℝ U] {D : EulerTransversePacketProvider.Data U} {τ : ℝ} [CompleteSpace U] (hτ : 0 < τ) (hτT : τ < D.T) (P : ParentFrame D τ) (H : EulerTransversePacketProvider.HistoryData (D.initial τ hτ ⋯)) (A : Guards hτ hτT P H) :
                        0 < P.rayScale hτ hτT ∧ EulerPacketMovingFrame.scaledRay P.m P.v (fun (s : ℝ) => (D.normal.field (D.clamp s)) 0) (P.rayScale hτ hτT) τ P.a P.epsilon 0 = ![0, 0, 1] ∧ ∃ (ξ : U) (lam : ℝ), ξ ≠ 0 ∧ 0 ≤ lam ∧ lam ≤ 8 * (EulerTransverseActivationSelection.activationConstant A.CM A.CH + 1) / P.epsilon ∧ ‖ξ‖ ≤ P.terminalBound A.CM A.CH ∧ EulerPacketMovingFrame.scaledVelocity P.m P.v (fun (s : ℝ) => EulerPacketPrimaryFactorization.uncutVelocity τ hτ hτT H ξ s 0) τ P.a P.epsilon 0 0 = -lam ∧ EulerPacketMovingFrame.scaledVelocity P.m P.v (fun (s : ℝ) => EulerPacketPrimaryFactorization.uncutVelocity τ hτ hτT H ξ s 0) τ P.a P.epsilon 0 1 = 1
                        noncomputable def EulerPacketSourceGeometry.Guards.terminal {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace ℝ U] {D : EulerTransversePacketProvider.Data U} {τ : ℝ} [CompleteSpace U] (hτ : 0 < τ) (hτT : τ < D.T) (P : ParentFrame D τ) (H : EulerTransversePacketProvider.HistoryData (D.initial τ hτ ⋯)) (A : Guards hτ hτT P H) :
                        U

                        Terminal, given by A.selection.2.2.choose.

                        Equations
                        Instances For
                          noncomputable def EulerPacketSourceGeometry.Guards.slope {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace ℝ U] {D : EulerTransversePacketProvider.Data U} {τ : ℝ} [CompleteSpace U] (hτ : 0 < τ) (hτT : τ < D.T) (P : ParentFrame D τ) (H : EulerTransversePacketProvider.HistoryData (D.initial τ hτ ⋯)) (A : Guards hτ hτT P H) :

                          Slope, given by A.selection.2.2.choose_spec.choose.

                          Equations
                          Instances For
                            theorem EulerPacketSourceGeometry.Guards.terminal_properties {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace ℝ U] {D : EulerTransversePacketProvider.Data U} {τ : ℝ} [CompleteSpace U] (hτ : 0 < τ) (hτT : τ < D.T) (P : ParentFrame D τ) (H : EulerTransversePacketProvider.HistoryData (D.initial τ hτ ⋯)) (A : Guards hτ hτT P H) :
                            terminal hτ hτT P H A ≠ 0 ∧ 0 ≤ slope hτ hτT P H A ∧ slope hτ hτT P H A ≤ 8 * (EulerTransverseActivationSelection.activationConstant A.CM A.CH + 1) / P.epsilon ∧ ‖terminal hτ hτT P H A‖ ≤ P.terminalBound A.CM A.CH ∧ EulerPacketMovingFrame.scaledVelocity P.m P.v (fun (s : ℝ) => EulerPacketPrimaryFactorization.uncutVelocity τ hτ hτT H (terminal hτ hτT P H A) s 0) τ P.a P.epsilon 0 0 = -slope hτ hτT P H A ∧ EulerPacketMovingFrame.scaledVelocity P.m P.v (fun (s : ℝ) => EulerPacketPrimaryFactorization.uncutVelocity τ hτ hτT H (terminal hτ hτT P H A) s 0) τ P.a P.epsilon 0 1 = 1