Documentation

LeanPool.NavierStokesAndEuler.Euler.PacketPrimaryCommonRadius

The primary grade imposes only finitely many fixed lower bounds on the external radius. Enlarging it leaves the time profile and every source cost unchanged, including the terminal amplitude before its scalar multiplier.

The additional primary guards can be met by one explicit enlargement of the common external radius. Neither source coefficients nor profile costs are changed. The extra lower bound can include the actual terminal-wave radius, before the recursive solve begins.

noncomputable def EulerTransversePacketPrimary.weakRadius {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} {τ : } { : 0 < τ} {hτT : τ < D.T} {B : EulerTransversePacketProvider.HistoryData (D.initial τ )} {ι : Type u_2} [Fintype ι] {q : } (L : EulerTransversePacketJoin.Budget D τ hτT B ι q) :

Weak radius as an element of .

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    noncomputable def EulerTransversePacketPrimary.strongRadius {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} {τ : } { : 0 < τ} {hτT : τ < D.T} {B : EulerTransversePacketProvider.HistoryData (D.initial τ )} {ι : Type u_2} [Fintype ι] {q : } (L : EulerTransversePacketJoin.Budget D τ hτT B ι q) :

    Strong radius as an element of .

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      noncomputable def EulerTransversePacketPrimary.uniformRadius {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} {τ : } { : 0 < τ} {hτT : τ < D.T} {B : EulerTransversePacketProvider.HistoryData (D.initial τ )} {ι : Type u_2} [Fintype ι] {q : } (L : EulerTransversePacketJoin.Budget D τ hτT B ι q) :

      Uniform radius as an element of .

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        noncomputable def EulerTransversePacketPrimary.forwardRadius {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} {τ : } { : 0 < τ} {hτT : τ < D.T} {B : EulerTransversePacketProvider.HistoryData (D.initial τ )} {ι : Type u_2} [Fintype ι] {q : } (L : EulerTransversePacketJoin.Budget D τ hτT B ι q) :

        Forward radius as an element of .

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          noncomputable def EulerTransversePacketPrimary.requiredRadius {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} {τ : } { : 0 < τ} {hτT : τ < D.T} {B : EulerTransversePacketProvider.HistoryData (D.initial τ )} {ι : Type u_2} [Fintype ι] {q : } (L : EulerTransversePacketJoin.Budget D τ hτT B ι q) (extra : ) :

          Required radius, given by max extra (max L.R (max (weakRadius L) (max (strongRadius L) (max (uniformRadius L) (forwardRadius L))))).

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            theorem EulerTransversePacketPrimary.le_requiredRadius {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} {τ : } { : 0 < τ} {hτT : τ < D.T} {B : EulerTransversePacketProvider.HistoryData (D.initial τ )} {ι : Type u_2} [Fintype ι] {q : } (L : EulerTransversePacketJoin.Budget D τ hτT B ι q) (extra : ) :
            L.R requiredRadius L extra
            theorem EulerTransversePacketPrimary.extra_le_requiredRadius {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} {τ : } { : 0 < τ} {hτT : τ < D.T} {B : EulerTransversePacketProvider.HistoryData (D.initial τ )} {ι : Type u_2} [Fintype ι] {q : } (L : EulerTransversePacketJoin.Budget D τ hτT B ι q) (extra : ) :
            extra requiredRadius L extra
            noncomputable def EulerTransversePacketPrimary.enlargeForPrimary {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} {τ : } { : 0 < τ} {hτT : τ < D.T} {B : EulerTransversePacketProvider.HistoryData (D.initial τ )} {ι : Type u_2} [Fintype ι] {q : } (L : EulerTransversePacketJoin.Budget D τ hτT B ι q) (extra : ) :

            Enlarge for primary, given by L.enlargeRadius (requiredRadius L extra) (le_requiredRadius L extra).

            Equations
            Instances For
              theorem EulerTransversePacketPrimary.requiredBudget {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} {τ : } { : 0 < τ} {hτT : τ < D.T} {B : EulerTransversePacketProvider.HistoryData (D.initial τ )} {ι : Type u_2} [Fintype ι] {q : } (L : EulerTransversePacketJoin.Budget D τ hτT B ι q) (extra : ) :
              theorem EulerTransversePacketPrimary.Budget.enlargeRadius {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} {τ : } { : 0 < τ} {hτT : τ < D.T} {B : EulerTransversePacketProvider.HistoryData (D.initial τ )} {ι : Type u_2} [Fintype ι] {q : } {L : EulerTransversePacketJoin.Budget D τ hτT B ι q} (H : Budget L) (R' : ) (hR : L.R R') :
              @[simp]
              theorem EulerTransversePacketPrimary.Budget.enlargeRadius_velocityCost {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} {τ : } { : 0 < τ} {hτT : τ < D.T} {B : EulerTransversePacketProvider.HistoryData (D.initial τ )} {ι : Type u_2} [Fintype ι] {q : } {L : EulerTransversePacketJoin.Budget D τ hτT B ι q} (H : Budget L) (R' : ) (hR : L.R R') :
              @[simp]
              theorem EulerTransversePacketPrimary.Budget.enlargeRadius_derivativeCost {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} {τ : } { : 0 < τ} {hτT : τ < D.T} {B : EulerTransversePacketProvider.HistoryData (D.initial τ )} {ι : Type u_2} [Fintype ι] {q : } {L : EulerTransversePacketJoin.Budget D τ hτT B ι q} (H : Budget L) (R' : ) (hR : L.R R') :

              Grade radius, constructed using max.

              Equations
              Instances For
                theorem EulerTransversePacketPrimary.Budget.gradeRadius_guards {P : } {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} {τ : } { : 0 < τ} {hτT : τ < D.T} {B : EulerTransversePacketProvider.HistoryData (D.initial τ )} {L : EulerTransversePacketJoin.Budget D τ hτT B (Fin 4) 6} (H : Budget L) (N : EulerTransversePacketJoin.NormalBudget D 6 L.R) (C : ) (hC : 0 C) (R' : ) (hR : H.gradeRadius N C R') :
                ∃ (h : L.R R'), .GradeGuards (N.enlargeRadius R' h) C
                theorem EulerTransversePacketPrimary.Budget.exists_grade_radius {P : } {U : Type u_1} [NormedAddCommGroup U] [InnerProductSpace U] [CompleteSpace U] {D : EulerTransversePacketProvider.Data U} {τ : } { : 0 < τ} {hτT : τ < D.T} {B : EulerTransversePacketProvider.HistoryData (D.initial τ )} {L : EulerTransversePacketJoin.Budget D τ hτT B (Fin 4) 6} (H : Budget L) (N : EulerTransversePacketJoin.NormalBudget D 6 L.R) (C : ) (hC : 0 C) (extra : ) :
                ∃ (R' : ), extra R' ∃ (h : L.R R'), .GradeGuards (N.enlargeRadius R' h) C

                An arbitrary extra requirement can be included without changing any source cost or the primary time profile.