Coarse-graining support: Support.PDE.Harmonic #
Imported from the Apache-2.0 CoarseGraining development at commit
c7ddd76c08ade64fed1b8d2ca51be14dfee8deb4.
An H¹ potential gradient whose coefficient flux pairs to zero with every H¹₀(U)
gradient.
Equations
- HCPolySupport.IsAHarmonicGradient a U f = (HCPolySupport.IsPotentialOn U f ∧ HCPolySupport.IsSolenoidalOn U fun (x : HCPolySupport.Vec d) => HCPolySupport.matVecMul (a x) (f x))
Instances For
A potential field and solenoidal flux on U, with g = a f pointwise everywhere.
Equations
- HCPolySupport.IsAHarmonicPair a U f g = (HCPolySupport.IsPotentialOn U f ∧ HCPolySupport.IsSolenoidalOn U g ∧ ∀ (x : HCPolySupport.Vec d), g x = HCPolySupport.matVecMul (a x) (f x))
Instances For
A potential field and solenoidal flux on U, with g = aᵀ f pointwise everywhere.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A pair of potential and flux fields satisfying the a-harmonic relation on U.
The potential field of the harmonic pair.
The solenoidal flux, pointwise equal to the coefficient applied to the potential field.
- isHarmonicPair : IsAHarmonicPair a U self.grad self.flux
Instances For
An H¹(U) function whose coefficient-weighted weak gradient is solenoidal on U.
- toH1 : H1Function U
The underlying
H¹function and its weak gradient. - isHarmonic : IsAHarmonicGradient a U self.toH1.grad
Instances For
Integrability of a vector flux paired with every H10Function test
gradient. This abbreviation keeps harmonic-combination headers small.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Integrability of the weak flux pairing attached to an AHarmonicFunction.
Equations
- HCPolySupport.weakFluxIntegrable U a u = HCPolySupport.h10FluxIntegrable U fun (x : HCPolySupport.Vec d) => HCPolySupport.matVecMul (a x) (u.toH1.grad x)
Instances For
Surface notation for adjoint-harmonic functions. This matches the Chapter-2
notation 𝒜*(U; a) while reusing the existing AHarmonicFunction structure.
Equations
- HCPolySupport.AStarHarmonicFunction U a = HCPolySupport.AHarmonicFunction (fun (x : HCPolySupport.Vec d) => HCPolySupport.matTranspose (a x)) U
Instances For
An a-harmonic H¹ function with zero integral over U.
- toAHarmonicFunction : AHarmonicFunction a U
The underlying harmonic function with zero integral.
- meanZero : MeanZeroOn U self.toAHarmonicFunction.toH1.toFun
Instances For
Equations
Pair a harmonic gradient with its coefficient flux.
Equations
- HCPolySupport.AHarmonicPair.ofGradient hf = { grad := f, flux := fun (x : HCPolySupport.Vec d) => HCPolySupport.matVecMul (a x) (f x), isHarmonicPair := ⋯ }
Instances For
Add harmonic pairs componentwise when their flux pairings with zero-trace tests are integrable.
Equations
Instances For
The harmonic pair consisting of the function's weak gradient and coefficient flux.
Equations
Instances For
Add a scalar constant to a harmonic function on a finite-measure domain.
Instances For
Subtract the volume average from a harmonic function.
Equations
- u.normalizeMeanZero = { toH1 := u.toH1.subAverage, isHarmonic := ⋯ }
Instances For
Package a harmonic function after subtracting its volume average as a mean-zero harmonic function.
Equations
- u.toMeanZero = { toAHarmonicFunction := u.normalizeMeanZero, meanZero := ⋯ }
Instances For
Restrict a harmonic function to an open subset with square-integrable coefficient flux.
Equations
Instances For
Restrict a harmonic function to an open subset where the coefficient field is elliptic.
Equations
- u.restrictOfIsEllipticFieldOn hU hV hVU hEllV = u.restrictOfMemVectorL2 hU hV hVU ⋯
Instances For
Add harmonic functions whose weak flux pairings are integrable.
Instances For
Form the harmonic function u + c • w using integrable weak flux pairings.
Equations
- u.addSMulOfIntegrable w hu_int hw_int c = u.addOfIntegrable { toH1 := c • w.toH1, isHarmonic := ⋯ } hu_int ⋯