High-contrast homogenization: #
Provider.PolynomialHomogenization.Root.EnergyPrice.WitnessZeroTraceAtCube
Imported from the Apache-2.0 HighContrastHomogenization development at commit
7a13dbcd8d6609264a713373f5c69ceeac870472.
Gate R3, core: the witness zero-trace difference, at the gauge cube #
DirichletForcedCubeSolution needs a zeroTraceDifference at the triadic
cube, while the frozen clause states it as MemH1a0 on the physical
domain (168:45-47). Every link of the transport is and public —
memH1a0_affinePullback(HCPoly.Analytic.AffineH1a0) — the matrix gauge;matImage_inv_affineImage— the gauge image is a translate of the cube;exists_h10Function_of_memH1a0(HCPoly.Analytic.H1a0ToH10) — theH¹₀realization, with literal field equalities;H10Function.untranslate(CoarseGraining) — the translation half —
but no declaration composes them: every existing affine lemma is
either pure-matrix (matImage L⁻¹) or pure-translation (translateSet z).
This file supplies the composite.
Gate R3, core. The physical MemH1a0 zero-trace datum of the frozen
clause becomes an honest H¹₀ function on the gauge triadic cube, with its
value and gradient given by the gauge-and-translate pullback.
Gate R3, packaged. Given the four pieces, the witness Dirichlet
cube solution exists with its toH1 the prescribed (pulled-back) solution and
its boundaryData the prescribed (pulled-back) datum — the combination no
constructor provides.
Equations
- HCPolySupport.HighContrast.EnergyPrice.witnessDirichletForcedCubeSolution uObs gObs hforced hzero = { toH1 := uObs, boundaryData := gObs, weakSolution := hforced, zeroTraceDifference := hzero }