Exact finite A/B/C decomposition of the known force. The only fast products retained are BA, BC, CA and CC. This is raw algebra on the actual sliced jets.
theorem
EulerPacketCylinderField.sum_knownPiece
{E : Type u_1}
[AddCommMonoid E]
(f : KnownPiece → E)
:
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
- EulerPacketCylinderField.instDecidableEqKnownTerm.decEq EulerPacketCylinderField.KnownTerm.previousLinear EulerPacketCylinderField.KnownTerm.previousLinear = isTrue ⋯
- EulerPacketCylinderField.instDecidableEqKnownTerm.decEq EulerPacketCylinderField.KnownTerm.previousLinear (EulerPacketCylinderField.KnownTerm.slow left right) = isFalse ⋯
- EulerPacketCylinderField.instDecidableEqKnownTerm.decEq EulerPacketCylinderField.KnownTerm.previousPressure EulerPacketCylinderField.KnownTerm.previousPressure = isTrue ⋯
- EulerPacketCylinderField.instDecidableEqKnownTerm.decEq EulerPacketCylinderField.KnownTerm.previousPressure (EulerPacketCylinderField.KnownTerm.slow left right) = isFalse ⋯
- EulerPacketCylinderField.instDecidableEqKnownTerm.decEq (EulerPacketCylinderField.KnownTerm.slow left right) EulerPacketCylinderField.KnownTerm.previousLinear = isFalse ⋯
- EulerPacketCylinderField.instDecidableEqKnownTerm.decEq (EulerPacketCylinderField.KnownTerm.slow left right) EulerPacketCylinderField.KnownTerm.previousPressure = isFalse ⋯
- EulerPacketCylinderField.instDecidableEqKnownTerm.decEq (EulerPacketCylinderField.KnownTerm.slow left right) EulerPacketCylinderField.KnownTerm.fastMeanHigh = isFalse ⋯
- EulerPacketCylinderField.instDecidableEqKnownTerm.decEq (EulerPacketCylinderField.KnownTerm.slow left right) EulerPacketCylinderField.KnownTerm.fastMeanCorrector = isFalse ⋯
- EulerPacketCylinderField.instDecidableEqKnownTerm.decEq (EulerPacketCylinderField.KnownTerm.slow left right) EulerPacketCylinderField.KnownTerm.fastCorrectorHigh = isFalse ⋯
- EulerPacketCylinderField.instDecidableEqKnownTerm.decEq (EulerPacketCylinderField.KnownTerm.slow left right) EulerPacketCylinderField.KnownTerm.fastCorrectorCorrector = isFalse ⋯
- EulerPacketCylinderField.instDecidableEqKnownTerm.decEq EulerPacketCylinderField.KnownTerm.fastMeanHigh (EulerPacketCylinderField.KnownTerm.slow left right) = isFalse ⋯
- EulerPacketCylinderField.instDecidableEqKnownTerm.decEq EulerPacketCylinderField.KnownTerm.fastMeanHigh EulerPacketCylinderField.KnownTerm.fastMeanHigh = isTrue ⋯
- EulerPacketCylinderField.instDecidableEqKnownTerm.decEq EulerPacketCylinderField.KnownTerm.fastMeanCorrector (EulerPacketCylinderField.KnownTerm.slow left right) = isFalse ⋯
- EulerPacketCylinderField.instDecidableEqKnownTerm.decEq EulerPacketCylinderField.KnownTerm.fastMeanCorrector EulerPacketCylinderField.KnownTerm.fastMeanCorrector = isTrue ⋯
- EulerPacketCylinderField.instDecidableEqKnownTerm.decEq EulerPacketCylinderField.KnownTerm.fastCorrectorHigh (EulerPacketCylinderField.KnownTerm.slow left right) = isFalse ⋯
- EulerPacketCylinderField.instDecidableEqKnownTerm.decEq EulerPacketCylinderField.KnownTerm.fastCorrectorHigh EulerPacketCylinderField.KnownTerm.fastCorrectorHigh = isTrue ⋯
- EulerPacketCylinderField.instDecidableEqKnownTerm.decEq EulerPacketCylinderField.KnownTerm.fastCorrectorCorrector (EulerPacketCylinderField.KnownTerm.slow left right) = isFalse ⋯
- EulerPacketCylinderField.instDecidableEqKnownTerm.decEq EulerPacketCylinderField.KnownTerm.fastCorrectorCorrector EulerPacketCylinderField.KnownTerm.fastCorrectorCorrector = isTrue ⋯
Instances For
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
theorem
EulerPacketCylinderField.sum_knownTerm
{E : Type u_1}
[AddCommMonoid E]
(f : KnownTerm → E)
:
∑ k : KnownTerm, f k = f KnownTerm.previousLinear + f KnownTerm.previousPressure + ∑ l : KnownPiece, ∑ r : KnownPiece, f (KnownTerm.slow l r) + f KnownTerm.fastMeanHigh + f KnownTerm.fastMeanCorrector + f KnownTerm.fastCorrectorHigh + f KnownTerm.fastCorrectorCorrector
noncomputable def
EulerPacketCylinderField.KnownTerm.raw
(k : KnownTerm)
(O : EulerPacketProfileRecursion.Operators)
(p : ℕ)
(a : ℕ → EulerPacketProfileRecursion.Profile)
(i j : ℕ)
:
Raw as an element of VectorField.
Equations
- One or more equations did not get rendered due to their size.
- (EulerPacketCylinderField.KnownTerm.slow a_1 a_2).raw O p a i j z = if i + j = p then ((EulerPacketPointJets.slowAdvection (O.inverseFrame z)) (a_1.jet O p a z i)) (a_2.jet O p a z j) else 0
Instances For
These two families have zero angular mean by periodicity.
Equations
Instances For
The pure mean slow product is constant in angle.
Equations
Instances For
Known term indices, given by Finset.univ.product ((Finset.range (p+2)).product (Finset.range (p+2))).
Equations
- EulerPacketCylinderField.knownTermIndices p = Finset.univ.product ((Finset.range (p + 2)).product (Finset.range (p + 2)))
Instances For
theorem
EulerPacketCylinderField.sum_knownTerm_raw
(O : EulerPacketProfileRecursion.Operators)
(p : ℕ)
(a : ℕ → EulerPacketProfileRecursion.Profile)
(z : EulerPacketPointJets.Domain)
:
∑ q ∈ knownTermIndices p, q.1.raw O p a q.2.1 q.2.2 z = (EulerPacketPointJets.linearPart (O.strain z)) (EulerPacketPointJets.slicedJet O.interval (a (p - 1)).corrector z) + (EulerPacketPointJets.slowPressure (O.inverseFrame z))
(EulerPacketPointJets.pressureJet (a (p - 1)).highPressure z) + ∑ l : KnownPiece,
∑ r : KnownPiece,
EulerFiniteGrades.convolution (p + 1) (EulerPacketPointJets.slowAdvection (O.inverseFrame z))
(l.jet O p a z) (r.jet O p a z) p + EulerFiniteGrades.convolution (p + 1) (EulerPacketPointJets.fastAdvection (O.normal z))
(KnownPiece.mean.jet O p a z) (KnownPiece.high.jet O p a z) (p + 1) + EulerFiniteGrades.convolution (p + 1) (EulerPacketPointJets.fastAdvection (O.normal z))
(KnownPiece.mean.jet O p a z) (KnownPiece.corrector.jet O p a z) (p + 1) + EulerFiniteGrades.convolution (p + 1) (EulerPacketPointJets.fastAdvection (O.normal z))
(KnownPiece.corrector.jet O p a z) (KnownPiece.high.jet O p a z) (p + 1) + EulerFiniteGrades.convolution (p + 1) (EulerPacketPointJets.fastAdvection (O.normal z))
(KnownPiece.corrector.jet O p a z) (KnownPiece.corrector.jet O p a z) (p + 1)
theorem
EulerPacketCylinderField.knownForce_eq_term_sum
(O : EulerPacketProfileRecursion.Operators)
(p : ℕ)
(hp : 2 ≤ p)
(a : ℕ → EulerPacketProfileRecursion.Profile)
(hc : (a 0).corrector = 0)
(hB₁ : (a 1).mean = 0)
(z : EulerPacketPointJets.Domain)
(ha : ∀ (i : ℕ), inner ℝ (O.normal z) (KnownPiece.high.jet O p a z i).1 = 0)
(hb : ∀ (i : ℕ), (KnownPiece.mean.jet O p a z i).2 EulerPacketPointJets.angleDirection = 0)
:
EulerPacketProfileRecursion.knownForce O p a z = -∑ q ∈ knownTermIndices p, q.1.raw O p a q.2.1 q.2.2 z
Exact raw known force, with all identically zero fast interactions removed.