8.5

#### 9.6Clean Up the Geometry

$\newcommand{\QuantityFunctionOf}[2]{{#1}(#2)} \newcommand{\QFO}[2]{\QuantityFunctionOf{#1}{#2}} \newcommand{\QuantityFunctionOfNoArg}[1]{{#1}} \newcommand{\QFONA}[1]{\QuantityFunctionOfNoArg{#1}} \newcommand{\SubscriptedQuantityFunctionOf}[3]{{#1}_{#2}(#3)} \newcommand{\SQFO}[3]{\SubscriptedQuantityFunctionOf{#1}{#2}{#3}} \newcommand{\QuantityChildOf}[2]{{#2}^{#1}} \newcommand{\QCO}[2]{\QuantityChildOf{#1}{#2}} \newcommand{\QuantityRelatedTo}[2]{{#1}[#2]} \newcommand{\QRT}[2]{\QuantityRelatedTo{#1}{#2}} \newcommand{\QuantitySubscriptedBy}[2]{{#1}_{#2}} \newcommand{\QSB}[2]{\QuantitySubscriptedBy{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOfChildOf}[4]{{#1}_{#2}^{#3}(#4)} \newcommand{\SQFOCO}[4]{\SubscriptedQuantityFunctionOfChildOf{#1}{#2}{#3}{#4}} \newcommand{\SubscriptedQuantityChildOf}[3]{{#1}_{#2}^{#3}} \newcommand{\SQCO}[3]{\SubscriptedQuantityChildOf{#1}{#2}{#3}} \newcommand{\overbar}[1]{\mkern 1.5mu\overline{\mkern-1.5mu#1\mkern-1.5mu}\mkern 1.5mu} \newcommand{\bcdot}{\boldsymbol{\cdot}} \newcommand{\SuchThat}{\, : \,} \newcommand{\SuchThatText}{\text{s.t.}} \newcommand{\DefEq}{\overset{\operatorname{def}}{=}} \newcommand{\True}{\textsf{True}} \newcommand{\False}{\textsf{False}} \newcommand{\ArrayRoster}[1]{\left[#1\right]} \newcommand{\ArrayRosterI}[2]{[#1]_{#2}} \newcommand{\ArrayEmpty}{\ArrayRoster{\hspace{1mm}}} \newcommand{\Tuple}[1]{\mathsf{#1}} \newcommand{\TupleRoster}[1]{\left(#1\right)} \newcommand{\PointPair}[2]{\TupleRoster{#1, #2}} \newcommand{\Set}[1]{\mathsf{#1}} \newcommand{\SetRoster}[1]{\left\{ #1 \right\}} \newcommand{\SetRosterIndexed}[3]{\SetRoster{#1}_{#2}^{#3}} \newcommand{\SetRosterPredicate}[2]{\SetRoster{#1 \SuchThat #2}} \newcommand{\SetEmpty}{\varnothing} \newcommand{\SetPower}[1]{\QuantityFunctionOf{\boldsymbol{\Set{P}}}{#1}} \newcommand{\SetNeighborhood}[1]{\QuantityFunctionOf{\boldsymbol{\Set{B}}}{#1}} \newcommand{\Domain}{\Omega} \newcommand{\DomainBdry}{\Gamma} \newcommand{\IntervalClosed}[2]{\left[#1, #2\right]} \newcommand{\IntervalOpen}[2]{\left(#1, #2\right)} \newcommand{\IntervalClosedOpen}[2]{\left[#1, #2\right)} \newcommand{\IntervalOpenClosed}[2]{\left(#1, #2\right]} \newcommand{\Reals}{\mathbb{R}} \newcommand{\Naturals}{\mathbb{N}} \newcommand{\Integers}{\mathbb{Z}} \newcommand{\Field}{\mathbb{F}} \newcommand{\Size}[1]{\left\lvert #1 \right\rvert} \newcommand{\Union}[3]{\bigcup\limits_{#1}^{#2} #3} \newcommand{\UnionInline}[3]{\bigcup_{#1}^{#2} #3} \newcommand{\Intersect}[3]{\bigcap\limits_{#1}^{#2} #3} \newcommand{\ElementWiseGreaterOrEqual}{\succeq} \newcommand{\ElemntWiseGreater}{\succ} \newcommand{\ElementWiseLessOrEqual}{\preceq} \newcommand{\ElementWiseLess}{\prec} \newcommand{\SpaceLinear}[1]{\mathnormal{#1}} \newcommand{\SpaceDual}[1]{\SpaceLinear{#1}^*} \newcommand{\AbsoluteValue}[1]{\Size{#1}} \newcommand{\Norm}[2]{\left\lVert #2 \right\rVert_{#1}} \newcommand{\NormAbstract}[1]{\Norm{}{#1}} \newcommand{\NormSemi}[1]{\Size{#1}} \newcommand{\SpaceLinearNormed}[1]{\left(\SpaceLinear{#1}, \NormAbstract{\bcdot} \right)} \newcommand{\SpaceBanach}[1]{\mathfrak{#1}} % normed and complete \newcommand{\SymmetricBilinear}[2]{\left(#1, #2\right)} \newcommand{\InnerProduct}[2]{\left\langle#1, #2\right\rangle} \newcommand{\DotProduct}[2]{\left(#1 \bcdot #2\right)} \newcommand{\SpaceInnerProduct}[1]{\left(\SpaceLinear{#1}, \InnerProduct{\bcdot}{\bcdot}\right)} \newcommand{\SpaceHilbert}[1]{\mathcal{#1}} \newcommand{\SpaceLTwo}{\SpaceHilbert{L}_2} \newcommand{\SpaceLTwoDef}[2]{\SpaceLTwo\left(#1; #2\right)} \newcommand{\SpaceLInfty}{\SpaceHilbert{L}_\infty} \newcommand{\SpaceLTwoWeighted}{\SpaceLTwo^w} \newcommand{\SpaceSobolevK}[1]{\SpaceHilbert{H}^{#1}} \newcommand{\SpaceSobolevKDef}[3]{\SpaceSobolevK{#1}\left(#2 ; #3\right)} \newcommand{\Cont}{\operatorname{cont}} \newcommand{\SpaceCont}{\SpaceHilbert{C}} \newcommand{\SpaceContDef}[2]{\SpaceCont\left(#1 ; #2\right)} \newcommand{\SpaceContK}[1]{\SpaceCont^{#1}} \newcommand{\SpaceContKDef}[3]{\SpaceContK{#1}\left(#2; #3\right)} \newcommand{\SpaceContZero}{\SpaceContK{0}} \newcommand{\SpaceContInf}{\SpaceContK{\infty}} \newcommand{\SpaceContInfDef}[2]{\SpaceContKDef{\infty}{#1}{#2}} \newcommand{\SpaceContKBounded}[2]{\SpaceContK{#1}_{#2}} \newcommand{\SpaceContKBoundedDef}[3]{\SpaceCont_{b}^{#1}\left(#2 ; #3\right)} \newcommand{\SpaceLinearOperator}[1]{\mathscr{#1}} \newcommand{\SpaceLinearOperatorDef}[2]{\SpaceLinearOperator{L}\left(#1 ; #2\right)} \newcommand{\SpaceLinearOperatorBoundedDef}[2]{\SpaceLinearOperator{B}\left(#1 ; #2\right)} \newcommand{\SpaceLinearN}[1]{\SpaceLinear{#1}^h} \newcommand{\SpaceHilbertN}[1]{\SpaceHilbert{#1}^h} \newcommand{\SpaceVecRealN}[1]{\Reals^{#1}} \newcommand{\SpacePoly}[1]{\SpaceHilbert{P}^{#1}} \newcommand{\SpaceMatrixRealMN}[2]{\Reals^{#1\times#2}} \newcommand{\SpacePolyDef}[3]{\SpacePoly{#1}\left(#2 ; #3\right)} \newcommand{\Func}[1][f]{#1} \newcommand{\FuncAlt}[1][g]{#1} \newcommand{\FuncDef}[3]{#1 \SuchThat #2 \rightarrow #3} \newcommand{\FuncApprox}[1]{#1^h} \newcommand{\LinearOperator}[1]{\SpaceLinearOperator{#1}} \newcommand{\LinearOperatorDef}[3]{\FuncDef{\LinearOperator{#1}}{#2}{#3}} \newcommand{\Functional}[1]{\LinearOperator{#1}} \newcommand{\Projection}{\Pi} \newcommand{\VectorProjection}[2]{\Projection_{#1} {\left(#2\right)}} \newcommand{\Mat}[1]{\boldsymbol{#1}} \newcommand{\MatIJ}[3]{\left[#1\right]_{#2#3}} \newcommand{\MatIdRow}{m} \newcommand{\MatIdCol}{n} \newcommand{\NonZeroIndices}{\operatorname{\mathsf{nzi}}} \newcommand{\ColumnSelector}{\operatorname{\mathrm{col}}} \newcommand{\RowSelector}{\operatorname{\mathrm{row}}} \newcommand{\ColOf}[1]{\ColumnSelector_{#1}} \newcommand{\RowOf}[1]{\RowSelector_{#1}} \newcommand{\DiagonalMatrix}[1]{\QFO{\operatorname*{diag}}{#1}} \newcommand{\Rotation}{\Mat{R}} \newcommand{\Identity}{\Mat{I}} \newcommand{\KroneckerDeltaComp}{\delta} \newcommand{\KroneckerDelta}{\Mat{\delta}} \newcommand{\LeviCivita}{\Mat{\epsilon}} \newcommand{\Jacobian}{\Mat{J}} \renewcommand{\Vec}[1]{\boldsymbol{#1}} \newcommand{\VecChildOf}[2]{\QCO{#2}{#1}} \newcommand{\VecI}[2]{\{#1\}_{#2}} \newcommand{\ZeroVec}{\Vec{0}} \newcommand{\OneVec}{\Vec{1}} \newcommand{\ZeroMat}{\Mat{0}} \newcommand{\UnitNormalComp}{n} \newcommand{\UnitNormal}{\Vec{\UnitNormalComp}} \newcommand{\MacBracket}[1]{\langle#1\rangle} \newcommand{\IdentityTenSym}{\mathbb{I}} \newcommand{\BraKet}[1]{\langle#1\rangle} \newcommand{\FuncObjective}[1]{\QFO{\Func}{#1}} \newcommand{\FuncEqualityConstraints}[1]{\QFO{\Func[\Vec{g}]}{#1}} \newcommand{\VarDesign}{\Vec{\phi}} \newcommand{\VarState}[1]{\QFO{\Vec{u}}{#1}} \newcommand{\FuncLagrangian}[1]{\QFO{\mathscr{L}}{#1}} \newcommand{\FuncAugmentedLagrangian}[1]{\QFO{\mathscr{L}_A}{#1}} \newcommand{\VecLambdaLM}[1]{\QFO{\Vec{\lambda}}{#1}} \newcommand{\LambdaLM}[1]{\QFO{\lambda}{#1}} \newcommand{\SolutionLocalOpt}[1]{\left(#1\right)^*} \newcommand{\ProximalPoint}{\overbar{\VecLambdaLM{}}} \newcommand{\PenaltyParameter}{\rho} \newcommand{\Slacify}[1]{\QSB{#1}{s}} \newcommand{\Prod}[2]{\prod\limits_{#1}^{#2}} \newcommand{\ProdInline}[2]{\prod_{#1}^{#2}} \newcommand{\TensorProduct}{\otimes} \newcommand{\Sum}[2]{\sum\limits_{#1}^{#2}} \newcommand{\SumInline}[2]{\sum_{#1}^{#2}} \newcommand{\Rank}[1]{\operatorname{rank}(#1)} \newcommand{\Nullity}[1]{\operatorname{null}(#1)} \newcommand{\Image}{\operatorname{image}} \newcommand{\Range}{\operatorname{range}} \newcommand{\Inverse}[1]{\left(#1\right)^{-1}} \newcommand{\inverse}[1]{\overline{#1}} \newcommand{\Transpose}[1]{\left(#1\right)^{T}} \newcommand{\TransposeSimple}[1]{#1^{T}} \newcommand{\InvTrans}[1]{\left(#1\right)^{-T}} \newcommand{\Complement}[1]{\overbar{#1}} \newcommand{\Adjoint}[1]{\left(#1\right)^*} \newcommand{\OrthogonalComplement}[1]{\left(#1\right)^\perp} \newcommand{\Det}[1]{\QFO{\operatorname{det}}{#1}} \newcommand{\DCT}{\operatorname{DCT}} \newcommand{\IDCT}{\operatorname{IDCT}} \newcommand{\RealPart}[1]{\QFO{\mathfrak{R}}{#1}} \newcommand{\Trace}[1]{\QFO{\operatorname{tr}}{#1}} \newcommand{\Dev}[1]{\QFO{\operatorname{dev}}{#1}} \newcommand{\DevDef}[1]{\Dev{#1} \DefEq #1 - \frac{1}{3}\Trace{#1}\Identity} \newcommand{\dual}[1]{{\bar{#1}}} \newcommand{\symind}[1]{\textsc{#1}} \newcommand{\symmetrizer}{{S}} \newcommand{\BasisFuncCoeff}[2]{\QSB{#1}{#2}} \newcommand{\BasisVec}[2]{\QSB{#1}{#2}} \newcommand{\BasisVecChildOf}[3]{\SQFOCO{#1}{#2}{#3}{a}} \newcommand{\OrthogonalBasisVec}[2]{\SQFOCO{#1}{#2}{\perp}{a}} \newcommand{\OrthonormalBasisVec}[2]{\SQFOCO{\overbar{#1}}{#2}{\perp}{a}} \newcommand{\PolynomialDegree}{p} \newcommand{\BasisFuncId}{i} \newcommand{\BasisFuncIdAlt}{j} \newcommand{\BasisFuncIdAltAlt}{k} \newcommand{\BasisFunc}[3]{\SQFO{#1}{#2}{#3}} \newcommand{\PowerBasisFunc}[2]{\QCO{#2}{#1}} \newcommand{\LagrangeBasisFunc}[3]{\SQFOCO{\Func[L]}{#1}{#2}{#3}} \newcommand{\LagrangeBasisFuncNoArg}[2]{\SQCO{\Func[L]}{#1}{#2}} \newcommand{\LegendreBasisFunc}[3]{\SQFOCO{\Func[P]}{#1}{#2}{#3}} \newcommand{\LegendreBasisFuncNoArg}[2]{\SQCO{\Func[P]}{#1}{#2}} \newcommand{\PreNormalizedLegendreBasisFunc}[3]{\hat{\LegendreBasisFunc{#1}{#2}{#3}}} \newcommand{\ChebyshevBasisFunc}[2]{\SQFO{\Func[T]}{#1}{#2}} \newcommand{\ChebyshevBasisFuncNoArg}[1]{\SQCO{\Func[T]}{#1}{}} \newcommand{\BasisVecI}{\Vec{i}} \newcommand{\BasisVecJ}{\Vec{j}} \newcommand{\BasisVecK}{\Vec{k}} \newcommand{\Span}{\operatorname{span}} \newcommand{\Dim}[1]{\operatorname{dim}\left({#1}\right)} \newcommand{\Support}[1]{\operatorname{supp}(#1)} \newcommand{\SupportPos}[1]{\operatorname{supp}_{+}(#1)} \newcommand{\SumBasis}[4]{\Sum{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\SumInlineBasis}[4]{\SumInline{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\BasisTransMatrix}[2]{\Mat{R}_{{#1}\rightarrow{#2}}} \newcommand{\ChebyshevZeros}[1]{\QSB{z}{#1}} \newcommand{\ChebyshevExtremizers}[1]{\QSB{t}{#1}} \newcommand{\BernToChebMat}{\Mat{T}} \newcommand{\Chebfun}[3]{\biggl(\, \sum_{#2=0}^{#1}{#3}_{#2}\ChebyshevBasisFuncNoArg{#2}\biggr)} \newcommand{\ChebfunVector}[1]{\left[#1\right]_c} \newcommand{\PowerBasisMat}[1]{\QCO{#1}{\Mat{M}}} \newcommand{\LagrangeBasisMat}[1]{\QCO{#1}{\Mat{L}}} \newcommand{\LegendreBasisMat}[1]{\QCO{#1}{\Mat{P}}} \newcommand{\BernsteinBasisMat}[1]{\QCO{#1}{\Mat{B}}} \newcommand{\ChebyshevBasisMat}[1]{\QCO{#1}{\Mat{T}}} \newcommand{\EvaluateTwoLimits}[3]{#1\biggr\rvert_{#2}^{#3}} \newcommand{\EvaluateOneLimit}[2]{\left.#1\right\rvert_{#2}} \newcommand{\Limit}[2]{\lim\limits_{#1\rightarrow #2}} \newcommand{\LimitInline}[2]{\lim_{#1\rightarrow #2}} \newcommand{\DNE}{\operatorname{DNE}} \newcommand{\TotalDeriv}{D} \newcommand{\LagrangeDeriv}[1]{{#1}'} \newcommand{\KthLagrangeDeriv}[2]{{#1}^{(#2)}} \newcommand{\LeibnizSubDeriv}[2]{{#1}_{,#2}} \newcommand{\LeibnizFracDeriv}[2]{\frac{d}{d#2} #1} \newcommand{\KthLeibnizFracDeriv}[3]{\frac{d^{#2}}{d#3^{#2}}\Func[#1](#3)} \newcommand{\KthLeibnizFracSpecificFunction}[3]{\frac{d^{#2}}{d#3^{#2}}\Func[#1]} \newcommand{\Differential}[1][x]{\, \operatorname{d}{#1}} \newcommand{\FrechetDeriv}[2]{D{#1}\left(#2\right)} \newcommand{\GateauxDirectionBold}[1]{\Vec{\delta}#1} \newcommand{\GateauxDirection}[1]{\delta #1} \newcommand{\GateauxDerivBold}[2]{D#1(#2; \GateauxDirectionBold{#2})} \newcommand{\GateauxDeriv}[2]{D#1(#2; \GateauxDirection{#2})} \newcommand{\GateauxDerivWithDirection}[3]{D#1\left(#2 \ ;\ #3\right)} \newcommand{\GateauxDerivPartial}[2]{\frac{\partial #1}{\partial #2}} \newcommand{\KthGateauxDerivPartial}[3]{\frac{\partial^{#3} #1}{\partial #2^{#3}}} \newcommand{\Grad}[2]{\boldsymbol{\nabla}^{#1} #2} \newcommand{\Jac}{\Mat{J}} \newcommand{\Div}[2]{\boldsymbol{\nabla}^{#1} \bcdot #2} \newcommand{\Laplace}[2]{\boldsymbol{\Delta}^{#1} #2} \newcommand{\TaylorSeries}[2]{\mathcal{T}\left[\Func[#1]\right](#2)} \newcommand{\TruncatedTaylorSeries}[3]{\mathcal{T}_{#1}\left[\Func[#2]\right]\left(#3\right)} \newcommand{\Int}[2]{\int\limits_{#1}^{#2}} \newcommand{\IntDomain}[1]{\int\limits_{#1}} \newcommand{\IntInline}[2]{\int_{#1}^{#2}} \newcommand{\IntDomainInline}[1]{\int_{#1}} \newcommand{\DetJacobian}{\Det{\Jac}} \newcommand{\BigO}[1]{\mathcal{O}\left(#1\right)} \newcommand{\Flops}{\operatorname{flops}} \newcommand{\Interpolant}[2]{\mathcal{#1}^{h}} \newcommand{\ErrorApproxComp}{e} \newcommand{\ErrorApproxTen}{\Vec{\ErrorApproxComp}} \newcommand{\ErrorNewton}{\epsilon} \newcommand{\ApproximateIntegrationError}[1]{\tilde{e}_{#1}} \newcommand{\AnalyticApproximateIntegrationErrorDifference}[1]{\overbar{e}_{#1}} \newcommand{\erf}[1]{\mathrm{erf}\left(#1\right)} \newcommand{\erfc}[1]{\mathrm{erfc}\left(#1\right)} \newcommand{\HeavisideFunc}[1]{\mathit{H}\left(#1\right)} \newcommand{\DiracDelta}[2]{\delta_{D}\left(#1 - #2\right)}$$\newcommand{\SymbolParentModifier}[1]{\overbar{#1}} \newcommand{\SymbolParamModifier}[1]{\hat{#1}} \newcommand{\SymbolSubmeshModifier}{} \newcommand{\SymbolDomain}{\Domain} \newcommand{\SymbolDomainBdry}{\DomainBdry} \newcommand{\SymbolBernstein}{B} \newcommand{\SymbolBasisUspline}{N} \newcommand{\SymbolUspline}{U} \newcommand{\SymbolUsplineLower}{u} \newcommand{\SymbolGrevillePoint}{g} \newcommand{\SymbolDim}{d} \newcommand{\SymbolArbitraryCoeffUspline}{c} \newcommand{\SymbolArbitraryCoeffUsplineAlt}{\beta} \newcommand{\SymbolArbitraryCoeffBernstein}{c} \newcommand{\SymbolDistance}{\operatorname{dist}} \newcommand{\AdjacencyId}{n} \newcommand{\DimId}{k} \newcommand{\DimIdAlt}{n} \newcommand{\ArbDim}{\DimId} \newcommand{\ArbDimAlt}{\DimIdAlt} \newcommand{\DimIdSet}{\Set{\DimId}} \newcommand{\DimIdOne}{\DimId_0} \newcommand{\DimIdTwo}{\DimId_1} \newcommand{\DimIdThree}{\DimId_2} \newcommand{\TopoAlpha}[1]{\alpha_{#1}} \newcommand{\TopoPhi}[1]{\phi_{#1}} \newcommand{\UTopology}{\mathsf{U}} \newcommand{\Map}[1]{\mathsf{#1}} \newcommand{\OMap}[1]{\mathsf{#1}} \newcommand{\UOMap}[1]{\UTopology(#1)} \newcommand{\Topology}{\mathsf{T}} \newcommand{\DartsOf}[1]{\operatorname*{\mathsf{D}}\left(#1\right)} \newcommand{\DartIndex}[1]{\operatorname*{\mathsf{ID}}\left(#1\right)} \newcommand{\OR}{\operatorname{OR}} \newcommand{\AND}{\operatorname{AND}} \newcommand{\XOR}{\operatorname{XOR}} \newcommand{\Decomp}{\operatorname{dec}} \newcommand{\ParentDomain}{\SymbolParentModifier{\SymbolDomain}} \newcommand{\ParentDomainChart}{\SymbolParentModifier{\Vec{\phi}}} \newcommand{\ParentDomainChartFunctionOf}[2]{\QuantityFunctionOf{{\ParentDomainChart}^{#1}}{#2}} \newcommand{\ParentDim}{\SymbolDim} \newcommand{\ParentCoord}{\xi} \newcommand{\ParentCoordVec}{\Vec{\ParentCoord}} \newcommand{\ParentS}{\ParentCoord_0} \newcommand{\ParentT}{\ParentCoord_1} \newcommand{\ParentU}{\ParentCoord_2} \newcommand{\ParentBarycentric}[1]{\ParentCoord_{#1}} \newcommand{\ParentGrevillePoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}} \newcommand{\ParentGrevillePointFunctionOf}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParentGrevillePointSet}[1]{\QuantityFunctionOf{\Set{\SymbolParentModifier{G}}}{#1}} \newcommand{\BernsteinBasisFuncId}{\BasisFuncId} \newcommand{\BernsteinBasisFuncIdAlt}{\BasisFuncIdAlt} \newcommand{\BernsteinBasisFuncIdAltAlt}{\BasisFuncIdAltAlt} \newcommand{\BernsteinBasisFuncIdB}{\BasisFuncIdAltAlt} \newcommand{\BernsteinBasisFuncIdOne}{\BernsteinBasisFuncId_0} \newcommand{\BernsteinBasisFuncIdTwo}{\BernsteinBasisFuncId_1} \newcommand{\BernsteinBasisFuncIdSet}{\Set{\BernsteinBasisFuncId}} \newcommand{\BernsteinBasisFuncIndexTuple}{\BernsteinBasisFuncIdSet} \newcommand{\BernsteinBasisFuncIndexTupleAlt}{\Set{\BernsteinBasisFuncIdAlt}} \newcommand{\BernsteinBasisFuncIndexTupleAltAlt}{\Set{\BernsteinBasisFuncIdAltAlt}} \newcommand{\BernsteinBasisFuncIndexTupleB}{\Set{\BernsteinBasisFuncIdB}} \newcommand{\BernsteinDegree}{\PolynomialDegree} \newcommand{\BernsteinDegreeAlt}{q} \newcommand{\BernsteinDegreeTuple}{\Tuple{\BernsteinDegree}} \newcommand{\BernsteinDegreeElevMatComp}{D} \newcommand{\BernsteinDegreeElevMat}{\Mat{\BernsteinDegreeElevMatComp}} \newcommand{\CompletePolynomial}[1]{\AbsoluteValue{#1}} \newcommand{\BernsteinBasisFunc}{\SymbolBernstein} \newcommand{\BernsteinBasisFuncVec}[1]{\QuantityChildOf{#1}{\Vec{\SymbolBernstein}}} \newcommand{\BernsteinBasisFuncVecFunctionOf}[2]{\QuantityFunctionOf{\BernsteinBasisFuncVec{#1}}{#2}} \newcommand{\BernsteinBasisFuncDetailed}[2]{\BernsteinBasisFunc_{#1}^{#2}} \newcommand{\BernFuncLowerDimCell}[2]{\BernsteinBasisFunc^{#1}_{#2}} \newcommand{\BernFuncInterf}[1]{\BernFuncLowerDimCell{\Interface}{#1}} \newcommand{\BernsteinSpace}{\SpaceHilbert{\SymbolBernstein}} \newcommand{\BernsteinRestriction}[2]{#1\vert_{#2}} \newcommand{\Bezier}{B\'ezier} \newcommand{\MeshTopo}{\boldsymbol{\textsf{M}}} \newcommand{\MeshSize}{h} \newcommand{\MeshBezier}{\boldsymbol{\textsf{B}}} \newcommand{\CellArbitrary}[1]{\Set{#1}} \newcommand{\Cell}{\CellArbitrary{c}} \newcommand{\CellAlpha}{\CellArbitrary{a}} \newcommand{\CellBeta}{\CellArbitrary{b}} \newcommand{\CellGamma}{\CellArbitrary{c}} \newcommand{\CellToTheLeft}{\CellAlpha} \newcommand{\CellToTheRight}{\CellBeta} \newcommand{\CellBoundary}[1]{\partial #1} \newcommand{\CellSet}[1]{\Set{C}^{#1}} \newcommand{\CellSetAdjacent}[1]{\Set{ADJ}^{#1}} \newcommand{\CellSetAdjacentFunctionOf}[2]{\QuantityFunctionOf{\CellSetAdjacent{#1}}{#2}} \newcommand{\NRing}[1]{\QuantitySubscriptedBy{\operatorname{ring}}{#1}} \newcommand{\NRingFunctionOf}[2]{\SQFO{\operatorname{ring}}{#1}{#2}} \newcommand{\CellSetCardinal}[1]{\QuantityFunctionOf{\Set{CRD}}{#1}} \newcommand{\CellSetSupport}[1]{\Support{#1}} \newcommand{\Elem}{\Set{E}} \newcommand{\Interface}{\Set{I}} \newcommand{\Smoothness}{\vartheta} \newcommand{\SmoothnessVar}{\rho} \newcommand{\SmoothnessSet}{\Set{\Smoothness}} \newcommand{\InterfaceSmoothness}[1]{\QuantityChildOf{#1}{\Smoothness}} \newcommand{\MaxPerpCont}[1]{\QuantityFunctionOf{\Smoothness^{\perp}_{\max}}{#1}} \newcommand{\Face}{\Set{f}} \newcommand{\Edge}{\Set{e}} \newcommand{\Vertex}{\Set{v}} \newcommand{\CodimTwoCell}{\Set{w}} \newcommand{\KCell}{\Cell^\ArbDim} \newcommand{\KPlusOneCell}{\Cell^{\ArbDim+1}} \newcommand{\KCellAlpha}{\CellAlpha^\ArbDim} \newcommand{\KPlusOneCellBeta}{\CellBeta^{\ArbDim+1}} \newcommand{\MaxParallelDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\max}}{#1}} \newcommand{\MinParallelDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\min}}{#1}} \newcommand{\MaxPerpDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\max}}{#1}} \newcommand{\MinPerpDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\min}}{#1}} \newcommand{\MinParallelPerpDegree}[2]{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\min}}{#1,#2}} \newcommand{\MaxParallelPerpDegree}[2]{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\max}}{#1,#2}} \newcommand{\DegreeParallel}{\BernsteinDegree^{\parallel}} \newcommand{\DegreeParallelToEdge}[2]{\DegreeParallel_{#1}(#2)} \newcommand{\DegreePerp}{\BernsteinDegree^{\perp}} \newcommand{\DegreePerpToInterface}[2]{\DegreePerp_{#1}(#2)} \newcommand{\DegreeTupleParallelToKCell}[2]{\Tuple{\BernsteinDegree}^{\parallel}_{#1}(#2)} \newcommand{\ChangeInDegree}[2]{\Delta(\BernsteinDegree)_{#1}^{#2}} \newcommand{\IndexSet}{\Set{ID}} \newcommand{\IndexSetFunctionOf}[1]{\QuantityFunctionOf{\IndexSet}{#1}} \newcommand{\CompositeBVUnionIndexSet}[1]{\QuantityFunctionOf{\Set{UID}}{#1}} \newcommand{\IndexSetPosCoeffs}[1]{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\IndexSetSet}{\boldsymbol{\IndexSet}} \newcommand{\IndexSetSetFunctionOf}[1]{\QuantityFunctionOf{\IndexSetSet}{#1}} \newcommand{\IndexSetOnMeshBezier}{\IndexSetFunctionOf{\MeshBezier}} \newcommand{\IndexOnCell}[2]{\QuantityChildOf{#1}{#2}} \newcommand{\IndexOnCellIJ}[3]{\QuantityChildOf{#1}{\TupleRoster{#2,#3}}} \newcommand{\CellFromQuantity}[1]{\QuantityFunctionOf{\operatorname{cell}}{#1}} \newcommand{\ExtractionOp}[1]{\QuantityChildOf{#1}{\Mat{C}}} \newcommand{\ExtractionOpFunctionOf}[2]{\QuantityFunctionOf{\ExtractionOp{#1}}{#2}} \newcommand{\ReconstructOp}[1]{\QuantityChildOf{#1}{\Mat{R}}} \newcommand{\ReconstructOpFunction}[2]{\QuantityFunctionOf{\ReconstructOp{#1}}{#2}} \newcommand{\Gramian}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{G}}{#2}}} \newcommand{\BernsteinSpaceOnMeshBezier}{\QCO{\MeshBezier}{\BernsteinSpace}} \newcommand{\ii}{\IndexOnCell{}{\BernsteinBasisFuncIndexTuple}} \newcommand{\jj}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAlt}} \newcommand{\kk}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAltAlt}} \newcommand{\ParamDomain}{\SymbolParamModifier{\SymbolDomain}} \newcommand{\ParamDomainOnCell}{\QuantityChildOf{\Cell}{\ParamDomain}} \newcommand{\ParamDomainBdry}{\SymbolParamModifier{\SymbolDomainBdry}} \newcommand{\ParamDomainChart}[1]{\Vec{\phi}^{#1}} \newcommand{\ParamDomainChartFunctionOf}[2]{\QuantityFunctionOf{\ParamDomainChart{#1}}{#2}} \newcommand{\ParamDim}{\SymbolDim} \newcommand{\ParamCoordSimple}{s} \newcommand{\ParamCoord}[1]{\QCO{#1}{s}} \newcommand{\ParamCoordVecSimple}{\Vec{s}} \newcommand{\ParamCoordVec}[1]{\QCO{#1}{\Vec{\ParamCoordSimple}}} \newcommand{\ParamDomainBdryParamCoord}{\ParamCoord{\ParamDomainBdry}} \newcommand{\ParamDomainBdryParamCoordVec}{\ParamCoordVec{\ParamDomainBdry}} \newcommand{\ParamCoordVecSet}{\boldsymbol{\Set{S}}} \newcommand{\ParamS}{\ParamCoord{}_0} \newcommand{\ParamT}{\ParamCoord{}_1} \newcommand{\ParamU}{\ParamCoord{}_2} \newcommand{\ParamBarycentric}[1]{\lambda_{#1}} \newcommand{\ParamLength}{\ell} \newcommand{\ParamLengthLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLength}} \newcommand{\ParamLengthRight}{\QuantityChildOf{\CellToTheRight}{\ParamLength}} \newcommand{\ParamLengthInS}{\ParamLength_{0}} \newcommand{\ParamLengthInT}{\ParamLength_{1}} \newcommand{\ParamLengthLeftS}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInS}} \newcommand{\ParamLengthLeftT}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInT}} \newcommand{\ParamLengthRightS}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInS}} \newcommand{\ParamLengthRightT}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInT}} \newcommand{\ParamLengthInSLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInS}} \newcommand{\ParamLengthInTLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInT}} \newcommand{\ParamLengthInSRight}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInS}} \newcommand{\ParamLengthInTRight}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInT}} \newcommand{\BernsteinDegreeInS}{\BernsteinDegree_{0}} \newcommand{\BernsteinDegreeInT}{\BernsteinDegree_{1}} \newcommand{\BernsteinDegreeLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegree}} \newcommand{\BernsteinDegreeRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegree}} \newcommand{\BernsteinDegreeInSLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegreeInS}} \newcommand{\BernsteinDegreeInSRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegreeInS}} \newcommand{\BernsteinDegreeInTLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegreeInT}} \newcommand{\BernsteinDegreeInTRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegreeInT}} \newcommand{\BernsteinDegreeBarycentricLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegree}} \newcommand{\BernsteinDegreeBarycentricRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegree}} \newcommand{\ParamGrevillePoint}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParamModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParamGrevillePointSet}[1]{\QuantityFunctionOf{\Set{\SymbolParamModifier{G}}}{#1}} \newcommand{\ParamDomainOnMeshBezier}{\QuantityChildOf{\MeshBezier}{\ParamDomain}} \newcommand{\BernsteinTraceMappingMat}{\Mat{M}} \newcommand{\NormalParamCoordSet}[2]{\QuantityFunctionOf{\ParamCoordVecSimple^{\perp}_{#1}}{#2}} \newcommand{\ParallelParamCoordSet}[2]{\QuantityFunctionOf{\ParamCoordVecSimple^{\parallel}_{#1}}{#2}} \newcommand{\Submesh}{\boldsymbol{\textsf{K}}} \newcommand{\SubmeshDomain}{\SymbolSubmeshModifier{\SymbolDomain}} \newcommand{\SubmeshDomainBdry}{\SymbolSubmeshModifier{\SymbolDomainBdry}} \newcommand{\SubmeshDomainChart}[1]{\QuantityChildOf{#1}{\Vec{\varphi}}} \newcommand{\SubmeshDomainChartFunctionOf}[2]{\QuantityFunctionOf{\SubmeshDomainChart{#1}}{#2}} \newcommand{\SubmeshDomainParameter}{\mathsf{\alpha}} \newcommand{\SubmeshDomainParameterVec}{\Vec{\SubmeshDomainParameter}} \newcommand{\SubmeshGrevillePoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}} \newcommand{\SubmeshGrevillePointFunctionOf}[2]{\QuantityFunctionOf{\SubmeshGrevillePoint{#1}}{#2}} \newcommand{\SubmeshGrevilleMaxPoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolGrevillePoint}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSet}[1]{\QuantityChildOf{#1}{\Set{G}}_{\max}} \newcommand{\SubmeshGrevilleMinPointSet}[1]{\QuantityChildOf{#1}{\Set{G}}_{\min}} \newcommand{\SubmeshGrevilleMaxPointLeft}{\SubmeshGrevilleMaxPoint{\CellAlpha}} \newcommand{\SubmeshGrevilleMaxPointRight}{\SubmeshGrevilleMaxPoint{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointIntersection}{\SubmeshGrevilleMaxPoint{\Interface}} \newcommand{\SubmeshGrevilleMinPointSetLeft}{\SubmeshGrevilleMinPointSet{\CellAlpha}} \newcommand{\SubmeshGrevilleMinPointSetRight}{\SubmeshGrevilleMinPointSet{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointSetLeft}{\SubmeshGrevilleMaxPointSet{\CellAlpha}} \newcommand{\SubmeshGrevilleMaxPointSetRight}{\SubmeshGrevilleMaxPointSet{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointSetIntersection}{\SubmeshGrevilleMaxPointSet{\Interface}} \newcommand{\SubmeshGrevillePointSet}{\Set{\SymbolSubmeshModifier{G}}} \newcommand{\SubmeshGrevillePointSetFunctionOf}[1]{\QuantityFunctionOf{\SubmeshGrevillePointSet}{#1}} \newcommand{\SubmeshGrevillePointSetLeft}{\Set{\SymbolSubmeshModifier{GA}}} \newcommand{\SubmeshGrevillePointSetRight}{\Set{\SymbolSubmeshModifier{GB}}} \newcommand{\SubmeshGrevillePointSetElement}[1]{\Set{\SymbolSubmeshModifier{GE}}_{#1}} \newcommand{\SubmeshGrevillePointSetIntersect}{\Set{\SymbolSubmeshModifier{GI}}} \newcommand{\SubmeshGrevillePointSetUnion}[1]{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GU}}}{#1}} \newcommand{\SubmeshGrevillePointSetSet}{\boldsymbol{\SubmeshGrevillePointSet}} \newcommand{\SubmeshGrevillePointSetSetFunctionOf}[1]{\QuantityFunctionOf{\SubmeshGrevillePointSetSet}{#1}} \newcommand{\SubmeshGrevillePointSetSetLeft}{\boldsymbol{\SymbolSubmeshModifier{\Set{GA}}}} \newcommand{\SubmeshGrevillePointSetSetRight}{\boldsymbol{\SymbolSubmeshModifier{\Set{GB}}}} \newcommand{\SubmeshGrevillePointSetSetElement}[2]{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1}}{#2}} \newcommand{\SubmeshGrevilleDifferenceVectorsSet}{\Delta \SubmeshGrevillePointSetFunctionOf{a}} \newcommand{\SubmeshGrevilleDifferenceVectorsSetRight}{\Delta\SubmeshGrevilleMaxPointSetRight} \newcommand{\SubmeshGrevilleDifferenceVector}{\Delta\SubmeshGrevilleMaxPoint{a}} \newcommand{\SubmeshGrevilleDifferenceVectorLeft}{\Delta\SubmeshGrevilleMaxPointLeft} \newcommand{\SubmeshGrevilleDifferenceVectorRight}{\Delta\SubmeshGrevilleMaxPointRight} \newcommand{\SubmeshGrevilleDistanceToCell}[2]{\QuantityFunctionOf{\SymbolDistance}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCell}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMin}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\min}}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMax}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\max}}{#1, #2}} \newcommand{\SubmeshPerpProjection}[1]{\Projection^{\perp}_{#1}} \newcommand{\SubmeshPerpProjectionFunctionOf}[2]{\QuantityFunctionOf{\SubmeshPerpProjection{#1}}{#2}} \newcommand{\SubmeshParallelProjection}[1]{\Projection^{\parallel}_{#1}} \newcommand{\SubmeshParallelProjectionFunctionOf}[2]{\QuantityFunctionOf{\SubmeshParallelProjection{#1}}{#2}} \newcommand{\SubmeshStarProjection}[2]{\QuantityFunctionOf{\Projection^{*}_{#1}}{#2}} \newcommand{\SubmeshPerpEquivalence}[1]{\varpi^{\perp}_{#1}} \newcommand{\SubmeshParallelEquivalence}[1]{\varpi^{\parallel}_{#1}} \newcommand{\SubmeshParallelEquivalenceFunctionOf}[2]{\QuantityFunctionOf{\SubmeshParallelEquivalence{#1}}{#2}} \newcommand{\SubmeshStarEquivalence}[1]{\varpi^{*}_{#1}} \newcommand{\AlignedSet}{{\boldsymbol{\textsf{Align}}}} \newcommand{\AlignedSetSet}{{\boldsymbol{\textsf{ALIGN}}}} \newcommand{\AlignmentSetOfSetsLeft}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetOfSetsRight}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetForInterfaceGrevillePoint}{\AlignedSet_{\SubmeshGrevillePoint{\Interface}{}}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRow}{\Set{NZ}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRowFunctionOf}[2]{\QuantityFunctionOf{\IndexSetOfNonZeroEntriesInMapMatOnRow_{#1}}{#2}} \newcommand{\AlignmentSetOfSetsOnLowerDCell}[2]{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1,#2}^{\parallel}} \newcommand{\AlignmentSetOfSetsLeftThreeD}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \ii}^{\parallel}} \newcommand{\AlignmentSetOfSetsRightThreeD}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \ii}^{\parallel}} \newcommand{\KPlusOneCellAdjacentIndexedSubmeshDomain}{\QuantityChildOf{\CellAlpha\CellBeta}{\SubmeshDomain}} \newcommand{\StructuredSymbol}{\square} \newcommand{\StructuredSubmesh}[1]{\Submesh^{\StructuredSymbol}_{#1}} \newcommand{\ToGlobalDartOp}{\operatorname*{\mathsf{G}}} \newcommand{\ProlongationMat}{\Mat{P}} \newcommand{\RestrictionMat}{\Mat{R}} \newcommand{\MeshUspline}{\boldsymbol{\textsf{\SymbolUspline}}} \newcommand{\SetNeighborhoodOfInteraction}[1]{\QuantityFunctionOf{\textsf{NI}}{#1}} \newcommand{\Ray}{\Set{r}} \newcommand{\RayHead}{\Edge^{h}} \newcommand{\RayTail}{\Vec{t}} \newcommand{\RayTailId}{j} \newcommand{\RayTailIdOne}{\RayTailId_0} \newcommand{\RayTailIdTwo}{\RayTailId_1} \newcommand{\RayTailOrigin}{\textsf{o}} \newcommand{\RayTailEdge}{\Edge} \newcommand{\RayTailVertexMaxContinuity}[1]{\Smoothness_{#1}^{\max}} \newcommand{\RayTailEdgeMinDegree}[1]{\BernsteinDegree_{#1}^{\min}} \newcommand{\RaySkeleton}[1]{\operatorname{skel}(#1)} \newcommand{\RaySmoothness}[2]{\Smoothness_{#1}^{#2}} \newcommand{\RayDegree}[2]{\BernsteinDegree_{#1}^{#2}} \newcommand{\RayContinuityTransition}{\Set{cr}} \newcommand{\RayDegreeTransition}{\Set{dr}} \newcommand{\RayTailSize}{\Size{\RayTail}} \newcommand{\RayTailTargetSize}{n} \newcommand{\RayIsTruncated}{\Set{trunc}} \newcommand{\RayAlgBernIndexVariable}{\BernsteinBasisFuncIdSet} \newcommand{\RayStartingBernIndex}{\RayAlgBernIndexVariable_{\RayHead}} \newcommand{\BernIndexOnSpecificRayTailEdge}[1]{\RayAlgBernIndexVariable_{#1}} \newcommand{\Ribbon}{\Set{r}} \newcommand{\RibbonHead}{\Interface^{h}} \newcommand{\RibbonTail}{\Vec{t}} \newcommand{\RibbonTailId}{j} \newcommand{\RibbonTailIdOne}{\RibbonTailId_0} \newcommand{\RibbonTailIdTwo}{\RibbonTailId_1} \newcommand{\RibbonTailOrigin}{\textsf{o}} \newcommand{\RibbonTailInterf}{\Interface} \newcommand{\RibbonTailCodimTwoCellMaxContinuity}[1]{\Smoothness_{#1}^{\max}} \newcommand{\RibbonTailInterfMinDegree}[1]{\BernsteinDegree_{#1}^{\min}} \newcommand{\RibbonSkeleton}[1]{\operatorname{skel}(#1)} \newcommand{\RibbonSmoothness}[2]{\Smoothness_{#1}^{#2}} \newcommand{\RibbonDegree}[2]{\BernsteinDegree_{#1}^{#2}} \newcommand{\RibbonContinuityTransition}{\Set{cr}} \newcommand{\RibbonDegreeTransition}{\Set{dr}} \newcommand{\RibbonTailSize}{\Size{\RibbonTail}} \newcommand{\RibbonTailTargetSize}{n} \newcommand{\RibbonIsTruncated}{\Set{trunc}} \newcommand{\RibbonAlgBernIndexVariable}{\BernsteinBasisFuncIdSet} \newcommand{\RibbonStartingBernIndex}{\RibbonAlgBernIndexVariable_{\RibbonHead}} \newcommand{\BernIndexOnSpecificRibbonTailInterf}[1]{\RibbonAlgBernIndexVariable_{#1}} \newcommand{\ParamDomainOnMeshUspline}{\QuantityChildOf{\MeshUspline}{\ParamDomain}} \newcommand{\UsplineSpace}{\SpaceHilbert{\SymbolUspline}} \newcommand{\UsplineBasisFunc}{\SymbolBasisUspline} \newcommand{\UsplineBasisFuncDetailed}[2]{\UsplineBasisFunc^{#1}_{#2}} \newcommand{\UsplineBasisFuncSet}{\Set{UF}} \newcommand{\UsplineBasisFuncSetFunctionOf}[1]{\QuantityFunctionOf{\UsplineBasisFuncSet}{#1}} \newcommand{\UsplineBasisFuncVec}[1]{\QuantityChildOf{#1}{\Vec{\SymbolBasisUspline}}} \newcommand{\UsplineBasisFuncVecFunctionOf}[2]{\QuantityFunctionOf{\UsplineBasisFuncVec{#1}}{#2}} \newcommand{\UsplineBasisFuncSetOnMeshBezier}{\QuantityFunctionOf{\Set{UF}}{\MeshBezier}} \newcommand{\UsplineBasisFuncSetOnMeshUspline}{\QuantityFunctionOf{\Set{UF}}{\MeshUspline}} \newcommand{\UsplineBasisFuncSetSupport}[1]{\Support{\UsplineBasisFuncSetFunctionOf{#1}}} \newcommand{\UsplineBasisFuncId}{A} \newcommand{\UsplineBasisFuncIdVec}{\Vec{A}} \newcommand{\UsplineBasisFuncIdAlt}{B} \newcommand{\UsplineBasisFuncIdLocal}{a} \newcommand{\UsplineBasisFuncIdOne}{\UsplineBasisFuncId_0} \newcommand{\UsplineBasisFuncIdTwo}{\UsplineBasisFuncId_1} \newcommand{\UsplineBasisFuncNormalized}{\bar{\SymbolBasisUspline}} \newcommand{\UsplineBasisFuncParam}[1]{\UsplineBasisFuncDetailed{\MeshBezier}{#1}} \newcommand{\UsplineDegree}{q} \newcommand{\UsplineNullVectorCoeff}{u} \newcommand{\UsplineNullVector}{\Vec{\UsplineNullVectorCoeff}} \newcommand{\UsplineNullVectorIds}{\Set{id}} \newcommand{\UsplineNullVectorSet}{\boldsymbol{\textsf{UV}}} \newcommand{\UsplineNullVectorSetOfIndexSets}{\boldsymbol{\textsf{UI}}} \newcommand{\UsplineNullVectorSetOnMeshBezier}{\NullVectorSetFunctionOf{\MeshBezier}} \newcommand{\UsplineNullVectorSetOnMeshUspline}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshUspline}} \newcommand{\UsplineSpaceOnMeshUspline}{\QCO{\MeshUspline}{\UsplineSpace}} \newcommand{\UsplineCellToGlobalBasisFuncIndexMap}[1]{\operatorname{ucg}(#1)} \newcommand{\UsplineCellToGlobalBasisFuncIndexMapDef}{\FuncDef{\operatorname{ucg}}{\MeshBezier\times\Integers}{\Integers}} \newcommand{\BernsteinBasisFuncCoeff}{\SymbolArbitraryCoeffBernstein} \newcommand{\BernsteinBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffBernstein}}}{\MeshBezier}} \newcommand{\BernsteinBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffBernstein}}{\MeshBezier}} \newcommand{\UsplineBasisFuncCoeff}{\SymbolArbitraryCoeffUspline} \newcommand{\UsplineBasisFuncCoeffAlt}{\SymbolArbitraryCoeffUsplineAlt} \newcommand{\UsplineBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffUspline}}}{\MeshUspline}} \newcommand{\UsplineBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffUspline}}{\MeshUspline}} \newcommand{\ContiguousIndexMap}[1]{i_{#1}} \newcommand{\Constraint}{R} \newcommand{\ConstraintCoeff}{r} \newcommand{\ConstraintCoeffsSet}{\boldsymbol{\Set{\ConstraintCoeff}}} \newcommand{\ConstraintCoeffsVec}{\Vec{\ConstraintCoeff}} \newcommand{\ConstraintSet}{\Set{\Constraint}} \newcommand{\ConstraintSetFunctionOf}[1]{\QuantityFunctionOf{\ConstraintSet}{#1}} \newcommand{\ConstraintSetOnMeshBezier}{\ConstraintSetFunctionOf{\MeshBezier}} \newcommand{\ConstraintMat}{\Mat{\Constraint}} \newcommand{\ConstraintMatFunctionOf}[1]{\QuantityFunctionOf{\ConstraintMat}{#1}} \newcommand{\ConstraintMatOnMeshBezier}{\ConstraintMatFunctionOf{\MeshBezier}} \newcommand{\SparsestPossibleBasisOnCell}[1]{\QFO{\Set{N}}{#1}} \newcommand{\NullVectorCoeff}[1]{#1} \newcommand{\NullVector}{\Vec{v}} \newcommand{\NullVectorFunctionOf}[1]{\QuantityFunctionOf{\NullVector}{#1}} \newcommand{\NullVectorArbitrary}[1]{\Vec{#1}} \newcommand{\KCellNullVectorForCellAlpha}{\NullVectorArbitrary{n}_{\KCellAlpha}} \newcommand{\KPlusOneCellNullVectorForCellBeta}{\NullVectorArbitrary{n}_{\KPlusOneCellBeta}} \newcommand{\NullVectorSet}{\boldsymbol{\textsf{BV}}}%changed from mathsf \newcommand{\NullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\NullVectorSet}{#1}}%changed from mathsf \newcommand{\CompositeNullVectorSet}{\NullVectorSet^{\prime\prime}} \newcommand{\CompositeNullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\CompositeNullVectorSet}{#1}} \newcommand{\SimpleNullVectorSet}{\NullVectorSet^{\prime}} \newcommand{\SimpleNullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\SimpleNullVectorSet}{#1}} \newcommand{\InterfaceNullVectorSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}}{#1}} \newcommand{\InterfaceNullVectorAlignedSubset}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}_{#1}}{#2}} \newcommand{\NullVectorSetOfIndexSets}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{BI}}}{#1}} \newcommand{\NullVectorSetGrevilleSets}{\boldsymbol{\textsf{BG}}}%changed from mathsf \newcommand{\NullVectorSetGrevilleSetsFunctionOf}[1]{\QuantityFunctionOf{\NullVectorSetGrevilleSets}{#1}}%changed from mathsf \newcommand{\NullVectorSetSubordinateToNullVector}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}}{#1}} \newcommand{\NullVectorSetSubordinateToNullVectorOnCell}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}_{#1}}{#2}} \newcommand{\NullVectorSetOnBdryOfNullVector}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{BD}}_{#1}}{#2}} \newcommand{\NullVectorEquivClass}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{EBV}}}{#1}} \newcommand{\NullVectorIndexEquivClass}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{EBI}}}{#1}} \newcommand{\NullVectorGrevilleEquivClass}{\boldsymbol{\textsf{EBG}}}%changed from mathsf \newcommand{\NullVectorGrevilleEquivClassFunctionOf}[1]{\QuantityFunctionOf{\NullVectorGrevilleEquivClass}{#1}}%changed from mathsf \newcommand{\NullVectorExpansionSet}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{XBV}}}{#1,#2}} \newcommand{\NullSpaceOperatorForm}[1]{\QuantityFunctionOf{\SpaceHilbert{N}}{#1}} \newcommand{\NullSpaceOperatorFormOnMeshBezier}{\NullSpaceOperatorForm{\MeshBezier}} \newcommand{\NullSpaceVectorForm}{\Set{N}} \newcommand{\NullSpaceVectorFormFunctionOf}[1]{\QuantityFunctionOf{\NullSpaceVectorForm}{#1}} \newcommand{\NullVectorGrevillePointSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}} \newcommand{\DegSmoothDiff}[2]{\delta_{#1}^{#2}} \newcommand{\FaceEdgeDiff}{\Set{t}} \newcommand{\FaceEdgeDiffSet}[1]{\Set{T}_{#1}} \newcommand{\PerpTuple}[1]{\QuantityFunctionOf{\FaceEdgeDiff^\perp}{#1}} \newcommand{\ParallelTuple}[1]{\QuantityFunctionOf{\FaceEdgeDiff^\parallel}{#1}} \newcommand{\ElemInterfDiff}{\Set{t}} \newcommand{\ElemInterfDiffSet}[1]{\Set{T}_{#1}} \newcommand{\SpokeSymbol}{\rho} \newcommand{\ElemInterfPairSymbol}{t} \newcommand{\ElemKPlusOneCellPair}{\Set{\SpokeSymbol}} \newcommand{\Spoke}{\ElemKPlusOneCellPair} \newcommand{\ElemInterfPair}{\Set{\ElemInterfPairSymbol}} \newcommand{\EIDPerpTuple}[1]{\QuantityFunctionOf{\ElemInterfDiff^\perp}{#1}} \newcommand{\EIDParallelTuple}[1]{\QuantityFunctionOf{\ElemInterfDiff^\parallel}{#1}} \newcommand{\InclDist}{\textsf{inc}}%changed from mathsf \newcommand{\InclDistFunctionOf}[1]{\QuantityFunctionOf{\InclDist}{#1}}%changed from mathsf \newcommand{\InclDistSet}[2]{\Set{INC}^{#1,#2}} \newcommand{\EdgeInclDist}[3]{\InclDistSet{#2}{#3}_{#1}} \newcommand{\PerpEdgesSet}{\Set{E}^\perp} \newcommand{\PerpInterfacesSet}{\Set{IRF}^\perp} \newcommand{\PerpOfKPlusOneCellInterfSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{PI}}}{#1}} \newcommand{\PerpKPlusOneCellSet}{\boldsymbol{\textsf{PC}}}%changed from mathsf \newcommand{\PerpKPlusOneCellSetFunctionOf}[1]{\QuantityFunctionOf{\PerpKPlusOneCellSet}{#1}}%changed from mathsf \newcommand{\ElemKPlusOneCellPairPerp}[1]{\QuantityFunctionOf{\Set{\SpokeSymbol}^\perp}{#1}} \newcommand{\ElemInterfPairPerp}[1]{\QuantityFunctionOf{\Set{t}^\perp}{#1}} \newcommand{\ElemInterfPairParallel}[1]{\QuantityFunctionOf{\Set{\ElemInterfPairSymbol}^\parallel}{#1}} \newcommand{\ElemKPlusOneCellPairParallelSet}[1]{\QuantityFunctionOf{\Set{\SpokeSymbol}^\parallel}{#1}} \newcommand{\KPlusOneCellNullVectorSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}}{#1}} \newcommand{\KPlusOneCellNullVectorAlignedSubset}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}_{#1}}{#2}} \newcommand{\Graph}{G} \newcommand{\GraphFunctionOf}[1]{\QuantityFunctionOf{\Graph}{#1}} \newcommand{\GraphCore}{K} \newcommand{\GraphDirectedEdge}{\Edge_{i,j}} \newcommand{\GraphDirectedEdgeIJ}[2]{\Edge_{#1,#2}} \newcommand{\GraphCoreToVertex}[1]{\QuantityFunctionOf{\Vertex}{#1}} \newcommand{\GraphCoreChildren}[1]{\QuantityFunctionOf{\operatorname{children}}{#1}} \newcommand{\GraphVertexToCore}[1]{\QuantityFunctionOf{\GraphCore}{#1}} \newcommand{\GraphInteractingEdges}{\Set{IE}} \newcommand{\GraphCoveredEdges}{\Set{CE}} \newcommand{\GraphFailedEdges}{\Set{FE}} \newcommand{\GraphCandidateEdges}{\Set{XE}} \newcommand{\UsplineClass}[1]{\boldsymbol{\mathcal{\SymbolUspline}}^{#1}} \newcommand{\UClassRegular}{R} \newcommand{\UClassIrregular}{r} \newcommand{\UClassContFinite}{H} \newcommand{\UClassContInfinity}{h} \newcommand{\UClassGlobalSmoothness}{K} \newcommand{\UClassLocalSmoothness}{k} \newcommand{\UClassGlobalDegree}{P} \newcommand{\UClassLocalDegree}{p} \newcommand{\SuperscriptRHKP}{\UClassRegular\UClassContFinite\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrHKP}{\UClassIrregular\UClassContFinite\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRhKP}{\UClassRegular\UClassContInfinity\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrhKP}{\UClassIrregular\UClassContInfinity\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRHkP}{\UClassRegular\UClassContFinite\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrHkP}{\UClassIrregular\UClassContFinite\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRhkP}{\UClassRegular\UClassContInfinity\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrhkP}{\UClassIrregular\UClassContInfinity\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRHKp}{\UClassRegular\UClassContFinite\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrHKp}{\UClassIrregular\UClassContFinite\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRhKp}{\UClassRegular\UClassContInfinity\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrhKp}{\UClassIrregular\UClassContInfinity\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRHkp}{\UClassRegular\UClassContFinite\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrHkp}{\UClassIrregular\UClassContFinite\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRhkp}{\UClassRegular\UClassContInfinity\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\Superscriptrhkp}{\UClassIrregular\UClassContInfinity\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\UsplineClassRHKP}{\UsplineClass{\SuperscriptRHKP}} \newcommand{\UsplineClassrHKP}{\UsplineClass{\SuperscriptrHKP}} \newcommand{\UsplineClassRhKP}{\UsplineClass{\SuperscriptRhKP}} \newcommand{\UsplineClassrhKP}{\UsplineClass{\SuperscriptrhKP}} \newcommand{\UsplineClassRHkP}{\UsplineClass{\SuperscriptRHkP}} \newcommand{\UsplineClassrHkP}{\UsplineClass{\SuperscriptrHkP}} \newcommand{\UsplineClassRhkP}{\UsplineClass{\SuperscriptRhkP}} \newcommand{\UsplineClassrhkP}{\UsplineClass{\SuperscriptrhkP}} \newcommand{\UsplineClassRHKp}{\UsplineClass{\SuperscriptRHKp}} \newcommand{\UsplineClassrHKp}{\UsplineClass{\SuperscriptrHKp}} \newcommand{\UsplineClassRhKp}{\UsplineClass{\SuperscriptRhKp}} \newcommand{\UsplineClassrhKp}{\UsplineClass{\SuperscriptrhKp}} \newcommand{\UsplineClassRHkp}{\UsplineClass{\SuperscriptRHkp}} \newcommand{\UsplineClassrHkp}{\UsplineClass{\SuperscriptrHkp}} \newcommand{\UsplineClassRhkp}{\UsplineClass{\SuperscriptRhkp}} \newcommand{\UsplineClassrhkp}{\UsplineClass{\Superscriptrhkp}} \newcommand{\BaseTopoLine}{\mathsf{L}} \newcommand{\BaseTopoLoop}{\mathsf{P}} \newcommand{\BaseTopoOneDGeneric}{\MeshUspline^{\textsf{1D}}} \newcommand{\BaseTopoGrid}{\mathsf{G}} \newcommand{\BaseTopoAnnulus}{\mathsf{A}} \newcommand{\BaseTopoTorus}{\mathsf{T}} \newcommand{\BaseTopoTriangle}{\mathsf{\Delta}} \newcommand{\BaseTopoMixed}{\mathsf{M}} \newcommand{\BaseTopoMultiPatch}{\mathsf{X}} \newcommand{\BaseTopoPatch}{\mathsf{H}} \newcommand{\AlgNameBuildRayOfMaximumCouplingLength}{BuildRayOfMaximumCouplingLength} \newcommand{\AlgNameBuildRibbonOfMaximumCouplingLength}{BuildRibbonOfMaximumCouplingLength} \newcommand{\AlgNameComputeCoreGraph}{ComputeCoreGraph} \newcommand{\UpperDBMat}{\Mat{U}} \newcommand{\LowerWeightDBMat}{\Mat{W}} \newcommand{\RationalSplineWeightSymbol}{w} \newcommand{\NURBSWeight}{\RationalSplineWeightSymbol} \newcommand{\WeightFunc}[1][\RationalSplineWeightSymbol]{#1} \newcommand{\DBParamWeight}{\omega} \newcommand{\DualBCoeff}{d} \newcommand{\NumUsplineBasisFuncsOnMeshBezier}{\Size{\UsplineBasisFuncSetOnMeshBezier}} \newcommand{\NumUsplineBasisFuncsOnMeshUspline}{\Size{\UsplineBasisFuncSetOnMeshUspline}} \newcommand{\NumUsplineBasisFuncsOnElem}{\Size{\UsplineBasisFuncSetFunctionOf{\Elem}}} \newcommand{\NumBernsteinBasisFuncsOnMeshBezier}{\Size{\IndexSetOnMeshBezier}} \newcommand{\NumBernsteinBasisFuncsOnElem}{\Size{\IndexSetFunctionOf{\Elem}}} \newcommand{\NumElemsInMeshBezier}{\Size{\CellSet{\ParamDim}}}$$\newcommand{\SymbolTime}{t} \newcommand{\SymbolEnvModifier}[1]{\star\mspace{-1mu} #1} \newcommand{\SymbolInteriorModifier}[1]{\tilde{#1}} \newcommand{\SymbolClosestPointMap}{\kappa} \newcommand{\SymbolManifold}{m} \newcommand{\SymbolVolume}{v} \newcommand{\SymbolVolumeUpper}{V} \newcommand{\SymbolSurface}{s} \newcommand{\SymbolSurfaceUpper}{S} \newcommand{\SymbolCurve}{c} \newcommand{\SymbolCurveUpper}{C} \newcommand{\SymbolPoint}{p} \newcommand{\SymbolPointUpper}{P} \newcommand{\SymbolIndicator}{\chi} \newcommand{\SymbolSpatialDim}{n} \newcommand{\SymbolWildCard}{*} \newcommand{\SymbolSegment}{\epsilon} \newcommand{\SymbolSpatialCoord}{x} \newcommand{\SymbolSpatialCoordUpper}{x} \newcommand{\SymbolSegmentSet}{\boldsymbol{E}} \newcommand{\SymbolInside}{\bullet} \newcommand{\SymbolOutside}{\circ} \newcommand{\SymbolHybrid}{\circledcirc} \newcommand{\SymbolPartition}{\boldsymbol{\vartriangle}} \newcommand{\SymbolQuadratureWeight}{w} \newcommand{\SymbolQuadratureSet}{Q} \newcommand{\SymbolQuadraturePoint}{\xi} \newcommand{\SymbolIntegrationPoint}{i} \newcommand{\SymbolManifoldCoeff}{x} \newcommand{\SymbolManifoldCoeffUpper}{X} \newcommand{\SymbolManifoldCoeffUspline}{x} \newcommand{\SymbolManifoldCoeffUsplineUpper}{X} \newcommand{\SymbolManifoldCoeffBernstein}{x} \newcommand{\SymbolManifoldCoeffBernsteinUpper}{X} \newcommand{\SymbolCADModified}{\boldsymbol{\circledast}} \newcommand{\SymbolCAD}{\bar{\SymbolCADModified}} \newcommand{\SymbolProjection}{\Projection} \newcommand{\SymbolCovariantBasisSurf}{a} \newcommand{\SymbolCovariantBasisVol}{g} \newcommand{\SymbolMetric}{m} \newcommand{\SymbolCurvature}{k} \newcommand{\SymbolCurvCoordIdOne}{\alpha} \newcommand{\SymbolCurvCoordIdTwo}{\beta} \newcommand{\SymbolCurvCoordIdThree}{\gamma} \newcommand{\SymbolOrthogonalTransform}{Q} \newcommand{\SymbolLinearInterpolation}{\mathscr{l}} \newcommand{\ParamDomainEnv}{\SymbolEnvModifier{\ParamDomain}} \newcommand{\ParamDomainCAD}{\QRT{\ParamDomain}{\SymbolCAD}} \newcommand{\ParamDomainOnCellEnv}{\SymbolEnvModifier{\ParamDomainOnCell}} \newcommand{\ParamDomainOnCAD}{\QCO{\SymbolCAD}{\ParamDomain}} \newcommand{\ParamDomainOnCADModified}{\QCO{\SymbolCADModified}{\ParamDomain}} \newcommand{\ParamDomainOnPartition}{\QCO{\SymbolPartition}{\ParamDomain}} \newcommand{\SpatialDim}{\SymbolSpatialDim} \newcommand{\SpatialDomain}{\Reals^{\SymbolSpatialDim}} \newcommand{\SpatialCoord}{\SymbolSpatialCoord} \newcommand{\SpatialCoordX}{\SymbolSpatialCoord} \newcommand{\SpatialCoordY}{y} \newcommand{\SpatialCoordZ}{z} \newcommand{\SpatialCoordUpper}{\SymbolSpatialCoordUpper} \newcommand{\SpatialCoordVec}{\Vec{\SpatialCoord}} \newcommand{\SpatialCoordVecSet}[1]{\QuantityFunctionOf{\boldsymbol{\Set{X}}}{#1}} \newcommand{\UsplineBasisFuncSpatial}[1]{\UsplineBasisFuncDetailed{\SpatialCoord}{#1}} \newcommand{\Manifold}{\Set{\SymbolManifold}} \newcommand{\ManifoldRelatedTo}[1]{\QuantityRelatedTo{\Manifold}{#1}} \newcommand{\Volume}{\Set{\SymbolVolume}} \newcommand{\VolumeRelatedTo}[1]{\QuantityRelatedTo{\Volume}{#1}} \newcommand{\Surface}{\Set{\SymbolSurface}} \newcommand{\SurfaceRelatedTo}[1]{\QuantityRelatedTo{\Surface}{#1}} \newcommand{\Curve}{\Set{\SymbolCurve}} \newcommand{\CurveRelatedTo}[1]{\QuantityRelatedTo{\Curve}{#1}} \newcommand{\Point}{\Set{\SymbolPoint}} \newcommand{\PointRelatedTo}[1]{\QuantityRelatedTo{\Point}{#1}} \newcommand{\Partition}{\SymbolPartition} \newcommand{\ManifoldCAD}{\ManifoldRelatedTo{\SymbolCAD}} \newcommand{\ManifoldCADModified}{\ManifoldRelatedTo{\SymbolCADModified}} \newcommand{\ManifoldCADEnv}{\SymbolEnvModifier{\ManifoldCAD}} \newcommand{\ManifoldCADModifiedEnv}{\SymbolEnvModifier{\ManifoldCADModified}} \newcommand{\ManifoldPartition}{\ManifoldRelatedTo{\Partition}} \newcommand{\ManifoldBezier}{\ManifoldRelatedTo{\MeshBezier}} \newcommand{\ManifoldUspline}{\ManifoldRelatedTo{\MeshUspline}} \newcommand{\ManifoldUsplineInterior}{\QRT{\SymbolInteriorModifier{\Manifold}}{\MeshUspline}} \newcommand{\ManifoldUsplineEnv}{\SymbolEnvModifier{\ManifoldUspline}} \newcommand{\VolumeEnv}{\SymbolEnvModifier{\Volume}} \newcommand{\dVolume}{\Differential[\Volume]} \newcommand{\VolumeIndicator}{\SymbolIndicator} \newcommand{\SurfaceEnv}{\SymbolEnvModifier{\Surface}} \newcommand{\SurfaceCAD}{\SurfaceRelatedTo{\SymbolCAD}} \newcommand{\SurfaceCADModified}{\SurfaceRelatedTo{\SymbolCADModified}} \newcommand{\SurfaceMesh}{\SurfaceRelatedTo{\Partition}} \newcommand{\SurfaceUspline}{\SurfaceRelatedTo{\MeshUspline}} \newcommand{\SurfaceWildCard}{\Surface^{\SymbolWildCard}} \newcommand{\dSurface}{\Differential[\Surface]} \newcommand{\CurveCAD}{\CurveRelatedTo{\SymbolCAD}} \newcommand{\CurveCADModified}{\CurveRelatedTo{\SymbolCADModified}} \newcommand{\CurveMesh}{\CurveRelatedTo{\Partition}} \newcommand{\CurveUspline}{\CurveRelatedTo{\MeshUspline}} \newcommand{\dCurve}{\Differential[\Curve]} \newcommand{\PointCAD}{\PointRelatedTo{\SymbolCAD}} \newcommand{\PointCADModified}{\PointRelatedTo{\SymbolCADModified}} \newcommand{\PointUspline}{\PointRelatedTo{\MeshUspline}} \newcommand{\Segment}[1]{\QuantityChildOf{#1}{\SymbolSegment}} \newcommand{\SegmentOfVolumeEnv}{\Segment{\VolumeEnv}} \newcommand{\SegmentOfSurface}{\Segment{\Surface}} \newcommand{\Hex}{\Segment{}_{h}} \newcommand{\Tet}{\Segment{}_{t}} \newcommand{\SegmentParamDomain}[1]{\QuantityRelatedTo{\ParamDomain}{#1}} \newcommand{\SegmentParamDomainOfVolumeEnv}{\QuantityRelatedTo{\ParamDomain}{\Segment{\VolumeEnv}}} \newcommand{\SegmentParamDomainOfSurface}{\QuantityRelatedTo{\ParamDomain}{\Segment{\Surface}}} \newcommand{\SegmentSet}{\SymbolSegmentSet} \newcommand{\SegmentSetFunctionOf}[1]{\QuantityFunctionOf{\SegmentSet}{#1}} \newcommand{\SegmentSetOutside}{\SegmentSet^{\SymbolOutside}} \newcommand{\SegmentSetInside}{\SegmentSet^{\SymbolInside}} \newcommand{\SegmentSetHybrid}{\SegmentSet^{\SymbolHybrid}} \newcommand{\PartitionFunctionOf}[1]{\QuantityFunctionOf{\Partition}{#1}} \newcommand{\PartitionBezierExtraction}[1]{\QuantityFunctionOf{\SymbolPartition^{B}}{#1}} \newcommand{\PartitionTessellation}[1]{\QuantityFunctionOf{\SymbolPartition^{T}}{#1}} \newcommand{\PartitionTessellationOfUspline}{\PartitionTessellation{\MeshUspline}} \newcommand{\PartitionTessellationMap}[2]{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldCoeff}{\SymbolManifoldCoeff} \newcommand{\ManifoldCoeffUpper}{\SymbolManifoldCoeffUpper} \newcommand{\ManifoldCoeffUspline}{\QuantityRelatedTo{\SymbolManifoldCoeffUspline}{\MeshUspline}} \newcommand{\ManifoldCoeffBernstein}{\QuantityRelatedTo{\SymbolManifoldCoeffBernstein}{\MeshBezier}} \newcommand{\ManifoldCoeffVec}{\Vec{\SymbolManifoldCoeff}} \newcommand{\ManifoldCoeffVecUspline}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUspline}}{\MeshUspline}} \newcommand{\ManifoldCoeffVecBernstein}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernstein}}{\MeshBezier}} \newcommand{\ManifoldCoeffSet}{\Set{\SymbolManifoldCoeff}} \newcommand{\ManifoldCoeffSetUspline}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUspline}}{\MeshUspline}} \newcommand{\ManifoldCoeffSetBernstein}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernstein}}{\MeshBezier}} \newcommand{\ManifoldCoeffsVec}{\Vec{\ManifoldCoeffUpper}} \newcommand{\ManifoldCoeffsVecUspline}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUsplineUpper}}{\MeshUspline}} \newcommand{\ManifoldCoeffsVecBernstein}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\MeshBezier}} \newcommand{\ManifoldCoeffsVecCell}{\QuantityRelatedTo{\Vec{\ManifoldCoeffUpper}}{\Cell}} \newcommand{\ManifoldCoeffsVecUsplineCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUsplineUpper}}{\QCO{\MeshUspline}{\Cell}}} \newcommand{\ManifoldCoeffsVecBernsteinCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\MeshBezier}{\Cell}}} \newcommand{\ManifoldCoeffsVecSubmeshCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\Submesh}{\Cell}}} \newcommand{\ManifoldCoeffsVecBernsteinSegmentOfVolumeEnv}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\SegmentOfVolumeEnv}} \newcommand{\ManifoldCoeffsSet}{\Set{\ManifoldCoeffUpper}} \newcommand{\ManifoldCoeffsSetUspline}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUsplineUpper}}{\MeshUspline}} \newcommand{\ManifoldCoeffsSetBernstein}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\MeshBezier}} \newcommand{\ManifoldCoeffsSetCell}{\QuantityRelatedTo{\Set{\ManifoldCoeffUpper}}{\Cell}} \newcommand{\ManifoldCoeffsSetUsplineCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUsplineUpper}}{\QCO{\MeshUspline}{\Cell}}} \newcommand{\ManifoldCoeffsSetBernsteinCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\MeshBezier}{\Cell}}} \newcommand{\ManifoldCoeffsSetSubmeshCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\Submesh}{\Cell}}} \newcommand{\ManifoldMap}[2]{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldTemporalMap}[2]{\QuantityRelatedTo{#2}{#1,\SymbolTime}} \newcommand{\ManifoldPartitionMap}{\ManifoldMap{\ParamDomainOnPartition}{\Manifold}} \newcommand{\ManifoldCADMap}{\ManifoldMap{\ParamDomainOnCAD}{\Manifold}} \newcommand{\ManifoldCADMapModified}{\ManifoldMap{\ParamDomainOnCADModified}{\Manifold}} \newcommand{\ManifoldBezierMap}{\ManifoldMap{\ParamDomainOnMeshBezier}{\Manifold}} \newcommand{\ManifoldUsplineMap}{\ManifoldMap{\ParamDomainOnMeshUspline}{\Manifold}} \newcommand{\VolumeEnvMap}{\ManifoldMap{\ParamDomainEnv}{\VolumeEnv}} \newcommand{\VolumeMap}{\ManifoldMap{\ParamDomain}{\Volume}} \newcommand{\SurfaceMap}{\ManifoldMap{\ParamDomainBdry}{\Surface}} \newcommand{\ManifoldMapDef}[2]{\FuncDef{\ManifoldMap{#1}{#2}}{#1}{#2}} \newcommand{\ManifoldMapInverseDef}[2]{\FuncDef{\Inverse{\ManifoldMap{#1}{#2}}}{#2}{#1}} \newcommand{\ManifoldTemporalMapDef}[2]{\FuncDef{\ManifoldTemporalMap{#1}{#2}}{#1\otimes\Reals_{+}}{#2}} \newcommand{\ManifoldPartitionMapDef}{\ManifoldMapDef{\ParamDomainOnPartition}{\Manifold}} \newcommand{\ManifoldBezierMapDef}{\ManifoldMapDef{\ParamDomainOnMeshBezier}{\Manifold}} \newcommand{\ManifoldUsplineMapDef}{\ManifoldMapDef{\ParamDomainOnMeshUspline}{\Manifold}} \newcommand{\VolumeEnvMapDef}{\ManifoldMapDef{\ParamDomainEnv}{\VolumeEnv}} \newcommand{\VolumeMapDef}{\ManifoldMapDef{\ParamDomain}{\Volume}} \newcommand{\SurfaceMapDef}{\ManifoldMapDef{\ParamDomainBdry}{\Surface}} \newcommand{\SurfaceToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\Surface}} \newcommand{\ManifoldCoordDetailed}[2]{\QCO{#1}{#2}} \newcommand{\ManifoldCoordVecDetailed}[2]{\QCO{#1}{\Vec{#2}}} \newcommand{\ManifoldCoord}{x} \newcommand{\ManifoldCoordVec}{\Vec{x}} \newcommand{\ManifoldPartitionMapCoord}{\ManifoldCoordDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldPartitionMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoord}{\ManifoldCoordDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\CovariantBasisSurfVec}{\Vec{\SymbolCovariantBasisSurf}} \newcommand{\CovariantBasisVolVec}{\Vec{\SymbolCovariantBasisVol}} \newcommand{\MetricComp}{\SymbolMetric} \newcommand{\MetricTen}{\Mat{\MetricComp}} \newcommand{\CurvatureComp}{\SymbolCurvature} \newcommand{\CurvatureTen}{\Mat{\CurvatureComp}} \newcommand{\CurvCoordIdOne}{\SymbolCurvCoordIdOne} \newcommand{\CurvCoordIdTwo}{\SymbolCurvCoordIdTwo} \newcommand{\CurvCoordIdThree}{\SymbolCurvCoordIdThree} \newcommand{\OrthogonalCoordTransform}{\Mat{\SymbolOrthogonalTransform}} \newcommand{\InversionPointTen}{\Vec{p}} \newcommand{\InversionPointComp}{p} \newcommand{\BoundingVolume}[1]{\QuantityFunctionOf{\Set{bv}}{#1}} \newcommand{\BoundingVolumeSet}[1]{\QuantityFunctionOf{\Set{BV}}{#1}} \newcommand{\BoundingVolumeTree}[1]{\QuantityFunctionOf{\Set{BVH}}{#1}} \newcommand{\AxisAlignedBoundingBox}[1]{\QuantityFunctionOf{\Set{AABB}}{#1}} \newcommand{\AABBCornerLower}{\Vec{c}^l} \newcommand{\AABBCornerLowerComp}{c^l} \newcommand{\AABBCornerUpper}{\Vec{c}^u} \newcommand{\AABBCornerUpperComp}{c^u} \newcommand{\LowerBound}[2]{B^l\left(#1,#2\right)} \newcommand{\UpperBound}[2]{B^u\left(#1,#2\right)} \newcommand{\UpperBoundValue}{U} \newcommand{\UpperBoundValueBV}{U^{\text{BV}}} \newcommand{\UpperBoundValuePoints}{U^{\text{point}}} \newcommand{\GapTolerance}{\varepsilon^{\text{gap}}} \newcommand{\NearestCells}[3][]{\Set{C}_{#1}\left(#2,#3\right)} \newcommand{\BVHNearestGeom}[3][]{c_{#1}\left(#2,#3\right)} \newcommand{\BVHGeomSetOfSets}{\Set{G}} \newcommand{\BVHTessPointSet}{\Set{P}} \newcommand{\BVHBVSet}{\Set{L}} \newcommand{\SimplexMap}[1]{\QuantityFunctionOf{\Mat{L}}{#1}} \newcommand{\ParamCoordVecTarget}{\ParamCoordVecSimple_0} \newcommand{\SpatialCoordVecTarget}{\SpatialCoordVec_0} \newcommand{\SpatialCoordVecToSegmentSetMap}{\SegmentSet^f} \newcommand{\SpatialCoordVecToParamCoordVecSetMap}{\Inverse{\widetilde{\ManifoldMap{\ParamDomainEnv}{\Surface}}}} \newcommand{\HessMatComp}{H} \newcommand{\HessMatTen}{\Mat{\HessMatComp}} \newcommand{\QuadraturePointEnv}[2]{\SymbolEnvModifier{\QuadraturePoint{#1}{#2}}} \newcommand{\QuadraturePoint}[2]{\SymbolQuadraturePoint_{#1}^{#2}} \newcommand{\QuadraturePointToElemIndexMap}[1]{\operatorname{qe}(#1)} \newcommand{\QuadratureWeightEnv}[2]{\SymbolEnvModifier{\QuadratureWeight{#1}{#2}}} \newcommand{\QuadratureWeight}[2]{\SymbolQuadratureWeight_{#1}^{#2}} \newcommand{\QuadratureSet}{\Set{\SymbolQuadratureSet}} \newcommand{\QuadratureSetInside}{\QuadratureSet^{\SymbolInside}} \newcommand{\QuadratureSetOutside}{\QuadratureSet^{\SymbolOutside}} \newcommand{\QuadratureSubdDepth}{k} \newcommand{\ClosestPointMap}[1]{\QuantityChildOf{#1}{\Vec{\SymbolClosestPointMap}}} \newcommand{\ClosestPointMapCAD}{\ClosestPointMap{\SymbolCAD}} \newcommand{\ClosestPointMapCADModified}{\ClosestPointMap{\SymbolCADModified}} \newcommand{\ProjectionInto}[1]{\QuantityRelatedTo{\SymbolProjection}{#1}} \newcommand{\ProjectionIntoBernsteinCell}{\ProjectionInto{\Cell}} \newcommand{\ProjectionIntoBernsteinElem}{\ProjectionInto{\Elem}} \newcommand{\ProjectionIntoMeshBezier}{\ProjectionInto{\MeshBezier}} \newcommand{\ProjectionIntoMeshUspline}{\ProjectionInto{\MeshUspline}} \newcommand{\LinearInterpolationOp}[1]{\QRT{\SymbolLinearInterpolation}{#1}} \newcommand{\Valence}{k} \newcommand{\ArbitraryVector}[1]{\QSB{v}{#1}} \newcommand{\RotationMatrix}[1]{R^{#1}} \newcommand{\RepVecSymbol}{u} \newcommand{\RepVec}[1]{\QSB{\RepVecSymbol}{#1}} \newcommand{\RepVecVec}{\Vec{\RepVecSymbol}} \newcommand{\AlignmentField}{\RepVecVec'} \newcommand{\BiharmonicEnergy}{\QSB{E}{B}} \newcommand{\PrescribedRepVec}[1]{\QSB{d}{#1}} \newcommand{\AlignmentParameter}{\lambda} \newcommand{\SingularityIndex}[1]{\QSB{\chi}{#1}} \newcommand{\AngularDefect}[1]{\QSB{K}{#1}} \newcommand{\ArbitraryAngle}{\theta} \newcommand{\ParallelTransport}[1]{\QSB{\varphi}{#1}} \newcommand{\MinusPiToPi}[1]{\lfloor #1 \rfloor} \newcommand{\AreaOperator}[1]{\QFO{\operatorname{area}}{#1}} \newcommand{\VectorAngle}[1]{\QFO{\operatorname{arg}}{#1}} \newcommand{\DistanceFunction}{\phi} \newcommand{\DistanceGradient}{X} \newcommand{\HeatField}{\eta} \newcommand{\RegionAtZeroDistance}{\gamma}$$\newcommand{\SymbolDisp}{u} \newcommand{\SymbolDispUpper}{U} \newcommand{\SymbolVelocity}{v} \newcommand{\SymbolVelocityUpper}{V} \newcommand{\SymbolAcceleration}{a} \newcommand{\SymbolAccelerationUpper}{A} \newcommand{\SymbolMass}{M} \newcommand{\SymbolLength}{L} \newcommand{\SymbolArea}{A} \newcommand{\SymbolConstraint}{g} \newcommand{\SymbolConstraintUpper}{G} \newcommand{\SymbolPenalty}{\varepsilon} \newcommand{\SymbolLagrangeMultRef}{\Lambda} \newcommand{\SymbolLagrangeMultCurr}{\lambda} \newcommand{\SymbolFict}{f} \newcommand{\SymbolTracForce}{h} \newcommand{\SymbolTracForceUpper}{H} \newcommand{\SymbolBodyForce}{b} \newcommand{\SymbolBodyForceUpper}{B} \newcommand{\SymbolVolumeRef}{\SymbolVolumeUpper} \newcommand{\SymbolSurfaceRef}{\SymbolSurfaceUpper} \newcommand{\SymbolCurveRef}{\SymbolCurveUpper} \newcommand{\SymbolPointRef}{\SymbolPointUpper} \newcommand{\SymbolVolumeCurr}{\SymbolVolume} \newcommand{\SymbolSurfaceCurr}{\SymbolSurface} \newcommand{\SymbolCurveCurr}{\SymbolCurve} \newcommand{\SymbolPointCurr}{\SymbolPoint} \newcommand{\SymbolDeformGradInc}{f} \newcommand{\SymbolDeformGrad}{F} \newcommand{\SymbolStrainGreenLagrange}{E} \newcommand{\SymbolDeformCauchyGreenLeft}{b} \newcommand{\SymbolDeformCauchyGreenRight}{C} \newcommand{\SymbolStrainDisp}{B} \newcommand{\SymbolStrainSymGrad}{\epsilon} \newcommand{\SymbolStrainPlasticEquiv}{\alpha} \newcommand{\SymbolHardeningPlastic}{k} \newcommand{\SymbolYieldFunction}{f} \newcommand{\SymbolConsistencyParameterPlastic}{\gamma} \newcommand{\SymbolPlasticModuliScaling}{\beta} \newcommand{\SymbolYieldSurfaceNormal}{n} \newcommand{\SymbolEnergy}{\Pi} \newcommand{\SymbolEnergyDensityStrain}{\Psi} \newcommand{\SymbolEnergyDensityStrainVol}{U} \newcommand{\SymbolResidual}{R} \newcommand{\SymbolForce}{F} \newcommand{\SymbolStiffness}{K} \newcommand{\SymbolSolution}{d} \newcommand{\ParamDomainBdryDisp}{\ParamDomainBdry^{\SymbolDisp}} \newcommand{\ParamDomainBdryTrac}{\ParamDomainBdry^{\SymbolTracForce}} \newcommand{\VolumeEnvRef}{\Set{\SymbolEnvModifier{\SymbolVolumeRef}}} \newcommand{\VolumeRef}{\Set{\SymbolVolumeRef}} \newcommand{\VolumeRefClosure}{\overline{\VolumeRef}} \newcommand{\VolumeRefFict}{\VolumeEnvRef\setminus\VolumeRef} \newcommand{\dVolumeRef}{\Differential[\VolumeRef]} \newcommand{\VolumeIndicatorDef}{\FuncDef{\VolumeIndicator_{\PenaltyStiffness}}{\VolumeEnvRef}{\Reals_+}} \newcommand{\SurfaceEnvRef}{\Set{\SymbolEnvModifier{\SymbolSurfaceRef}}} \newcommand{\SurfaceRef}{\Set{\SymbolSurfaceRef}} \newcommand{\SurfaceRefWildCard}{\SurfaceRef^{\SymbolWildCard}} \newcommand{\SurfaceRefDisp}{\SurfaceRef^{\SymbolDisp}} \newcommand{\SurfaceRefTrac}{\SurfaceRef^{\SymbolTracForce}} \newcommand{\SurfaceRefFict}{\SurfaceRef^{\SymbolFict}} \newcommand{\SurfaceRefDispExternal}{\SurfaceRefDisp\setminus\SurfaceRefFict} \newcommand{\SurfaceRefTracExternal}{\SurfaceRefTrac\setminus\SurfaceRefFict} \newcommand{\SurfaceRefFictTrac}{\SurfaceRefTrac\cap\SurfaceRefFict} \newcommand{\SurfaceRefFictDisp}{\SurfaceRefDisp\cap\SurfaceRefFict} \newcommand{\SurfaceRefFictExternal}{\SurfaceRefFict\setminus\SurfaceRef} \newcommand{\dSurfaceRef}{\Differential[\SurfaceRef]} \newcommand{\CurveRef}{\Set{\SymbolCurveRef}} \newcommand{\dCurveRef}{\Differential[\CurveRef]} \newcommand{\PointRef}{\Set{\SymbolPointRef}} \newcommand{\PointRefDisp}{\PointRef^{\SymbolDisp}} \newcommand{\PointRefTrac}{\PointRef^{\SymbolTracForce}} \newcommand{\dPointRef}{\Differential[\PointRef]} \newcommand{\dPointRefTrac}{\Differential[\PointRefTrac]} \newcommand{\RefCoord}[1]{\ManifoldCoordDetailed{#1}{X}} \newcommand{\RefCoordVec}[1]{\ManifoldCoordVecDetailed{#1}{X}} \newcommand{\VolumeEnvRefCoord}{\RefCoord{\VolumeEnvRef}} \newcommand{\VolumeEnvRefCoordVec}{\RefCoordVec{\VolumeEnvRef}} \newcommand{\VolumeRefCoord}{\RefCoord{\VolumeRef}} \newcommand{\VolumeRefCoordVec}{\RefCoordVec{\VolumeRef}} \newcommand{\SurfaceRefCoord}{\RefCoord{\SurfaceRef}} \newcommand{\SurfaceRefCoordVec}{\RefCoordVec{\SurfaceRef}} \newcommand{\SurfaceRefDispCoord}{\RefCoord{\SurfaceRefDisp}} \newcommand{\SurfaceRefDispCoordVec}{\RefCoordVec{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracCoord}{\RefCoord{\SurfaceRefTrac}} \newcommand{\SurfaceRefTracCoordVec}{\RefCoordVec{\SurfaceRefTrac}} \newcommand{\CurveRefCoord}{\RefCoord{\CurveRef}} \newcommand{\CurveRefCoordVec}{\RefCoordVec{\CurveRef}} \newcommand{\UsplineBasisFuncOverCurveRef}[1]{\UsplineBasisFuncDetailed{\CurveRef}{#1}} \newcommand{\UsplineBasisFuncOverSurfaceRefDisp}[1]{\UsplineBasisFuncDetailed{\SurfaceRefDisp}{#1}} \newcommand{\VolumeEnvCurr}{\Set{\SymbolEnvModifier{\SymbolVolumeCurr}}} \newcommand{\VolumeCurr}{\Set{\SymbolVolumeCurr}} \newcommand{\VolumeCurrClosure}{\overline{\VolumeCurr}} \newcommand{\dVolumeCurr}{\Differential[\VolumeCurr]} \newcommand{\SurfaceEnvCurr}{\Set{\SymbolEnvModifier{\SymbolSurfaceCurr}}} \newcommand{\SurfaceCurr}{\Set{\SymbolSurfaceCurr}} \newcommand{\SurfaceCurrDisp}{\SurfaceCurr^{\SymbolDisp}} \newcommand{\SurfaceCurrTrac}{\SurfaceCurr^{\SymbolTracForce}} \newcommand{\dSurfaceCurr}{\Differential[\SurfaceCurr]} \newcommand{\CurveCurr}{\Set{\SymbolCurveCurr}} \newcommand{\dCurveCurr}{\Differential[\CurveCurr]} \newcommand{\PointCurr}{\Set{\SymbolPointCurr}} \newcommand{\PointCurrDisp}{\PointCurr^{\SymbolDisp}} \newcommand{\PointCurrTrac}{\PointCurr^{\SymbolTracForce}} \newcommand{\dPointCurr}{\Differential[\PointCurr]} \newcommand{\CurrCoord}[1]{\ManifoldCoordDetailed{#1}{x}} \newcommand{\CurrCoordVec}[1]{\ManifoldCoordVecDetailed{#1}{x}} \newcommand{\VolumeEnvCurrCoord}{\CurrCoord{\VolumeEnvCurr}} \newcommand{\VolumeEnvCurrCoordVec}{\CurrCoordVec{\VolumeEnvCurr}} \newcommand{\VolumeCurrCoord}{\CurrCoord{\VolumeCurr}} \newcommand{\VolumeCurrCoordVec}{\CurrCoordVec{\VolumeCurr}} \newcommand{\SurfaceCurrCoord}{\CurrCoord{\SurfaceCurr}} \newcommand{\SurfaceCurrCoordVec}{\CurrCoordVec{\SurfaceCurr}} \newcommand{\SurfaceCurrDispCoord}{\CurrCoord{\SurfaceCurrDisp}} \newcommand{\SurfaceCurrDispCoordVec}{\CurrCoordVec{\SurfaceCurrDisp}} \newcommand{\SurfaceCurrTracCoord}{\CurrCoord{\SurfaceCurrTrac}} \newcommand{\SurfaceCurrTracCoordVec}{\CurrCoordVec{\SurfaceCurrTrac}} \newcommand{\CurveCurrCoord}{\CurrCoord{\CurveRef}} \newcommand{\CurveCurrCoordVec}{\CurrCoordVec{\CurveRef}} \newcommand{\VolumeEnvRefMap}{\ManifoldMap{\ParamDomainEnv}{\VolumeEnvRef}} \newcommand{\GenericGradOverVolumeEnvRefMap}[1]{\Grad{\VolumeEnvRefMap}{#1}} \newcommand{\VolumeRefMap}{\ManifoldMap{\ParamDomain}{\VolumeRef}} \newcommand{\GenericGradOverVolumeRefMap}[1]{\Grad{\VolumeRefMap}{#1}} \newcommand{\SurfaceRefDispMap}{\ManifoldMap{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMap}{\ManifoldMap{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\CurveRefMap}{\ManifoldMap{\ParamDomain}{\CurveRef}} \newcommand{\GenericGradOverCurveRefMap}[1]{\Grad{\CurveRefMap}{#1}} \newcommand{\VolumeEnvRefMapDef}{\ManifoldMapDef{\ParamDomainEnv}{\VolumeEnvRef}} \newcommand{\SurfaceRefDispMapDef}{\ManifoldMapDef{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMapDef}{\ManifoldMapDef{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\SurfaceRefToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRef}} \newcommand{\SurfaceRefDispToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRefTrac}} \newcommand{\CurveRefMapDef}{\ManifoldMapDef{\ParamDomain}{\CurveRef}} \newcommand{\GenericDeformMap}{\Vec{\varphi}} \newcommand{\VolumeEnvDeformMap}{\ManifoldMap{\VolumeEnvRef}{\VolumeEnvCurr}} \newcommand{\GenericGradOverVolumeEnvDeformMap}[1]{\Grad{\VolumeEnvDeformMap}{#1}} \newcommand{\VolumeDeformMap}{\ManifoldMap{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeDeformTemporalMap}{\ManifoldTemporalMap{\VolumeRef}{\VolumeCurr}} \newcommand{\GradVolumeDeformTemporalMap}{\GenericGradOverVolumeRefMap{\VolumeDeformTemporalMap}} \newcommand{\SurfaceDeformDispMap}{\ManifoldMap{\SurfaceRefDisp}{\SurfaceCurrDisp}} \newcommand{\SurfaceDeformTracMap}{\ManifoldMap{\SurfaceRefTrac}{\SurfaceCurrTrac}} \newcommand{\CurveDeformMap}{\ManifoldMap{\CurveRef}{\CurveCurr}} \newcommand{\CurveDeformTemporalMap}{\ManifoldTemporalMap{\CurveRef}{\CurveCurr}} \newcommand{\VolumeDeformMapDef}{\ManifoldMapDef{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeDeformTemporalMapDef}{\ManifoldTemporalMapDef{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeEnvDeformMapDef}{\ManifoldMapDef{\VolumeEnvRef}{\VolumeEnvCurr}} \newcommand{\CurveDeformMapDef}{\ManifoldMapDef{\CurveRef}{\CurveCurr}} \newcommand{\CurveDeformTemporalMapDef}{\ManifoldTemporalMapDef{\CurveRef}{\CurveCurr}} \newcommand{\DispTrialSpaceOverVolumeEnvRef}{\SpaceHilbert{U}(\VolumeEnvRef)} \newcommand{\DispTestSpaceOverVolumeEnvRef}{\delta \DispTrialSpaceOverVolumeEnvRef} \newcommand{\DispTrialSpaceOverVolumeRef}{\SpaceHilbert{U}(\VolumeRef)} \newcommand{\DispTestSpaceOverVolumeRef}{\delta \DispTrialSpaceOverVolumeRef} \newcommand{\DispTrialSpaceOverCurveRef}{\SpaceHilbert{U}(\CurveRef)} \newcommand{\DispTestSpaceOverCurveRef}{\delta \DispTrialSpaceOverCurveRef} \newcommand{\DispFieldRefComp}{\SymbolDispUpper} \newcommand{\DispFieldRefTen}{\Vec{\DispFieldRefComp}} \newcommand{\DispFieldCurrComp}{\SymbolDisp} \newcommand{\DispFieldCurrTen}{\Vec{\DispFieldCurrComp}} \newcommand{\VelFieldCurrTen}{\Vec{\SymbolVelocity}} \newcommand{\AccFieldCurrTen}{\Vec{\SymbolAcceleration}} \newcommand{\DeformGradComp}{\SymbolDeformGrad} \newcommand{\DeformGradTen}{\Mat{\DeformGradComp}} \newcommand{\DeformGradDet}{\Det{\DeformGradTen}} \newcommand{\KinematicElast}{e} \newcommand{\KinematicPlast}{p} \newcommand{\DivVolumeEnvRef}[1]{\Div{\VolumeEnvRefCoordVec}{#1}} \newcommand{\DivVolumeEnvCurr}[1]{\Div{\VolumeEnvCurrCoordVec}{#1}} \newcommand{\DeformGradIncComp}{\SymbolDeformGradInc} \newcommand{\DeformGradIncTen}{\Mat{\DeformGradIncComp}} \newcommand{\DeformGradIncDevComp}{\bar{\SymbolDeformGradInc}} \newcommand{\DeformGradIncDevTen}{\bar{\Mat{\DeformGradIncComp}}} \newcommand{\JAsDeformGradDet}{J} \newcommand{\StretchTen}{\Mat{V}} \newcommand{\StrainGreenLagrangeComp}{\SymbolStrainGreenLagrange} \newcommand{\StrainGreenLagrangeTen}{\Mat{\StrainGreenLagrangeComp}} \newcommand{\StrainGreenLagrangeVoigt}{\tilde{\StrainGreenLagrangeTen}} \newcommand{\DeformCauchyGreenRightComp}{\SymbolDeformCauchyGreenRight} \newcommand{\DeformCauchyGreenRightTen}{\Mat{\DeformCauchyGreenRightComp}} \newcommand{\DeformCauchyGreenLeftComp}{\SymbolDeformCauchyGreenLeft} \newcommand{\DeformCauchyGreenLeftTen}{\Mat{\DeformCauchyGreenLeftComp}} \newcommand{\DeformCauchyGreenLeftDevComp}{\bar{\SymbolDeformCauchyGreenLeft}} \newcommand{\DeformCauchyGreenLeftDevTen}{\bar{\Mat{\DeformCauchyGreenLeftComp}}} \newcommand{\StrainSymGradComp}{\SymbolStrainSymGrad} \newcommand{\StrainSymGradTen}{\Mat{\StrainSymGradComp}} \newcommand{\StrainDispMat}{\Mat{\SymbolStrainDisp}} \newcommand{\DeformCauchyGreenRightDevComp}{\bar{\SymbolDeformCauchyGreenRight}} \newcommand{\DeformCauchyGreenRightDevTen}{\bar{\Mat{\DeformCauchyGreenRightComp}}} \newcommand{\KinematicElastoplast}{{\rm ep}} \newcommand{\Trial}{{\rm trial}} \newcommand{\DeformCauchyGreenLeftElasticTenDef}{\DeformCauchyGreenLeftTen^\KinematicElast \DefEq \DeformGradTen^\KinematicElast \DeformGradTen^{\KinematicElast T}} \newcommand{\DeformCauchyGreenLeftElasticDevTenDef}{{\DeformCauchyGreenLeftDevTen}^\KinematicElast \DefEq {\JAsDeformGradDet}^{\KinematicElast-\frac{2}{3}} {\DeformCauchyGreenLeftTen}^\KinematicElast} \newcommand{\DeformCauchyGreenRightPlasticTenDef}{\DeformCauchyGreenRightTen^\KinematicPlast \DefEq \DeformGradTen^{\KinematicPlast T} \DeformGradTen^\KinematicPlast} \newcommand{\StrainPlasticEquiv}{\SymbolStrainPlasticEquiv} \newcommand{\ConsistencyParameterPlasticDiscrete}{\Delta \SymbolConsistencyParameterPlastic} \newcommand{\YieldSurfaceNormalComp}{\SymbolYieldSurfaceNormal} \newcommand{\YieldSurfaceNormalTen}{\Mat{\SymbolYieldSurfaceNormal}} \newcommand{\UnitNormalRefComp}{N} \newcommand{\UnitNormalRefTen}{\Vec{\UnitNormalRefComp}} \newcommand{\UnitNormalCurrComp}{\UnitNormalComp} \newcommand{\UnitNormalCurrTen}{\UnitNormal} \newcommand{\DispFieldOverVolumeEnvRefTenDef}{\FuncDef{\DispFieldRefTen}{\VolumeEnvRef}{\SpatialDomain}} \newcommand{\DispFieldOverVolumeEnvCurrTenDef}{\DispFieldCurrTen \DefEq \DispFieldRefTen \circ \Inverse{\VolumeEnvDeformMap}} \newcommand{\DispFieldOverVolumeRefTenDef}{\FuncDef{\DispFieldRefTen}{\VolumeRef}{\SpatialDomain}} \newcommand{\DispFieldOverVolumeRefTemporalTenDef}{\FuncDef{\DispFieldRefTen}{\VolumeRef\otimes\SymbolTime}{\SpatialDomain}} \newcommand{\DispFieldOverVolumeCurrTenDef}{\DispFieldCurrTen \DefEq \DispFieldRefTen \circ \Inverse{\VolumeDeformMap}} \newcommand{\DispFieldOverCurveRefTenDef}{\FuncDef{\DispFieldRefTen}{\CurveRef}{\SpatialDomain}} \newcommand{\DispFieldOverCurveRefTemporalTenDef}{\FuncDef{\DispFieldRefTen}{\CurveRef\otimes\SymbolTime}{\SpatialDomain}} \newcommand{\DeformGradOverVolumeRefTenDef}{\FuncDef{\DeformGradTen}{\VolumeRef}{\VolumeCurr}} \newcommand{\DeformGradOverCurveRefTenDef}{\FuncDef{\DeformGradTen}{\CurveRef}{\CurveCurr}} \newcommand{\StrainGreenLagrangeOverVolumeEnvRefTenDef}{\FuncDef{\StrainGreenLagrangeTen}{\VolumeEnvRef}{\VolumeEnvCurr}} \newcommand{\StrainGreenLagrangeOverVolumeRefTenDef}{\FuncDef{\StrainGreenLagrangeTen}{\VolumeRef}{\VolumeCurr}} \newcommand{\StrainGreenLagrangeOverCurveRefTenDef}{\FuncDef{\StrainGreenLagrangeTen}{\CurveRef}{\CurveCurr}} \newcommand{\DeformCauchyGreenLeftTenDef}{\DeformCauchyGreenLeftTen \DefEq \DeformGradTen \DeformGradTen^T} \newcommand{\DeformCauchyGreenLeftDevTenDef}{\DeformCauchyGreenLeftDevTen \DefEq \DeformGradDet^{-\frac{2}{3}} \DeformCauchyGreenLeftTen} \newcommand{\StressPKOneTen}{\Mat{P}} \newcommand{\StressPKTwoComp}{S} \newcommand{\StressPKTwoTen}{\Mat{\StressPKTwoComp}} \newcommand{\StressPKTwoVoigt}{\tilde{\StressPKTwoTen}} \newcommand{\StressCauchyComp}{\sigma} \newcommand{\StressCauchyTen}{\Mat{\sigma}} \newcommand{\StressCauchyVoigt}{\tilde{\StressCauchyTen}} \newcommand{\StressCauchyMean}{p} \newcommand{\StressCauchyYield}{\StressCauchyComp_Y} \newcommand{\StressKirchhoffComp}{\tau} \newcommand{\StressKirchhoffTen}{\Mat{\tau}} \newcommand{\StressKirchhoffVoigt}{\tilde{\StressKirchhoffTen}} \newcommand{\StressKirchhoffDevComp}{s} \newcommand{\StressKirchhoffDevTen}{\Mat{\StressKirchhoffDevComp}} \newcommand{\ModuliElastRefComp}{C} \newcommand{\ModuliElastRefTen}{\Mat{\ModuliElastRefComp}} \newcommand{\ModuliElastRefVoigt}{\tilde{\ModuliElastRefTen}} \newcommand{\ModuliElastCurrComp}{c} \newcommand{\ModuliElastCurrTen}{\Mat{\ModuliElastCurrComp}} \newcommand{\ModuliElastCurrVoigt}{\tilde{\ModuliElastCurrTen}} \newcommand{\MaterialYoungsModulus}{E} \newcommand{\MaterialPoissonsRatio}{\nu} \newcommand{\MaterialMassDensity}{\rho} \newcommand{\MaterialBulkModulus}{\kappa} \newcommand{\MaterialShearModulus}{\mu} \newcommand{\MaterialShearModulusDev}{\bar{\MaterialShearModulus}} \newcommand{\MaterialThermalExpansion}{\alpha_{\text{thermal}}} \newcommand{\Area}{\SymbolArea} \newcommand{\Length}{\SymbolLength} \newcommand{\Width}{b} \newcommand{\Height}{h} \newcommand{\PenaltyStiffness}{\SymbolPenalty_{\SymbolStiffness}} \newcommand{\PenaltyDisp}{\SymbolPenalty_{\SymbolDisp}} \newcommand{\BodyForceRefComp}{\SymbolBodyForceUpper} \newcommand{\BodyForceRefTen}{\Vec{\BodyForceRefComp}} \newcommand{\BodyForceCurrComp}{\SymbolBodyForce} \newcommand{\BodyForceCurrTen}{\Vec{\BodyForceCurrComp}} \newcommand{\TracForceRefComp}{\SymbolTracForceUpper} \newcommand{\TracForceRefTen}{\Vec{\TracForceRefComp}} \newcommand{\TracForceCurrComp}{\SymbolTracForce} \newcommand{\TracForceCurrTen}{\Vec{\TracForceCurrComp}} \newcommand{\Pressure}{p} \newcommand{\BodyForceOverVolumeEnvRefTenDef}{\FuncDef{\BodyForceRefTen}{\VolumeEnvRef}{\SpatialDomain}} \newcommand{\BodyForceOverVolumeEnvCurrTenDef}{\BodyForceCurrTen \DefEq \BodyForceRefTen \circ \Inverse{\VolumeEnvDeformMap}} \newcommand{\BodyForceOverCurveRefCompDef}{\FuncDef{\BodyForceRefComp}{\CurveRef}{\Reals}} \newcommand{\BodyForceOverCurveRefTenDef}{\FuncDef{\BodyForceRefTen}{\CurveRef}{\SpatialDomain}} \newcommand{\BodyForceOverCurveCurrCompDef}{\BodyForceCurrComp \DefEq \BodyForceRefComp \circ \Inverse{\CurveDeformMap}} \newcommand{\BodyForceOverCurveCurrTenDef}{\BodyForceCurrTen \DefEq \BodyForceRefTen \circ \Inverse{\CurveDeformMap}} \newcommand{\TracForceOverSurfaceRefTracTenDef}{\FuncDef{\TracForceRefTen}{\SurfaceRefTrac}{\SpatialDomain}} \newcommand{\TracForceOverSurfaceCurrTracTenDef}{\TracForceCurrTen \DefEq \TracForceRefTen \circ \Inverse{\SurfaceDeformTracMap}} \newcommand{\TracForceOverCurveRefCompDef}{\FuncDef{\TracForceRefComp}{\PointRefTrac}{\Reals}} \newcommand{\TracForceOverCurveRefTenDef}{\FuncDef{\TracForceRefTen}{\PointRefTrac}{\SpatialDomain}} \newcommand{\TracForceOverCurveCurrCompDef}{\TracForceCurrComp \DefEq \TracForceRefComp \circ \Inverse{\CurveDeformMap}} \newcommand{\TracForceOverCurveCurrTenDef}{\TracForceCurrTen \DefEq \TracForceRefTen \circ \Inverse{\CurveDeformMap}} \newcommand{\ConstraintRefTen}{\Vec{\SymbolConstraintUpper}} \newcommand{\LagrangeMultTestSpaceOverSurfaceRef}{\delta \LagrangeMultTrialSpaceOverSurfaceRef} \newcommand{\LagrangeMultTrialSpaceOverSurfaceRef}{\SpaceHilbert{L}(\SurfaceRefDisp)} \newcommand{\LagrangeMultRefComp}{\SymbolLagrangeMultRef} \newcommand{\LagrangeMultRefTen}{\Vec{\LagrangeMultRefComp}} \newcommand{\LagrangeMultCurrComp}{\SymbolLagrangeMultCurr} \newcommand{\LagrangeMultCurrTen}{\Vec{\LagrangeMultCurrComp}} \newcommand{\ConstraintOverSurfaceRefDispTenDef}{\FuncDef{\ConstraintRefTen}{\SurfaceRefDisp}{\SpatialDomain}} \newcommand{\LagrangeMultOverSurfaceCurrTenDef}{\LagrangeMultCurrTen \DefEq \LagrangeMultRefTen \circ \Inverse{\SurfaceDeformDispMap}} \newcommand{\Energy}{\SymbolEnergy} \newcommand{\EnergyElastic}[1]{\QFO{\Energy}{#1}} \newcommand{\EnergyElasticNoArg}{\QFONA{\Energy}} \newcommand{\EnergyEnv}{\SymbolEnvModifier{\Energy}} \newcommand{\EnergyInside}{\Energy^{\SymbolInside}} \newcommand{\EnergyOutside}{\Energy^{\SymbolOutside}} \newcommand{\EnergyConstraint}{\Energy^{\LagrangeMultCurrComp}} \newcommand{\EnergyDensityStrain}{\SymbolEnergyDensityStrain} \newcommand{\EnergyDensityStrainVol}{\SymbolEnergyDensityStrainVol} \newcommand{\EnergyDensityStrainDev}{\bar{\SymbolEnergyDensityStrain}} \newcommand{\EnergyInsideOverVolumeEnvRefDef}{\FuncDef{\EnergyInside}{\DispTrialSpaceOverVolumeEnvRef}{\Reals}} \newcommand{\EnergyOutsideOverVolumeEnvRefDef}{\FuncDef{\EnergyOutside}{\DispTrialSpaceOverVolumeEnvRef}{\Reals}} \newcommand{\EnergyConstraintOverVolumeEnvRefDef}{\FuncDef{\EnergyConstraint}{\DispTrialSpaceOverVolumeEnvRef\TensorProduct\LagrangeMultTrialSpaceOverSurfaceRef}{\Reals}} \newcommand{\EnergyDensityStrainOverVolumeEnvRefDef}{\FuncDef{\EnergyDensityStrain}{\VolumeEnvRef}{\Reals}} \newcommand{\ResidualComp}{\SymbolResidual} \newcommand{\ResidualVec}{\Vec{\ResidualComp}} \newcommand{\ForceVec}{\Vec{\SymbolForce}} \newcommand{\ForceInternalVec}{\ForceVec^{int}} \newcommand{\ForceExternalVec}{\ForceVec^{ext}} \newcommand{\ForceConstraintPenaltyVec}{\ForceVec^{\PenaltyDisp}} \newcommand{\ForceConstraintLagrangeVec}{\ForceVec^{\lambda1}} \newcommand{\ForceConstraintVec}{\ForceVec^{\lambda2}} \newcommand{\StiffnessMat}{\Mat{\SymbolStiffness}} \newcommand{\StiffnessMaterialMat}{\StiffnessMat^{m}} \newcommand{\StiffnessGeometricMat}{\StiffnessMat^{g}} \newcommand{\StiffnessPenaltyMat}{\StiffnessMat^{\PenaltyDisp}} \newcommand{\StiffnessLagrangeMat}{\StiffnessMat^{\LagrangeMultCurrComp}} \newcommand{\MassMat}{\Mat{\SymbolMass}} \newcommand{\LumpedMassMat}{\tilde{\MassMat}} \newcommand{\SolutionComp}{\SymbolSolution} \newcommand{\Solution}{\Vec{\SymbolSolution}} \newcommand{\SolutionDisp}{\Solution^{\DispFieldCurrComp}} \newcommand{\SolutionLagrange}{\Solution^{\LagrangeMultCurrComp}} \newcommand{\Flex}[1]{\mathcal{F}_{#1}} \newcommand{\FlexIt}{\mathcal{F}} \newcommand{\FlexFEA}{\Flex{\bar{0}}} \newcommand{\FlexFEAModified}{\Flex{0}} \newcommand{\FlexOne}{\Flex{1}} \newcommand{\FlexImmersed}{\Flex{\infty}} \newcommand{\FlexInfty}{\mathcal{F}{\infty}} \newcommand{\FlexSpectrum}{\overleftrightarrow{\mathcal{F}}} \newcommand{\FlexSpectrumId}{i} \newcommand{\TimeStep}{\Delta \SymbolTime} \newcommand{\SpectralRadius}{\rho_{\infty}}$$\newcommand{\SymbolPressureContact}{p} \newcommand{\SymbolContactGap}{g} \newcommand{\NumUsplineBasisFuncsS}{\Size{\UsplineBasisFuncSetOnMeshUspline^s}} \newcommand{\NumUsplineBasisFuncsM}{\Size{\UsplineBasisFuncSetOnMeshUspline^m}} \newcommand{\NumUsplineBasisFuncsG}{\Size{\UsplineBasisFuncSetOnMeshUspline^\alpha}} \newcommand{\NumUsplineBasisFuncsParamDomainBdryContactS}{\Size{\UsplineBasisFuncSetOnMeshUspline^{\ParamDomainBdryContactS}}} \newcommand{\NumUsplineBasisFuncsParamDomainBdryContactM}{\Size{\UsplineBasisFuncSetOnMeshUspline^{\ParamDomainBdryContactM}}} \newcommand{\NumUsplineBasisFuncsParamDomainBdryContactG}{\Size{\UsplineBasisFuncSetOnMeshUspline^{\ParamDomainBdryContactG}}} \newcommand{\ParamDomainEnvS}{\ParamDomainEnv^{s}} \newcommand{\ParamDomainEnvM}{\ParamDomainEnv^{m}} \newcommand{\ParamDomainEnvG}{\ParamDomainEnv^{\alpha}} \newcommand{\ParamDomainS}{\ParamDomain^{s}} \newcommand{\ParamDomainM}{\ParamDomain^{m}} \newcommand{\ParamDomainG}{\ParamDomain^\alpha} \newcommand{\ParamDomainClosureS}{\overline{\ParamDomain}^s} \newcommand{\ParamDomainClosureM}{\overline{\ParamDomain}^m} \newcommand{\ParamDomainClosureG}{\overline{\ParamDomain}^\alpha} \newcommand{\ParamDomainBdryG}{\ParamDomainBdry^\alpha} \newcommand{\ParamDomainBdryContactS}{\ParamDomainBdry^{c,s}} \newcommand{\ParamDomainBdryContactM}{\ParamDomainBdry^{c,m}} \newcommand{\ParamDomainBdryContactG}{\ParamDomainBdry^{c,\alpha}} \newcommand{\ParamDomainBdryTangentComp}{A} \newcommand{\ParamDomainBdryTangentTen}{\Mat{\ParamDomainBdryTangentComp}} \newcommand{\ParamDetJacobianS}{j^s} \newcommand{\ParamDomainGCoordVec}{\ParamCoordVecSimple^{\ParamDomainG}} \newcommand{\ParamDomainGCoord}{\ParamCoordSimple^{\ParamDomainG}} \newcommand{\ParamDomainEnvGCoordVec}{\ParamCoordVecSimple^{\ParamDomainEnvG}} \newcommand{\ParamDomainEnvGCoord}{\ParamCoordSimple^{\ParamDomainEnvG}} \newcommand{\ParamDomainEnvSCoordVec}{\ParamCoordVecSimple^{\ParamDomainEnvS}} \newcommand{\ParamDomainEnvSCoord}{\ParamCoordSimple^{\ParamDomainEnvS}} \newcommand{\ParamDomainEnvMCoordVec}{\ParamCoordVecSimple^{\ParamDomainEnvM}} \newcommand{\ParamDomainEnvMCoord}{\ParamCoordSimple^{\ParamDomainEnvM}} \newcommand{\ParamDomainBdryContactGCoordVec}{\ParamCoordVecSimple^{\ParamDomainBdryContactG}} \newcommand{\ParamDomainBdryContactGCoord}{\ParamCoordSimple^{\ParamDomainBdryContactG}} \newcommand{\ParamDomainBdryContactSCoordVec}{\ParamCoordVecSimple^{\ParamDomainBdryContactS}} \newcommand{\ParamDomainBdryContactSCoord}{\ParamCoordSimple^{\ParamDomainBdryContactS}} \newcommand{\ParamDomainBdryContactMCoordVec}{\ParamCoordVecSimple^{\ParamDomainBdryContactM}} \newcommand{\ParamDomainBdryContactMCoord}{\ParamCoordSimple^{\ParamDomainBdryContactM}} \newcommand{\SegmentParamDomainOfVolumeEnvRefS}{\QuantityRelatedTo{\ParamDomainEnvS}{\SegmentOfVolumeEnvRefS}} \newcommand{\SegmentParamDomainOfVolumeEnvRefM}{\QuantityRelatedTo{\ParamDomainEnvM}{\SegmentOfVolumeEnvRefM}} \newcommand{\SegmentParamDomainOfVolumeEnvCurrM}{\QuantityRelatedTo{\ParamDomainEnvM}{\SegmentOfVolumeEnvCurrM}} \newcommand{\SegmentParamDomainOfSurfaceCurrContactS}{\QuantityRelatedTo{\ParamDomainBdryContactS}{\SegmentOfSurfaceCurrContactS}} \newcommand{\SegmentParamDomainOfSurfaceRefContactM}{\QuantityRelatedTo{\ParamDomainBdryContactM}{\SegmentOfSurfaceRefContactM}} \newcommand{\SegmentParamDomainOfSurfaceCurrContactM}{\QuantityRelatedTo{\ParamDomainBdryContactM}{\SegmentOfSurfaceCurrContactM}} \newcommand{\UsplineBasisFuncS}{\UsplineBasisFunc^{s}} \newcommand{\UsplineBasisFuncM}{\UsplineBasisFunc^{m}} \newcommand{\UsplineBasisFuncG}{\UsplineBasisFunc^{\alpha}} \newcommand{\UsplineBasisFuncParamDomainBdryContactS}{\UsplineBasisFunc^{\ParamDomainBdryContactS}} \newcommand{\UsplineBasisFuncParamDomainBdryContactM}{\UsplineBasisFunc^{\ParamDomainBdryContactM}} \newcommand{\UsplineBasisFuncParamDomainBdryContactG}{\UsplineBasisFunc^{\ParamDomainBdryContactG}} \newcommand{\UsplineBasisSymmSecondOrderComp}{S} \newcommand{\UsplineBasisSymmSecondOrderTen}{\Mat{\UsplineBasisSymmSecondOrderComp}} \newcommand{\UsplineBasisSymmFourthOrderComp}{E} \newcommand{\UsplineBasisSymmSixthOrderComp}{Z} \newcommand{\VolumeEnvRefG}{\VolumeEnvRef^{\alpha}} \newcommand{\VolumeEnvRefS}{\VolumeEnvRef^{s}} \newcommand{\VolumeEnvRefM}{\VolumeEnvRef^{m}} \newcommand{\VolumeRefG}{\VolumeRef^{\alpha}} \newcommand{\VolumeRefS}{\VolumeRef^{s}} \newcommand{\VolumeRefM}{\VolumeRef^{m}} \newcommand{\VolumeRefClosureG}{\VolumeRefClosure^\alpha} \newcommand{\VolumeRefClosureS}{\VolumeRefClosure^s} \newcommand{\VolumeRefClosureM}{\VolumeRefClosure^m} \newcommand{\SurfaceRefG}{\SurfaceRef^\alpha} \newcommand{\SurfaceRefS}{\SurfaceRef^s} \newcommand{\SurfaceRefM}{\SurfaceRef^m} \newcommand{\SurfaceRefTracG}{\SurfaceRef^{\SymbolTracForce,\alpha}} \newcommand{\SurfaceRefDispG}{\SurfaceRef^{\SymbolDisp,\alpha}} \newcommand{\SurfaceRefContactG}{\SurfaceRef^{c,\alpha}} \newcommand{\SurfaceRefContactS}{\SurfaceRef^{c,s}} \newcommand{\SurfaceRefContactM}{\SurfaceRef^{c,m}} \newcommand{\VolumeEnvRefSCoordVec}{\RefCoordVec{\VolumeEnvRefS}} \newcommand{\VolumeEnvRefMCoordVec}{\RefCoordVec{\VolumeEnvRefM}} \newcommand{\VolumeEnvRefGCoordVec}{\RefCoordVec{\VolumeEnvRefG}} \newcommand{\VolumeRefGCoordVec}{\RefCoordVec{\VolumeRefG}} \newcommand{\SurfaceRefContactSCoord}{\RefCoord{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactSCoordVec}{\RefCoordVec{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactMCoord}{\RefCoord{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactMCoordVec}{\RefCoordVec{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactGCoord}{\RefCoord{\SurfaceRefContactG}} \newcommand{\SurfaceRefContactGCoordVec}{\RefCoordVec{\SurfaceRefContactG}} \newcommand{\SurfaceRefDispGCoordVec}{\RefCoordVec{\SurfaceRefDispG}} \newcommand{\SegmentOfVolumeEnvRefS}{\Segment{\VolumeEnvRefS}} \newcommand{\SegmentOfVolumeEnvRefM}{\Segment{\VolumeEnvRefM}} \newcommand{\SegmentOfSurfaceRefContactS}{\Segment{\SurfaceRefContactS}} \newcommand{\SegmentOfSurfaceRefContactM}{\Segment{\SurfaceRefContactM}} \newcommand{\VolumeEnvCurrG}{\VolumeEnvCurr^{\alpha}} \newcommand{\VolumeEnvCurrS}{\VolumeEnvCurr^{s}} \newcommand{\VolumeEnvCurrM}{\VolumeEnvCurr^{m}} \newcommand{\VolumeCurrG}{\VolumeCurr^{\alpha}} \newcommand{\VolumeCurrS}{\VolumeCurr^{s}} \newcommand{\VolumeCurrM}{\VolumeCurr^{m}} \newcommand{\VolumeCurrClosureG}{\VolumeCurrClosure^\alpha} \newcommand{\VolumeCurrClosureS}{\VolumeCurrClosure^s} \newcommand{\VolumeCurrClosureM}{\VolumeCurrClosure^m} \newcommand{\SurfaceCurrG}{\SurfaceCurr^\alpha} \newcommand{\SurfaceCurrS}{\SurfaceCurr^s} \newcommand{\SurfaceCurrM}{\SurfaceCurr^m} \newcommand{\SurfaceCurrContact}{\SurfaceCurr^{c}} \newcommand{\SurfaceCurrContactG}{\SurfaceCurr^{c,\alpha}} \newcommand{\SurfaceCurrContactS}{\SurfaceCurr^{c,s}} \newcommand{\SurfaceCurrContactM}{\SurfaceCurr^{c,m}} \newcommand{\VolumeEnvCurrSCoordVec}{\CurrCoordVec{\VolumeEnvCurrS}} \newcommand{\VolumeEnvCurrMCoordVec}{\CurrCoordVec{\VolumeEnvCurrM}} \newcommand{\VolumeEnvCurrGCoordVec}{\CurrCoordVec{\VolumeEnvCurrG}} \newcommand{\VolumeCurrGCoordVec}{\CurrCoordVec{\VolumeCurrG}} \newcommand{\SurfaceCurrContactSCoord}{\CurrCoord{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactSCoordVec}{\CurrCoordVec{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactMCoord}{\CurrCoord{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactMCoordVec}{\CurrCoordVec{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactGCoord}{\CurrCoord{\SurfaceCurrContactG}} \newcommand{\SurfaceCurrContactGCoordVec}{\CurrCoordVec{\SurfaceCurrContactG}} \newcommand{\SegmentOfVolumeEnvCurrS}{\Segment{\VolumeEnvCurrS}} \newcommand{\SegmentOfVolumeEnvCurrM}{\Segment{\VolumeEnvCurrM}} \newcommand{\SegmentOfSurfaceCurrContactS}{\Segment{\SurfaceCurrContactS}} \newcommand{\SegmentOfSurfaceCurrContactM}{\Segment{\SurfaceCurrContactM}} \newcommand{\VolumeEnvRefSMap}{\ManifoldMap{\ParamDomainEnvS}{\VolumeEnvRefS}} \newcommand{\VolumeEnvRefMMap}{\ManifoldMap{\ParamDomainEnvM}{\VolumeEnvRefM}} \newcommand{\VolumeEnvRefGMap}{\ManifoldMap{\ParamDomainEnvG}{\VolumeEnvRefG}} \newcommand{\VolumeEnvRefSMapInv}{\Inverse{\VolumeEnvRefSMap}} \newcommand{\VolumeEnvRefMMapInv}{\Inverse{\VolumeEnvRefMMap}} \newcommand{\VolumeEnvRefGMapInv}{\Inverse{\VolumeEnvRefGMap}} \newcommand{\VolumeRefClosureSMap}{\ManifoldMap{\ParamDomainClosureS}{\VolumeRefClosureS}} \newcommand{\VolumeRefClosureMMap}{\ManifoldMap{\ParamDomainClosureM}{\VolumeRefClosureM}} \newcommand{\VolumeRefClosureGMap}{\ManifoldMap{\ParamDomainClosureG}{\VolumeRefClosureG}} \newcommand{\VolumeRefSMap}{\ManifoldMap{\ParamDomainS}{\VolumeRefS}} \newcommand{\VolumeRefMMap}{\ManifoldMap{\ParamDomainM}{\VolumeRefM}} \newcommand{\VolumeRefGMap}{\ManifoldMap{\ParamDomainG}{\VolumeRefG}} \newcommand{\VolumeRefClosureGMapRestrictedToBoundary}{\ManifoldMap{\ParamDomainClosureG}{\VolumeRefClosureG}\Big|_{\ParamDomainBdryContactG}} \newcommand{\VolumeRefClosureMMapRestrictedToBoundary}{\ManifoldMap{\ParamDomainClosureM}{\VolumeRefClosureM}\Big|_{\ParamDomainBdryContactM}} \newcommand{\SurfaceRefContactSMap}{\ManifoldMap{\ParamDomainBdryContactS}{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactMMap}{\ManifoldMap{\ParamDomainBdryContactM}{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactGMap}{\ManifoldMap{\ParamDomainBdryContactG}{\SurfaceRefContactG}} \newcommand{\VolumeEnvRefGMapDef}{\ManifoldMapDef{\ParamDomainEnvG}{\VolumeEnvRefG}} \newcommand{\VolumeRefClosureGMapDef}{\ManifoldMapDef{\ParamDomainClosureG}{\VolumeRefClosureG}} \newcommand{\SurfaceRefContactSMapDef}{\ManifoldMapDef{\ParamDomainBdryContactS}{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactMMapDef}{\ManifoldMapDef{\ParamDomainBdryContactM}{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactGMapDef}{\ManifoldMapDef{\ParamDomainBdryContactG}{\SurfaceRefContactG}} \newcommand{\VolumeEnvCurrSMap}{\ManifoldMap{\ParamDomainEnvS}{\VolumeEnvCurrS}} \newcommand{\VolumeEnvCurrMMap}{\ManifoldMap{\ParamDomainEnvM}{\VolumeEnvCurrM}} \newcommand{\VolumeEnvCurrGMap}{\ManifoldMap{\ParamDomainEnvG}{\VolumeEnvCurrG}} \newcommand{\VolumeCurrClosureSMap}{\ManifoldMap{\ParamDomainClosureS}{\VolumeCurrClosureS}} \newcommand{\VolumeCurrClosureMMap}{\ManifoldMap{\ParamDomainClosureM}{\VolumeCurrClosureM}} \newcommand{\VolumeCurrClosureGMap}{\ManifoldMap{\ParamDomainClosureG}{\VolumeCurrClosureG}} \newcommand{\VolumeCurrSMap}{\ManifoldMap{\ParamDomainS}{\VolumeCurrS}} \newcommand{\VolumeCurrMMap}{\ManifoldMap{\ParamDomainM}{\VolumeCurrM}} \newcommand{\VolumeCurrGMap}{\ManifoldMap{\ParamDomainG}{\VolumeCurrG}} \newcommand{\VolumeCurrClosureGMapRestrictedToBoundary}{\ManifoldMap{\ParamDomainClosureG}{\VolumeCurrClosureG}\Big|_{\ParamDomainBdryContactG}} \newcommand{\SurfaceCurrContactSMap}{\ManifoldMap{\ParamDomainBdryContactS}{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactMMap}{\ManifoldMap{\ParamDomainBdryContactM}{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactGMap}{\ManifoldMap{\ParamDomainBdryContactG}{\SurfaceCurrContactG}} \newcommand{\VolumeEnvCurrGMapDef}{\ManifoldMapDef{\ParamDomainEnvG}{\VolumeEnvCurrG}} \newcommand{\VolumeCurrClosureGMapDef}{\ManifoldMapDef{\ParamDomainClosureG}{\VolumeCurrClosureG}} \newcommand{\SurfaceCurrContactSMapDef}{\ManifoldMapDef{\ParamDomainBdryContactS}{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactMMapDef}{\ManifoldMapDef{\ParamDomainBdryContactM}{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactGMapDef}{\ManifoldMapDef{\ParamDomainBdryContactG}{\SurfaceCurrContactG}} \newcommand{\VolumeEnvDeformSMap}{\ManifoldMap{\VolumeEnvRefS}{\VolumeEnvCurrS}} \newcommand{\VolumeEnvDeformMMap}{\ManifoldMap{\VolumeEnvRefM}{\VolumeEnvCurrM}} \newcommand{\VolumeEnvDeformGMap}{\ManifoldMap{\VolumeEnvRefG}{\VolumeEnvCurrG}} \newcommand{\VolumeDeformSMap}{\ManifoldMap{\VolumeRefClosureS}{\VolumeCurrClosureS}} \newcommand{\VolumeDeformMMap}{\ManifoldMap{\VolumeRefClosureM}{\VolumeCurrClosureM}} \newcommand{\VolumeDeformGMap}{\ManifoldMap{\VolumeRefClosureG}{\VolumeCurrClosureG}} \newcommand{\VolumeEnvDeformGMapDef}{\ManifoldMapDef{\VolumeEnvRefG}{\VolumeEnvCurrG}} \newcommand{\VolumeDeformGMapDef}{\ManifoldMapDef{\VolumeRefClosureG}{\VolumeCurrClosureG}} \newcommand{\DispTrialSpaceOverVolumeEnvRefS}{\SpaceHilbert{U}(\VolumeEnvRefS)} \newcommand{\DispTrialSpaceOverVolumeEnvRefM}{\SpaceHilbert{U}(\VolumeEnvRefM)} \newcommand{\DispTrialSpaceOverVolumeEnvRefSAndM}{\SpaceHilbert{U}(\VolumeEnvRefS, \VolumeEnvRefM)} \newcommand{\DispTrialSpaceOverVolumeEnvRefG}{\SpaceHilbert{U}(\VolumeEnvRefG)} \newcommand{\DispTrialSpaceOverVolumeRefS}{\SpaceHilbert{U}(\VolumeRefClosureS)} \newcommand{\DispTrialSpaceOverVolumeRefM}{\SpaceHilbert{U}(\VolumeRefClosureM)} \newcommand{\DispTrialSpaceOverVolumeRefSAndM}{\SpaceHilbert{U}(\VolumeRefClosureS, \VolumeRefClosureM)} \newcommand{\DispTrialSpaceOverVolumeRefG}{\SpaceHilbert{U}(\VolumeRefClosureG)} \newcommand{\DispTestSpaceOverVolumeEnvRefG}{\delta \DispTrialSpaceOverVolumeEnvRefG} \newcommand{\DispTestSpaceOverVolumeRefG}{\delta \DispTrialSpaceOverVolumeRefG} \newcommand{\DispFieldRefSComp}{\DispFieldRefComp^s} \newcommand{\DispFieldRefSTen}{\DispFieldRefTen^s} \newcommand{\DispFieldRefMComp}{\DispFieldRefComp^m} \newcommand{\DispFieldRefMTen}{\DispFieldRefTen^m} \newcommand{\DispFieldRefGTen}{\DispFieldRefTen^\alpha} \newcommand{\DispFieldDiscreteRefGTen}{\DispFieldRefTen^{h,\alpha}} \newcommand{\DispFieldOverVolumeEnvRefGTenDef}{\ManifoldMapDef{\VolumeEnvRefG}{\DispFieldRefGTen}} \newcommand{\DispFieldOverVolumeRefGTenDef}{\ManifoldMapDef{\VolumeRefClosureG}{\DispFieldRefGTen}} \newcommand{\GradVolumeRefG}[1]{\Grad{\RefCoordVec{\VolumeRefClosureG}}{#1}} \newcommand{\GradVolumeEnvRefS}[1]{\Grad{\VolumeEnvRefSCoordVec}{#1}} \newcommand{\GradVolumeEnvRefM}[1]{\Grad{\VolumeEnvRefMCoordVec}{#1}} \newcommand{\GradVolumeEnvRefG}[1]{\Grad{\VolumeEnvRefGCoordVec}{#1}} \newcommand{\DeformGradSComp}{\DeformGradComp^s} \newcommand{\DeformGradSTen}{\DeformGradTen^s} \newcommand{\DeformGradSDet}{\Det{\DeformGradSTen}} \newcommand{\DeformGradSInvTrans}{\InvTrans{\DeformGradSTen}} \newcommand{\DeformGradMComp}{\DeformGradComp^m} \newcommand{\DeformGradMTen}{\DeformGradTen^m} \newcommand{\DeformGradMDet}{\Det{\DeformGradMTen}} \newcommand{\DeformGradMInvTrans}{\InvTrans{\DeformGradMTen}} \newcommand{\DeformGradGTen}{\DeformGradTen^\alpha} \newcommand{\DeformGradOverVolumeEnvRefGTenDef}{\FuncDef{\DeformGradGTen}{\VolumeEnvRefG}{\VolumeEnvCurrG}} \newcommand{\DeformGradOverVolumeRefGTenDef}{\FuncDef{\DeformGradGTen}{\VolumeRefClosureG}{\VolumeCurrClosureG}} \newcommand{\UnitNormalRefSTen}{\UnitNormalRefTen^s} \newcommand{\UnitNormalRefMTen}{\UnitNormalRefTen^m} \newcommand{\UnitNormalCurrSComp}{\UnitNormalCurrComp^s} \newcommand{\UnitNormalCurrSTen}{\UnitNormalCurrTen^s} \newcommand{\UnitNormalCurrMComp}{\UnitNormalCurrComp^m} \newcommand{\UnitNormalCurrMTen}{\UnitNormalCurrTen^m} \newcommand{\AreaRatioS}{r^s} \newcommand{\AreaRatioM}{r^m} \newcommand{\ContraMTen}{\Mat{a}^m} \newcommand{\SymmProdInProjTan}{C} \newcommand{\ProdPBTanInvCurPBTanInv}{D} \newcommand{\ProdPBTanInvCurMetricInv}{M} \newcommand{\ProdPBTanInvCurMetricInvCurPBTanInv}{W} \newcommand{\PenaltyContactGap}{\SymbolPenalty_{\SymbolContactGap}} \newcommand{\BodyForceRefGTen}{\BodyForceRefTen^\alpha} \newcommand{\TracForceRefGTen}{\TracForceRefTen^\alpha} \newcommand{\BodyForceOverVolumeRefGDef}{\FuncDef{\BodyForceRefGTen}{\VolumeRefG}{\SpatialDomain}} \newcommand{\BodyForceOverVolumeEnvRefGDef}{\FuncDef{\BodyForceRefGTen}{\VolumeEnvRefG}{\SpatialDomain}} \newcommand{\TracForceOverSurfaceRefTracGTenDef}{\FuncDef{\TracForceRefGTen}{\SurfaceRefTracG}{\SpatialDomain}} \newcommand{\PressureContact}{\SymbolPressureContact} \newcommand{\PressureContactProjected}{\overline{\SymbolPressureContact}_{\UsplineBasisFuncId}} \newcommand{\CoeffPressureContact}{\SymbolPressureContact_{\UsplineBasisFuncId}} \newcommand{\PressureContactInterpolated}{\hat{\SymbolPressureContact}} \newcommand{\ConstraintRefGTen}{\ConstraintRefTen^\alpha} \newcommand{\GapContact}{\SymbolContactGap} \newcommand{\GapContactProjected}{\overline{\SymbolContactGap}_{\UsplineBasisFuncId}} \newcommand{\GapContactProjectedVariation}{\delta \GapContactProjected} \newcommand{\GapContactMortar}{\GapContact^{m}} \newcommand{\GapContactMortarProjected}{\overline{\GapContact}^{m}_{\UsplineBasisFuncId}} \newcommand{\CoeffGapContactMortar}{\GapContact^{m}_{\UsplineBasisFuncId}} \newcommand{\ConstraintOverSurfaceRefDispGTenDef}{\FuncDef{\ConstraintRefGTen}{\SurfaceRefDispG}{\SpatialDomain}} \newcommand{\EnergyEnvG}{\EnergyEnv^\alpha} \newcommand{\EnergyG}{\Energy^{\alpha}} \newcommand{\EnergyDensityStrainG}{\EnergyDensityStrain^\alpha} \newcommand{\EnergyConstraintG}{\Energy^{\SymbolDisp,\alpha}} \newcommand{\EnergyContact}{\Energy^c} \newcommand{\EnergyOverVolumeRefGDef}{\FuncDef{\EnergyG}{\DispTrialSpaceOverVolumeRefG}{\Reals}} \newcommand{\EnergyEnvOverVolumeEnvRefGDef}{\FuncDef{\EnergyEnvG}{\DispTrialSpaceOverVolumeEnvRefG}{\Reals}} \newcommand{\EnergyDensityStrainOverVolumeRefGDef}{\FuncDef{\EnergyDensityStrainG}{\VolumeRefG}{\Reals}} \newcommand{\EnergyDensityStrainOverVolumeEnvRefGDef}{\FuncDef{\EnergyDensityStrainG}{\VolumeEnvRefG}{\Reals}} \newcommand{\EnergyContactOverVolumeRefSAndMDef}{\FuncDef{\EnergyContact}{\DispTrialSpaceOverVolumeRefSAndM}{\Reals}} \newcommand{\EnergyContactOverVolumeEnvRefSAndMDef}{\FuncDef{\EnergyContact}{\DispTrialSpaceOverVolumeEnvRefSAndM}{\Reals}} \newcommand{\EnergyConstraintOverVolumeRefGDef}{\FuncDef{\EnergyConstraintG}{\DispTrialSpaceOverVolumeRefG}{\Reals}} \newcommand{\EnergyConstraintOverVolumeEnvRefGDef}{\FuncDef{\EnergyConstraintG}{\DispTrialSpaceOverVolumeEnvRefG}{\Reals}} \newcommand{\ResidualMat}{\Mat{N}} \newcommand{\ForceInternalContactVec}{\ForceVec^{c,int,n}} \newcommand{\ForceGapContact}{C^n} \newcommand{\StiffnessMatA}{\hat{\Mat{N}}} \newcommand{\StiffnessMatB}{\Mat{T}} \newcommand{\StiffnessMatC}{\Mat{D}} \newcommand{\StiffnessGeometricContact}{\StiffnessMat^{c,g,n}} \newcommand{\StiffnessContact}{\StiffnessMat^{c,n}} \newcommand{\ElemCount}[1]{\operatorname{count}{(#1)}} \newcommand{\ConvexHull}[1]{\operatorname{ch}{\left(#1\right)}} \newcommand{\Normal}[1]{\operatorname{N}{\left(#1\right)}} \newcommand{\NormalConvexHull}[1]{\Normal{\ConvexHull{#1}}} \newcommand{\DiscretePointSetS}{\Set{SP}} \newcommand{\DiscreteElemSetM}{\Set{ME}} \newcommand{\EnvBoundConMapM}{\operatorname{mc}} \newcommand{\EnvBoundConSetM}{\Set{MC}} \newcommand{\SpatialCoordVecToSegmentSetMapMSensor}{\operatorname{cs}} \newcommand{\SpatialCoordVecToSegmentSetMapMElem}{\operatorname{ce}} \newcommand{\SelfContactMap}{\operatorname{sc}} \newcommand{\ColSetS}{\Set{I}} \newcommand{\PairEnvMapBoundM}{\operatorname{cp}} \newcommand{\ApproximateProjectionCollision}[1]{\widetilde{\Projection}{#1}} \newcommand{\ImageSlaveEnv}{\bar{\ParamCoordVecSimple}^{\ParamDomainEnvM}} \newcommand{\ImageSlaveBound}{\bar{\ParamCoordVecSimple}^{\ParamDomainBdryContactM}} \newcommand{\ActiveSet}{\Set{A}} \newcommand{\DiscretePointSetM}{\Set{MP}} \newcommand{\MortarActiveSet}{\Set{A}^m} \newcommand{\PressureContactAnalytical}{p_a} \newcommand{\TipPressureContactAnalytical}{p_0} \newcommand{\ContactHalfWidth}{b}$$\newcommand{\MidGeometryModifier}[1]{\bar{#1}} \newcommand{\SymbolRotationGlobal}{\omega} \newcommand{\SkewMat}[1]{\Mat{s} \left( #1 \right)} \newcommand{\SkewMatInv}[1]{\Mat{s}^{-1} \left( #1 \right)} \newcommand{\Ident}{\Mat{I}} \newcommand{\Cartesian}{\Vec{e}} \newcommand{\ManifoldDim}{n} \newcommand{\LaminaSymbol}{l} \newcommand{\LaminaSymbolUpper}{L} \newcommand{\LaminaMetricSymbol}{j} \newcommand{\ShellMomentSymbol}{q} \newcommand{\DirectorBilinearFunc}[3]{\left(#2,#3\right)_{#1}} \newcommand{\RotObjectiveFunc}{s} \newcommand{\ParamConfig}{\Omega_\xi} \newcommand{\ParamConfigMid}{\Omega_\xi^m} \newcommand{\ParamConfigSec}{\Omega_\xi^s} \newcommand{\ParamConfigBound}{\Gamma_\xi} \newcommand{\ParamConfigMidBound}{\Gamma_\xi^m} \newcommand{\ParamConfigSecBound}{\Gamma_\xi^s} \newcommand{\ParamConfigMuBound}{\Gamma_\xi^\mu} \newcommand{\ParamConfigSigBound}{\Gamma_\xi^\sigma} \newcommand{\ParamConfigDirichMidBound}{\Gamma_\xi^g} \newcommand{\ParamConfigNeuMidBound}{\Gamma_\xi^h} \newcommand{\ParamConfigDirichBound}{\Gamma_\xi^\gamma} \newcommand{\ParamConfigNeuBound}{\Gamma_\xi^\eta} \newcommand{\ParaParam}[1]{\xi_{#1}} \newcommand{\ParaParamVec}{\boldsymbol{\xi}} \newcommand{\RefConfig}{\Omega_0} \newcommand{\RefConfigMid}{\Omega_0^m} \newcommand{\RefConfigSec}{\Omega_0^s} \newcommand{\SurfaceRefRot}{\SurfaceRef^{\SymbolRotationGlobal}} \newcommand{\RefConfigBound}{\Gamma_0} \newcommand{\RefConfigMidBound}{\Gamma_0^m} \newcommand{\RefConfigSecBound}{\Gamma_0^s} \newcommand{\RefConfigMuBound}{\Gamma_0^\mu} \newcommand{\RefConfigSigBound}{\Gamma_0^\sigma} \newcommand{\RefConfigDirichMidBound}{\Gamma_0^g} \newcommand{\RefConfigNeuMidBound}{\Gamma_0^h} \newcommand{\RefConfigDirichBound}{\Gamma_0^\gamma} \newcommand{\RefConfigNeuBound}{\Gamma_0^\eta} \newcommand{\RefMap}{\Vec{X}} \newcommand{\RefMid}{\MidGeometryModifier{\Vec{X}}} \newcommand{\RefDir}{\Vec{D}} \newcommand{\RefSectionPos}{\Vec{R}} \newcommand{\RefCovar}[1]{\Vec{G}_{#1}} \newcommand{\RefMidCovar}[1]{\MidGeometryModifier{\Vec{G}}_{#1}} \newcommand{\RefContra}[1]{\Vec{G}^{#1}} \newcommand{\RefMidContra}[1]{\MidGeometryModifier{\Vec{G}}^{#1}} \newcommand{\RefLamina}[1]{\Vec{L}_{#1}} \newcommand{\RefLaminaDual}[1]{\Vec{\LaminaSymbolUpper}^{#1}} \newcommand{\RefShellProjectedBasis}[1]{\Vec{P}_{#1}} \newcommand{\CurConfig}{\Omega} \newcommand{\CurConfigMid}{\Omega^m} \newcommand{\CurConfigSec}{\Omega^s} \newcommand{\CurConfigBound}{\Gamma} \newcommand{\CurConfigMidBound}{\Gamma^m} \newcommand{\CurConfigSecBound}{\Gamma^s} \newcommand{\CurConfigMuBound}{\Gamma^\mu} \newcommand{\CurConfigSigBound}{\Gamma^\sigma} \newcommand{\CurConfigDirichMidBound}{\Gamma^g} \newcommand{\CurConfigNeuMidBound}{\Gamma^h} \newcommand{\CurConfigDirichBound}{\Gamma^\gamma} \newcommand{\CurConfigNeuBound}{\Gamma^\eta} \newcommand{\CurMap}{\Vec{x}} \newcommand{\CurMid}{\MidGeometryModifier{\Vec{x}}} \newcommand{\CurDir}{\Vec{d}} \newcommand{\CurSectionPos}{\Vec{r}} \newcommand{\CurCovar}[1]{\Vec{g}_{#1}} \newcommand{\CurMidCovar}[1]{\MidGeometryModifier{\Vec{g}}_{#1}} \newcommand{\CurContra}[1]{\Vec{g}^{#1}} \newcommand{\CurMidContra}[1]{\MidGeometryModifier{\Vec{g}}^{#1}} \newcommand{\CurLamina}[1]{\Vec{\LaminaSymbol}_{#1}} \newcommand{\CurLaminaDual}[1]{\Vec{\LaminaSymbol}^{#1}} \newcommand{\CurModLamina}[1]{\hat{\Vec{\LaminaSymbol}}_{#1}} \newcommand{\CurModLaminaDual}[1]{\hat{\Vec{\LaminaSymbol}}^{#1}} \newcommand{\CurShellProjectedBasis}[1]{\Vec{p}_{#1}} \newcommand{\DeformMap}{\varphi} \newcommand{\DeformMapMid}{\varphi^m} \newcommand{\Disp}{\Vec{u}} \newcommand{\DispMid}{\MidGeometryModifier{\Vec{u}}} \newcommand{\RotVec}{\boldsymbol{\omega}} \newcommand{\RotMat}{\boldsymbol{\Lambda}} \newcommand{\RotMatMembrane}{\Mat{\Psi}} \newcommand{\RotMatDelta}{\boldsymbol{\Lambda}_\Delta} \newcommand{\IncRotMat}{\Delta\RotMat} \newcommand{\EulerVec}{\boldsymbol{\vartheta}} \newcommand{\EulerVecNorm}{\theta} \newcommand{\EulerVecSinc}{\boldsymbol{\Theta}} \newcommand{\EulerRotVec}{\boldsymbol{\theta}} \newcommand{\EulerRotAngle}{\theta} \newcommand{\IncEulerRotVec}{\Delta\boldsymbol{\theta}} \newcommand{\AngularVelocity}{\boldsymbol{\eta}} \newcommand{\IncEulerRotVecVel}{\Delta\dot{\boldsymbol{\theta}}} \newcommand{\AngularAcceleration}{\boldsymbol{\alpha}} \newcommand{\IncEulerRotVecAcc}{\Delta\ddot{\boldsymbol{\theta}}} \newcommand{\DeformGrad}{\Mat{F}} \newcommand{\Strain}[1]{\boldsymbol{\tau}_{#1}} \newcommand{\StrainMid}[1]{\boldsymbol{\varepsilon}_{#1}} \newcommand{\StrainCurve}[1]{\boldsymbol{\kappa}_{#1}} \newcommand{\DecompDeform}{\Mat{U}} \newcommand{\ExtraDeformTen}{\Delta\DeformGradTen} \newcommand{\ExtraDeformComp}{\Delta\DeformGradComp} \newcommand{\GreenLagrange}{\Mat{E}} \newcommand{\ShellStrainCurve}[1]{\boldsymbol{\chi}_{#1}} \newcommand{\SecPK}{\Mat{S}} \newcommand{\FirstPK}{\Mat{P}} \newcommand{\Cauchy}{\boldsymbol{\sigma}} \newcommand{\IntTrac}[1]{\Vec{t}_{#1}} \newcommand{\RefModuli}{\Mat{C}} \newcommand{\CurModuli}{\Mat{c}} \newcommand{\PointModuli}{\Mat{m}} \newcommand{\ResModuli}{\Mat{M}} \newcommand{\RefAreaVec}[1]{\Vec{A}_{#1}} \newcommand{\RefAreaMidVec}[1]{\MidGeometryModifier{\Vec{A}}_{#1}} \newcommand{\RefMeas}{G} \newcommand{\UnitNormalRefVec}[1]{\Vec{N}_{#1}} \newcommand{\CurAreaVec}[1]{\Vec{a}_{#1}} \newcommand{\CurAreaMidVec}[1]{\MidGeometryModifier{\Vec{a}}_{#1}} \newcommand{\CurMeas}{g} \newcommand{\UnitNormalCurrVec}[1]{\Vec{n}_{#1}} \newcommand{\CurLaminaMetricTen}{\Mat{\LaminaMetricSymbol}} \newcommand{\CurLaminaMetricComp}{\LaminaMetricSymbol} \newcommand{\CurToModLaminaTransComp}{M} \newcommand{\IntForce}{\Vec{f}^{\, int}} \newcommand{\IntMoment}{\Vec{m}^{int}} \newcommand{\ExtForceBody}{\Vec{f}^{\, ext}_b} \newcommand{\ExtMomentBody}{\Vec{m}^{ext}_b} \newcommand{\ShellExtMomentBody}{\Vec{\ShellMomentSymbol}^{ext}_b} \newcommand{\ExtForceTrac}{\Vec{f}^{\, ext}_h} \newcommand{\ExtMomentTrac}{\Vec{m}^{ext}_h} \newcommand{\ShellExtMomentTrac}{\Vec{\ShellMomentSymbol}^{ext}_h} \newcommand{\MassForce}{\Vec{f}^{\,\rho}} \newcommand{\MassMoment}{\Vec{m}^{\rho}} \newcommand{\ShellMassMoment}{\Vec{\ShellMomentSymbol}^{\rho}} \newcommand{\ResidualInternal}{\Vec{R}^{int}} \newcommand{\ResidualExternal}{\Vec{R}^{ext}} \newcommand{\ResidualMass}{\Mat{R}^{\rho}} \newcommand{\NodalMass}[1]{\Mat{M}_{#1}} \newcommand{\NodalLinearInertia}[1]{A_{#1}} \newcommand{\NodalAngularInertia}[1]{I_{#1}} \newcommand{\ShellDeltaAngle}{\phi} \newcommand{\BStrainMatrix}[2]{\Mat{B}_{#1#2}} \newcommand{\ShellDrillingStiffness}{k} \newcommand{\DrillConstraint}{C} \newcommand{\IntForceDrilling}{\Vec{f}^{d}} \newcommand{\ModuliDrilling}{\Mat{M}^d} \newcommand{\ResidualDrilling}{\Vec{R}^d} \newcommand{\SymbolTop}{top} \newcommand{\SymbolCentroid}{c} \newcommand{\SymbolLeverArm}{r} \newcommand{\SpatialCoordVecCentroid}{\SpatialCoordVec^{\SymbolCentroid}} \newcommand{\SpatialCoordCentroidX}{\SpatialCoordX^{\SymbolCentroid}} \newcommand{\SpatialCoordCentroidY}{\SpatialCoordY^{\SymbolCentroid}} \newcommand{\SpatialCoordCentroidZ}{\SpatialCoordZ^{\SymbolCentroid}} \newcommand{\LeverArm}{\Vec{\SymbolLeverArm}} \newcommand{\LeverArmX}{\SymbolLeverArm_{\SpatialCoordX}} \newcommand{\LeverArmY}{\SymbolLeverArm_{\SpatialCoordY}} \newcommand{\LeverArmZ}{\SymbolLeverArm_{\SpatialCoordZ}} \newcommand{\MomentFirstMass}{Q} \newcommand{\MomentSecondMass}{I} \newcommand{\MomentSecondMassDetailed}[1]{I_{#1}} \newcommand{\DistributedLoad}{q} \newcommand{\TracForceCurrCompX}{\TracForceCurrComp_{\SpatialCoordX}} \newcommand{\TracForceCurrCompY}{\TracForceCurrComp_{\SpatialCoordY}} \newcommand{\TracForceCurrCompZ}{\TracForceCurrComp_{\SpatialCoordZ}} \newcommand{\TracMomentCurrCompDetailed}[1]{\TracMomentCurrComp_{#1}} \newcommand{\TracForceCurrCompSupportReaction}{r^{\TracForceCurrComp}} \newcommand{\TracForceCurrCompSupportReactionDetailed}[1]{\TracForceCurrCompSupportReaction_{#1}} \newcommand{\TracForceCurrCompDistributedLoad}{\DistributedLoad^{\TracForceCurrComp}} \newcommand{\TracForceCurrCompPointLoad}{p^{\TracForceCurrComp}} \newcommand{\TracMomentCurrVec}{\Vec{\TracMomentCurrComp}} \newcommand{\TracMomentCurrComp}{m} \newcommand{\BodyForceCurrCompX}{\BodyForceCurrComp_{\SpatialCoordX}} \newcommand{\BodyForceCurrCompY}{\BodyForceCurrComp_{\SpatialCoordY}} \newcommand{\BodyForceCurrCompZ}{\BodyForceCurrComp_{\SpatialCoordZ}} \newcommand{\BodyForceCurrCompDistributedLoad}{\DistributedLoad^{\BodyForceCurrComp}} \newcommand{\BodyForceCurrCompAxialLoad}{f^{\BodyForceCurrComp}} \newcommand{\StressCauchyTractionVec}{\Vec{t}} \newcommand{\StressCauchyTractionX}{t_{\SpatialCoordX}} \newcommand{\StressCauchyTractionY}{t_{\SpatialCoordY}} \newcommand{\StressCauchyTractionZ}{t_{\SpatialCoordZ}} \newcommand{\StressCauchyNormal}{\sigma} \newcommand{\StressCauchyNormalDetailed}[1]{\StressCauchyNormal_{#1}} \newcommand{\StressCauchyNormalXX}{\StressCauchyComp_{\SpatialCoordX\SpatialCoordX}} \newcommand{\StressCauchyNormalYY}{\StressCauchyComp_{\SpatialCoordY\SpatialCoordY}} \newcommand{\StressCauchyNormalZZ}{\StressCauchyComp_{\SpatialCoordZ\SpatialCoordZ}} \newcommand{\StressCauchyShear}{\tau} \newcommand{\StressCauchyShearDetailed}[1]{\StressCauchyShear_{#1}} \newcommand{\StressCauchyShearXY}{\StressCauchyShear_{\SpatialCoordX\SpatialCoordY}} \newcommand{\StressCauchyShearYX}{\StressCauchyShear_{\SpatialCoordY\SpatialCoordX}} \newcommand{\StressCauchyShearXZ}{\StressCauchyShear_{\SpatialCoordX\SpatialCoordZ}} \newcommand{\StressCauchyShearZX}{\StressCauchyShear_{\SpatialCoordZ\SpatialCoordX}} \newcommand{\StressCauchyShearYZ}{\StressCauchyShear_{\SpatialCoordY\SpatialCoordZ}} \newcommand{\StressCauchyShearZY}{\StressCauchyShear_{\SpatialCoordZ\SpatialCoordY}} \newcommand{\StressCauchyResultantForce}{F} \newcommand{\StressCauchyResultantForceDetailed}[1]{F_{#1}} \newcommand{\StressCauchyResultantForceVec}{\Vec{\StressCauchyResultantForce}} \newcommand{\StressCauchyResultantMoment}{M} \newcommand{\StressCauchyResultantMomentDetailed}[1]{M_{#1}} \newcommand{\StressCauchyResultantMomentVec}{\Vec{\StressCauchyResultantMoment}} \newcommand{\StressCauchyResultantForceShear}{V} \newcommand{\StressCauchyResultantForceShearDetailed}[1]{V_{#1}} \newcommand{\StressCauchyResultantForceAxial}{\StressCauchyResultantForce} \newcommand{\DispFieldCurrCompX}{\DispFieldCurrComp_{\SpatialCoordX}} \newcommand{\DispFieldCurrCompY}{\DispFieldCurrComp_{\SpatialCoordY}} \newcommand{\DispFieldCurrCompZ}{\DispFieldCurrComp_{\SpatialCoordZ}} \newcommand{\DispFieldMidCurrCompX}{\overline{\DispFieldCurrComp}_{\SpatialCoordX}} \newcommand{\DispFieldMidCurrCompY}{\overline{\DispFieldCurrComp}_{\SpatialCoordY}} \newcommand{\StrainSymGradCompXX}{\StrainSymGradComp_{\SpatialCoordX\SpatialCoordX}} \newcommand{\StrainSymGradCompYY}{\StrainSymGradComp_{\SpatialCoordY\SpatialCoordY}} \newcommand{\StrainSymGradCompZZ}{\StrainSymGradComp_{\SpatialCoordZ\SpatialCoordZ}} \newcommand{\StrainShearComp}{\gamma} \newcommand{\StrainShearCompXY}{\StrainShearComp_{\SpatialCoordX\SpatialCoordY}} \newcommand{\StrainShearCompXZ}{\StrainShearComp_{\SpatialCoordX\SpatialCoordZ}} \newcommand{\StrainShearCompYZ}{\StrainShearComp_{\SpatialCoordY\SpatialCoordZ}} \newcommand{\EquationBeamShearStress}{\frac{\StressCauchyResultantForceShear \MomentFirstMass}{\MomentSecondMassDetailed{\SpatialCoordZ}\Width}} \newcommand{\EquationVecInCoords}{\Vec{v} = v_{\SpatialCoordX} \BasisVecI + v_{\SpatialCoordY} \BasisVecJ + v_{\SpatialCoordZ} \BasisVecK} \newcommand{\EquationMatVecMultiply}{\Mat{M}\Vec{v} = \begin{bmatrix} \DotProduct{\Vec{m}_1}{\Vec{v}} \\ \DotProduct{\Vec{m}_2}{\Vec{v}} \\ \DotProduct{\Vec{m}_3}{\Vec{v}} \end{bmatrix}} \newcommand{\EquationMatMatMultiply}{\Mat{M}\Mat{N} = \begin{bmatrix} \DotProduct{\Vec{m}_1}{\Mat{n}_1} & \DotProduct{\Vec{m}_1}{\Mat{n}_2} & \DotProduct{\Vec{m}_1}{\Mat{n}_3} \\ \DotProduct{\Vec{m}_2}{\Mat{n}_1} & \DotProduct{\Vec{m}_2}{\Mat{n}_2} & \DotProduct{\Vec{m}_2}{\Mat{n}_3} \\ \DotProduct{\Vec{m}_3}{\Mat{n}_1} & \DotProduct{\Vec{m}_3}{\Mat{n}_2} & \DotProduct{\Vec{m}_3}{\Mat{n}_3} \end{bmatrix}} \newcommand{\Force}{F} \newcommand{\ShearFlow}{f}$$\newcommand{\BaseSymbol}{b} \newcommand{\EmbeddedSymbol}{e} \newcommand{\RefinedSymbol}{r} \newcommand{\HierarchicalSymbol}{\textsf{H}} \newcommand{\BlockSymbol}{\textsf{B}} \newcommand{\BaseModifier}[1]{{#1}_{\BaseSymbol}} \newcommand{\EmbeddedModifier}[1]{{#1}_{\EmbeddedSymbol}} \newcommand{\RefinedModifier}[1]{{#1}_{\RefinedSymbol}} \newcommand{\HierarchicalModifier}[1]{{#1}_{\HierarchicalSymbol}} \newcommand{\BlockModifier}[1]{{#1}_{\BlockSymbol}} \newcommand{\RefinementLevelI}{i} \newcommand{\RefinementLevelJ}{j} \newcommand{\RefinementLevelK}{k} \newcommand{\HighestRefinementLevel}{N} \newcommand{\BaseParentDomain}{\BaseModifier{\ParentDomain}} \newcommand{\RefinedDomain}[1]{\ParamDomain_{#1}} \newcommand{\BaseMesh}{\BaseModifier{\MeshTopo}} \newcommand{\BaseBezierMesh}{\BaseModifier{\MeshBezier}} \newcommand{\EmbeddedMesh}{\EmbeddedModifier{\MeshTopo}} \newcommand{\RefinedMesh}{\RefinedModifier{\MeshTopo}} \newcommand{\RefinedBezierMesh}{\RefinedModifier{\MeshBezier}} \newcommand{\HierarchicalBezierMesh}{\HierarchicalModifier{\MeshBezier}} \newcommand{\HierarchicalUsplineMesh}{\HierarchicalModifier{\MeshUspline}} \newcommand{\RefinementLevelMesh}[1]{\MeshBezier_{#1}} \newcommand{\LeafElemSet}[1]{\Set{L}_{#1}} \newcommand{\ActiveElemSet}[1]{\Set{A}_{#1}} \newcommand{\ActiveBasisFuncs}[1]{\Set{UFA}_{#1}} \newcommand{\UnderRefinedBasisFuncs}[1]{\Set{UFU}_{#1}} \newcommand{\HierarchicalBasisFuncs}{\Set{UFH}} \newcommand{\TruncatedBasisFuncs}{\Set{UFT}} \newcommand{\FuncsTruncatedToLevel}[1]{\Set{TK}_{#1}} \newcommand{\FuncsTouchingActiveFuncs}[1]{\Set{T}_{#1}} \newcommand{\FuncsSubsetOfCoarserFuncs}[1]{\Set{S}_{#1}} \newcommand{\RefinementLevelBasis}[1]{\UsplineBasisFuncSetFunctionOf{\RefinementLevelMesh{#1}}} \newcommand{\RefinementLevelSpace}[1]{\QuantityRelatedTo{\UsplineSpace}{\RefinementLevelMesh{#1}}} \newcommand{\BaseAssociated}{\operatorname{\textsf{base}}} \newcommand{\BaseAssociatedFunctionOf}[1]{\QFO{\BaseAssociated}{#1}} \newcommand{\TruncationOp}[2]{\QFO{\operatorname{\textsf{trunc}}_{#1}}{#2}} \newcommand{\EmbeddedToBaseChart}{\EmbeddedModifier{\ParentDomainChart}} \newcommand{\InvEmbeddedToBaseChart}{(\EmbeddedToBaseChart)^{-1}} \newcommand{\RefinementCoefficients}{c^A_B} \newcommand{\RefinementMat}{\Mat{D}} \newcommand{\NthLevelProlongationMat}[1]{\QSB{\ProlongationMat}{#1}} \newcommand{\NthLevelActiveMat}[1]{\QSB{\Mat{A}}{#1}} \newcommand{\NthLevelRefinementMat}[1]{\QSB{\RefinementMat}{#1}} \newcommand{\NthLevelTruncationMat}[1]{\QSB{\Mat{T}}{#1}} \newcommand{\NthLevelBasisMat}[1]{\QSB{\Mat{S}}{#1}} \newcommand{\NthLevelMassMat}[1]{\QSB{\MassMat}{#1}} \newcommand{\FuncIndex}{\operatorname*{\mathsf{ID}}} \newcommand{\MultiLevelRefinementMat}[2]{\QSB{\RefinementMat}{#1 #2}} \newcommand{\BlockRefinementMat}{\BlockModifier{\RefinementMat}} \newcommand{\BlockMassMat}{\BlockModifier{\MassMat}}$

Meshing packages have the challenge of dealing with a host of geometry problems. Many of these problems can be generalized as file translation issues. Typically, the geometry used in a meshing package has not been created there but in one of many CAD packages. Exporting these files out of CAD and into a neutral file format (IGES, STEP, SAT) accepted by the meshing software can introduce misrepresentations in the geometry. If the CAD and meshing packages do not support the same file formats, a second translation may be necessary, possibly introducing even more problems.

Another complication caused by file translation is that of tolerances. Some CAD packages see two points as coincident if they are within 1e-3 units, while others use 1e-6. If the meshing software’s tolerance is finer than the CAD package’s, this disparity in tolerance can cause subsequent geometry modification operations in the meshing package to inadvertently create sliver features, which tend to be difficult and tedious to deal with. This tolerance problem also causes misalignment issues between adjacent volumes of assemblies, hindering the sharing of coincident geometry in order to produce a conformal mesh.

Modeling errors caused by the user in the CAD package is another problem that the meshing package has to correct. In the CAD package, the user may not create the geometry correctly, causing some parts to overlap, or introduce small gaps between parts that should touch. Many times these problems are detected in the meshing package at a point when it is not feasible to simply go back into the CAD system and fix the problem, so the meshing package must be capable of correcting it.

Several approaches for addressing the geometry cleanup problem have been proposed in the literature, but they typically provide operations that are automatically applied to the geometry once one or more topology problems have been identified. While very effective in many cases, they generally lack the ability for the user to have control over the resolution of these CAD issues while still maintaining the option for automation. The ITEM environment provides tools to both diagnose these common issues and to provide a list of solutions from which the user may select that will correct the problems.

For the purposes of mesh generation, features in a solid model that should be carefully considered and addressed prior to meshing generally fit in one of four categories:

• Bad geometry representation As a result of translation errors between CAD representations, errors or differences in the way the geometry is interpreted may occur. Depending on the severity of the problem, sometimes a mesh can be generated even with a less-than perfect geometric representation, however, in most cases, these should be resolved before meshing.

• Small details in the model In some cases there exist small details in the geometry that, if meshed, would result in very small elements and a potentially huge element budget. Small curves and surfaces can sometimes result from details in the design solid model that may not be necessary for analysis or may even be a result of careless construction of the CAD model. In either case, it is important to remove or modify these features before meshing.

• Compatible topology for meshing scheme Several meshing algorithms, such as the structured, mapping and sweeping techniques require a specific configuration of vertices, curves and surfaces in order to operate. Operations to decompose the geometry into a meshable topology are often needed. Other unstructured techniques like paving, and tetrahedral meshing do not require decomposition.

• Conformal topology for assemblies Assemblies of parts are often required to have a conformal mesh across their interface. (i.e. Shared nodes at a common boundary). The operations imprint and merge are often required to connect parts together so that when meshed, the representation will be a single continuous mesh.

Being able to recognize when a problem exists and what operations to apply to resolve issues in each of the four categories described above, is indeed an art-form and requires significant experience to become proficient. ITEM will not take the place of an experienced user, but it is intended to offer the user help along the way by detecting potential problems and suggesting solutions they might consider.

$\newcommand{\QuantityFunctionOf}[2]{{#1}(#2)} \newcommand{\QFO}[2]{\QuantityFunctionOf{#1}{#2}} \newcommand{\QuantityFunctionOfNoArg}[1]{{#1}} \newcommand{\QFONA}[1]{\QuantityFunctionOfNoArg{#1}} \newcommand{\SubscriptedQuantityFunctionOf}[3]{{#1}_{#2}(#3)} \newcommand{\SQFO}[3]{\SubscriptedQuantityFunctionOf{#1}{#2}{#3}} \newcommand{\QuantityChildOf}[2]{{#2}^{#1}} \newcommand{\QCO}[2]{\QuantityChildOf{#1}{#2}} \newcommand{\QuantityRelatedTo}[2]{{#1}[#2]} \newcommand{\QRT}[2]{\QuantityRelatedTo{#1}{#2}} \newcommand{\QuantitySubscriptedBy}[2]{{#1}_{#2}} \newcommand{\QSB}[2]{\QuantitySubscriptedBy{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOfChildOf}[4]{{#1}_{#2}^{#3}(#4)} \newcommand{\SQFOCO}[4]{\SubscriptedQuantityFunctionOfChildOf{#1}{#2}{#3}{#4}} \newcommand{\SubscriptedQuantityChildOf}[3]{{#1}_{#2}^{#3}} \newcommand{\SQCO}[3]{\SubscriptedQuantityChildOf{#1}{#2}{#3}} \newcommand{\overbar}[1]{\mkern 1.5mu\overline{\mkern-1.5mu#1\mkern-1.5mu}\mkern 1.5mu} \newcommand{\bcdot}{\boldsymbol{\cdot}} \newcommand{\SuchThat}{\, : \,} \newcommand{\SuchThatText}{\text{s.t.}} \newcommand{\DefEq}{\overset{\operatorname{def}}{=}} \newcommand{\True}{\textsf{True}} \newcommand{\False}{\textsf{False}} \newcommand{\ArrayRoster}[1]{\left[#1\right]} \newcommand{\ArrayRosterI}[2]{[#1]_{#2}} \newcommand{\ArrayEmpty}{\ArrayRoster{\hspace{1mm}}} \newcommand{\Tuple}[1]{\mathsf{#1}} \newcommand{\TupleRoster}[1]{\left(#1\right)} \newcommand{\PointPair}[2]{\TupleRoster{#1, #2}} \newcommand{\Set}[1]{\mathsf{#1}} \newcommand{\SetRoster}[1]{\left\{ #1 \right\}} \newcommand{\SetRosterIndexed}[3]{\SetRoster{#1}_{#2}^{#3}} \newcommand{\SetRosterPredicate}[2]{\SetRoster{#1 \SuchThat #2}} \newcommand{\SetEmpty}{\varnothing} \newcommand{\SetPower}[1]{\QuantityFunctionOf{\boldsymbol{\Set{P}}}{#1}} \newcommand{\SetNeighborhood}[1]{\QuantityFunctionOf{\boldsymbol{\Set{B}}}{#1}} \newcommand{\Domain}{\Omega} \newcommand{\DomainBdry}{\Gamma} \newcommand{\IntervalClosed}[2]{\left[#1, #2\right]} \newcommand{\IntervalOpen}[2]{\left(#1, #2\right)} \newcommand{\IntervalClosedOpen}[2]{\left[#1, #2\right)} \newcommand{\IntervalOpenClosed}[2]{\left(#1, #2\right]} \newcommand{\Reals}{\mathbb{R}} \newcommand{\Naturals}{\mathbb{N}} \newcommand{\Integers}{\mathbb{Z}} \newcommand{\Field}{\mathbb{F}} \newcommand{\Size}[1]{\left\lvert #1 \right\rvert} \newcommand{\Union}[3]{\bigcup\limits_{#1}^{#2} #3} \newcommand{\UnionInline}[3]{\bigcup_{#1}^{#2} #3} \newcommand{\Intersect}[3]{\bigcap\limits_{#1}^{#2} #3} \newcommand{\ElementWiseGreaterOrEqual}{\succeq} \newcommand{\ElemntWiseGreater}{\succ} \newcommand{\ElementWiseLessOrEqual}{\preceq} \newcommand{\ElementWiseLess}{\prec} \newcommand{\SpaceLinear}[1]{\mathnormal{#1}} \newcommand{\SpaceDual}[1]{\SpaceLinear{#1}^*} \newcommand{\AbsoluteValue}[1]{\Size{#1}} \newcommand{\Norm}[2]{\left\lVert #2 \right\rVert_{#1}} \newcommand{\NormAbstract}[1]{\Norm{}{#1}} \newcommand{\NormSemi}[1]{\Size{#1}} \newcommand{\SpaceLinearNormed}[1]{\left(\SpaceLinear{#1}, \NormAbstract{\bcdot} \right)} \newcommand{\SpaceBanach}[1]{\mathfrak{#1}} % normed and complete \newcommand{\SymmetricBilinear}[2]{\left(#1, #2\right)} \newcommand{\InnerProduct}[2]{\left\langle#1, #2\right\rangle} \newcommand{\DotProduct}[2]{\left(#1 \bcdot #2\right)} \newcommand{\SpaceInnerProduct}[1]{\left(\SpaceLinear{#1}, \InnerProduct{\bcdot}{\bcdot}\right)} \newcommand{\SpaceHilbert}[1]{\mathcal{#1}} \newcommand{\SpaceLTwo}{\SpaceHilbert{L}_2} \newcommand{\SpaceLTwoDef}[2]{\SpaceLTwo\left(#1; #2\right)} \newcommand{\SpaceLInfty}{\SpaceHilbert{L}_\infty} \newcommand{\SpaceLTwoWeighted}{\SpaceLTwo^w} \newcommand{\SpaceSobolevK}[1]{\SpaceHilbert{H}^{#1}} \newcommand{\SpaceSobolevKDef}[3]{\SpaceSobolevK{#1}\left(#2 ; #3\right)} \newcommand{\Cont}{\operatorname{cont}} \newcommand{\SpaceCont}{\SpaceHilbert{C}} \newcommand{\SpaceContDef}[2]{\SpaceCont\left(#1 ; #2\right)} \newcommand{\SpaceContK}[1]{\SpaceCont^{#1}} \newcommand{\SpaceContKDef}[3]{\SpaceContK{#1}\left(#2; #3\right)} \newcommand{\SpaceContZero}{\SpaceContK{0}} \newcommand{\SpaceContInf}{\SpaceContK{\infty}} \newcommand{\SpaceContInfDef}[2]{\SpaceContKDef{\infty}{#1}{#2}} \newcommand{\SpaceContKBounded}[2]{\SpaceContK{#1}_{#2}} \newcommand{\SpaceContKBoundedDef}[3]{\SpaceCont_{b}^{#1}\left(#2 ; #3\right)} \newcommand{\SpaceLinearOperator}[1]{\mathscr{#1}} \newcommand{\SpaceLinearOperatorDef}[2]{\SpaceLinearOperator{L}\left(#1 ; #2\right)} \newcommand{\SpaceLinearOperatorBoundedDef}[2]{\SpaceLinearOperator{B}\left(#1 ; #2\right)} \newcommand{\SpaceLinearN}[1]{\SpaceLinear{#1}^h} \newcommand{\SpaceHilbertN}[1]{\SpaceHilbert{#1}^h} \newcommand{\SpaceVecRealN}[1]{\Reals^{#1}} \newcommand{\SpacePoly}[1]{\SpaceHilbert{P}^{#1}} \newcommand{\SpaceMatrixRealMN}[2]{\Reals^{#1\times#2}} \newcommand{\SpacePolyDef}[3]{\SpacePoly{#1}\left(#2 ; #3\right)} \newcommand{\Func}[1][f]{#1} \newcommand{\FuncAlt}[1][g]{#1} \newcommand{\FuncDef}[3]{#1 \SuchThat #2 \rightarrow #3} \newcommand{\FuncApprox}[1]{#1^h} \newcommand{\LinearOperator}[1]{\SpaceLinearOperator{#1}} \newcommand{\LinearOperatorDef}[3]{\FuncDef{\LinearOperator{#1}}{#2}{#3}} \newcommand{\Functional}[1]{\LinearOperator{#1}} \newcommand{\Projection}{\Pi} \newcommand{\VectorProjection}[2]{\Projection_{#1} {\left(#2\right)}} \newcommand{\Mat}[1]{\boldsymbol{#1}} \newcommand{\MatIJ}[3]{\left[#1\right]_{#2#3}} \newcommand{\MatIdRow}{m} \newcommand{\MatIdCol}{n} \newcommand{\NonZeroIndices}{\operatorname{\mathsf{nzi}}} \newcommand{\ColumnSelector}{\operatorname{\mathrm{col}}} \newcommand{\RowSelector}{\operatorname{\mathrm{row}}} \newcommand{\ColOf}[1]{\ColumnSelector_{#1}} \newcommand{\RowOf}[1]{\RowSelector_{#1}} \newcommand{\DiagonalMatrix}[1]{\QFO{\operatorname*{diag}}{#1}} \newcommand{\Rotation}{\Mat{R}} \newcommand{\Identity}{\Mat{I}} \newcommand{\KroneckerDeltaComp}{\delta} \newcommand{\KroneckerDelta}{\Mat{\delta}} \newcommand{\LeviCivita}{\Mat{\epsilon}} \newcommand{\Jacobian}{\Mat{J}} \renewcommand{\Vec}[1]{\boldsymbol{#1}} \newcommand{\VecChildOf}[2]{\QCO{#2}{#1}} \newcommand{\VecI}[2]{\{#1\}_{#2}} \newcommand{\ZeroVec}{\Vec{0}} \newcommand{\OneVec}{\Vec{1}} \newcommand{\ZeroMat}{\Mat{0}} \newcommand{\UnitNormalComp}{n} \newcommand{\UnitNormal}{\Vec{\UnitNormalComp}} \newcommand{\MacBracket}[1]{\langle#1\rangle} \newcommand{\IdentityTenSym}{\mathbb{I}} \newcommand{\BraKet}[1]{\langle#1\rangle} \newcommand{\FuncObjective}[1]{\QFO{\Func}{#1}} \newcommand{\FuncEqualityConstraints}[1]{\QFO{\Func[\Vec{g}]}{#1}} \newcommand{\VarDesign}{\Vec{\phi}} \newcommand{\VarState}[1]{\QFO{\Vec{u}}{#1}} \newcommand{\FuncLagrangian}[1]{\QFO{\mathscr{L}}{#1}} \newcommand{\FuncAugmentedLagrangian}[1]{\QFO{\mathscr{L}_A}{#1}} \newcommand{\VecLambdaLM}[1]{\QFO{\Vec{\lambda}}{#1}} \newcommand{\LambdaLM}[1]{\QFO{\lambda}{#1}} \newcommand{\SolutionLocalOpt}[1]{\left(#1\right)^*} \newcommand{\ProximalPoint}{\overbar{\VecLambdaLM{}}} \newcommand{\PenaltyParameter}{\rho} \newcommand{\Slacify}[1]{\QSB{#1}{s}} \newcommand{\Prod}[2]{\prod\limits_{#1}^{#2}} \newcommand{\ProdInline}[2]{\prod_{#1}^{#2}} \newcommand{\TensorProduct}{\otimes} \newcommand{\Sum}[2]{\sum\limits_{#1}^{#2}} \newcommand{\SumInline}[2]{\sum_{#1}^{#2}} \newcommand{\Rank}[1]{\operatorname{rank}(#1)} \newcommand{\Nullity}[1]{\operatorname{null}(#1)} \newcommand{\Image}{\operatorname{image}} \newcommand{\Range}{\operatorname{range}} \newcommand{\Inverse}[1]{\left(#1\right)^{-1}} \newcommand{\inverse}[1]{\overline{#1}} \newcommand{\Transpose}[1]{\left(#1\right)^{T}} \newcommand{\TransposeSimple}[1]{#1^{T}} \newcommand{\InvTrans}[1]{\left(#1\right)^{-T}} \newcommand{\Complement}[1]{\overbar{#1}} \newcommand{\Adjoint}[1]{\left(#1\right)^*} \newcommand{\OrthogonalComplement}[1]{\left(#1\right)^\perp} \newcommand{\Det}[1]{\QFO{\operatorname{det}}{#1}} \newcommand{\DCT}{\operatorname{DCT}} \newcommand{\IDCT}{\operatorname{IDCT}} \newcommand{\RealPart}[1]{\QFO{\mathfrak{R}}{#1}} \newcommand{\Trace}[1]{\QFO{\operatorname{tr}}{#1}} \newcommand{\Dev}[1]{\QFO{\operatorname{dev}}{#1}} \newcommand{\DevDef}[1]{\Dev{#1} \DefEq #1 - \frac{1}{3}\Trace{#1}\Identity} \newcommand{\dual}[1]{{\bar{#1}}} \newcommand{\symind}[1]{\textsc{#1}} \newcommand{\symmetrizer}{{S}} \newcommand{\BasisFuncCoeff}[2]{\QSB{#1}{#2}} \newcommand{\BasisVec}[2]{\QSB{#1}{#2}} \newcommand{\BasisVecChildOf}[3]{\SQFOCO{#1}{#2}{#3}{a}} \newcommand{\OrthogonalBasisVec}[2]{\SQFOCO{#1}{#2}{\perp}{a}} \newcommand{\OrthonormalBasisVec}[2]{\SQFOCO{\overbar{#1}}{#2}{\perp}{a}} \newcommand{\PolynomialDegree}{p} \newcommand{\BasisFuncId}{i} \newcommand{\BasisFuncIdAlt}{j} \newcommand{\BasisFuncIdAltAlt}{k} \newcommand{\BasisFunc}[3]{\SQFO{#1}{#2}{#3}} \newcommand{\PowerBasisFunc}[2]{\QCO{#2}{#1}} \newcommand{\LagrangeBasisFunc}[3]{\SQFOCO{\Func[L]}{#1}{#2}{#3}} \newcommand{\LagrangeBasisFuncNoArg}[2]{\SQCO{\Func[L]}{#1}{#2}} \newcommand{\LegendreBasisFunc}[3]{\SQFOCO{\Func[P]}{#1}{#2}{#3}} \newcommand{\LegendreBasisFuncNoArg}[2]{\SQCO{\Func[P]}{#1}{#2}} \newcommand{\PreNormalizedLegendreBasisFunc}[3]{\hat{\LegendreBasisFunc{#1}{#2}{#3}}} \newcommand{\ChebyshevBasisFunc}[2]{\SQFO{\Func[T]}{#1}{#2}} \newcommand{\ChebyshevBasisFuncNoArg}[1]{\SQCO{\Func[T]}{#1}{}} \newcommand{\BasisVecI}{\Vec{i}} \newcommand{\BasisVecJ}{\Vec{j}} \newcommand{\BasisVecK}{\Vec{k}} \newcommand{\Span}{\operatorname{span}} \newcommand{\Dim}[1]{\operatorname{dim}\left({#1}\right)} \newcommand{\Support}[1]{\operatorname{supp}(#1)} \newcommand{\SupportPos}[1]{\operatorname{supp}_{+}(#1)} \newcommand{\SumBasis}[4]{\Sum{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\SumInlineBasis}[4]{\SumInline{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\BasisTransMatrix}[2]{\Mat{R}_{{#1}\rightarrow{#2}}} \newcommand{\ChebyshevZeros}[1]{\QSB{z}{#1}} \newcommand{\ChebyshevExtremizers}[1]{\QSB{t}{#1}} \newcommand{\BernToChebMat}{\Mat{T}} \newcommand{\Chebfun}[3]{\biggl(\, \sum_{#2=0}^{#1}{#3}_{#2}\ChebyshevBasisFuncNoArg{#2}\biggr)} \newcommand{\ChebfunVector}[1]{\left[#1\right]_c} \newcommand{\PowerBasisMat}[1]{\QCO{#1}{\Mat{M}}} \newcommand{\LagrangeBasisMat}[1]{\QCO{#1}{\Mat{L}}} \newcommand{\LegendreBasisMat}[1]{\QCO{#1}{\Mat{P}}} \newcommand{\BernsteinBasisMat}[1]{\QCO{#1}{\Mat{B}}} \newcommand{\ChebyshevBasisMat}[1]{\QCO{#1}{\Mat{T}}} \newcommand{\EvaluateTwoLimits}[3]{#1\biggr\rvert_{#2}^{#3}} \newcommand{\EvaluateOneLimit}[2]{\left.#1\right\rvert_{#2}} \newcommand{\Limit}[2]{\lim\limits_{#1\rightarrow #2}} \newcommand{\LimitInline}[2]{\lim_{#1\rightarrow #2}} \newcommand{\DNE}{\operatorname{DNE}} \newcommand{\TotalDeriv}{D} \newcommand{\LagrangeDeriv}[1]{{#1}'} \newcommand{\KthLagrangeDeriv}[2]{{#1}^{(#2)}} \newcommand{\LeibnizSubDeriv}[2]{{#1}_{,#2}} \newcommand{\LeibnizFracDeriv}[2]{\frac{d}{d#2} #1} \newcommand{\KthLeibnizFracDeriv}[3]{\frac{d^{#2}}{d#3^{#2}}\Func[#1](#3)} \newcommand{\KthLeibnizFracSpecificFunction}[3]{\frac{d^{#2}}{d#3^{#2}}\Func[#1]} \newcommand{\Differential}[1][x]{\, \operatorname{d}{#1}} \newcommand{\FrechetDeriv}[2]{D{#1}\left(#2\right)} \newcommand{\GateauxDirectionBold}[1]{\Vec{\delta}#1} \newcommand{\GateauxDirection}[1]{\delta #1} \newcommand{\GateauxDerivBold}[2]{D#1(#2; \GateauxDirectionBold{#2})} \newcommand{\GateauxDeriv}[2]{D#1(#2; \GateauxDirection{#2})} \newcommand{\GateauxDerivWithDirection}[3]{D#1\left(#2 \ ;\ #3\right)} \newcommand{\GateauxDerivPartial}[2]{\frac{\partial #1}{\partial #2}} \newcommand{\KthGateauxDerivPartial}[3]{\frac{\partial^{#3} #1}{\partial #2^{#3}}} \newcommand{\Grad}[2]{\boldsymbol{\nabla}^{#1} #2} \newcommand{\Jac}{\Mat{J}} \newcommand{\Div}[2]{\boldsymbol{\nabla}^{#1} \bcdot #2} \newcommand{\Laplace}[2]{\boldsymbol{\Delta}^{#1} #2} \newcommand{\TaylorSeries}[2]{\mathcal{T}\left[\Func[#1]\right](#2)} \newcommand{\TruncatedTaylorSeries}[3]{\mathcal{T}_{#1}\left[\Func[#2]\right]\left(#3\right)} \newcommand{\Int}[2]{\int\limits_{#1}^{#2}} \newcommand{\IntDomain}[1]{\int\limits_{#1}} \newcommand{\IntInline}[2]{\int_{#1}^{#2}} \newcommand{\IntDomainInline}[1]{\int_{#1}} \newcommand{\DetJacobian}{\Det{\Jac}} \newcommand{\BigO}[1]{\mathcal{O}\left(#1\right)} \newcommand{\Flops}{\operatorname{flops}} \newcommand{\Interpolant}[2]{\mathcal{#1}^{h}} \newcommand{\ErrorApproxComp}{e} \newcommand{\ErrorApproxTen}{\Vec{\ErrorApproxComp}} \newcommand{\ErrorNewton}{\epsilon} \newcommand{\ApproximateIntegrationError}[1]{\tilde{e}_{#1}} \newcommand{\AnalyticApproximateIntegrationErrorDifference}[1]{\overbar{e}_{#1}} \newcommand{\erf}[1]{\mathrm{erf}\left(#1\right)} \newcommand{\erfc}[1]{\mathrm{erfc}\left(#1\right)} \newcommand{\HeavisideFunc}[1]{\mathit{H}\left(#1\right)} \newcommand{\DiracDelta}[2]{\delta_{D}\left(#1 - #2\right)}$$\newcommand{\SymbolParentModifier}[1]{\overbar{#1}} \newcommand{\SymbolParamModifier}[1]{\hat{#1}} \newcommand{\SymbolSubmeshModifier}{} \newcommand{\SymbolDomain}{\Domain} \newcommand{\SymbolDomainBdry}{\DomainBdry} \newcommand{\SymbolBernstein}{B} \newcommand{\SymbolBasisUspline}{N} \newcommand{\SymbolUspline}{U} \newcommand{\SymbolUsplineLower}{u} \newcommand{\SymbolGrevillePoint}{g} \newcommand{\SymbolDim}{d} \newcommand{\SymbolArbitraryCoeffUspline}{c} \newcommand{\SymbolArbitraryCoeffUsplineAlt}{\beta} \newcommand{\SymbolArbitraryCoeffBernstein}{c} \newcommand{\SymbolDistance}{\operatorname{dist}} \newcommand{\AdjacencyId}{n} \newcommand{\DimId}{k} \newcommand{\DimIdAlt}{n} \newcommand{\ArbDim}{\DimId} \newcommand{\ArbDimAlt}{\DimIdAlt} \newcommand{\DimIdSet}{\Set{\DimId}} \newcommand{\DimIdOne}{\DimId_0} \newcommand{\DimIdTwo}{\DimId_1} \newcommand{\DimIdThree}{\DimId_2} \newcommand{\TopoAlpha}[1]{\alpha_{#1}} \newcommand{\TopoPhi}[1]{\phi_{#1}} \newcommand{\UTopology}{\mathsf{U}} \newcommand{\Map}[1]{\mathsf{#1}} \newcommand{\OMap}[1]{\mathsf{#1}} \newcommand{\UOMap}[1]{\UTopology(#1)} \newcommand{\Topology}{\mathsf{T}} \newcommand{\DartsOf}[1]{\operatorname*{\mathsf{D}}\left(#1\right)} \newcommand{\DartIndex}[1]{\operatorname*{\mathsf{ID}}\left(#1\right)} \newcommand{\OR}{\operatorname{OR}} \newcommand{\AND}{\operatorname{AND}} \newcommand{\XOR}{\operatorname{XOR}} \newcommand{\Decomp}{\operatorname{dec}} \newcommand{\ParentDomain}{\SymbolParentModifier{\SymbolDomain}} \newcommand{\ParentDomainChart}{\SymbolParentModifier{\Vec{\phi}}} \newcommand{\ParentDomainChartFunctionOf}[2]{\QuantityFunctionOf{{\ParentDomainChart}^{#1}}{#2}} \newcommand{\ParentDim}{\SymbolDim} \newcommand{\ParentCoord}{\xi} \newcommand{\ParentCoordVec}{\Vec{\ParentCoord}} \newcommand{\ParentS}{\ParentCoord_0} \newcommand{\ParentT}{\ParentCoord_1} \newcommand{\ParentU}{\ParentCoord_2} \newcommand{\ParentBarycentric}[1]{\ParentCoord_{#1}} \newcommand{\ParentGrevillePoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}} \newcommand{\ParentGrevillePointFunctionOf}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParentGrevillePointSet}[1]{\QuantityFunctionOf{\Set{\SymbolParentModifier{G}}}{#1}} \newcommand{\BernsteinBasisFuncId}{\BasisFuncId} \newcommand{\BernsteinBasisFuncIdAlt}{\BasisFuncIdAlt} \newcommand{\BernsteinBasisFuncIdAltAlt}{\BasisFuncIdAltAlt} \newcommand{\BernsteinBasisFuncIdB}{\BasisFuncIdAltAlt} \newcommand{\BernsteinBasisFuncIdOne}{\BernsteinBasisFuncId_0} \newcommand{\BernsteinBasisFuncIdTwo}{\BernsteinBasisFuncId_1} \newcommand{\BernsteinBasisFuncIdSet}{\Set{\BernsteinBasisFuncId}} \newcommand{\BernsteinBasisFuncIndexTuple}{\BernsteinBasisFuncIdSet} \newcommand{\BernsteinBasisFuncIndexTupleAlt}{\Set{\BernsteinBasisFuncIdAlt}} \newcommand{\BernsteinBasisFuncIndexTupleAltAlt}{\Set{\BernsteinBasisFuncIdAltAlt}} \newcommand{\BernsteinBasisFuncIndexTupleB}{\Set{\BernsteinBasisFuncIdB}} \newcommand{\BernsteinDegree}{\PolynomialDegree} \newcommand{\BernsteinDegreeAlt}{q} \newcommand{\BernsteinDegreeTuple}{\Tuple{\BernsteinDegree}} \newcommand{\BernsteinDegreeElevMatComp}{D} \newcommand{\BernsteinDegreeElevMat}{\Mat{\BernsteinDegreeElevMatComp}} \newcommand{\CompletePolynomial}[1]{\AbsoluteValue{#1}} \newcommand{\BernsteinBasisFunc}{\SymbolBernstein} \newcommand{\BernsteinBasisFuncVec}[1]{\QuantityChildOf{#1}{\Vec{\SymbolBernstein}}} \newcommand{\BernsteinBasisFuncVecFunctionOf}[2]{\QuantityFunctionOf{\BernsteinBasisFuncVec{#1}}{#2}} \newcommand{\BernsteinBasisFuncDetailed}[2]{\BernsteinBasisFunc_{#1}^{#2}} \newcommand{\BernFuncLowerDimCell}[2]{\BernsteinBasisFunc^{#1}_{#2}} \newcommand{\BernFuncInterf}[1]{\BernFuncLowerDimCell{\Interface}{#1}} \newcommand{\BernsteinSpace}{\SpaceHilbert{\SymbolBernstein}} \newcommand{\BernsteinRestriction}[2]{#1\vert_{#2}} \newcommand{\Bezier}{B\'ezier} \newcommand{\MeshTopo}{\boldsymbol{\textsf{M}}} \newcommand{\MeshSize}{h} \newcommand{\MeshBezier}{\boldsymbol{\textsf{B}}} \newcommand{\CellArbitrary}[1]{\Set{#1}} \newcommand{\Cell}{\CellArbitrary{c}} \newcommand{\CellAlpha}{\CellArbitrary{a}} \newcommand{\CellBeta}{\CellArbitrary{b}} \newcommand{\CellGamma}{\CellArbitrary{c}} \newcommand{\CellToTheLeft}{\CellAlpha} \newcommand{\CellToTheRight}{\CellBeta} \newcommand{\CellBoundary}[1]{\partial #1} \newcommand{\CellSet}[1]{\Set{C}^{#1}} \newcommand{\CellSetAdjacent}[1]{\Set{ADJ}^{#1}} \newcommand{\CellSetAdjacentFunctionOf}[2]{\QuantityFunctionOf{\CellSetAdjacent{#1}}{#2}} \newcommand{\NRing}[1]{\QuantitySubscriptedBy{\operatorname{ring}}{#1}} \newcommand{\NRingFunctionOf}[2]{\SQFO{\operatorname{ring}}{#1}{#2}} \newcommand{\CellSetCardinal}[1]{\QuantityFunctionOf{\Set{CRD}}{#1}} \newcommand{\CellSetSupport}[1]{\Support{#1}} \newcommand{\Elem}{\Set{E}} \newcommand{\Interface}{\Set{I}} \newcommand{\Smoothness}{\vartheta} \newcommand{\SmoothnessVar}{\rho} \newcommand{\SmoothnessSet}{\Set{\Smoothness}} \newcommand{\InterfaceSmoothness}[1]{\QuantityChildOf{#1}{\Smoothness}} \newcommand{\MaxPerpCont}[1]{\QuantityFunctionOf{\Smoothness^{\perp}_{\max}}{#1}} \newcommand{\Face}{\Set{f}} \newcommand{\Edge}{\Set{e}} \newcommand{\Vertex}{\Set{v}} \newcommand{\CodimTwoCell}{\Set{w}} \newcommand{\KCell}{\Cell^\ArbDim} \newcommand{\KPlusOneCell}{\Cell^{\ArbDim+1}} \newcommand{\KCellAlpha}{\CellAlpha^\ArbDim} \newcommand{\KPlusOneCellBeta}{\CellBeta^{\ArbDim+1}} \newcommand{\MaxParallelDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\max}}{#1}} \newcommand{\MinParallelDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\min}}{#1}} \newcommand{\MaxPerpDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\max}}{#1}} \newcommand{\MinPerpDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\min}}{#1}} \newcommand{\MinParallelPerpDegree}[2]{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\min}}{#1,#2}} \newcommand{\MaxParallelPerpDegree}[2]{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\max}}{#1,#2}} \newcommand{\DegreeParallel}{\BernsteinDegree^{\parallel}} \newcommand{\DegreeParallelToEdge}[2]{\DegreeParallel_{#1}(#2)} \newcommand{\DegreePerp}{\BernsteinDegree^{\perp}} \newcommand{\DegreePerpToInterface}[2]{\DegreePerp_{#1}(#2)} \newcommand{\DegreeTupleParallelToKCell}[2]{\Tuple{\BernsteinDegree}^{\parallel}_{#1}(#2)} \newcommand{\ChangeInDegree}[2]{\Delta(\BernsteinDegree)_{#1}^{#2}} \newcommand{\IndexSet}{\Set{ID}} \newcommand{\IndexSetFunctionOf}[1]{\QuantityFunctionOf{\IndexSet}{#1}} \newcommand{\CompositeBVUnionIndexSet}[1]{\QuantityFunctionOf{\Set{UID}}{#1}} \newcommand{\IndexSetPosCoeffs}[1]{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\IndexSetSet}{\boldsymbol{\IndexSet}} \newcommand{\IndexSetSetFunctionOf}[1]{\QuantityFunctionOf{\IndexSetSet}{#1}} \newcommand{\IndexSetOnMeshBezier}{\IndexSetFunctionOf{\MeshBezier}} \newcommand{\IndexOnCell}[2]{\QuantityChildOf{#1}{#2}} \newcommand{\IndexOnCellIJ}[3]{\QuantityChildOf{#1}{\TupleRoster{#2,#3}}} \newcommand{\CellFromQuantity}[1]{\QuantityFunctionOf{\operatorname{cell}}{#1}} \newcommand{\ExtractionOp}[1]{\QuantityChildOf{#1}{\Mat{C}}} \newcommand{\ExtractionOpFunctionOf}[2]{\QuantityFunctionOf{\ExtractionOp{#1}}{#2}} \newcommand{\ReconstructOp}[1]{\QuantityChildOf{#1}{\Mat{R}}} \newcommand{\ReconstructOpFunction}[2]{\QuantityFunctionOf{\ReconstructOp{#1}}{#2}} \newcommand{\Gramian}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{G}}{#2}}} \newcommand{\BernsteinSpaceOnMeshBezier}{\QCO{\MeshBezier}{\BernsteinSpace}} \newcommand{\ii}{\IndexOnCell{}{\BernsteinBasisFuncIndexTuple}} \newcommand{\jj}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAlt}} \newcommand{\kk}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAltAlt}} \newcommand{\ParamDomain}{\SymbolParamModifier{\SymbolDomain}} \newcommand{\ParamDomainOnCell}{\QuantityChildOf{\Cell}{\ParamDomain}} \newcommand{\ParamDomainBdry}{\SymbolParamModifier{\SymbolDomainBdry}} \newcommand{\ParamDomainChart}[1]{\Vec{\phi}^{#1}} \newcommand{\ParamDomainChartFunctionOf}[2]{\QuantityFunctionOf{\ParamDomainChart{#1}}{#2}} \newcommand{\ParamDim}{\SymbolDim} \newcommand{\ParamCoordSimple}{s} \newcommand{\ParamCoord}[1]{\QCO{#1}{s}} \newcommand{\ParamCoordVecSimple}{\Vec{s}} \newcommand{\ParamCoordVec}[1]{\QCO{#1}{\Vec{\ParamCoordSimple}}} \newcommand{\ParamDomainBdryParamCoord}{\ParamCoord{\ParamDomainBdry}} \newcommand{\ParamDomainBdryParamCoordVec}{\ParamCoordVec{\ParamDomainBdry}} \newcommand{\ParamCoordVecSet}{\boldsymbol{\Set{S}}} \newcommand{\ParamS}{\ParamCoord{}_0} \newcommand{\ParamT}{\ParamCoord{}_1} \newcommand{\ParamU}{\ParamCoord{}_2} \newcommand{\ParamBarycentric}[1]{\lambda_{#1}} \newcommand{\ParamLength}{\ell} \newcommand{\ParamLengthLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLength}} \newcommand{\ParamLengthRight}{\QuantityChildOf{\CellToTheRight}{\ParamLength}} \newcommand{\ParamLengthInS}{\ParamLength_{0}} \newcommand{\ParamLengthInT}{\ParamLength_{1}} \newcommand{\ParamLengthLeftS}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInS}} \newcommand{\ParamLengthLeftT}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInT}} \newcommand{\ParamLengthRightS}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInS}} \newcommand{\ParamLengthRightT}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInT}} \newcommand{\ParamLengthInSLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInS}} \newcommand{\ParamLengthInTLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInT}} \newcommand{\ParamLengthInSRight}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInS}} \newcommand{\ParamLengthInTRight}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInT}} \newcommand{\BernsteinDegreeInS}{\BernsteinDegree_{0}} \newcommand{\BernsteinDegreeInT}{\BernsteinDegree_{1}} \newcommand{\BernsteinDegreeLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegree}} \newcommand{\BernsteinDegreeRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegree}} \newcommand{\BernsteinDegreeInSLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegreeInS}} \newcommand{\BernsteinDegreeInSRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegreeInS}} \newcommand{\BernsteinDegreeInTLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegreeInT}} \newcommand{\BernsteinDegreeInTRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegreeInT}} \newcommand{\BernsteinDegreeBarycentricLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegree}} \newcommand{\BernsteinDegreeBarycentricRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegree}} \newcommand{\ParamGrevillePoint}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParamModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParamGrevillePointSet}[1]{\QuantityFunctionOf{\Set{\SymbolParamModifier{G}}}{#1}} \newcommand{\ParamDomainOnMeshBezier}{\QuantityChildOf{\MeshBezier}{\ParamDomain}} \newcommand{\BernsteinTraceMappingMat}{\Mat{M}} \newcommand{\NormalParamCoordSet}[2]{\QuantityFunctionOf{\ParamCoordVecSimple^{\perp}_{#1}}{#2}} \newcommand{\ParallelParamCoordSet}[2]{\QuantityFunctionOf{\ParamCoordVecSimple^{\parallel}_{#1}}{#2}} \newcommand{\Submesh}{\boldsymbol{\textsf{K}}} \newcommand{\SubmeshDomain}{\SymbolSubmeshModifier{\SymbolDomain}} \newcommand{\SubmeshDomainBdry}{\SymbolSubmeshModifier{\SymbolDomainBdry}} \newcommand{\SubmeshDomainChart}[1]{\QuantityChildOf{#1}{\Vec{\varphi}}} \newcommand{\SubmeshDomainChartFunctionOf}[2]{\QuantityFunctionOf{\SubmeshDomainChart{#1}}{#2}} \newcommand{\SubmeshDomainParameter}{\mathsf{\alpha}} \newcommand{\SubmeshDomainParameterVec}{\Vec{\SubmeshDomainParameter}} \newcommand{\SubmeshGrevillePoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}} \newcommand{\SubmeshGrevillePointFunctionOf}[2]{\QuantityFunctionOf{\SubmeshGrevillePoint{#1}}{#2}} \newcommand{\SubmeshGrevilleMaxPoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolGrevillePoint}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSet}[1]{\QuantityChildOf{#1}{\Set{G}}_{\max}} \newcommand{\SubmeshGrevilleMinPointSet}[1]{\QuantityChildOf{#1}{\Set{G}}_{\min}} \newcommand{\SubmeshGrevilleMaxPointLeft}{\SubmeshGrevilleMaxPoint{\CellAlpha}} \newcommand{\SubmeshGrevilleMaxPointRight}{\SubmeshGrevilleMaxPoint{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointIntersection}{\SubmeshGrevilleMaxPoint{\Interface}} \newcommand{\SubmeshGrevilleMinPointSetLeft}{\SubmeshGrevilleMinPointSet{\CellAlpha}} \newcommand{\SubmeshGrevilleMinPointSetRight}{\SubmeshGrevilleMinPointSet{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointSetLeft}{\SubmeshGrevilleMaxPointSet{\CellAlpha}} \newcommand{\SubmeshGrevilleMaxPointSetRight}{\SubmeshGrevilleMaxPointSet{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointSetIntersection}{\SubmeshGrevilleMaxPointSet{\Interface}} \newcommand{\SubmeshGrevillePointSet}{\Set{\SymbolSubmeshModifier{G}}} \newcommand{\SubmeshGrevillePointSetFunctionOf}[1]{\QuantityFunctionOf{\SubmeshGrevillePointSet}{#1}} \newcommand{\SubmeshGrevillePointSetLeft}{\Set{\SymbolSubmeshModifier{GA}}} \newcommand{\SubmeshGrevillePointSetRight}{\Set{\SymbolSubmeshModifier{GB}}} \newcommand{\SubmeshGrevillePointSetElement}[1]{\Set{\SymbolSubmeshModifier{GE}}_{#1}} \newcommand{\SubmeshGrevillePointSetIntersect}{\Set{\SymbolSubmeshModifier{GI}}} \newcommand{\SubmeshGrevillePointSetUnion}[1]{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GU}}}{#1}} \newcommand{\SubmeshGrevillePointSetSet}{\boldsymbol{\SubmeshGrevillePointSet}} \newcommand{\SubmeshGrevillePointSetSetFunctionOf}[1]{\QuantityFunctionOf{\SubmeshGrevillePointSetSet}{#1}} \newcommand{\SubmeshGrevillePointSetSetLeft}{\boldsymbol{\SymbolSubmeshModifier{\Set{GA}}}} \newcommand{\SubmeshGrevillePointSetSetRight}{\boldsymbol{\SymbolSubmeshModifier{\Set{GB}}}} \newcommand{\SubmeshGrevillePointSetSetElement}[2]{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1}}{#2}} \newcommand{\SubmeshGrevilleDifferenceVectorsSet}{\Delta \SubmeshGrevillePointSetFunctionOf{a}} \newcommand{\SubmeshGrevilleDifferenceVectorsSetRight}{\Delta\SubmeshGrevilleMaxPointSetRight} \newcommand{\SubmeshGrevilleDifferenceVector}{\Delta\SubmeshGrevilleMaxPoint{a}} \newcommand{\SubmeshGrevilleDifferenceVectorLeft}{\Delta\SubmeshGrevilleMaxPointLeft} \newcommand{\SubmeshGrevilleDifferenceVectorRight}{\Delta\SubmeshGrevilleMaxPointRight} \newcommand{\SubmeshGrevilleDistanceToCell}[2]{\QuantityFunctionOf{\SymbolDistance}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCell}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMin}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\min}}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMax}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\max}}{#1, #2}} \newcommand{\SubmeshPerpProjection}[1]{\Projection^{\perp}_{#1}} \newcommand{\SubmeshPerpProjectionFunctionOf}[2]{\QuantityFunctionOf{\SubmeshPerpProjection{#1}}{#2}} \newcommand{\SubmeshParallelProjection}[1]{\Projection^{\parallel}_{#1}} \newcommand{\SubmeshParallelProjectionFunctionOf}[2]{\QuantityFunctionOf{\SubmeshParallelProjection{#1}}{#2}} \newcommand{\SubmeshStarProjection}[2]{\QuantityFunctionOf{\Projection^{*}_{#1}}{#2}} \newcommand{\SubmeshPerpEquivalence}[1]{\varpi^{\perp}_{#1}} \newcommand{\SubmeshParallelEquivalence}[1]{\varpi^{\parallel}_{#1}} \newcommand{\SubmeshParallelEquivalenceFunctionOf}[2]{\QuantityFunctionOf{\SubmeshParallelEquivalence{#1}}{#2}} \newcommand{\SubmeshStarEquivalence}[1]{\varpi^{*}_{#1}} \newcommand{\AlignedSet}{{\boldsymbol{\textsf{Align}}}} \newcommand{\AlignedSetSet}{{\boldsymbol{\textsf{ALIGN}}}} \newcommand{\AlignmentSetOfSetsLeft}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetOfSetsRight}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetForInterfaceGrevillePoint}{\AlignedSet_{\SubmeshGrevillePoint{\Interface}{}}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRow}{\Set{NZ}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRowFunctionOf}[2]{\QuantityFunctionOf{\IndexSetOfNonZeroEntriesInMapMatOnRow_{#1}}{#2}} \newcommand{\AlignmentSetOfSetsOnLowerDCell}[2]{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1,#2}^{\parallel}} \newcommand{\AlignmentSetOfSetsLeftThreeD}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \ii}^{\parallel}} \newcommand{\AlignmentSetOfSetsRightThreeD}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \ii}^{\parallel}} \newcommand{\KPlusOneCellAdjacentIndexedSubmeshDomain}{\QuantityChildOf{\CellAlpha\CellBeta}{\SubmeshDomain}} \newcommand{\StructuredSymbol}{\square} \newcommand{\StructuredSubmesh}[1]{\Submesh^{\StructuredSymbol}_{#1}} \newcommand{\ToGlobalDartOp}{\operatorname*{\mathsf{G}}} \newcommand{\ProlongationMat}{\Mat{P}} \newcommand{\RestrictionMat}{\Mat{R}} \newcommand{\MeshUspline}{\boldsymbol{\textsf{\SymbolUspline}}} \newcommand{\SetNeighborhoodOfInteraction}[1]{\QuantityFunctionOf{\textsf{NI}}{#1}} \newcommand{\Ray}{\Set{r}} \newcommand{\RayHead}{\Edge^{h}} \newcommand{\RayTail}{\Vec{t}} \newcommand{\RayTailId}{j} \newcommand{\RayTailIdOne}{\RayTailId_0} \newcommand{\RayTailIdTwo}{\RayTailId_1} \newcommand{\RayTailOrigin}{\textsf{o}} \newcommand{\RayTailEdge}{\Edge} \newcommand{\RayTailVertexMaxContinuity}[1]{\Smoothness_{#1}^{\max}} \newcommand{\RayTailEdgeMinDegree}[1]{\BernsteinDegree_{#1}^{\min}} \newcommand{\RaySkeleton}[1]{\operatorname{skel}(#1)} \newcommand{\RaySmoothness}[2]{\Smoothness_{#1}^{#2}} \newcommand{\RayDegree}[2]{\BernsteinDegree_{#1}^{#2}} \newcommand{\RayContinuityTransition}{\Set{cr}} \newcommand{\RayDegreeTransition}{\Set{dr}} \newcommand{\RayTailSize}{\Size{\RayTail}} \newcommand{\RayTailTargetSize}{n} \newcommand{\RayIsTruncated}{\Set{trunc}} \newcommand{\RayAlgBernIndexVariable}{\BernsteinBasisFuncIdSet} \newcommand{\RayStartingBernIndex}{\RayAlgBernIndexVariable_{\RayHead}} \newcommand{\BernIndexOnSpecificRayTailEdge}[1]{\RayAlgBernIndexVariable_{#1}} \newcommand{\Ribbon}{\Set{r}} \newcommand{\RibbonHead}{\Interface^{h}} \newcommand{\RibbonTail}{\Vec{t}} \newcommand{\RibbonTailId}{j} \newcommand{\RibbonTailIdOne}{\RibbonTailId_0} \newcommand{\RibbonTailIdTwo}{\RibbonTailId_1} \newcommand{\RibbonTailOrigin}{\textsf{o}} \newcommand{\RibbonTailInterf}{\Interface} \newcommand{\RibbonTailCodimTwoCellMaxContinuity}[1]{\Smoothness_{#1}^{\max}} \newcommand{\RibbonTailInterfMinDegree}[1]{\BernsteinDegree_{#1}^{\min}} \newcommand{\RibbonSkeleton}[1]{\operatorname{skel}(#1)} \newcommand{\RibbonSmoothness}[2]{\Smoothness_{#1}^{#2}} \newcommand{\RibbonDegree}[2]{\BernsteinDegree_{#1}^{#2}} \newcommand{\RibbonContinuityTransition}{\Set{cr}} \newcommand{\RibbonDegreeTransition}{\Set{dr}} \newcommand{\RibbonTailSize}{\Size{\RibbonTail}} \newcommand{\RibbonTailTargetSize}{n} \newcommand{\RibbonIsTruncated}{\Set{trunc}} \newcommand{\RibbonAlgBernIndexVariable}{\BernsteinBasisFuncIdSet} \newcommand{\RibbonStartingBernIndex}{\RibbonAlgBernIndexVariable_{\RibbonHead}} \newcommand{\BernIndexOnSpecificRibbonTailInterf}[1]{\RibbonAlgBernIndexVariable_{#1}} \newcommand{\ParamDomainOnMeshUspline}{\QuantityChildOf{\MeshUspline}{\ParamDomain}} \newcommand{\UsplineSpace}{\SpaceHilbert{\SymbolUspline}} \newcommand{\UsplineBasisFunc}{\SymbolBasisUspline} \newcommand{\UsplineBasisFuncDetailed}[2]{\UsplineBasisFunc^{#1}_{#2}} \newcommand{\UsplineBasisFuncSet}{\Set{UF}} \newcommand{\UsplineBasisFuncSetFunctionOf}[1]{\QuantityFunctionOf{\UsplineBasisFuncSet}{#1}} \newcommand{\UsplineBasisFuncVec}[1]{\QuantityChildOf{#1}{\Vec{\SymbolBasisUspline}}} \newcommand{\UsplineBasisFuncVecFunctionOf}[2]{\QuantityFunctionOf{\UsplineBasisFuncVec{#1}}{#2}} \newcommand{\UsplineBasisFuncSetOnMeshBezier}{\QuantityFunctionOf{\Set{UF}}{\MeshBezier}} \newcommand{\UsplineBasisFuncSetOnMeshUspline}{\QuantityFunctionOf{\Set{UF}}{\MeshUspline}} \newcommand{\UsplineBasisFuncSetSupport}[1]{\Support{\UsplineBasisFuncSetFunctionOf{#1}}} \newcommand{\UsplineBasisFuncId}{A} \newcommand{\UsplineBasisFuncIdVec}{\Vec{A}} \newcommand{\UsplineBasisFuncIdAlt}{B} \newcommand{\UsplineBasisFuncIdLocal}{a} \newcommand{\UsplineBasisFuncIdOne}{\UsplineBasisFuncId_0} \newcommand{\UsplineBasisFuncIdTwo}{\UsplineBasisFuncId_1} \newcommand{\UsplineBasisFuncNormalized}{\bar{\SymbolBasisUspline}} \newcommand{\UsplineBasisFuncParam}[1]{\UsplineBasisFuncDetailed{\MeshBezier}{#1}} \newcommand{\UsplineDegree}{q} \newcommand{\UsplineNullVectorCoeff}{u} \newcommand{\UsplineNullVector}{\Vec{\UsplineNullVectorCoeff}} \newcommand{\UsplineNullVectorIds}{\Set{id}} \newcommand{\UsplineNullVectorSet}{\boldsymbol{\textsf{UV}}} \newcommand{\UsplineNullVectorSetOfIndexSets}{\boldsymbol{\textsf{UI}}} \newcommand{\UsplineNullVectorSetOnMeshBezier}{\NullVectorSetFunctionOf{\MeshBezier}} \newcommand{\UsplineNullVectorSetOnMeshUspline}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshUspline}} \newcommand{\UsplineSpaceOnMeshUspline}{\QCO{\MeshUspline}{\UsplineSpace}} \newcommand{\UsplineCellToGlobalBasisFuncIndexMap}[1]{\operatorname{ucg}(#1)} \newcommand{\UsplineCellToGlobalBasisFuncIndexMapDef}{\FuncDef{\operatorname{ucg}}{\MeshBezier\times\Integers}{\Integers}} \newcommand{\BernsteinBasisFuncCoeff}{\SymbolArbitraryCoeffBernstein} \newcommand{\BernsteinBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffBernstein}}}{\MeshBezier}} \newcommand{\BernsteinBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffBernstein}}{\MeshBezier}} \newcommand{\UsplineBasisFuncCoeff}{\SymbolArbitraryCoeffUspline} \newcommand{\UsplineBasisFuncCoeffAlt}{\SymbolArbitraryCoeffUsplineAlt} \newcommand{\UsplineBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffUspline}}}{\MeshUspline}} \newcommand{\UsplineBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffUspline}}{\MeshUspline}} \newcommand{\ContiguousIndexMap}[1]{i_{#1}} \newcommand{\Constraint}{R} \newcommand{\ConstraintCoeff}{r} \newcommand{\ConstraintCoeffsSet}{\boldsymbol{\Set{\ConstraintCoeff}}} \newcommand{\ConstraintCoeffsVec}{\Vec{\ConstraintCoeff}} \newcommand{\ConstraintSet}{\Set{\Constraint}} \newcommand{\ConstraintSetFunctionOf}[1]{\QuantityFunctionOf{\ConstraintSet}{#1}} \newcommand{\ConstraintSetOnMeshBezier}{\ConstraintSetFunctionOf{\MeshBezier}} \newcommand{\ConstraintMat}{\Mat{\Constraint}} \newcommand{\ConstraintMatFunctionOf}[1]{\QuantityFunctionOf{\ConstraintMat}{#1}} \newcommand{\ConstraintMatOnMeshBezier}{\ConstraintMatFunctionOf{\MeshBezier}} \newcommand{\SparsestPossibleBasisOnCell}[1]{\QFO{\Set{N}}{#1}} \newcommand{\NullVectorCoeff}[1]{#1} \newcommand{\NullVector}{\Vec{v}} \newcommand{\NullVectorFunctionOf}[1]{\QuantityFunctionOf{\NullVector}{#1}} \newcommand{\NullVectorArbitrary}[1]{\Vec{#1}} \newcommand{\KCellNullVectorForCellAlpha}{\NullVectorArbitrary{n}_{\KCellAlpha}} \newcommand{\KPlusOneCellNullVectorForCellBeta}{\NullVectorArbitrary{n}_{\KPlusOneCellBeta}} \newcommand{\NullVectorSet}{\boldsymbol{\textsf{BV}}}%changed from mathsf \newcommand{\NullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\NullVectorSet}{#1}}%changed from mathsf \newcommand{\CompositeNullVectorSet}{\NullVectorSet^{\prime\prime}} \newcommand{\CompositeNullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\CompositeNullVectorSet}{#1}} \newcommand{\SimpleNullVectorSet}{\NullVectorSet^{\prime}} \newcommand{\SimpleNullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\SimpleNullVectorSet}{#1}} \newcommand{\InterfaceNullVectorSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}}{#1}} \newcommand{\InterfaceNullVectorAlignedSubset}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}_{#1}}{#2}} \newcommand{\NullVectorSetOfIndexSets}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{BI}}}{#1}} \newcommand{\NullVectorSetGrevilleSets}{\boldsymbol{\textsf{BG}}}%changed from mathsf \newcommand{\NullVectorSetGrevilleSetsFunctionOf}[1]{\QuantityFunctionOf{\NullVectorSetGrevilleSets}{#1}}%changed from mathsf \newcommand{\NullVectorSetSubordinateToNullVector}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}}{#1}} \newcommand{\NullVectorSetSubordinateToNullVectorOnCell}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}_{#1}}{#2}} \newcommand{\NullVectorSetOnBdryOfNullVector}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{BD}}_{#1}}{#2}} \newcommand{\NullVectorEquivClass}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{EBV}}}{#1}} \newcommand{\NullVectorIndexEquivClass}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{EBI}}}{#1}} \newcommand{\NullVectorGrevilleEquivClass}{\boldsymbol{\textsf{EBG}}}%changed from mathsf \newcommand{\NullVectorGrevilleEquivClassFunctionOf}[1]{\QuantityFunctionOf{\NullVectorGrevilleEquivClass}{#1}}%changed from mathsf \newcommand{\NullVectorExpansionSet}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{XBV}}}{#1,#2}} \newcommand{\NullSpaceOperatorForm}[1]{\QuantityFunctionOf{\SpaceHilbert{N}}{#1}} \newcommand{\NullSpaceOperatorFormOnMeshBezier}{\NullSpaceOperatorForm{\MeshBezier}} \newcommand{\NullSpaceVectorForm}{\Set{N}} \newcommand{\NullSpaceVectorFormFunctionOf}[1]{\QuantityFunctionOf{\NullSpaceVectorForm}{#1}} \newcommand{\NullVectorGrevillePointSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}} \newcommand{\DegSmoothDiff}[2]{\delta_{#1}^{#2}} \newcommand{\FaceEdgeDiff}{\Set{t}} \newcommand{\FaceEdgeDiffSet}[1]{\Set{T}_{#1}} \newcommand{\PerpTuple}[1]{\QuantityFunctionOf{\FaceEdgeDiff^\perp}{#1}} \newcommand{\ParallelTuple}[1]{\QuantityFunctionOf{\FaceEdgeDiff^\parallel}{#1}} \newcommand{\ElemInterfDiff}{\Set{t}} \newcommand{\ElemInterfDiffSet}[1]{\Set{T}_{#1}} \newcommand{\SpokeSymbol}{\rho} \newcommand{\ElemInterfPairSymbol}{t} \newcommand{\ElemKPlusOneCellPair}{\Set{\SpokeSymbol}} \newcommand{\Spoke}{\ElemKPlusOneCellPair} \newcommand{\ElemInterfPair}{\Set{\ElemInterfPairSymbol}} \newcommand{\EIDPerpTuple}[1]{\QuantityFunctionOf{\ElemInterfDiff^\perp}{#1}} \newcommand{\EIDParallelTuple}[1]{\QuantityFunctionOf{\ElemInterfDiff^\parallel}{#1}} \newcommand{\InclDist}{\textsf{inc}}%changed from mathsf \newcommand{\InclDistFunctionOf}[1]{\QuantityFunctionOf{\InclDist}{#1}}%changed from mathsf \newcommand{\InclDistSet}[2]{\Set{INC}^{#1,#2}} \newcommand{\EdgeInclDist}[3]{\InclDistSet{#2}{#3}_{#1}} \newcommand{\PerpEdgesSet}{\Set{E}^\perp} \newcommand{\PerpInterfacesSet}{\Set{IRF}^\perp} \newcommand{\PerpOfKPlusOneCellInterfSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{PI}}}{#1}} \newcommand{\PerpKPlusOneCellSet}{\boldsymbol{\textsf{PC}}}%changed from mathsf \newcommand{\PerpKPlusOneCellSetFunctionOf}[1]{\QuantityFunctionOf{\PerpKPlusOneCellSet}{#1}}%changed from mathsf \newcommand{\ElemKPlusOneCellPairPerp}[1]{\QuantityFunctionOf{\Set{\SpokeSymbol}^\perp}{#1}} \newcommand{\ElemInterfPairPerp}[1]{\QuantityFunctionOf{\Set{t}^\perp}{#1}} \newcommand{\ElemInterfPairParallel}[1]{\QuantityFunctionOf{\Set{\ElemInterfPairSymbol}^\parallel}{#1}} \newcommand{\ElemKPlusOneCellPairParallelSet}[1]{\QuantityFunctionOf{\Set{\SpokeSymbol}^\parallel}{#1}} \newcommand{\KPlusOneCellNullVectorSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}}{#1}} \newcommand{\KPlusOneCellNullVectorAlignedSubset}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}_{#1}}{#2}} \newcommand{\Graph}{G} \newcommand{\GraphFunctionOf}[1]{\QuantityFunctionOf{\Graph}{#1}} \newcommand{\GraphCore}{K} \newcommand{\GraphDirectedEdge}{\Edge_{i,j}} \newcommand{\GraphDirectedEdgeIJ}[2]{\Edge_{#1,#2}} \newcommand{\GraphCoreToVertex}[1]{\QuantityFunctionOf{\Vertex}{#1}} \newcommand{\GraphCoreChildren}[1]{\QuantityFunctionOf{\operatorname{children}}{#1}} \newcommand{\GraphVertexToCore}[1]{\QuantityFunctionOf{\GraphCore}{#1}} \newcommand{\GraphInteractingEdges}{\Set{IE}} \newcommand{\GraphCoveredEdges}{\Set{CE}} \newcommand{\GraphFailedEdges}{\Set{FE}} \newcommand{\GraphCandidateEdges}{\Set{XE}} \newcommand{\UsplineClass}[1]{\boldsymbol{\mathcal{\SymbolUspline}}^{#1}} \newcommand{\UClassRegular}{R} \newcommand{\UClassIrregular}{r} \newcommand{\UClassContFinite}{H} \newcommand{\UClassContInfinity}{h} \newcommand{\UClassGlobalSmoothness}{K} \newcommand{\UClassLocalSmoothness}{k} \newcommand{\UClassGlobalDegree}{P} \newcommand{\UClassLocalDegree}{p} \newcommand{\SuperscriptRHKP}{\UClassRegular\UClassContFinite\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrHKP}{\UClassIrregular\UClassContFinite\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRhKP}{\UClassRegular\UClassContInfinity\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrhKP}{\UClassIrregular\UClassContInfinity\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRHkP}{\UClassRegular\UClassContFinite\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrHkP}{\UClassIrregular\UClassContFinite\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRhkP}{\UClassRegular\UClassContInfinity\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrhkP}{\UClassIrregular\UClassContInfinity\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRHKp}{\UClassRegular\UClassContFinite\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrHKp}{\UClassIrregular\UClassContFinite\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRhKp}{\UClassRegular\UClassContInfinity\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrhKp}{\UClassIrregular\UClassContInfinity\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRHkp}{\UClassRegular\UClassContFinite\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrHkp}{\UClassIrregular\UClassContFinite\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRhkp}{\UClassRegular\UClassContInfinity\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\Superscriptrhkp}{\UClassIrregular\UClassContInfinity\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\UsplineClassRHKP}{\UsplineClass{\SuperscriptRHKP}} \newcommand{\UsplineClassrHKP}{\UsplineClass{\SuperscriptrHKP}} \newcommand{\UsplineClassRhKP}{\UsplineClass{\SuperscriptRhKP}} \newcommand{\UsplineClassrhKP}{\UsplineClass{\SuperscriptrhKP}} \newcommand{\UsplineClassRHkP}{\UsplineClass{\SuperscriptRHkP}} \newcommand{\UsplineClassrHkP}{\UsplineClass{\SuperscriptrHkP}} \newcommand{\UsplineClassRhkP}{\UsplineClass{\SuperscriptRhkP}} \newcommand{\UsplineClassrhkP}{\UsplineClass{\SuperscriptrhkP}} \newcommand{\UsplineClassRHKp}{\UsplineClass{\SuperscriptRHKp}} \newcommand{\UsplineClassrHKp}{\UsplineClass{\SuperscriptrHKp}} \newcommand{\UsplineClassRhKp}{\UsplineClass{\SuperscriptRhKp}} \newcommand{\UsplineClassrhKp}{\UsplineClass{\SuperscriptrhKp}} \newcommand{\UsplineClassRHkp}{\UsplineClass{\SuperscriptRHkp}} \newcommand{\UsplineClassrHkp}{\UsplineClass{\SuperscriptrHkp}} \newcommand{\UsplineClassRhkp}{\UsplineClass{\SuperscriptRhkp}} \newcommand{\UsplineClassrhkp}{\UsplineClass{\Superscriptrhkp}} \newcommand{\BaseTopoLine}{\mathsf{L}} \newcommand{\BaseTopoLoop}{\mathsf{P}} \newcommand{\BaseTopoOneDGeneric}{\MeshUspline^{\textsf{1D}}} \newcommand{\BaseTopoGrid}{\mathsf{G}} \newcommand{\BaseTopoAnnulus}{\mathsf{A}} \newcommand{\BaseTopoTorus}{\mathsf{T}} \newcommand{\BaseTopoTriangle}{\mathsf{\Delta}} \newcommand{\BaseTopoMixed}{\mathsf{M}} \newcommand{\BaseTopoMultiPatch}{\mathsf{X}} \newcommand{\BaseTopoPatch}{\mathsf{H}} \newcommand{\AlgNameBuildRayOfMaximumCouplingLength}{BuildRayOfMaximumCouplingLength} \newcommand{\AlgNameBuildRibbonOfMaximumCouplingLength}{BuildRibbonOfMaximumCouplingLength} \newcommand{\AlgNameComputeCoreGraph}{ComputeCoreGraph} \newcommand{\UpperDBMat}{\Mat{U}} \newcommand{\LowerWeightDBMat}{\Mat{W}} \newcommand{\RationalSplineWeightSymbol}{w} \newcommand{\NURBSWeight}{\RationalSplineWeightSymbol} \newcommand{\WeightFunc}[1][\RationalSplineWeightSymbol]{#1} \newcommand{\DBParamWeight}{\omega} \newcommand{\DualBCoeff}{d} \newcommand{\NumUsplineBasisFuncsOnMeshBezier}{\Size{\UsplineBasisFuncSetOnMeshBezier}} \newcommand{\NumUsplineBasisFuncsOnMeshUspline}{\Size{\UsplineBasisFuncSetOnMeshUspline}} \newcommand{\NumUsplineBasisFuncsOnElem}{\Size{\UsplineBasisFuncSetFunctionOf{\Elem}}} \newcommand{\NumBernsteinBasisFuncsOnMeshBezier}{\Size{\IndexSetOnMeshBezier}} \newcommand{\NumBernsteinBasisFuncsOnElem}{\Size{\IndexSetFunctionOf{\Elem}}} \newcommand{\NumElemsInMeshBezier}{\Size{\CellSet{\ParamDim}}}$$\newcommand{\SymbolTime}{t} \newcommand{\SymbolEnvModifier}[1]{\star\mspace{-1mu} #1} \newcommand{\SymbolInteriorModifier}[1]{\tilde{#1}} \newcommand{\SymbolClosestPointMap}{\kappa} \newcommand{\SymbolManifold}{m} \newcommand{\SymbolVolume}{v} \newcommand{\SymbolVolumeUpper}{V} \newcommand{\SymbolSurface}{s} \newcommand{\SymbolSurfaceUpper}{S} \newcommand{\SymbolCurve}{c} \newcommand{\SymbolCurveUpper}{C} \newcommand{\SymbolPoint}{p} \newcommand{\SymbolPointUpper}{P} \newcommand{\SymbolIndicator}{\chi} \newcommand{\SymbolSpatialDim}{n} \newcommand{\SymbolWildCard}{*} \newcommand{\SymbolSegment}{\epsilon} \newcommand{\SymbolSpatialCoord}{x} \newcommand{\SymbolSpatialCoordUpper}{x} \newcommand{\SymbolSegmentSet}{\boldsymbol{E}} \newcommand{\SymbolInside}{\bullet} \newcommand{\SymbolOutside}{\circ} \newcommand{\SymbolHybrid}{\circledcirc} \newcommand{\SymbolPartition}{\boldsymbol{\vartriangle}} \newcommand{\SymbolQuadratureWeight}{w} \newcommand{\SymbolQuadratureSet}{Q} \newcommand{\SymbolQuadraturePoint}{\xi} \newcommand{\SymbolIntegrationPoint}{i} \newcommand{\SymbolManifoldCoeff}{x} \newcommand{\SymbolManifoldCoeffUpper}{X} \newcommand{\SymbolManifoldCoeffUspline}{x} \newcommand{\SymbolManifoldCoeffUsplineUpper}{X} \newcommand{\SymbolManifoldCoeffBernstein}{x} \newcommand{\SymbolManifoldCoeffBernsteinUpper}{X} \newcommand{\SymbolCADModified}{\boldsymbol{\circledast}} \newcommand{\SymbolCAD}{\bar{\SymbolCADModified}} \newcommand{\SymbolProjection}{\Projection} \newcommand{\SymbolCovariantBasisSurf}{a} \newcommand{\SymbolCovariantBasisVol}{g} \newcommand{\SymbolMetric}{m} \newcommand{\SymbolCurvature}{k} \newcommand{\SymbolCurvCoordIdOne}{\alpha} \newcommand{\SymbolCurvCoordIdTwo}{\beta} \newcommand{\SymbolCurvCoordIdThree}{\gamma} \newcommand{\SymbolOrthogonalTransform}{Q} \newcommand{\SymbolLinearInterpolation}{\mathscr{l}} \newcommand{\ParamDomainEnv}{\SymbolEnvModifier{\ParamDomain}} \newcommand{\ParamDomainCAD}{\QRT{\ParamDomain}{\SymbolCAD}} \newcommand{\ParamDomainOnCellEnv}{\SymbolEnvModifier{\ParamDomainOnCell}} \newcommand{\ParamDomainOnCAD}{\QCO{\SymbolCAD}{\ParamDomain}} \newcommand{\ParamDomainOnCADModified}{\QCO{\SymbolCADModified}{\ParamDomain}} \newcommand{\ParamDomainOnPartition}{\QCO{\SymbolPartition}{\ParamDomain}} \newcommand{\SpatialDim}{\SymbolSpatialDim} \newcommand{\SpatialDomain}{\Reals^{\SymbolSpatialDim}} \newcommand{\SpatialCoord}{\SymbolSpatialCoord} \newcommand{\SpatialCoordX}{\SymbolSpatialCoord} \newcommand{\SpatialCoordY}{y} \newcommand{\SpatialCoordZ}{z} \newcommand{\SpatialCoordUpper}{\SymbolSpatialCoordUpper} \newcommand{\SpatialCoordVec}{\Vec{\SpatialCoord}} \newcommand{\SpatialCoordVecSet}[1]{\QuantityFunctionOf{\boldsymbol{\Set{X}}}{#1}} \newcommand{\UsplineBasisFuncSpatial}[1]{\UsplineBasisFuncDetailed{\SpatialCoord}{#1}} \newcommand{\Manifold}{\Set{\SymbolManifold}} \newcommand{\ManifoldRelatedTo}[1]{\QuantityRelatedTo{\Manifold}{#1}} \newcommand{\Volume}{\Set{\SymbolVolume}} \newcommand{\VolumeRelatedTo}[1]{\QuantityRelatedTo{\Volume}{#1}} \newcommand{\Surface}{\Set{\SymbolSurface}} \newcommand{\SurfaceRelatedTo}[1]{\QuantityRelatedTo{\Surface}{#1}} \newcommand{\Curve}{\Set{\SymbolCurve}} \newcommand{\CurveRelatedTo}[1]{\QuantityRelatedTo{\Curve}{#1}} \newcommand{\Point}{\Set{\SymbolPoint}} \newcommand{\PointRelatedTo}[1]{\QuantityRelatedTo{\Point}{#1}} \newcommand{\Partition}{\SymbolPartition} \newcommand{\ManifoldCAD}{\ManifoldRelatedTo{\SymbolCAD}} \newcommand{\ManifoldCADModified}{\ManifoldRelatedTo{\SymbolCADModified}} \newcommand{\ManifoldCADEnv}{\SymbolEnvModifier{\ManifoldCAD}} \newcommand{\ManifoldCADModifiedEnv}{\SymbolEnvModifier{\ManifoldCADModified}} \newcommand{\ManifoldPartition}{\ManifoldRelatedTo{\Partition}} \newcommand{\ManifoldBezier}{\ManifoldRelatedTo{\MeshBezier}} \newcommand{\ManifoldUspline}{\ManifoldRelatedTo{\MeshUspline}} \newcommand{\ManifoldUsplineInterior}{\QRT{\SymbolInteriorModifier{\Manifold}}{\MeshUspline}} \newcommand{\ManifoldUsplineEnv}{\SymbolEnvModifier{\ManifoldUspline}} \newcommand{\VolumeEnv}{\SymbolEnvModifier{\Volume}} \newcommand{\dVolume}{\Differential[\Volume]} \newcommand{\VolumeIndicator}{\SymbolIndicator} \newcommand{\SurfaceEnv}{\SymbolEnvModifier{\Surface}} \newcommand{\SurfaceCAD}{\SurfaceRelatedTo{\SymbolCAD}} \newcommand{\SurfaceCADModified}{\SurfaceRelatedTo{\SymbolCADModified}} \newcommand{\SurfaceMesh}{\SurfaceRelatedTo{\Partition}} \newcommand{\SurfaceUspline}{\SurfaceRelatedTo{\MeshUspline}} \newcommand{\SurfaceWildCard}{\Surface^{\SymbolWildCard}} \newcommand{\dSurface}{\Differential[\Surface]} \newcommand{\CurveCAD}{\CurveRelatedTo{\SymbolCAD}} \newcommand{\CurveCADModified}{\CurveRelatedTo{\SymbolCADModified}} \newcommand{\CurveMesh}{\CurveRelatedTo{\Partition}} \newcommand{\CurveUspline}{\CurveRelatedTo{\MeshUspline}} \newcommand{\dCurve}{\Differential[\Curve]} \newcommand{\PointCAD}{\PointRelatedTo{\SymbolCAD}} \newcommand{\PointCADModified}{\PointRelatedTo{\SymbolCADModified}} \newcommand{\PointUspline}{\PointRelatedTo{\MeshUspline}} \newcommand{\Segment}[1]{\QuantityChildOf{#1}{\SymbolSegment}} \newcommand{\SegmentOfVolumeEnv}{\Segment{\VolumeEnv}} \newcommand{\SegmentOfSurface}{\Segment{\Surface}} \newcommand{\Hex}{\Segment{}_{h}} \newcommand{\Tet}{\Segment{}_{t}} \newcommand{\SegmentParamDomain}[1]{\QuantityRelatedTo{\ParamDomain}{#1}} \newcommand{\SegmentParamDomainOfVolumeEnv}{\QuantityRelatedTo{\ParamDomain}{\Segment{\VolumeEnv}}} \newcommand{\SegmentParamDomainOfSurface}{\QuantityRelatedTo{\ParamDomain}{\Segment{\Surface}}} \newcommand{\SegmentSet}{\SymbolSegmentSet} \newcommand{\SegmentSetFunctionOf}[1]{\QuantityFunctionOf{\SegmentSet}{#1}} \newcommand{\SegmentSetOutside}{\SegmentSet^{\SymbolOutside}} \newcommand{\SegmentSetInside}{\SegmentSet^{\SymbolInside}} \newcommand{\SegmentSetHybrid}{\SegmentSet^{\SymbolHybrid}} \newcommand{\PartitionFunctionOf}[1]{\QuantityFunctionOf{\Partition}{#1}} \newcommand{\PartitionBezierExtraction}[1]{\QuantityFunctionOf{\SymbolPartition^{B}}{#1}} \newcommand{\PartitionTessellation}[1]{\QuantityFunctionOf{\SymbolPartition^{T}}{#1}} \newcommand{\PartitionTessellationOfUspline}{\PartitionTessellation{\MeshUspline}} \newcommand{\PartitionTessellationMap}[2]{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldCoeff}{\SymbolManifoldCoeff} \newcommand{\ManifoldCoeffUpper}{\SymbolManifoldCoeffUpper} \newcommand{\ManifoldCoeffUspline}{\QuantityRelatedTo{\SymbolManifoldCoeffUspline}{\MeshUspline}} \newcommand{\ManifoldCoeffBernstein}{\QuantityRelatedTo{\SymbolManifoldCoeffBernstein}{\MeshBezier}} \newcommand{\ManifoldCoeffVec}{\Vec{\SymbolManifoldCoeff}} \newcommand{\ManifoldCoeffVecUspline}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUspline}}{\MeshUspline}} \newcommand{\ManifoldCoeffVecBernstein}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernstein}}{\MeshBezier}} \newcommand{\ManifoldCoeffSet}{\Set{\SymbolManifoldCoeff}} \newcommand{\ManifoldCoeffSetUspline}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUspline}}{\MeshUspline}} \newcommand{\ManifoldCoeffSetBernstein}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernstein}}{\MeshBezier}} \newcommand{\ManifoldCoeffsVec}{\Vec{\ManifoldCoeffUpper}} \newcommand{\ManifoldCoeffsVecUspline}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUsplineUpper}}{\MeshUspline}} \newcommand{\ManifoldCoeffsVecBernstein}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\MeshBezier}} \newcommand{\ManifoldCoeffsVecCell}{\QuantityRelatedTo{\Vec{\ManifoldCoeffUpper}}{\Cell}} \newcommand{\ManifoldCoeffsVecUsplineCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUsplineUpper}}{\QCO{\MeshUspline}{\Cell}}} \newcommand{\ManifoldCoeffsVecBernsteinCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\MeshBezier}{\Cell}}} \newcommand{\ManifoldCoeffsVecSubmeshCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\Submesh}{\Cell}}} \newcommand{\ManifoldCoeffsVecBernsteinSegmentOfVolumeEnv}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\SegmentOfVolumeEnv}} \newcommand{\ManifoldCoeffsSet}{\Set{\ManifoldCoeffUpper}} \newcommand{\ManifoldCoeffsSetUspline}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUsplineUpper}}{\MeshUspline}} \newcommand{\ManifoldCoeffsSetBernstein}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\MeshBezier}} \newcommand{\ManifoldCoeffsSetCell}{\QuantityRelatedTo{\Set{\ManifoldCoeffUpper}}{\Cell}} \newcommand{\ManifoldCoeffsSetUsplineCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUsplineUpper}}{\QCO{\MeshUspline}{\Cell}}} \newcommand{\ManifoldCoeffsSetBernsteinCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\MeshBezier}{\Cell}}} \newcommand{\ManifoldCoeffsSetSubmeshCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\Submesh}{\Cell}}} \newcommand{\ManifoldMap}[2]{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldTemporalMap}[2]{\QuantityRelatedTo{#2}{#1,\SymbolTime}} \newcommand{\ManifoldPartitionMap}{\ManifoldMap{\ParamDomainOnPartition}{\Manifold}} \newcommand{\ManifoldCADMap}{\ManifoldMap{\ParamDomainOnCAD}{\Manifold}} \newcommand{\ManifoldCADMapModified}{\ManifoldMap{\ParamDomainOnCADModified}{\Manifold}} \newcommand{\ManifoldBezierMap}{\ManifoldMap{\ParamDomainOnMeshBezier}{\Manifold}} \newcommand{\ManifoldUsplineMap}{\ManifoldMap{\ParamDomainOnMeshUspline}{\Manifold}} \newcommand{\VolumeEnvMap}{\ManifoldMap{\ParamDomainEnv}{\VolumeEnv}} \newcommand{\VolumeMap}{\ManifoldMap{\ParamDomain}{\Volume}} \newcommand{\SurfaceMap}{\ManifoldMap{\ParamDomainBdry}{\Surface}} \newcommand{\ManifoldMapDef}[2]{\FuncDef{\ManifoldMap{#1}{#2}}{#1}{#2}} \newcommand{\ManifoldMapInverseDef}[2]{\FuncDef{\Inverse{\ManifoldMap{#1}{#2}}}{#2}{#1}} \newcommand{\ManifoldTemporalMapDef}[2]{\FuncDef{\ManifoldTemporalMap{#1}{#2}}{#1\otimes\Reals_{+}}{#2}} \newcommand{\ManifoldPartitionMapDef}{\ManifoldMapDef{\ParamDomainOnPartition}{\Manifold}} \newcommand{\ManifoldBezierMapDef}{\ManifoldMapDef{\ParamDomainOnMeshBezier}{\Manifold}} \newcommand{\ManifoldUsplineMapDef}{\ManifoldMapDef{\ParamDomainOnMeshUspline}{\Manifold}} \newcommand{\VolumeEnvMapDef}{\ManifoldMapDef{\ParamDomainEnv}{\VolumeEnv}} \newcommand{\VolumeMapDef}{\ManifoldMapDef{\ParamDomain}{\Volume}} \newcommand{\SurfaceMapDef}{\ManifoldMapDef{\ParamDomainBdry}{\Surface}} \newcommand{\SurfaceToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\Surface}} \newcommand{\ManifoldCoordDetailed}[2]{\QCO{#1}{#2}} \newcommand{\ManifoldCoordVecDetailed}[2]{\QCO{#1}{\Vec{#2}}} \newcommand{\ManifoldCoord}{x} \newcommand{\ManifoldCoordVec}{\Vec{x}} \newcommand{\ManifoldPartitionMapCoord}{\ManifoldCoordDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldPartitionMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoord}{\ManifoldCoordDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\CovariantBasisSurfVec}{\Vec{\SymbolCovariantBasisSurf}} \newcommand{\CovariantBasisVolVec}{\Vec{\SymbolCovariantBasisVol}} \newcommand{\MetricComp}{\SymbolMetric} \newcommand{\MetricTen}{\Mat{\MetricComp}} \newcommand{\CurvatureComp}{\SymbolCurvature} \newcommand{\CurvatureTen}{\Mat{\CurvatureComp}} \newcommand{\CurvCoordIdOne}{\SymbolCurvCoordIdOne} \newcommand{\CurvCoordIdTwo}{\SymbolCurvCoordIdTwo} \newcommand{\CurvCoordIdThree}{\SymbolCurvCoordIdThree} \newcommand{\OrthogonalCoordTransform}{\Mat{\SymbolOrthogonalTransform}} \newcommand{\InversionPointTen}{\Vec{p}} \newcommand{\InversionPointComp}{p} \newcommand{\BoundingVolume}[1]{\QuantityFunctionOf{\Set{bv}}{#1}} \newcommand{\BoundingVolumeSet}[1]{\QuantityFunctionOf{\Set{BV}}{#1}} \newcommand{\BoundingVolumeTree}[1]{\QuantityFunctionOf{\Set{BVH}}{#1}} \newcommand{\AxisAlignedBoundingBox}[1]{\QuantityFunctionOf{\Set{AABB}}{#1}} \newcommand{\AABBCornerLower}{\Vec{c}^l} \newcommand{\AABBCornerLowerComp}{c^l} \newcommand{\AABBCornerUpper}{\Vec{c}^u} \newcommand{\AABBCornerUpperComp}{c^u} \newcommand{\LowerBound}[2]{B^l\left(#1,#2\right)} \newcommand{\UpperBound}[2]{B^u\left(#1,#2\right)} \newcommand{\UpperBoundValue}{U} \newcommand{\UpperBoundValueBV}{U^{\text{BV}}} \newcommand{\UpperBoundValuePoints}{U^{\text{point}}} \newcommand{\GapTolerance}{\varepsilon^{\text{gap}}} \newcommand{\NearestCells}[3][]{\Set{C}_{#1}\left(#2,#3\right)} \newcommand{\BVHNearestGeom}[3][]{c_{#1}\left(#2,#3\right)} \newcommand{\BVHGeomSetOfSets}{\Set{G}} \newcommand{\BVHTessPointSet}{\Set{P}} \newcommand{\BVHBVSet}{\Set{L}} \newcommand{\SimplexMap}[1]{\QuantityFunctionOf{\Mat{L}}{#1}} \newcommand{\ParamCoordVecTarget}{\ParamCoordVecSimple_0} \newcommand{\SpatialCoordVecTarget}{\SpatialCoordVec_0} \newcommand{\SpatialCoordVecToSegmentSetMap}{\SegmentSet^f} \newcommand{\SpatialCoordVecToParamCoordVecSetMap}{\Inverse{\widetilde{\ManifoldMap{\ParamDomainEnv}{\Surface}}}} \newcommand{\HessMatComp}{H} \newcommand{\HessMatTen}{\Mat{\HessMatComp}} \newcommand{\QuadraturePointEnv}[2]{\SymbolEnvModifier{\QuadraturePoint{#1}{#2}}} \newcommand{\QuadraturePoint}[2]{\SymbolQuadraturePoint_{#1}^{#2}} \newcommand{\QuadraturePointToElemIndexMap}[1]{\operatorname{qe}(#1)} \newcommand{\QuadratureWeightEnv}[2]{\SymbolEnvModifier{\QuadratureWeight{#1}{#2}}} \newcommand{\QuadratureWeight}[2]{\SymbolQuadratureWeight_{#1}^{#2}} \newcommand{\QuadratureSet}{\Set{\SymbolQuadratureSet}} \newcommand{\QuadratureSetInside}{\QuadratureSet^{\SymbolInside}} \newcommand{\QuadratureSetOutside}{\QuadratureSet^{\SymbolOutside}} \newcommand{\QuadratureSubdDepth}{k} \newcommand{\ClosestPointMap}[1]{\QuantityChildOf{#1}{\Vec{\SymbolClosestPointMap}}} \newcommand{\ClosestPointMapCAD}{\ClosestPointMap{\SymbolCAD}} \newcommand{\ClosestPointMapCADModified}{\ClosestPointMap{\SymbolCADModified}} \newcommand{\ProjectionInto}[1]{\QuantityRelatedTo{\SymbolProjection}{#1}} \newcommand{\ProjectionIntoBernsteinCell}{\ProjectionInto{\Cell}} \newcommand{\ProjectionIntoBernsteinElem}{\ProjectionInto{\Elem}} \newcommand{\ProjectionIntoMeshBezier}{\ProjectionInto{\MeshBezier}} \newcommand{\ProjectionIntoMeshUspline}{\ProjectionInto{\MeshUspline}} \newcommand{\LinearInterpolationOp}[1]{\QRT{\SymbolLinearInterpolation}{#1}} \newcommand{\Valence}{k} \newcommand{\ArbitraryVector}[1]{\QSB{v}{#1}} \newcommand{\RotationMatrix}[1]{R^{#1}} \newcommand{\RepVecSymbol}{u} \newcommand{\RepVec}[1]{\QSB{\RepVecSymbol}{#1}} \newcommand{\RepVecVec}{\Vec{\RepVecSymbol}} \newcommand{\AlignmentField}{\RepVecVec'} \newcommand{\BiharmonicEnergy}{\QSB{E}{B}} \newcommand{\PrescribedRepVec}[1]{\QSB{d}{#1}} \newcommand{\AlignmentParameter}{\lambda} \newcommand{\SingularityIndex}[1]{\QSB{\chi}{#1}} \newcommand{\AngularDefect}[1]{\QSB{K}{#1}} \newcommand{\ArbitraryAngle}{\theta} \newcommand{\ParallelTransport}[1]{\QSB{\varphi}{#1}} \newcommand{\MinusPiToPi}[1]{\lfloor #1 \rfloor} \newcommand{\AreaOperator}[1]{\QFO{\operatorname{area}}{#1}} \newcommand{\VectorAngle}[1]{\QFO{\operatorname{arg}}{#1}} \newcommand{\DistanceFunction}{\phi} \newcommand{\DistanceGradient}{X} \newcommand{\HeatField}{\eta} \newcommand{\RegionAtZeroDistance}{\gamma}$$\newcommand{\SymbolDisp}{u} \newcommand{\SymbolDispUpper}{U} \newcommand{\SymbolVelocity}{v} \newcommand{\SymbolVelocityUpper}{V} \newcommand{\SymbolAcceleration}{a} \newcommand{\SymbolAccelerationUpper}{A} \newcommand{\SymbolMass}{M} \newcommand{\SymbolLength}{L} \newcommand{\SymbolArea}{A} \newcommand{\SymbolConstraint}{g} \newcommand{\SymbolConstraintUpper}{G} \newcommand{\SymbolPenalty}{\varepsilon} \newcommand{\SymbolLagrangeMultRef}{\Lambda} \newcommand{\SymbolLagrangeMultCurr}{\lambda} \newcommand{\SymbolFict}{f} \newcommand{\SymbolTracForce}{h} \newcommand{\SymbolTracForceUpper}{H} \newcommand{\SymbolBodyForce}{b} \newcommand{\SymbolBodyForceUpper}{B} \newcommand{\SymbolVolumeRef}{\SymbolVolumeUpper} \newcommand{\SymbolSurfaceRef}{\SymbolSurfaceUpper} \newcommand{\SymbolCurveRef}{\SymbolCurveUpper} \newcommand{\SymbolPointRef}{\SymbolPointUpper} \newcommand{\SymbolVolumeCurr}{\SymbolVolume} \newcommand{\SymbolSurfaceCurr}{\SymbolSurface} \newcommand{\SymbolCurveCurr}{\SymbolCurve} \newcommand{\SymbolPointCurr}{\SymbolPoint} \newcommand{\SymbolDeformGradInc}{f} \newcommand{\SymbolDeformGrad}{F} \newcommand{\SymbolStrainGreenLagrange}{E} \newcommand{\SymbolDeformCauchyGreenLeft}{b} \newcommand{\SymbolDeformCauchyGreenRight}{C} \newcommand{\SymbolStrainDisp}{B} \newcommand{\SymbolStrainSymGrad}{\epsilon} \newcommand{\SymbolStrainPlasticEquiv}{\alpha} \newcommand{\SymbolHardeningPlastic}{k} \newcommand{\SymbolYieldFunction}{f} \newcommand{\SymbolConsistencyParameterPlastic}{\gamma} \newcommand{\SymbolPlasticModuliScaling}{\beta} \newcommand{\SymbolYieldSurfaceNormal}{n} \newcommand{\SymbolEnergy}{\Pi} \newcommand{\SymbolEnergyDensityStrain}{\Psi} \newcommand{\SymbolEnergyDensityStrainVol}{U} \newcommand{\SymbolResidual}{R} \newcommand{\SymbolForce}{F} \newcommand{\SymbolStiffness}{K} \newcommand{\SymbolSolution}{d} \newcommand{\ParamDomainBdryDisp}{\ParamDomainBdry^{\SymbolDisp}} \newcommand{\ParamDomainBdryTrac}{\ParamDomainBdry^{\SymbolTracForce}} \newcommand{\VolumeEnvRef}{\Set{\SymbolEnvModifier{\SymbolVolumeRef}}} \newcommand{\VolumeRef}{\Set{\SymbolVolumeRef}} \newcommand{\VolumeRefClosure}{\overline{\VolumeRef}} \newcommand{\VolumeRefFict}{\VolumeEnvRef\setminus\VolumeRef} \newcommand{\dVolumeRef}{\Differential[\VolumeRef]} \newcommand{\VolumeIndicatorDef}{\FuncDef{\VolumeIndicator_{\PenaltyStiffness}}{\VolumeEnvRef}{\Reals_+}} \newcommand{\SurfaceEnvRef}{\Set{\SymbolEnvModifier{\SymbolSurfaceRef}}} \newcommand{\SurfaceRef}{\Set{\SymbolSurfaceRef}} \newcommand{\SurfaceRefWildCard}{\SurfaceRef^{\SymbolWildCard}} \newcommand{\SurfaceRefDisp}{\SurfaceRef^{\SymbolDisp}} \newcommand{\SurfaceRefTrac}{\SurfaceRef^{\SymbolTracForce}} \newcommand{\SurfaceRefFict}{\SurfaceRef^{\SymbolFict}} \newcommand{\SurfaceRefDispExternal}{\SurfaceRefDisp\setminus\SurfaceRefFict} \newcommand{\SurfaceRefTracExternal}{\SurfaceRefTrac\setminus\SurfaceRefFict} \newcommand{\SurfaceRefFictTrac}{\SurfaceRefTrac\cap\SurfaceRefFict} \newcommand{\SurfaceRefFictDisp}{\SurfaceRefDisp\cap\SurfaceRefFict} \newcommand{\SurfaceRefFictExternal}{\SurfaceRefFict\setminus\SurfaceRef} \newcommand{\dSurfaceRef}{\Differential[\SurfaceRef]} \newcommand{\CurveRef}{\Set{\SymbolCurveRef}} \newcommand{\dCurveRef}{\Differential[\CurveRef]} \newcommand{\PointRef}{\Set{\SymbolPointRef}} \newcommand{\PointRefDisp}{\PointRef^{\SymbolDisp}} \newcommand{\PointRefTrac}{\PointRef^{\SymbolTracForce}} \newcommand{\dPointRef}{\Differential[\PointRef]} \newcommand{\dPointRefTrac}{\Differential[\PointRefTrac]} \newcommand{\RefCoord}[1]{\ManifoldCoordDetailed{#1}{X}} \newcommand{\RefCoordVec}[1]{\ManifoldCoordVecDetailed{#1}{X}} \newcommand{\VolumeEnvRefCoord}{\RefCoord{\VolumeEnvRef}} \newcommand{\VolumeEnvRefCoordVec}{\RefCoordVec{\VolumeEnvRef}} \newcommand{\VolumeRefCoord}{\RefCoord{\VolumeRef}} \newcommand{\VolumeRefCoordVec}{\RefCoordVec{\VolumeRef}} \newcommand{\SurfaceRefCoord}{\RefCoord{\SurfaceRef}} \newcommand{\SurfaceRefCoordVec}{\RefCoordVec{\SurfaceRef}} \newcommand{\SurfaceRefDispCoord}{\RefCoord{\SurfaceRefDisp}} \newcommand{\SurfaceRefDispCoordVec}{\RefCoordVec{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracCoord}{\RefCoord{\SurfaceRefTrac}} \newcommand{\SurfaceRefTracCoordVec}{\RefCoordVec{\SurfaceRefTrac}} \newcommand{\CurveRefCoord}{\RefCoord{\CurveRef}} \newcommand{\CurveRefCoordVec}{\RefCoordVec{\CurveRef}} \newcommand{\UsplineBasisFuncOverCurveRef}[1]{\UsplineBasisFuncDetailed{\CurveRef}{#1}} \newcommand{\UsplineBasisFuncOverSurfaceRefDisp}[1]{\UsplineBasisFuncDetailed{\SurfaceRefDisp}{#1}} \newcommand{\VolumeEnvCurr}{\Set{\SymbolEnvModifier{\SymbolVolumeCurr}}} \newcommand{\VolumeCurr}{\Set{\SymbolVolumeCurr}} \newcommand{\VolumeCurrClosure}{\overline{\VolumeCurr}} \newcommand{\dVolumeCurr}{\Differential[\VolumeCurr]} \newcommand{\SurfaceEnvCurr}{\Set{\SymbolEnvModifier{\SymbolSurfaceCurr}}} \newcommand{\SurfaceCurr}{\Set{\SymbolSurfaceCurr}} \newcommand{\SurfaceCurrDisp}{\SurfaceCurr^{\SymbolDisp}} \newcommand{\SurfaceCurrTrac}{\SurfaceCurr^{\SymbolTracForce}} \newcommand{\dSurfaceCurr}{\Differential[\SurfaceCurr]} \newcommand{\CurveCurr}{\Set{\SymbolCurveCurr}} \newcommand{\dCurveCurr}{\Differential[\CurveCurr]} \newcommand{\PointCurr}{\Set{\SymbolPointCurr}} \newcommand{\PointCurrDisp}{\PointCurr^{\SymbolDisp}} \newcommand{\PointCurrTrac}{\PointCurr^{\SymbolTracForce}} \newcommand{\dPointCurr}{\Differential[\PointCurr]} \newcommand{\CurrCoord}[1]{\ManifoldCoordDetailed{#1}{x}} \newcommand{\CurrCoordVec}[1]{\ManifoldCoordVecDetailed{#1}{x}} \newcommand{\VolumeEnvCurrCoord}{\CurrCoord{\VolumeEnvCurr}} \newcommand{\VolumeEnvCurrCoordVec}{\CurrCoordVec{\VolumeEnvCurr}} \newcommand{\VolumeCurrCoord}{\CurrCoord{\VolumeCurr}} \newcommand{\VolumeCurrCoordVec}{\CurrCoordVec{\VolumeCurr}} \newcommand{\SurfaceCurrCoord}{\CurrCoord{\SurfaceCurr}} \newcommand{\SurfaceCurrCoordVec}{\CurrCoordVec{\SurfaceCurr}} \newcommand{\SurfaceCurrDispCoord}{\CurrCoord{\SurfaceCurrDisp}} \newcommand{\SurfaceCurrDispCoordVec}{\CurrCoordVec{\SurfaceCurrDisp}} \newcommand{\SurfaceCurrTracCoord}{\CurrCoord{\SurfaceCurrTrac}} \newcommand{\SurfaceCurrTracCoordVec}{\CurrCoordVec{\SurfaceCurrTrac}} \newcommand{\CurveCurrCoord}{\CurrCoord{\CurveRef}} \newcommand{\CurveCurrCoordVec}{\CurrCoordVec{\CurveRef}} \newcommand{\VolumeEnvRefMap}{\ManifoldMap{\ParamDomainEnv}{\VolumeEnvRef}} \newcommand{\GenericGradOverVolumeEnvRefMap}[1]{\Grad{\VolumeEnvRefMap}{#1}} \newcommand{\VolumeRefMap}{\ManifoldMap{\ParamDomain}{\VolumeRef}} \newcommand{\GenericGradOverVolumeRefMap}[1]{\Grad{\VolumeRefMap}{#1}} \newcommand{\SurfaceRefDispMap}{\ManifoldMap{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMap}{\ManifoldMap{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\CurveRefMap}{\ManifoldMap{\ParamDomain}{\CurveRef}} \newcommand{\GenericGradOverCurveRefMap}[1]{\Grad{\CurveRefMap}{#1}} \newcommand{\VolumeEnvRefMapDef}{\ManifoldMapDef{\ParamDomainEnv}{\VolumeEnvRef}} \newcommand{\SurfaceRefDispMapDef}{\ManifoldMapDef{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMapDef}{\ManifoldMapDef{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\SurfaceRefToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRef}} \newcommand{\SurfaceRefDispToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRefTrac}} \newcommand{\CurveRefMapDef}{\ManifoldMapDef{\ParamDomain}{\CurveRef}} \newcommand{\GenericDeformMap}{\Vec{\varphi}} \newcommand{\VolumeEnvDeformMap}{\ManifoldMap{\VolumeEnvRef}{\VolumeEnvCurr}} \newcommand{\GenericGradOverVolumeEnvDeformMap}[1]{\Grad{\VolumeEnvDeformMap}{#1}} \newcommand{\VolumeDeformMap}{\ManifoldMap{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeDeformTemporalMap}{\ManifoldTemporalMap{\VolumeRef}{\VolumeCurr}} \newcommand{\GradVolumeDeformTemporalMap}{\GenericGradOverVolumeRefMap{\VolumeDeformTemporalMap}} \newcommand{\SurfaceDeformDispMap}{\ManifoldMap{\SurfaceRefDisp}{\SurfaceCurrDisp}} \newcommand{\SurfaceDeformTracMap}{\ManifoldMap{\SurfaceRefTrac}{\SurfaceCurrTrac}} \newcommand{\CurveDeformMap}{\ManifoldMap{\CurveRef}{\CurveCurr}} \newcommand{\CurveDeformTemporalMap}{\ManifoldTemporalMap{\CurveRef}{\CurveCurr}} \newcommand{\VolumeDeformMapDef}{\ManifoldMapDef{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeDeformTemporalMapDef}{\ManifoldTemporalMapDef{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeEnvDeformMapDef}{\ManifoldMapDef{\VolumeEnvRef}{\VolumeEnvCurr}} \newcommand{\CurveDeformMapDef}{\ManifoldMapDef{\CurveRef}{\CurveCurr}} \newcommand{\CurveDeformTemporalMapDef}{\ManifoldTemporalMapDef{\CurveRef}{\CurveCurr}} \newcommand{\DispTrialSpaceOverVolumeEnvRef}{\SpaceHilbert{U}(\VolumeEnvRef)} \newcommand{\DispTestSpaceOverVolumeEnvRef}{\delta \DispTrialSpaceOverVolumeEnvRef} \newcommand{\DispTrialSpaceOverVolumeRef}{\SpaceHilbert{U}(\VolumeRef)} \newcommand{\DispTestSpaceOverVolumeRef}{\delta \DispTrialSpaceOverVolumeRef} \newcommand{\DispTrialSpaceOverCurveRef}{\SpaceHilbert{U}(\CurveRef)} \newcommand{\DispTestSpaceOverCurveRef}{\delta \DispTrialSpaceOverCurveRef} \newcommand{\DispFieldRefComp}{\SymbolDispUpper} \newcommand{\DispFieldRefTen}{\Vec{\DispFieldRefComp}} \newcommand{\DispFieldCurrComp}{\SymbolDisp} \newcommand{\DispFieldCurrTen}{\Vec{\DispFieldCurrComp}} \newcommand{\VelFieldCurrTen}{\Vec{\SymbolVelocity}} \newcommand{\AccFieldCurrTen}{\Vec{\SymbolAcceleration}} \newcommand{\DeformGradComp}{\SymbolDeformGrad} \newcommand{\DeformGradTen}{\Mat{\DeformGradComp}} \newcommand{\DeformGradDet}{\Det{\DeformGradTen}} \newcommand{\KinematicElast}{e} \newcommand{\KinematicPlast}{p} \newcommand{\DivVolumeEnvRef}[1]{\Div{\VolumeEnvRefCoordVec}{#1}} \newcommand{\DivVolumeEnvCurr}[1]{\Div{\VolumeEnvCurrCoordVec}{#1}} \newcommand{\DeformGradIncComp}{\SymbolDeformGradInc} \newcommand{\DeformGradIncTen}{\Mat{\DeformGradIncComp}} \newcommand{\DeformGradIncDevComp}{\bar{\SymbolDeformGradInc}} \newcommand{\DeformGradIncDevTen}{\bar{\Mat{\DeformGradIncComp}}} \newcommand{\JAsDeformGradDet}{J} \newcommand{\StretchTen}{\Mat{V}} \newcommand{\StrainGreenLagrangeComp}{\SymbolStrainGreenLagrange} \newcommand{\StrainGreenLagrangeTen}{\Mat{\StrainGreenLagrangeComp}} \newcommand{\StrainGreenLagrangeVoigt}{\tilde{\StrainGreenLagrangeTen}} \newcommand{\DeformCauchyGreenRightComp}{\SymbolDeformCauchyGreenRight} \newcommand{\DeformCauchyGreenRightTen}{\Mat{\DeformCauchyGreenRightComp}} \newcommand{\DeformCauchyGreenLeftComp}{\SymbolDeformCauchyGreenLeft} \newcommand{\DeformCauchyGreenLeftTen}{\Mat{\DeformCauchyGreenLeftComp}} \newcommand{\DeformCauchyGreenLeftDevComp}{\bar{\SymbolDeformCauchyGreenLeft}} \newcommand{\DeformCauchyGreenLeftDevTen}{\bar{\Mat{\DeformCauchyGreenLeftComp}}} \newcommand{\StrainSymGradComp}{\SymbolStrainSymGrad} \newcommand{\StrainSymGradTen}{\Mat{\StrainSymGradComp}} \newcommand{\StrainDispMat}{\Mat{\SymbolStrainDisp}} \newcommand{\DeformCauchyGreenRightDevComp}{\bar{\SymbolDeformCauchyGreenRight}} \newcommand{\DeformCauchyGreenRightDevTen}{\bar{\Mat{\DeformCauchyGreenRightComp}}} \newcommand{\KinematicElastoplast}{{\rm ep}} \newcommand{\Trial}{{\rm trial}} \newcommand{\DeformCauchyGreenLeftElasticTenDef}{\DeformCauchyGreenLeftTen^\KinematicElast \DefEq \DeformGradTen^\KinematicElast \DeformGradTen^{\KinematicElast T}} \newcommand{\DeformCauchyGreenLeftElasticDevTenDef}{{\DeformCauchyGreenLeftDevTen}^\KinematicElast \DefEq {\JAsDeformGradDet}^{\KinematicElast-\frac{2}{3}} {\DeformCauchyGreenLeftTen}^\KinematicElast} \newcommand{\DeformCauchyGreenRightPlasticTenDef}{\DeformCauchyGreenRightTen^\KinematicPlast \DefEq \DeformGradTen^{\KinematicPlast T} \DeformGradTen^\KinematicPlast} \newcommand{\StrainPlasticEquiv}{\SymbolStrainPlasticEquiv} \newcommand{\ConsistencyParameterPlasticDiscrete}{\Delta \SymbolConsistencyParameterPlastic} \newcommand{\YieldSurfaceNormalComp}{\SymbolYieldSurfaceNormal} \newcommand{\YieldSurfaceNormalTen}{\Mat{\SymbolYieldSurfaceNormal}} \newcommand{\UnitNormalRefComp}{N} \newcommand{\UnitNormalRefTen}{\Vec{\UnitNormalRefComp}} \newcommand{\UnitNormalCurrComp}{\UnitNormalComp} \newcommand{\UnitNormalCurrTen}{\UnitNormal} \newcommand{\DispFieldOverVolumeEnvRefTenDef}{\FuncDef{\DispFieldRefTen}{\VolumeEnvRef}{\SpatialDomain}} \newcommand{\DispFieldOverVolumeEnvCurrTenDef}{\DispFieldCurrTen \DefEq \DispFieldRefTen \circ \Inverse{\VolumeEnvDeformMap}} \newcommand{\DispFieldOverVolumeRefTenDef}{\FuncDef{\DispFieldRefTen}{\VolumeRef}{\SpatialDomain}} \newcommand{\DispFieldOverVolumeRefTemporalTenDef}{\FuncDef{\DispFieldRefTen}{\VolumeRef\otimes\SymbolTime}{\SpatialDomain}} \newcommand{\DispFieldOverVolumeCurrTenDef}{\DispFieldCurrTen \DefEq \DispFieldRefTen \circ \Inverse{\VolumeDeformMap}} \newcommand{\DispFieldOverCurveRefTenDef}{\FuncDef{\DispFieldRefTen}{\CurveRef}{\SpatialDomain}} \newcommand{\DispFieldOverCurveRefTemporalTenDef}{\FuncDef{\DispFieldRefTen}{\CurveRef\otimes\SymbolTime}{\SpatialDomain}} \newcommand{\DeformGradOverVolumeRefTenDef}{\FuncDef{\DeformGradTen}{\VolumeRef}{\VolumeCurr}} \newcommand{\DeformGradOverCurveRefTenDef}{\FuncDef{\DeformGradTen}{\CurveRef}{\CurveCurr}} \newcommand{\StrainGreenLagrangeOverVolumeEnvRefTenDef}{\FuncDef{\StrainGreenLagrangeTen}{\VolumeEnvRef}{\VolumeEnvCurr}} \newcommand{\StrainGreenLagrangeOverVolumeRefTenDef}{\FuncDef{\StrainGreenLagrangeTen}{\VolumeRef}{\VolumeCurr}} \newcommand{\StrainGreenLagrangeOverCurveRefTenDef}{\FuncDef{\StrainGreenLagrangeTen}{\CurveRef}{\CurveCurr}} \newcommand{\DeformCauchyGreenLeftTenDef}{\DeformCauchyGreenLeftTen \DefEq \DeformGradTen \DeformGradTen^T} \newcommand{\DeformCauchyGreenLeftDevTenDef}{\DeformCauchyGreenLeftDevTen \DefEq \DeformGradDet^{-\frac{2}{3}} \DeformCauchyGreenLeftTen} \newcommand{\StressPKOneTen}{\Mat{P}} \newcommand{\StressPKTwoComp}{S} \newcommand{\StressPKTwoTen}{\Mat{\StressPKTwoComp}} \newcommand{\StressPKTwoVoigt}{\tilde{\StressPKTwoTen}} \newcommand{\StressCauchyComp}{\sigma} \newcommand{\StressCauchyTen}{\Mat{\sigma}} \newcommand{\StressCauchyVoigt}{\tilde{\StressCauchyTen}} \newcommand{\StressCauchyMean}{p} \newcommand{\StressCauchyYield}{\StressCauchyComp_Y} \newcommand{\StressKirchhoffComp}{\tau} \newcommand{\StressKirchhoffTen}{\Mat{\tau}} \newcommand{\StressKirchhoffVoigt}{\tilde{\StressKirchhoffTen}} \newcommand{\StressKirchhoffDevComp}{s} \newcommand{\StressKirchhoffDevTen}{\Mat{\StressKirchhoffDevComp}} \newcommand{\ModuliElastRefComp}{C} \newcommand{\ModuliElastRefTen}{\Mat{\ModuliElastRefComp}} \newcommand{\ModuliElastRefVoigt}{\tilde{\ModuliElastRefTen}} \newcommand{\ModuliElastCurrComp}{c} \newcommand{\ModuliElastCurrTen}{\Mat{\ModuliElastCurrComp}} \newcommand{\ModuliElastCurrVoigt}{\tilde{\ModuliElastCurrTen}} \newcommand{\MaterialYoungsModulus}{E} \newcommand{\MaterialPoissonsRatio}{\nu} \newcommand{\MaterialMassDensity}{\rho} \newcommand{\MaterialBulkModulus}{\kappa} \newcommand{\MaterialShearModulus}{\mu} \newcommand{\MaterialShearModulusDev}{\bar{\MaterialShearModulus}} \newcommand{\MaterialThermalExpansion}{\alpha_{\text{thermal}}} \newcommand{\Area}{\SymbolArea} \newcommand{\Length}{\SymbolLength} \newcommand{\Width}{b} \newcommand{\Height}{h} \newcommand{\PenaltyStiffness}{\SymbolPenalty_{\SymbolStiffness}} \newcommand{\PenaltyDisp}{\SymbolPenalty_{\SymbolDisp}} \newcommand{\BodyForceRefComp}{\SymbolBodyForceUpper} \newcommand{\BodyForceRefTen}{\Vec{\BodyForceRefComp}} \newcommand{\BodyForceCurrComp}{\SymbolBodyForce} \newcommand{\BodyForceCurrTen}{\Vec{\BodyForceCurrComp}} \newcommand{\TracForceRefComp}{\SymbolTracForceUpper} \newcommand{\TracForceRefTen}{\Vec{\TracForceRefComp}} \newcommand{\TracForceCurrComp}{\SymbolTracForce} \newcommand{\TracForceCurrTen}{\Vec{\TracForceCurrComp}} \newcommand{\Pressure}{p} \newcommand{\BodyForceOverVolumeEnvRefTenDef}{\FuncDef{\BodyForceRefTen}{\VolumeEnvRef}{\SpatialDomain}} \newcommand{\BodyForceOverVolumeEnvCurrTenDef}{\BodyForceCurrTen \DefEq \BodyForceRefTen \circ \Inverse{\VolumeEnvDeformMap}} \newcommand{\BodyForceOverCurveRefCompDef}{\FuncDef{\BodyForceRefComp}{\CurveRef}{\Reals}} \newcommand{\BodyForceOverCurveRefTenDef}{\FuncDef{\BodyForceRefTen}{\CurveRef}{\SpatialDomain}} \newcommand{\BodyForceOverCurveCurrCompDef}{\BodyForceCurrComp \DefEq \BodyForceRefComp \circ \Inverse{\CurveDeformMap}} \newcommand{\BodyForceOverCurveCurrTenDef}{\BodyForceCurrTen \DefEq \BodyForceRefTen \circ \Inverse{\CurveDeformMap}} \newcommand{\TracForceOverSurfaceRefTracTenDef}{\FuncDef{\TracForceRefTen}{\SurfaceRefTrac}{\SpatialDomain}} \newcommand{\TracForceOverSurfaceCurrTracTenDef}{\TracForceCurrTen \DefEq \TracForceRefTen \circ \Inverse{\SurfaceDeformTracMap}} \newcommand{\TracForceOverCurveRefCompDef}{\FuncDef{\TracForceRefComp}{\PointRefTrac}{\Reals}} \newcommand{\TracForceOverCurveRefTenDef}{\FuncDef{\TracForceRefTen}{\PointRefTrac}{\SpatialDomain}} \newcommand{\TracForceOverCurveCurrCompDef}{\TracForceCurrComp \DefEq \TracForceRefComp \circ \Inverse{\CurveDeformMap}} \newcommand{\TracForceOverCurveCurrTenDef}{\TracForceCurrTen \DefEq \TracForceRefTen \circ \Inverse{\CurveDeformMap}} \newcommand{\ConstraintRefTen}{\Vec{\SymbolConstraintUpper}} \newcommand{\LagrangeMultTestSpaceOverSurfaceRef}{\delta \LagrangeMultTrialSpaceOverSurfaceRef} \newcommand{\LagrangeMultTrialSpaceOverSurfaceRef}{\SpaceHilbert{L}(\SurfaceRefDisp)} \newcommand{\LagrangeMultRefComp}{\SymbolLagrangeMultRef} \newcommand{\LagrangeMultRefTen}{\Vec{\LagrangeMultRefComp}} \newcommand{\LagrangeMultCurrComp}{\SymbolLagrangeMultCurr} \newcommand{\LagrangeMultCurrTen}{\Vec{\LagrangeMultCurrComp}} \newcommand{\ConstraintOverSurfaceRefDispTenDef}{\FuncDef{\ConstraintRefTen}{\SurfaceRefDisp}{\SpatialDomain}} \newcommand{\LagrangeMultOverSurfaceCurrTenDef}{\LagrangeMultCurrTen \DefEq \LagrangeMultRefTen \circ \Inverse{\SurfaceDeformDispMap}} \newcommand{\Energy}{\SymbolEnergy} \newcommand{\EnergyElastic}[1]{\QFO{\Energy}{#1}} \newcommand{\EnergyElasticNoArg}{\QFONA{\Energy}} \newcommand{\EnergyEnv}{\SymbolEnvModifier{\Energy}} \newcommand{\EnergyInside}{\Energy^{\SymbolInside}} \newcommand{\EnergyOutside}{\Energy^{\SymbolOutside}} \newcommand{\EnergyConstraint}{\Energy^{\LagrangeMultCurrComp}} \newcommand{\EnergyDensityStrain}{\SymbolEnergyDensityStrain} \newcommand{\EnergyDensityStrainVol}{\SymbolEnergyDensityStrainVol} \newcommand{\EnergyDensityStrainDev}{\bar{\SymbolEnergyDensityStrain}} \newcommand{\EnergyInsideOverVolumeEnvRefDef}{\FuncDef{\EnergyInside}{\DispTrialSpaceOverVolumeEnvRef}{\Reals}} \newcommand{\EnergyOutsideOverVolumeEnvRefDef}{\FuncDef{\EnergyOutside}{\DispTrialSpaceOverVolumeEnvRef}{\Reals}} \newcommand{\EnergyConstraintOverVolumeEnvRefDef}{\FuncDef{\EnergyConstraint}{\DispTrialSpaceOverVolumeEnvRef\TensorProduct\LagrangeMultTrialSpaceOverSurfaceRef}{\Reals}} \newcommand{\EnergyDensityStrainOverVolumeEnvRefDef}{\FuncDef{\EnergyDensityStrain}{\VolumeEnvRef}{\Reals}} \newcommand{\ResidualComp}{\SymbolResidual} \newcommand{\ResidualVec}{\Vec{\ResidualComp}} \newcommand{\ForceVec}{\Vec{\SymbolForce}} \newcommand{\ForceInternalVec}{\ForceVec^{int}} \newcommand{\ForceExternalVec}{\ForceVec^{ext}} \newcommand{\ForceConstraintPenaltyVec}{\ForceVec^{\PenaltyDisp}} \newcommand{\ForceConstraintLagrangeVec}{\ForceVec^{\lambda1}} \newcommand{\ForceConstraintVec}{\ForceVec^{\lambda2}} \newcommand{\StiffnessMat}{\Mat{\SymbolStiffness}} \newcommand{\StiffnessMaterialMat}{\StiffnessMat^{m}} \newcommand{\StiffnessGeometricMat}{\StiffnessMat^{g}} \newcommand{\StiffnessPenaltyMat}{\StiffnessMat^{\PenaltyDisp}} \newcommand{\StiffnessLagrangeMat}{\StiffnessMat^{\LagrangeMultCurrComp}} \newcommand{\MassMat}{\Mat{\SymbolMass}} \newcommand{\LumpedMassMat}{\tilde{\MassMat}} \newcommand{\SolutionComp}{\SymbolSolution} \newcommand{\Solution}{\Vec{\SymbolSolution}} \newcommand{\SolutionDisp}{\Solution^{\DispFieldCurrComp}} \newcommand{\SolutionLagrange}{\Solution^{\LagrangeMultCurrComp}} \newcommand{\Flex}[1]{\mathcal{F}_{#1}} \newcommand{\FlexIt}{\mathcal{F}} \newcommand{\FlexFEA}{\Flex{\bar{0}}} \newcommand{\FlexFEAModified}{\Flex{0}} \newcommand{\FlexOne}{\Flex{1}} \newcommand{\FlexImmersed}{\Flex{\infty}} \newcommand{\FlexInfty}{\mathcal{F}{\infty}} \newcommand{\FlexSpectrum}{\overleftrightarrow{\mathcal{F}}} \newcommand{\FlexSpectrumId}{i} \newcommand{\TimeStep}{\Delta \SymbolTime} \newcommand{\SpectralRadius}{\rho_{\infty}}$$\newcommand{\SymbolPressureContact}{p} \newcommand{\SymbolContactGap}{g} \newcommand{\NumUsplineBasisFuncsS}{\Size{\UsplineBasisFuncSetOnMeshUspline^s}} \newcommand{\NumUsplineBasisFuncsM}{\Size{\UsplineBasisFuncSetOnMeshUspline^m}} \newcommand{\NumUsplineBasisFuncsG}{\Size{\UsplineBasisFuncSetOnMeshUspline^\alpha}} \newcommand{\NumUsplineBasisFuncsParamDomainBdryContactS}{\Size{\UsplineBasisFuncSetOnMeshUspline^{\ParamDomainBdryContactS}}} \newcommand{\NumUsplineBasisFuncsParamDomainBdryContactM}{\Size{\UsplineBasisFuncSetOnMeshUspline^{\ParamDomainBdryContactM}}} \newcommand{\NumUsplineBasisFuncsParamDomainBdryContactG}{\Size{\UsplineBasisFuncSetOnMeshUspline^{\ParamDomainBdryContactG}}} \newcommand{\ParamDomainEnvS}{\ParamDomainEnv^{s}} \newcommand{\ParamDomainEnvM}{\ParamDomainEnv^{m}} \newcommand{\ParamDomainEnvG}{\ParamDomainEnv^{\alpha}} \newcommand{\ParamDomainS}{\ParamDomain^{s}} \newcommand{\ParamDomainM}{\ParamDomain^{m}} \newcommand{\ParamDomainG}{\ParamDomain^\alpha} \newcommand{\ParamDomainClosureS}{\overline{\ParamDomain}^s} \newcommand{\ParamDomainClosureM}{\overline{\ParamDomain}^m} \newcommand{\ParamDomainClosureG}{\overline{\ParamDomain}^\alpha} \newcommand{\ParamDomainBdryG}{\ParamDomainBdry^\alpha} \newcommand{\ParamDomainBdryContactS}{\ParamDomainBdry^{c,s}} \newcommand{\ParamDomainBdryContactM}{\ParamDomainBdry^{c,m}} \newcommand{\ParamDomainBdryContactG}{\ParamDomainBdry^{c,\alpha}} \newcommand{\ParamDomainBdryTangentComp}{A} \newcommand{\ParamDomainBdryTangentTen}{\Mat{\ParamDomainBdryTangentComp}} \newcommand{\ParamDetJacobianS}{j^s} \newcommand{\ParamDomainGCoordVec}{\ParamCoordVecSimple^{\ParamDomainG}} \newcommand{\ParamDomainGCoord}{\ParamCoordSimple^{\ParamDomainG}} \newcommand{\ParamDomainEnvGCoordVec}{\ParamCoordVecSimple^{\ParamDomainEnvG}} \newcommand{\ParamDomainEnvGCoord}{\ParamCoordSimple^{\ParamDomainEnvG}} \newcommand{\ParamDomainEnvSCoordVec}{\ParamCoordVecSimple^{\ParamDomainEnvS}} \newcommand{\ParamDomainEnvSCoord}{\ParamCoordSimple^{\ParamDomainEnvS}} \newcommand{\ParamDomainEnvMCoordVec}{\ParamCoordVecSimple^{\ParamDomainEnvM}} \newcommand{\ParamDomainEnvMCoord}{\ParamCoordSimple^{\ParamDomainEnvM}} \newcommand{\ParamDomainBdryContactGCoordVec}{\ParamCoordVecSimple^{\ParamDomainBdryContactG}} \newcommand{\ParamDomainBdryContactGCoord}{\ParamCoordSimple^{\ParamDomainBdryContactG}} \newcommand{\ParamDomainBdryContactSCoordVec}{\ParamCoordVecSimple^{\ParamDomainBdryContactS}} \newcommand{\ParamDomainBdryContactSCoord}{\ParamCoordSimple^{\ParamDomainBdryContactS}} \newcommand{\ParamDomainBdryContactMCoordVec}{\ParamCoordVecSimple^{\ParamDomainBdryContactM}} \newcommand{\ParamDomainBdryContactMCoord}{\ParamCoordSimple^{\ParamDomainBdryContactM}} \newcommand{\SegmentParamDomainOfVolumeEnvRefS}{\QuantityRelatedTo{\ParamDomainEnvS}{\SegmentOfVolumeEnvRefS}} \newcommand{\SegmentParamDomainOfVolumeEnvRefM}{\QuantityRelatedTo{\ParamDomainEnvM}{\SegmentOfVolumeEnvRefM}} \newcommand{\SegmentParamDomainOfVolumeEnvCurrM}{\QuantityRelatedTo{\ParamDomainEnvM}{\SegmentOfVolumeEnvCurrM}} \newcommand{\SegmentParamDomainOfSurfaceCurrContactS}{\QuantityRelatedTo{\ParamDomainBdryContactS}{\SegmentOfSurfaceCurrContactS}} \newcommand{\SegmentParamDomainOfSurfaceRefContactM}{\QuantityRelatedTo{\ParamDomainBdryContactM}{\SegmentOfSurfaceRefContactM}} \newcommand{\SegmentParamDomainOfSurfaceCurrContactM}{\QuantityRelatedTo{\ParamDomainBdryContactM}{\SegmentOfSurfaceCurrContactM}} \newcommand{\UsplineBasisFuncS}{\UsplineBasisFunc^{s}} \newcommand{\UsplineBasisFuncM}{\UsplineBasisFunc^{m}} \newcommand{\UsplineBasisFuncG}{\UsplineBasisFunc^{\alpha}} \newcommand{\UsplineBasisFuncParamDomainBdryContactS}{\UsplineBasisFunc^{\ParamDomainBdryContactS}} \newcommand{\UsplineBasisFuncParamDomainBdryContactM}{\UsplineBasisFunc^{\ParamDomainBdryContactM}} \newcommand{\UsplineBasisFuncParamDomainBdryContactG}{\UsplineBasisFunc^{\ParamDomainBdryContactG}} \newcommand{\UsplineBasisSymmSecondOrderComp}{S} \newcommand{\UsplineBasisSymmSecondOrderTen}{\Mat{\UsplineBasisSymmSecondOrderComp}} \newcommand{\UsplineBasisSymmFourthOrderComp}{E} \newcommand{\UsplineBasisSymmSixthOrderComp}{Z} \newcommand{\VolumeEnvRefG}{\VolumeEnvRef^{\alpha}} \newcommand{\VolumeEnvRefS}{\VolumeEnvRef^{s}} \newcommand{\VolumeEnvRefM}{\VolumeEnvRef^{m}} \newcommand{\VolumeRefG}{\VolumeRef^{\alpha}} \newcommand{\VolumeRefS}{\VolumeRef^{s}} \newcommand{\VolumeRefM}{\VolumeRef^{m}} \newcommand{\VolumeRefClosureG}{\VolumeRefClosure^\alpha} \newcommand{\VolumeRefClosureS}{\VolumeRefClosure^s} \newcommand{\VolumeRefClosureM}{\VolumeRefClosure^m} \newcommand{\SurfaceRefG}{\SurfaceRef^\alpha} \newcommand{\SurfaceRefS}{\SurfaceRef^s} \newcommand{\SurfaceRefM}{\SurfaceRef^m} \newcommand{\SurfaceRefTracG}{\SurfaceRef^{\SymbolTracForce,\alpha}} \newcommand{\SurfaceRefDispG}{\SurfaceRef^{\SymbolDisp,\alpha}} \newcommand{\SurfaceRefContactG}{\SurfaceRef^{c,\alpha}} \newcommand{\SurfaceRefContactS}{\SurfaceRef^{c,s}} \newcommand{\SurfaceRefContactM}{\SurfaceRef^{c,m}} \newcommand{\VolumeEnvRefSCoordVec}{\RefCoordVec{\VolumeEnvRefS}} \newcommand{\VolumeEnvRefMCoordVec}{\RefCoordVec{\VolumeEnvRefM}} \newcommand{\VolumeEnvRefGCoordVec}{\RefCoordVec{\VolumeEnvRefG}} \newcommand{\VolumeRefGCoordVec}{\RefCoordVec{\VolumeRefG}} \newcommand{\SurfaceRefContactSCoord}{\RefCoord{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactSCoordVec}{\RefCoordVec{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactMCoord}{\RefCoord{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactMCoordVec}{\RefCoordVec{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactGCoord}{\RefCoord{\SurfaceRefContactG}} \newcommand{\SurfaceRefContactGCoordVec}{\RefCoordVec{\SurfaceRefContactG}} \newcommand{\SurfaceRefDispGCoordVec}{\RefCoordVec{\SurfaceRefDispG}} \newcommand{\SegmentOfVolumeEnvRefS}{\Segment{\VolumeEnvRefS}} \newcommand{\SegmentOfVolumeEnvRefM}{\Segment{\VolumeEnvRefM}} \newcommand{\SegmentOfSurfaceRefContactS}{\Segment{\SurfaceRefContactS}} \newcommand{\SegmentOfSurfaceRefContactM}{\Segment{\SurfaceRefContactM}} \newcommand{\VolumeEnvCurrG}{\VolumeEnvCurr^{\alpha}} \newcommand{\VolumeEnvCurrS}{\VolumeEnvCurr^{s}} \newcommand{\VolumeEnvCurrM}{\VolumeEnvCurr^{m}} \newcommand{\VolumeCurrG}{\VolumeCurr^{\alpha}} \newcommand{\VolumeCurrS}{\VolumeCurr^{s}} \newcommand{\VolumeCurrM}{\VolumeCurr^{m}} \newcommand{\VolumeCurrClosureG}{\VolumeCurrClosure^\alpha} \newcommand{\VolumeCurrClosureS}{\VolumeCurrClosure^s} \newcommand{\VolumeCurrClosureM}{\VolumeCurrClosure^m} \newcommand{\SurfaceCurrG}{\SurfaceCurr^\alpha} \newcommand{\SurfaceCurrS}{\SurfaceCurr^s} \newcommand{\SurfaceCurrM}{\SurfaceCurr^m} \newcommand{\SurfaceCurrContact}{\SurfaceCurr^{c}} \newcommand{\SurfaceCurrContactG}{\SurfaceCurr^{c,\alpha}} \newcommand{\SurfaceCurrContactS}{\SurfaceCurr^{c,s}} \newcommand{\SurfaceCurrContactM}{\SurfaceCurr^{c,m}} \newcommand{\VolumeEnvCurrSCoordVec}{\CurrCoordVec{\VolumeEnvCurrS}} \newcommand{\VolumeEnvCurrMCoordVec}{\CurrCoordVec{\VolumeEnvCurrM}} \newcommand{\VolumeEnvCurrGCoordVec}{\CurrCoordVec{\VolumeEnvCurrG}} \newcommand{\VolumeCurrGCoordVec}{\CurrCoordVec{\VolumeCurrG}} \newcommand{\SurfaceCurrContactSCoord}{\CurrCoord{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactSCoordVec}{\CurrCoordVec{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactMCoord}{\CurrCoord{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactMCoordVec}{\CurrCoordVec{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactGCoord}{\CurrCoord{\SurfaceCurrContactG}} \newcommand{\SurfaceCurrContactGCoordVec}{\CurrCoordVec{\SurfaceCurrContactG}} \newcommand{\SegmentOfVolumeEnvCurrS}{\Segment{\VolumeEnvCurrS}} \newcommand{\SegmentOfVolumeEnvCurrM}{\Segment{\VolumeEnvCurrM}} \newcommand{\SegmentOfSurfaceCurrContactS}{\Segment{\SurfaceCurrContactS}} \newcommand{\SegmentOfSurfaceCurrContactM}{\Segment{\SurfaceCurrContactM}} \newcommand{\VolumeEnvRefSMap}{\ManifoldMap{\ParamDomainEnvS}{\VolumeEnvRefS}} \newcommand{\VolumeEnvRefMMap}{\ManifoldMap{\ParamDomainEnvM}{\VolumeEnvRefM}} \newcommand{\VolumeEnvRefGMap}{\ManifoldMap{\ParamDomainEnvG}{\VolumeEnvRefG}} \newcommand{\VolumeEnvRefSMapInv}{\Inverse{\VolumeEnvRefSMap}} \newcommand{\VolumeEnvRefMMapInv}{\Inverse{\VolumeEnvRefMMap}} \newcommand{\VolumeEnvRefGMapInv}{\Inverse{\VolumeEnvRefGMap}} \newcommand{\VolumeRefClosureSMap}{\ManifoldMap{\ParamDomainClosureS}{\VolumeRefClosureS}} \newcommand{\VolumeRefClosureMMap}{\ManifoldMap{\ParamDomainClosureM}{\VolumeRefClosureM}} \newcommand{\VolumeRefClosureGMap}{\ManifoldMap{\ParamDomainClosureG}{\VolumeRefClosureG}} \newcommand{\VolumeRefSMap}{\ManifoldMap{\ParamDomainS}{\VolumeRefS}} \newcommand{\VolumeRefMMap}{\ManifoldMap{\ParamDomainM}{\VolumeRefM}} \newcommand{\VolumeRefGMap}{\ManifoldMap{\ParamDomainG}{\VolumeRefG}} \newcommand{\VolumeRefClosureGMapRestrictedToBoundary}{\ManifoldMap{\ParamDomainClosureG}{\VolumeRefClosureG}\Big|_{\ParamDomainBdryContactG}} \newcommand{\VolumeRefClosureMMapRestrictedToBoundary}{\ManifoldMap{\ParamDomainClosureM}{\VolumeRefClosureM}\Big|_{\ParamDomainBdryContactM}} \newcommand{\SurfaceRefContactSMap}{\ManifoldMap{\ParamDomainBdryContactS}{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactMMap}{\ManifoldMap{\ParamDomainBdryContactM}{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactGMap}{\ManifoldMap{\ParamDomainBdryContactG}{\SurfaceRefContactG}} \newcommand{\VolumeEnvRefGMapDef}{\ManifoldMapDef{\ParamDomainEnvG}{\VolumeEnvRefG}} \newcommand{\VolumeRefClosureGMapDef}{\ManifoldMapDef{\ParamDomainClosureG}{\VolumeRefClosureG}} \newcommand{\SurfaceRefContactSMapDef}{\ManifoldMapDef{\ParamDomainBdryContactS}{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactMMapDef}{\ManifoldMapDef{\ParamDomainBdryContactM}{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactGMapDef}{\ManifoldMapDef{\ParamDomainBdryContactG}{\SurfaceRefContactG}} \newcommand{\VolumeEnvCurrSMap}{\ManifoldMap{\ParamDomainEnvS}{\VolumeEnvCurrS}} \newcommand{\VolumeEnvCurrMMap}{\ManifoldMap{\ParamDomainEnvM}{\VolumeEnvCurrM}} \newcommand{\VolumeEnvCurrGMap}{\ManifoldMap{\ParamDomainEnvG}{\VolumeEnvCurrG}} \newcommand{\VolumeCurrClosureSMap}{\ManifoldMap{\ParamDomainClosureS}{\VolumeCurrClosureS}} \newcommand{\VolumeCurrClosureMMap}{\ManifoldMap{\ParamDomainClosureM}{\VolumeCurrClosureM}} \newcommand{\VolumeCurrClosureGMap}{\ManifoldMap{\ParamDomainClosureG}{\VolumeCurrClosureG}} \newcommand{\VolumeCurrSMap}{\ManifoldMap{\ParamDomainS}{\VolumeCurrS}} \newcommand{\VolumeCurrMMap}{\ManifoldMap{\ParamDomainM}{\VolumeCurrM}} \newcommand{\VolumeCurrGMap}{\ManifoldMap{\ParamDomainG}{\VolumeCurrG}} \newcommand{\VolumeCurrClosureGMapRestrictedToBoundary}{\ManifoldMap{\ParamDomainClosureG}{\VolumeCurrClosureG}\Big|_{\ParamDomainBdryContactG}} \newcommand{\SurfaceCurrContactSMap}{\ManifoldMap{\ParamDomainBdryContactS}{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactMMap}{\ManifoldMap{\ParamDomainBdryContactM}{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactGMap}{\ManifoldMap{\ParamDomainBdryContactG}{\SurfaceCurrContactG}} \newcommand{\VolumeEnvCurrGMapDef}{\ManifoldMapDef{\ParamDomainEnvG}{\VolumeEnvCurrG}} \newcommand{\VolumeCurrClosureGMapDef}{\ManifoldMapDef{\ParamDomainClosureG}{\VolumeCurrClosureG}} \newcommand{\SurfaceCurrContactSMapDef}{\ManifoldMapDef{\ParamDomainBdryContactS}{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactMMapDef}{\ManifoldMapDef{\ParamDomainBdryContactM}{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactGMapDef}{\ManifoldMapDef{\ParamDomainBdryContactG}{\SurfaceCurrContactG}} \newcommand{\VolumeEnvDeformSMap}{\ManifoldMap{\VolumeEnvRefS}{\VolumeEnvCurrS}} \newcommand{\VolumeEnvDeformMMap}{\ManifoldMap{\VolumeEnvRefM}{\VolumeEnvCurrM}} \newcommand{\VolumeEnvDeformGMap}{\ManifoldMap{\VolumeEnvRefG}{\VolumeEnvCurrG}} \newcommand{\VolumeDeformSMap}{\ManifoldMap{\VolumeRefClosureS}{\VolumeCurrClosureS}} \newcommand{\VolumeDeformMMap}{\ManifoldMap{\VolumeRefClosureM}{\VolumeCurrClosureM}} \newcommand{\VolumeDeformGMap}{\ManifoldMap{\VolumeRefClosureG}{\VolumeCurrClosureG}} \newcommand{\VolumeEnvDeformGMapDef}{\ManifoldMapDef{\VolumeEnvRefG}{\VolumeEnvCurrG}} \newcommand{\VolumeDeformGMapDef}{\ManifoldMapDef{\VolumeRefClosureG}{\VolumeCurrClosureG}} \newcommand{\DispTrialSpaceOverVolumeEnvRefS}{\SpaceHilbert{U}(\VolumeEnvRefS)} \newcommand{\DispTrialSpaceOverVolumeEnvRefM}{\SpaceHilbert{U}(\VolumeEnvRefM)} \newcommand{\DispTrialSpaceOverVolumeEnvRefSAndM}{\SpaceHilbert{U}(\VolumeEnvRefS, \VolumeEnvRefM)} \newcommand{\DispTrialSpaceOverVolumeEnvRefG}{\SpaceHilbert{U}(\VolumeEnvRefG)} \newcommand{\DispTrialSpaceOverVolumeRefS}{\SpaceHilbert{U}(\VolumeRefClosureS)} \newcommand{\DispTrialSpaceOverVolumeRefM}{\SpaceHilbert{U}(\VolumeRefClosureM)} \newcommand{\DispTrialSpaceOverVolumeRefSAndM}{\SpaceHilbert{U}(\VolumeRefClosureS, \VolumeRefClosureM)} \newcommand{\DispTrialSpaceOverVolumeRefG}{\SpaceHilbert{U}(\VolumeRefClosureG)} \newcommand{\DispTestSpaceOverVolumeEnvRefG}{\delta \DispTrialSpaceOverVolumeEnvRefG} \newcommand{\DispTestSpaceOverVolumeRefG}{\delta \DispTrialSpaceOverVolumeRefG} \newcommand{\DispFieldRefSComp}{\DispFieldRefComp^s} \newcommand{\DispFieldRefSTen}{\DispFieldRefTen^s} \newcommand{\DispFieldRefMComp}{\DispFieldRefComp^m} \newcommand{\DispFieldRefMTen}{\DispFieldRefTen^m} \newcommand{\DispFieldRefGTen}{\DispFieldRefTen^\alpha} \newcommand{\DispFieldDiscreteRefGTen}{\DispFieldRefTen^{h,\alpha}} \newcommand{\DispFieldOverVolumeEnvRefGTenDef}{\ManifoldMapDef{\VolumeEnvRefG}{\DispFieldRefGTen}} \newcommand{\DispFieldOverVolumeRefGTenDef}{\ManifoldMapDef{\VolumeRefClosureG}{\DispFieldRefGTen}} \newcommand{\GradVolumeRefG}[1]{\Grad{\RefCoordVec{\VolumeRefClosureG}}{#1}} \newcommand{\GradVolumeEnvRefS}[1]{\Grad{\VolumeEnvRefSCoordVec}{#1}} \newcommand{\GradVolumeEnvRefM}[1]{\Grad{\VolumeEnvRefMCoordVec}{#1}} \newcommand{\GradVolumeEnvRefG}[1]{\Grad{\VolumeEnvRefGCoordVec}{#1}} \newcommand{\DeformGradSComp}{\DeformGradComp^s} \newcommand{\DeformGradSTen}{\DeformGradTen^s} \newcommand{\DeformGradSDet}{\Det{\DeformGradSTen}} \newcommand{\DeformGradSInvTrans}{\InvTrans{\DeformGradSTen}} \newcommand{\DeformGradMComp}{\DeformGradComp^m} \newcommand{\DeformGradMTen}{\DeformGradTen^m} \newcommand{\DeformGradMDet}{\Det{\DeformGradMTen}} \newcommand{\DeformGradMInvTrans}{\InvTrans{\DeformGradMTen}} \newcommand{\DeformGradGTen}{\DeformGradTen^\alpha} \newcommand{\DeformGradOverVolumeEnvRefGTenDef}{\FuncDef{\DeformGradGTen}{\VolumeEnvRefG}{\VolumeEnvCurrG}} \newcommand{\DeformGradOverVolumeRefGTenDef}{\FuncDef{\DeformGradGTen}{\VolumeRefClosureG}{\VolumeCurrClosureG}} \newcommand{\UnitNormalRefSTen}{\UnitNormalRefTen^s} \newcommand{\UnitNormalRefMTen}{\UnitNormalRefTen^m} \newcommand{\UnitNormalCurrSComp}{\UnitNormalCurrComp^s} \newcommand{\UnitNormalCurrSTen}{\UnitNormalCurrTen^s} \newcommand{\UnitNormalCurrMComp}{\UnitNormalCurrComp^m} \newcommand{\UnitNormalCurrMTen}{\UnitNormalCurrTen^m} \newcommand{\AreaRatioS}{r^s} \newcommand{\AreaRatioM}{r^m} \newcommand{\ContraMTen}{\Mat{a}^m} \newcommand{\SymmProdInProjTan}{C} \newcommand{\ProdPBTanInvCurPBTanInv}{D} \newcommand{\ProdPBTanInvCurMetricInv}{M} \newcommand{\ProdPBTanInvCurMetricInvCurPBTanInv}{W} \newcommand{\PenaltyContactGap}{\SymbolPenalty_{\SymbolContactGap}} \newcommand{\BodyForceRefGTen}{\BodyForceRefTen^\alpha} \newcommand{\TracForceRefGTen}{\TracForceRefTen^\alpha} \newcommand{\BodyForceOverVolumeRefGDef}{\FuncDef{\BodyForceRefGTen}{\VolumeRefG}{\SpatialDomain}} \newcommand{\BodyForceOverVolumeEnvRefGDef}{\FuncDef{\BodyForceRefGTen}{\VolumeEnvRefG}{\SpatialDomain}} \newcommand{\TracForceOverSurfaceRefTracGTenDef}{\FuncDef{\TracForceRefGTen}{\SurfaceRefTracG}{\SpatialDomain}} \newcommand{\PressureContact}{\SymbolPressureContact} \newcommand{\PressureContactProjected}{\overline{\SymbolPressureContact}_{\UsplineBasisFuncId}} \newcommand{\CoeffPressureContact}{\SymbolPressureContact_{\UsplineBasisFuncId}} \newcommand{\PressureContactInterpolated}{\hat{\SymbolPressureContact}} \newcommand{\ConstraintRefGTen}{\ConstraintRefTen^\alpha} \newcommand{\GapContact}{\SymbolContactGap} \newcommand{\GapContactProjected}{\overline{\SymbolContactGap}_{\UsplineBasisFuncId}} \newcommand{\GapContactProjectedVariation}{\delta \GapContactProjected} \newcommand{\GapContactMortar}{\GapContact^{m}} \newcommand{\GapContactMortarProjected}{\overline{\GapContact}^{m}_{\UsplineBasisFuncId}} \newcommand{\CoeffGapContactMortar}{\GapContact^{m}_{\UsplineBasisFuncId}} \newcommand{\ConstraintOverSurfaceRefDispGTenDef}{\FuncDef{\ConstraintRefGTen}{\SurfaceRefDispG}{\SpatialDomain}} \newcommand{\EnergyEnvG}{\EnergyEnv^\alpha} \newcommand{\EnergyG}{\Energy^{\alpha}} \newcommand{\EnergyDensityStrainG}{\EnergyDensityStrain^\alpha} \newcommand{\EnergyConstraintG}{\Energy^{\SymbolDisp,\alpha}} \newcommand{\EnergyContact}{\Energy^c} \newcommand{\EnergyOverVolumeRefGDef}{\FuncDef{\EnergyG}{\DispTrialSpaceOverVolumeRefG}{\Reals}} \newcommand{\EnergyEnvOverVolumeEnvRefGDef}{\FuncDef{\EnergyEnvG}{\DispTrialSpaceOverVolumeEnvRefG}{\Reals}} \newcommand{\EnergyDensityStrainOverVolumeRefGDef}{\FuncDef{\EnergyDensityStrainG}{\VolumeRefG}{\Reals}} \newcommand{\EnergyDensityStrainOverVolumeEnvRefGDef}{\FuncDef{\EnergyDensityStrainG}{\VolumeEnvRefG}{\Reals}} \newcommand{\EnergyContactOverVolumeRefSAndMDef}{\FuncDef{\EnergyContact}{\DispTrialSpaceOverVolumeRefSAndM}{\Reals}} \newcommand{\EnergyContactOverVolumeEnvRefSAndMDef}{\FuncDef{\EnergyContact}{\DispTrialSpaceOverVolumeEnvRefSAndM}{\Reals}} \newcommand{\EnergyConstraintOverVolumeRefGDef}{\FuncDef{\EnergyConstraintG}{\DispTrialSpaceOverVolumeRefG}{\Reals}} \newcommand{\EnergyConstraintOverVolumeEnvRefGDef}{\FuncDef{\EnergyConstraintG}{\DispTrialSpaceOverVolumeEnvRefG}{\Reals}} \newcommand{\ResidualMat}{\Mat{N}} \newcommand{\ForceInternalContactVec}{\ForceVec^{c,int,n}} \newcommand{\ForceGapContact}{C^n} \newcommand{\StiffnessMatA}{\hat{\Mat{N}}} \newcommand{\StiffnessMatB}{\Mat{T}} \newcommand{\StiffnessMatC}{\Mat{D}} \newcommand{\StiffnessGeometricContact}{\StiffnessMat^{c,g,n}} \newcommand{\StiffnessContact}{\StiffnessMat^{c,n}} \newcommand{\ElemCount}[1]{\operatorname{count}{(#1)}} \newcommand{\ConvexHull}[1]{\operatorname{ch}{\left(#1\right)}} \newcommand{\Normal}[1]{\operatorname{N}{\left(#1\right)}} \newcommand{\NormalConvexHull}[1]{\Normal{\ConvexHull{#1}}} \newcommand{\DiscretePointSetS}{\Set{SP}} \newcommand{\DiscreteElemSetM}{\Set{ME}} \newcommand{\EnvBoundConMapM}{\operatorname{mc}} \newcommand{\EnvBoundConSetM}{\Set{MC}} \newcommand{\SpatialCoordVecToSegmentSetMapMSensor}{\operatorname{cs}} \newcommand{\SpatialCoordVecToSegmentSetMapMElem}{\operatorname{ce}} \newcommand{\SelfContactMap}{\operatorname{sc}} \newcommand{\ColSetS}{\Set{I}} \newcommand{\PairEnvMapBoundM}{\operatorname{cp}} \newcommand{\ApproximateProjectionCollision}[1]{\widetilde{\Projection}{#1}} \newcommand{\ImageSlaveEnv}{\bar{\ParamCoordVecSimple}^{\ParamDomainEnvM}} \newcommand{\ImageSlaveBound}{\bar{\ParamCoordVecSimple}^{\ParamDomainBdryContactM}} \newcommand{\ActiveSet}{\Set{A}} \newcommand{\DiscretePointSetM}{\Set{MP}} \newcommand{\MortarActiveSet}{\Set{A}^m} \newcommand{\PressureContactAnalytical}{p_a} \newcommand{\TipPressureContactAnalytical}{p_0} \newcommand{\ContactHalfWidth}{b}$$\newcommand{\MidGeometryModifier}[1]{\bar{#1}} \newcommand{\SymbolRotationGlobal}{\omega} \newcommand{\SkewMat}[1]{\Mat{s} \left( #1 \right)} \newcommand{\SkewMatInv}[1]{\Mat{s}^{-1} \left( #1 \right)} \newcommand{\Ident}{\Mat{I}} \newcommand{\Cartesian}{\Vec{e}} \newcommand{\ManifoldDim}{n} \newcommand{\LaminaSymbol}{l} \newcommand{\LaminaSymbolUpper}{L} \newcommand{\LaminaMetricSymbol}{j} \newcommand{\ShellMomentSymbol}{q} \newcommand{\DirectorBilinearFunc}[3]{\left(#2,#3\right)_{#1}} \newcommand{\RotObjectiveFunc}{s} \newcommand{\ParamConfig}{\Omega_\xi} \newcommand{\ParamConfigMid}{\Omega_\xi^m} \newcommand{\ParamConfigSec}{\Omega_\xi^s} \newcommand{\ParamConfigBound}{\Gamma_\xi} \newcommand{\ParamConfigMidBound}{\Gamma_\xi^m} \newcommand{\ParamConfigSecBound}{\Gamma_\xi^s} \newcommand{\ParamConfigMuBound}{\Gamma_\xi^\mu} \newcommand{\ParamConfigSigBound}{\Gamma_\xi^\sigma} \newcommand{\ParamConfigDirichMidBound}{\Gamma_\xi^g} \newcommand{\ParamConfigNeuMidBound}{\Gamma_\xi^h} \newcommand{\ParamConfigDirichBound}{\Gamma_\xi^\gamma} \newcommand{\ParamConfigNeuBound}{\Gamma_\xi^\eta} \newcommand{\ParaParam}[1]{\xi_{#1}} \newcommand{\ParaParamVec}{\boldsymbol{\xi}} \newcommand{\RefConfig}{\Omega_0} \newcommand{\RefConfigMid}{\Omega_0^m} \newcommand{\RefConfigSec}{\Omega_0^s} \newcommand{\SurfaceRefRot}{\SurfaceRef^{\SymbolRotationGlobal}} \newcommand{\RefConfigBound}{\Gamma_0} \newcommand{\RefConfigMidBound}{\Gamma_0^m} \newcommand{\RefConfigSecBound}{\Gamma_0^s} \newcommand{\RefConfigMuBound}{\Gamma_0^\mu} \newcommand{\RefConfigSigBound}{\Gamma_0^\sigma} \newcommand{\RefConfigDirichMidBound}{\Gamma_0^g} \newcommand{\RefConfigNeuMidBound}{\Gamma_0^h} \newcommand{\RefConfigDirichBound}{\Gamma_0^\gamma} \newcommand{\RefConfigNeuBound}{\Gamma_0^\eta} \newcommand{\RefMap}{\Vec{X}} \newcommand{\RefMid}{\MidGeometryModifier{\Vec{X}}} \newcommand{\RefDir}{\Vec{D}} \newcommand{\RefSectionPos}{\Vec{R}} \newcommand{\RefCovar}[1]{\Vec{G}_{#1}} \newcommand{\RefMidCovar}[1]{\MidGeometryModifier{\Vec{G}}_{#1}} \newcommand{\RefContra}[1]{\Vec{G}^{#1}} \newcommand{\RefMidContra}[1]{\MidGeometryModifier{\Vec{G}}^{#1}} \newcommand{\RefLamina}[1]{\Vec{L}_{#1}} \newcommand{\RefLaminaDual}[1]{\Vec{\LaminaSymbolUpper}^{#1}} \newcommand{\RefShellProjectedBasis}[1]{\Vec{P}_{#1}} \newcommand{\CurConfig}{\Omega} \newcommand{\CurConfigMid}{\Omega^m} \newcommand{\CurConfigSec}{\Omega^s} \newcommand{\CurConfigBound}{\Gamma} \newcommand{\CurConfigMidBound}{\Gamma^m} \newcommand{\CurConfigSecBound}{\Gamma^s} \newcommand{\CurConfigMuBound}{\Gamma^\mu} \newcommand{\CurConfigSigBound}{\Gamma^\sigma} \newcommand{\CurConfigDirichMidBound}{\Gamma^g} \newcommand{\CurConfigNeuMidBound}{\Gamma^h} \newcommand{\CurConfigDirichBound}{\Gamma^\gamma} \newcommand{\CurConfigNeuBound}{\Gamma^\eta} \newcommand{\CurMap}{\Vec{x}} \newcommand{\CurMid}{\MidGeometryModifier{\Vec{x}}} \newcommand{\CurDir}{\Vec{d}} \newcommand{\CurSectionPos}{\Vec{r}} \newcommand{\CurCovar}[1]{\Vec{g}_{#1}} \newcommand{\CurMidCovar}[1]{\MidGeometryModifier{\Vec{g}}_{#1}} \newcommand{\CurContra}[1]{\Vec{g}^{#1}} \newcommand{\CurMidContra}[1]{\MidGeometryModifier{\Vec{g}}^{#1}} \newcommand{\CurLamina}[1]{\Vec{\LaminaSymbol}_{#1}} \newcommand{\CurLaminaDual}[1]{\Vec{\LaminaSymbol}^{#1}} \newcommand{\CurModLamina}[1]{\hat{\Vec{\LaminaSymbol}}_{#1}} \newcommand{\CurModLaminaDual}[1]{\hat{\Vec{\LaminaSymbol}}^{#1}} \newcommand{\CurShellProjectedBasis}[1]{\Vec{p}_{#1}} \newcommand{\DeformMap}{\varphi} \newcommand{\DeformMapMid}{\varphi^m} \newcommand{\Disp}{\Vec{u}} \newcommand{\DispMid}{\MidGeometryModifier{\Vec{u}}} \newcommand{\RotVec}{\boldsymbol{\omega}} \newcommand{\RotMat}{\boldsymbol{\Lambda}} \newcommand{\RotMatMembrane}{\Mat{\Psi}} \newcommand{\RotMatDelta}{\boldsymbol{\Lambda}_\Delta} \newcommand{\IncRotMat}{\Delta\RotMat} \newcommand{\EulerVec}{\boldsymbol{\vartheta}} \newcommand{\EulerVecNorm}{\theta} \newcommand{\EulerVecSinc}{\boldsymbol{\Theta}} \newcommand{\EulerRotVec}{\boldsymbol{\theta}} \newcommand{\EulerRotAngle}{\theta} \newcommand{\IncEulerRotVec}{\Delta\boldsymbol{\theta}} \newcommand{\AngularVelocity}{\boldsymbol{\eta}} \newcommand{\IncEulerRotVecVel}{\Delta\dot{\boldsymbol{\theta}}} \newcommand{\AngularAcceleration}{\boldsymbol{\alpha}} \newcommand{\IncEulerRotVecAcc}{\Delta\ddot{\boldsymbol{\theta}}} \newcommand{\DeformGrad}{\Mat{F}} \newcommand{\Strain}[1]{\boldsymbol{\tau}_{#1}} \newcommand{\StrainMid}[1]{\boldsymbol{\varepsilon}_{#1}} \newcommand{\StrainCurve}[1]{\boldsymbol{\kappa}_{#1}} \newcommand{\DecompDeform}{\Mat{U}} \newcommand{\ExtraDeformTen}{\Delta\DeformGradTen} \newcommand{\ExtraDeformComp}{\Delta\DeformGradComp} \newcommand{\GreenLagrange}{\Mat{E}} \newcommand{\ShellStrainCurve}[1]{\boldsymbol{\chi}_{#1}} \newcommand{\SecPK}{\Mat{S}} \newcommand{\FirstPK}{\Mat{P}} \newcommand{\Cauchy}{\boldsymbol{\sigma}} \newcommand{\IntTrac}[1]{\Vec{t}_{#1}} \newcommand{\RefModuli}{\Mat{C}} \newcommand{\CurModuli}{\Mat{c}} \newcommand{\PointModuli}{\Mat{m}} \newcommand{\ResModuli}{\Mat{M}} \newcommand{\RefAreaVec}[1]{\Vec{A}_{#1}} \newcommand{\RefAreaMidVec}[1]{\MidGeometryModifier{\Vec{A}}_{#1}} \newcommand{\RefMeas}{G} \newcommand{\UnitNormalRefVec}[1]{\Vec{N}_{#1}} \newcommand{\CurAreaVec}[1]{\Vec{a}_{#1}} \newcommand{\CurAreaMidVec}[1]{\MidGeometryModifier{\Vec{a}}_{#1}} \newcommand{\CurMeas}{g} \newcommand{\UnitNormalCurrVec}[1]{\Vec{n}_{#1}} \newcommand{\CurLaminaMetricTen}{\Mat{\LaminaMetricSymbol}} \newcommand{\CurLaminaMetricComp}{\LaminaMetricSymbol} \newcommand{\CurToModLaminaTransComp}{M} \newcommand{\IntForce}{\Vec{f}^{\, int}} \newcommand{\IntMoment}{\Vec{m}^{int}} \newcommand{\ExtForceBody}{\Vec{f}^{\, ext}_b} \newcommand{\ExtMomentBody}{\Vec{m}^{ext}_b} \newcommand{\ShellExtMomentBody}{\Vec{\ShellMomentSymbol}^{ext}_b} \newcommand{\ExtForceTrac}{\Vec{f}^{\, ext}_h} \newcommand{\ExtMomentTrac}{\Vec{m}^{ext}_h} \newcommand{\ShellExtMomentTrac}{\Vec{\ShellMomentSymbol}^{ext}_h} \newcommand{\MassForce}{\Vec{f}^{\,\rho}} \newcommand{\MassMoment}{\Vec{m}^{\rho}} \newcommand{\ShellMassMoment}{\Vec{\ShellMomentSymbol}^{\rho}} \newcommand{\ResidualInternal}{\Vec{R}^{int}} \newcommand{\ResidualExternal}{\Vec{R}^{ext}} \newcommand{\ResidualMass}{\Mat{R}^{\rho}} \newcommand{\NodalMass}[1]{\Mat{M}_{#1}} \newcommand{\NodalLinearInertia}[1]{A_{#1}} \newcommand{\NodalAngularInertia}[1]{I_{#1}} \newcommand{\ShellDeltaAngle}{\phi} \newcommand{\BStrainMatrix}[2]{\Mat{B}_{#1#2}} \newcommand{\ShellDrillingStiffness}{k} \newcommand{\DrillConstraint}{C} \newcommand{\IntForceDrilling}{\Vec{f}^{d}} \newcommand{\ModuliDrilling}{\Mat{M}^d} \newcommand{\ResidualDrilling}{\Vec{R}^d} \newcommand{\SymbolTop}{top} \newcommand{\SymbolCentroid}{c} \newcommand{\SymbolLeverArm}{r} \newcommand{\SpatialCoordVecCentroid}{\SpatialCoordVec^{\SymbolCentroid}} \newcommand{\SpatialCoordCentroidX}{\SpatialCoordX^{\SymbolCentroid}} \newcommand{\SpatialCoordCentroidY}{\SpatialCoordY^{\SymbolCentroid}} \newcommand{\SpatialCoordCentroidZ}{\SpatialCoordZ^{\SymbolCentroid}} \newcommand{\LeverArm}{\Vec{\SymbolLeverArm}} \newcommand{\LeverArmX}{\SymbolLeverArm_{\SpatialCoordX}} \newcommand{\LeverArmY}{\SymbolLeverArm_{\SpatialCoordY}} \newcommand{\LeverArmZ}{\SymbolLeverArm_{\SpatialCoordZ}} \newcommand{\MomentFirstMass}{Q} \newcommand{\MomentSecondMass}{I} \newcommand{\MomentSecondMassDetailed}[1]{I_{#1}} \newcommand{\DistributedLoad}{q} \newcommand{\TracForceCurrCompX}{\TracForceCurrComp_{\SpatialCoordX}} \newcommand{\TracForceCurrCompY}{\TracForceCurrComp_{\SpatialCoordY}} \newcommand{\TracForceCurrCompZ}{\TracForceCurrComp_{\SpatialCoordZ}} \newcommand{\TracMomentCurrCompDetailed}[1]{\TracMomentCurrComp_{#1}} \newcommand{\TracForceCurrCompSupportReaction}{r^{\TracForceCurrComp}} \newcommand{\TracForceCurrCompSupportReactionDetailed}[1]{\TracForceCurrCompSupportReaction_{#1}} \newcommand{\TracForceCurrCompDistributedLoad}{\DistributedLoad^{\TracForceCurrComp}} \newcommand{\TracForceCurrCompPointLoad}{p^{\TracForceCurrComp}} \newcommand{\TracMomentCurrVec}{\Vec{\TracMomentCurrComp}} \newcommand{\TracMomentCurrComp}{m} \newcommand{\BodyForceCurrCompX}{\BodyForceCurrComp_{\SpatialCoordX}} \newcommand{\BodyForceCurrCompY}{\BodyForceCurrComp_{\SpatialCoordY}} \newcommand{\BodyForceCurrCompZ}{\BodyForceCurrComp_{\SpatialCoordZ}} \newcommand{\BodyForceCurrCompDistributedLoad}{\DistributedLoad^{\BodyForceCurrComp}} \newcommand{\BodyForceCurrCompAxialLoad}{f^{\BodyForceCurrComp}} \newcommand{\StressCauchyTractionVec}{\Vec{t}} \newcommand{\StressCauchyTractionX}{t_{\SpatialCoordX}} \newcommand{\StressCauchyTractionY}{t_{\SpatialCoordY}} \newcommand{\StressCauchyTractionZ}{t_{\SpatialCoordZ}} \newcommand{\StressCauchyNormal}{\sigma} \newcommand{\StressCauchyNormalDetailed}[1]{\StressCauchyNormal_{#1}} \newcommand{\StressCauchyNormalXX}{\StressCauchyComp_{\SpatialCoordX\SpatialCoordX}} \newcommand{\StressCauchyNormalYY}{\StressCauchyComp_{\SpatialCoordY\SpatialCoordY}} \newcommand{\StressCauchyNormalZZ}{\StressCauchyComp_{\SpatialCoordZ\SpatialCoordZ}} \newcommand{\StressCauchyShear}{\tau} \newcommand{\StressCauchyShearDetailed}[1]{\StressCauchyShear_{#1}} \newcommand{\StressCauchyShearXY}{\StressCauchyShear_{\SpatialCoordX\SpatialCoordY}} \newcommand{\StressCauchyShearYX}{\StressCauchyShear_{\SpatialCoordY\SpatialCoordX}} \newcommand{\StressCauchyShearXZ}{\StressCauchyShear_{\SpatialCoordX\SpatialCoordZ}} \newcommand{\StressCauchyShearZX}{\StressCauchyShear_{\SpatialCoordZ\SpatialCoordX}} \newcommand{\StressCauchyShearYZ}{\StressCauchyShear_{\SpatialCoordY\SpatialCoordZ}} \newcommand{\StressCauchyShearZY}{\StressCauchyShear_{\SpatialCoordZ\SpatialCoordY}} \newcommand{\StressCauchyResultantForce}{F} \newcommand{\StressCauchyResultantForceDetailed}[1]{F_{#1}} \newcommand{\StressCauchyResultantForceVec}{\Vec{\StressCauchyResultantForce}} \newcommand{\StressCauchyResultantMoment}{M} \newcommand{\StressCauchyResultantMomentDetailed}[1]{M_{#1}} \newcommand{\StressCauchyResultantMomentVec}{\Vec{\StressCauchyResultantMoment}} \newcommand{\StressCauchyResultantForceShear}{V} \newcommand{\StressCauchyResultantForceShearDetailed}[1]{V_{#1}} \newcommand{\StressCauchyResultantForceAxial}{\StressCauchyResultantForce} \newcommand{\DispFieldCurrCompX}{\DispFieldCurrComp_{\SpatialCoordX}} \newcommand{\DispFieldCurrCompY}{\DispFieldCurrComp_{\SpatialCoordY}} \newcommand{\DispFieldCurrCompZ}{\DispFieldCurrComp_{\SpatialCoordZ}} \newcommand{\DispFieldMidCurrCompX}{\overline{\DispFieldCurrComp}_{\SpatialCoordX}} \newcommand{\DispFieldMidCurrCompY}{\overline{\DispFieldCurrComp}_{\SpatialCoordY}} \newcommand{\StrainSymGradCompXX}{\StrainSymGradComp_{\SpatialCoordX\SpatialCoordX}} \newcommand{\StrainSymGradCompYY}{\StrainSymGradComp_{\SpatialCoordY\SpatialCoordY}} \newcommand{\StrainSymGradCompZZ}{\StrainSymGradComp_{\SpatialCoordZ\SpatialCoordZ}} \newcommand{\StrainShearComp}{\gamma} \newcommand{\StrainShearCompXY}{\StrainShearComp_{\SpatialCoordX\SpatialCoordY}} \newcommand{\StrainShearCompXZ}{\StrainShearComp_{\SpatialCoordX\SpatialCoordZ}} \newcommand{\StrainShearCompYZ}{\StrainShearComp_{\SpatialCoordY\SpatialCoordZ}} \newcommand{\EquationBeamShearStress}{\frac{\StressCauchyResultantForceShear \MomentFirstMass}{\MomentSecondMassDetailed{\SpatialCoordZ}\Width}} \newcommand{\EquationVecInCoords}{\Vec{v} = v_{\SpatialCoordX} \BasisVecI + v_{\SpatialCoordY} \BasisVecJ + v_{\SpatialCoordZ} \BasisVecK} \newcommand{\EquationMatVecMultiply}{\Mat{M}\Vec{v} = \begin{bmatrix} \DotProduct{\Vec{m}_1}{\Vec{v}} \\ \DotProduct{\Vec{m}_2}{\Vec{v}} \\ \DotProduct{\Vec{m}_3}{\Vec{v}} \end{bmatrix}} \newcommand{\EquationMatMatMultiply}{\Mat{M}\Mat{N} = \begin{bmatrix} \DotProduct{\Vec{m}_1}{\Mat{n}_1} & \DotProduct{\Vec{m}_1}{\Mat{n}_2} & \DotProduct{\Vec{m}_1}{\Mat{n}_3} \\ \DotProduct{\Vec{m}_2}{\Mat{n}_1} & \DotProduct{\Vec{m}_2}{\Mat{n}_2} & \DotProduct{\Vec{m}_2}{\Mat{n}_3} \\ \DotProduct{\Vec{m}_3}{\Mat{n}_1} & \DotProduct{\Vec{m}_3}{\Mat{n}_2} & \DotProduct{\Vec{m}_3}{\Mat{n}_3} \end{bmatrix}} \newcommand{\Force}{F} \newcommand{\ShearFlow}{f}$$\newcommand{\BaseSymbol}{b} \newcommand{\EmbeddedSymbol}{e} \newcommand{\RefinedSymbol}{r} \newcommand{\HierarchicalSymbol}{\textsf{H}} \newcommand{\BlockSymbol}{\textsf{B}} \newcommand{\BaseModifier}[1]{{#1}_{\BaseSymbol}} \newcommand{\EmbeddedModifier}[1]{{#1}_{\EmbeddedSymbol}} \newcommand{\RefinedModifier}[1]{{#1}_{\RefinedSymbol}} \newcommand{\HierarchicalModifier}[1]{{#1}_{\HierarchicalSymbol}} \newcommand{\BlockModifier}[1]{{#1}_{\BlockSymbol}} \newcommand{\RefinementLevelI}{i} \newcommand{\RefinementLevelJ}{j} \newcommand{\RefinementLevelK}{k} \newcommand{\HighestRefinementLevel}{N} \newcommand{\BaseParentDomain}{\BaseModifier{\ParentDomain}} \newcommand{\RefinedDomain}[1]{\ParamDomain_{#1}} \newcommand{\BaseMesh}{\BaseModifier{\MeshTopo}} \newcommand{\BaseBezierMesh}{\BaseModifier{\MeshBezier}} \newcommand{\EmbeddedMesh}{\EmbeddedModifier{\MeshTopo}} \newcommand{\RefinedMesh}{\RefinedModifier{\MeshTopo}} \newcommand{\RefinedBezierMesh}{\RefinedModifier{\MeshBezier}} \newcommand{\HierarchicalBezierMesh}{\HierarchicalModifier{\MeshBezier}} \newcommand{\HierarchicalUsplineMesh}{\HierarchicalModifier{\MeshUspline}} \newcommand{\RefinementLevelMesh}[1]{\MeshBezier_{#1}} \newcommand{\LeafElemSet}[1]{\Set{L}_{#1}} \newcommand{\ActiveElemSet}[1]{\Set{A}_{#1}} \newcommand{\ActiveBasisFuncs}[1]{\Set{UFA}_{#1}} \newcommand{\UnderRefinedBasisFuncs}[1]{\Set{UFU}_{#1}} \newcommand{\HierarchicalBasisFuncs}{\Set{UFH}} \newcommand{\TruncatedBasisFuncs}{\Set{UFT}} \newcommand{\FuncsTruncatedToLevel}[1]{\Set{TK}_{#1}} \newcommand{\FuncsTouchingActiveFuncs}[1]{\Set{T}_{#1}} \newcommand{\FuncsSubsetOfCoarserFuncs}[1]{\Set{S}_{#1}} \newcommand{\RefinementLevelBasis}[1]{\UsplineBasisFuncSetFunctionOf{\RefinementLevelMesh{#1}}} \newcommand{\RefinementLevelSpace}[1]{\QuantityRelatedTo{\UsplineSpace}{\RefinementLevelMesh{#1}}} \newcommand{\BaseAssociated}{\operatorname{\textsf{base}}} \newcommand{\BaseAssociatedFunctionOf}[1]{\QFO{\BaseAssociated}{#1}} \newcommand{\TruncationOp}[2]{\QFO{\operatorname{\textsf{trunc}}_{#1}}{#2}} \newcommand{\EmbeddedToBaseChart}{\EmbeddedModifier{\ParentDomainChart}} \newcommand{\InvEmbeddedToBaseChart}{(\EmbeddedToBaseChart)^{-1}} \newcommand{\RefinementCoefficients}{c^A_B} \newcommand{\RefinementMat}{\Mat{D}} \newcommand{\NthLevelProlongationMat}[1]{\QSB{\ProlongationMat}{#1}} \newcommand{\NthLevelActiveMat}[1]{\QSB{\Mat{A}}{#1}} \newcommand{\NthLevelRefinementMat}[1]{\QSB{\RefinementMat}{#1}} \newcommand{\NthLevelTruncationMat}[1]{\QSB{\Mat{T}}{#1}} \newcommand{\NthLevelBasisMat}[1]{\QSB{\Mat{S}}{#1}} \newcommand{\NthLevelMassMat}[1]{\QSB{\MassMat}{#1}} \newcommand{\FuncIndex}{\operatorname*{\mathsf{ID}}} \newcommand{\MultiLevelRefinementMat}[2]{\QSB{\RefinementMat}{#1 #2}} \newcommand{\BlockRefinementMat}{\BlockModifier{\RefinementMat}} \newcommand{\BlockMassMat}{\BlockModifier{\MassMat}}$

As a result of translation errors between CAD representations, errors or differences in the way the geometry is interpreted may occur. Depending on the severity of the problem, sometimes a mesh can be generated even with a less-than perfect geometric representation, however, in most cases, these should be resolved before meshing.

##### 9.6.1.1Detecting Invalid Geometry

In most cases, bad or invalid topology or geometry definition comes from problems which arise in the CAD translation process. CUBIT’s main geometry kernel, ACIS is used to represent the model if it has been imported using an IGES or STEP format. Translation to and from these neutral formats is frequently the cause of bad geometry. ITEM will use the geometry validation procedures built into the ACIS kernel to detect if there is any bad geometry and will list the entities that may be causing a problem.

Since the validation procedures are specific to ACIS, models that may have been imported from another native format such as Pro/E will not provide this diagnostic. Although this may seem like a severe limitation, importing native formats rarely have bad geometry, since no translation process is necessary.

It is good practice to always check your model for bad geometry before proceeding to other geometry or meshing operations. In some cases, if a webcut or meshing operation fails, the cause is an invalid geometric definition that has not been adequately healed. Resolving bad geometry problems up front, in most cases is essential to obtaining a mesh. On the other hand, if the location of the bad geometry in the model is such that it will not effect subsequent Boolean or decomposition operations, there may be a chance that completely resolving bad geometry is not necessary. Simply ignoring bad geometry that cannot be easily repaired with automatic procedures may be a reasonable solution, provided the user is aware of the potential limitations.

##### 9.6.1.2Resolving Invalid Geometry

To resolve invalid geometry, ITEM uses the heal procedure built into the ACIS geometry kernel. In almost all cases, this is a fully automatic procedure. Simply selecting the automatic repair button will make the appropriate adjustments to the geometry. This can be done one volume at a time by healing the owning volume, or by healing the full model all at once. If healing was successful, No problems detected should be displayed.

If auto repair does not successfully repair the geometry, you may want to try additional options available in Cubit for healing. See the Cubit documentation for a complete description of additional healing options.

##### 9.6.2Small details in the model

$\newcommand{\QuantityFunctionOf}[2]{{#1}(#2)} \newcommand{\QFO}[2]{\QuantityFunctionOf{#1}{#2}} \newcommand{\QuantityFunctionOfNoArg}[1]{{#1}} \newcommand{\QFONA}[1]{\QuantityFunctionOfNoArg{#1}} \newcommand{\SubscriptedQuantityFunctionOf}[3]{{#1}_{#2}(#3)} \newcommand{\SQFO}[3]{\SubscriptedQuantityFunctionOf{#1}{#2}{#3}} \newcommand{\QuantityChildOf}[2]{{#2}^{#1}} \newcommand{\QCO}[2]{\QuantityChildOf{#1}{#2}} \newcommand{\QuantityRelatedTo}[2]{{#1}[#2]} \newcommand{\QRT}[2]{\QuantityRelatedTo{#1}{#2}} \newcommand{\QuantitySubscriptedBy}[2]{{#1}_{#2}} \newcommand{\QSB}[2]{\QuantitySubscriptedBy{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOfChildOf}[4]{{#1}_{#2}^{#3}(#4)} \newcommand{\SQFOCO}[4]{\SubscriptedQuantityFunctionOfChildOf{#1}{#2}{#3}{#4}} \newcommand{\SubscriptedQuantityChildOf}[3]{{#1}_{#2}^{#3}} \newcommand{\SQCO}[3]{\SubscriptedQuantityChildOf{#1}{#2}{#3}} \newcommand{\overbar}[1]{\mkern 1.5mu\overline{\mkern-1.5mu#1\mkern-1.5mu}\mkern 1.5mu} \newcommand{\bcdot}{\boldsymbol{\cdot}} \newcommand{\SuchThat}{\, : \,} \newcommand{\SuchThatText}{\text{s.t.}} \newcommand{\DefEq}{\overset{\operatorname{def}}{=}} \newcommand{\True}{\textsf{True}} \newcommand{\False}{\textsf{False}} \newcommand{\ArrayRoster}[1]{\left[#1\right]} \newcommand{\ArrayRosterI}[2]{[#1]_{#2}} \newcommand{\ArrayEmpty}{\ArrayRoster{\hspace{1mm}}} \newcommand{\Tuple}[1]{\mathsf{#1}} \newcommand{\TupleRoster}[1]{\left(#1\right)} \newcommand{\PointPair}[2]{\TupleRoster{#1, #2}} \newcommand{\Set}[1]{\mathsf{#1}} \newcommand{\SetRoster}[1]{\left\{ #1 \right\}} \newcommand{\SetRosterIndexed}[3]{\SetRoster{#1}_{#2}^{#3}} \newcommand{\SetRosterPredicate}[2]{\SetRoster{#1 \SuchThat #2}} \newcommand{\SetEmpty}{\varnothing} \newcommand{\SetPower}[1]{\QuantityFunctionOf{\boldsymbol{\Set{P}}}{#1}} \newcommand{\SetNeighborhood}[1]{\QuantityFunctionOf{\boldsymbol{\Set{B}}}{#1}} \newcommand{\Domain}{\Omega} \newcommand{\DomainBdry}{\Gamma} \newcommand{\IntervalClosed}[2]{\left[#1, #2\right]} \newcommand{\IntervalOpen}[2]{\left(#1, #2\right)} \newcommand{\IntervalClosedOpen}[2]{\left[#1, #2\right)} \newcommand{\IntervalOpenClosed}[2]{\left(#1, #2\right]} \newcommand{\Reals}{\mathbb{R}} \newcommand{\Naturals}{\mathbb{N}} \newcommand{\Integers}{\mathbb{Z}} \newcommand{\Field}{\mathbb{F}} \newcommand{\Size}[1]{\left\lvert #1 \right\rvert} \newcommand{\Union}[3]{\bigcup\limits_{#1}^{#2} #3} \newcommand{\UnionInline}[3]{\bigcup_{#1}^{#2} #3} \newcommand{\Intersect}[3]{\bigcap\limits_{#1}^{#2} #3} \newcommand{\ElementWiseGreaterOrEqual}{\succeq} \newcommand{\ElemntWiseGreater}{\succ} \newcommand{\ElementWiseLessOrEqual}{\preceq} \newcommand{\ElementWiseLess}{\prec} \newcommand{\SpaceLinear}[1]{\mathnormal{#1}} \newcommand{\SpaceDual}[1]{\SpaceLinear{#1}^*} \newcommand{\AbsoluteValue}[1]{\Size{#1}} \newcommand{\Norm}[2]{\left\lVert #2 \right\rVert_{#1}} \newcommand{\NormAbstract}[1]{\Norm{}{#1}} \newcommand{\NormSemi}[1]{\Size{#1}} \newcommand{\SpaceLinearNormed}[1]{\left(\SpaceLinear{#1}, \NormAbstract{\bcdot} \right)} \newcommand{\SpaceBanach}[1]{\mathfrak{#1}} % normed and complete \newcommand{\SymmetricBilinear}[2]{\left(#1, #2\right)} \newcommand{\InnerProduct}[2]{\left\langle#1, #2\right\rangle} \newcommand{\DotProduct}[2]{\left(#1 \bcdot #2\right)} \newcommand{\SpaceInnerProduct}[1]{\left(\SpaceLinear{#1}, \InnerProduct{\bcdot}{\bcdot}\right)} \newcommand{\SpaceHilbert}[1]{\mathcal{#1}} \newcommand{\SpaceLTwo}{\SpaceHilbert{L}_2} \newcommand{\SpaceLTwoDef}[2]{\SpaceLTwo\left(#1; #2\right)} \newcommand{\SpaceLInfty}{\SpaceHilbert{L}_\infty} \newcommand{\SpaceLTwoWeighted}{\SpaceLTwo^w} \newcommand{\SpaceSobolevK}[1]{\SpaceHilbert{H}^{#1}} \newcommand{\SpaceSobolevKDef}[3]{\SpaceSobolevK{#1}\left(#2 ; #3\right)} \newcommand{\Cont}{\operatorname{cont}} \newcommand{\SpaceCont}{\SpaceHilbert{C}} \newcommand{\SpaceContDef}[2]{\SpaceCont\left(#1 ; #2\right)} \newcommand{\SpaceContK}[1]{\SpaceCont^{#1}} \newcommand{\SpaceContKDef}[3]{\SpaceContK{#1}\left(#2; #3\right)} \newcommand{\SpaceContZero}{\SpaceContK{0}} \newcommand{\SpaceContInf}{\SpaceContK{\infty}} \newcommand{\SpaceContInfDef}[2]{\SpaceContKDef{\infty}{#1}{#2}} \newcommand{\SpaceContKBounded}[2]{\SpaceContK{#1}_{#2}} \newcommand{\SpaceContKBoundedDef}[3]{\SpaceCont_{b}^{#1}\left(#2 ; #3\right)} \newcommand{\SpaceLinearOperator}[1]{\mathscr{#1}} \newcommand{\SpaceLinearOperatorDef}[2]{\SpaceLinearOperator{L}\left(#1 ; #2\right)} \newcommand{\SpaceLinearOperatorBoundedDef}[2]{\SpaceLinearOperator{B}\left(#1 ; #2\right)} \newcommand{\SpaceLinearN}[1]{\SpaceLinear{#1}^h} \newcommand{\SpaceHilbertN}[1]{\SpaceHilbert{#1}^h} \newcommand{\SpaceVecRealN}[1]{\Reals^{#1}} \newcommand{\SpacePoly}[1]{\SpaceHilbert{P}^{#1}} \newcommand{\SpaceMatrixRealMN}[2]{\Reals^{#1\times#2}} \newcommand{\SpacePolyDef}[3]{\SpacePoly{#1}\left(#2 ; #3\right)} \newcommand{\Func}[1][f]{#1} \newcommand{\FuncAlt}[1][g]{#1} \newcommand{\FuncDef}[3]{#1 \SuchThat #2 \rightarrow #3} \newcommand{\FuncApprox}[1]{#1^h} \newcommand{\LinearOperator}[1]{\SpaceLinearOperator{#1}} \newcommand{\LinearOperatorDef}[3]{\FuncDef{\LinearOperator{#1}}{#2}{#3}} \newcommand{\Functional}[1]{\LinearOperator{#1}} \newcommand{\Projection}{\Pi} \newcommand{\VectorProjection}[2]{\Projection_{#1} {\left(#2\right)}} \newcommand{\Mat}[1]{\boldsymbol{#1}} \newcommand{\MatIJ}[3]{\left[#1\right]_{#2#3}} \newcommand{\MatIdRow}{m} \newcommand{\MatIdCol}{n} \newcommand{\NonZeroIndices}{\operatorname{\mathsf{nzi}}} \newcommand{\ColumnSelector}{\operatorname{\mathrm{col}}} \newcommand{\RowSelector}{\operatorname{\mathrm{row}}} \newcommand{\ColOf}[1]{\ColumnSelector_{#1}} \newcommand{\RowOf}[1]{\RowSelector_{#1}} \newcommand{\DiagonalMatrix}[1]{\QFO{\operatorname*{diag}}{#1}} \newcommand{\Rotation}{\Mat{R}} \newcommand{\Identity}{\Mat{I}} \newcommand{\KroneckerDeltaComp}{\delta} \newcommand{\KroneckerDelta}{\Mat{\delta}} \newcommand{\LeviCivita}{\Mat{\epsilon}} \newcommand{\Jacobian}{\Mat{J}} \renewcommand{\Vec}[1]{\boldsymbol{#1}} \newcommand{\VecChildOf}[2]{\QCO{#2}{#1}} \newcommand{\VecI}[2]{\{#1\}_{#2}} \newcommand{\ZeroVec}{\Vec{0}} \newcommand{\OneVec}{\Vec{1}} \newcommand{\ZeroMat}{\Mat{0}} \newcommand{\UnitNormalComp}{n} \newcommand{\UnitNormal}{\Vec{\UnitNormalComp}} \newcommand{\MacBracket}[1]{\langle#1\rangle} \newcommand{\IdentityTenSym}{\mathbb{I}} \newcommand{\BraKet}[1]{\langle#1\rangle} \newcommand{\FuncObjective}[1]{\QFO{\Func}{#1}} \newcommand{\FuncEqualityConstraints}[1]{\QFO{\Func[\Vec{g}]}{#1}} \newcommand{\VarDesign}{\Vec{\phi}} \newcommand{\VarState}[1]{\QFO{\Vec{u}}{#1}} \newcommand{\FuncLagrangian}[1]{\QFO{\mathscr{L}}{#1}} \newcommand{\FuncAugmentedLagrangian}[1]{\QFO{\mathscr{L}_A}{#1}} \newcommand{\VecLambdaLM}[1]{\QFO{\Vec{\lambda}}{#1}} \newcommand{\LambdaLM}[1]{\QFO{\lambda}{#1}} \newcommand{\SolutionLocalOpt}[1]{\left(#1\right)^*} \newcommand{\ProximalPoint}{\overbar{\VecLambdaLM{}}} \newcommand{\PenaltyParameter}{\rho} \newcommand{\Slacify}[1]{\QSB{#1}{s}} \newcommand{\Prod}[2]{\prod\limits_{#1}^{#2}} \newcommand{\ProdInline}[2]{\prod_{#1}^{#2}} \newcommand{\TensorProduct}{\otimes} \newcommand{\Sum}[2]{\sum\limits_{#1}^{#2}} \newcommand{\SumInline}[2]{\sum_{#1}^{#2}} \newcommand{\Rank}[1]{\operatorname{rank}(#1)} \newcommand{\Nullity}[1]{\operatorname{null}(#1)} \newcommand{\Image}{\operatorname{image}} \newcommand{\Range}{\operatorname{range}} \newcommand{\Inverse}[1]{\left(#1\right)^{-1}} \newcommand{\inverse}[1]{\overline{#1}} \newcommand{\Transpose}[1]{\left(#1\right)^{T}} \newcommand{\TransposeSimple}[1]{#1^{T}} \newcommand{\InvTrans}[1]{\left(#1\right)^{-T}} \newcommand{\Complement}[1]{\overbar{#1}} \newcommand{\Adjoint}[1]{\left(#1\right)^*} \newcommand{\OrthogonalComplement}[1]{\left(#1\right)^\perp} \newcommand{\Det}[1]{\QFO{\operatorname{det}}{#1}} \newcommand{\DCT}{\operatorname{DCT}} \newcommand{\IDCT}{\operatorname{IDCT}} \newcommand{\RealPart}[1]{\QFO{\mathfrak{R}}{#1}} \newcommand{\Trace}[1]{\QFO{\operatorname{tr}}{#1}} \newcommand{\Dev}[1]{\QFO{\operatorname{dev}}{#1}} \newcommand{\DevDef}[1]{\Dev{#1} \DefEq #1 - \frac{1}{3}\Trace{#1}\Identity} \newcommand{\dual}[1]{{\bar{#1}}} \newcommand{\symind}[1]{\textsc{#1}} \newcommand{\symmetrizer}{{S}} \newcommand{\BasisFuncCoeff}[2]{\QSB{#1}{#2}} \newcommand{\BasisVec}[2]{\QSB{#1}{#2}} \newcommand{\BasisVecChildOf}[3]{\SQFOCO{#1}{#2}{#3}{a}} \newcommand{\OrthogonalBasisVec}[2]{\SQFOCO{#1}{#2}{\perp}{a}} \newcommand{\OrthonormalBasisVec}[2]{\SQFOCO{\overbar{#1}}{#2}{\perp}{a}} \newcommand{\PolynomialDegree}{p} \newcommand{\BasisFuncId}{i} \newcommand{\BasisFuncIdAlt}{j} \newcommand{\BasisFuncIdAltAlt}{k} \newcommand{\BasisFunc}[3]{\SQFO{#1}{#2}{#3}} \newcommand{\PowerBasisFunc}[2]{\QCO{#2}{#1}} \newcommand{\LagrangeBasisFunc}[3]{\SQFOCO{\Func[L]}{#1}{#2}{#3}} \newcommand{\LagrangeBasisFuncNoArg}[2]{\SQCO{\Func[L]}{#1}{#2}} \newcommand{\LegendreBasisFunc}[3]{\SQFOCO{\Func[P]}{#1}{#2}{#3}} \newcommand{\LegendreBasisFuncNoArg}[2]{\SQCO{\Func[P]}{#1}{#2}} \newcommand{\PreNormalizedLegendreBasisFunc}[3]{\hat{\LegendreBasisFunc{#1}{#2}{#3}}} \newcommand{\ChebyshevBasisFunc}[2]{\SQFO{\Func[T]}{#1}{#2}} \newcommand{\ChebyshevBasisFuncNoArg}[1]{\SQCO{\Func[T]}{#1}{}} \newcommand{\BasisVecI}{\Vec{i}} \newcommand{\BasisVecJ}{\Vec{j}} \newcommand{\BasisVecK}{\Vec{k}} \newcommand{\Span}{\operatorname{span}} \newcommand{\Dim}[1]{\operatorname{dim}\left({#1}\right)} \newcommand{\Support}[1]{\operatorname{supp}(#1)} \newcommand{\SupportPos}[1]{\operatorname{supp}_{+}(#1)} \newcommand{\SumBasis}[4]{\Sum{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\SumInlineBasis}[4]{\SumInline{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\BasisTransMatrix}[2]{\Mat{R}_{{#1}\rightarrow{#2}}} \newcommand{\ChebyshevZeros}[1]{\QSB{z}{#1}} \newcommand{\ChebyshevExtremizers}[1]{\QSB{t}{#1}} \newcommand{\BernToChebMat}{\Mat{T}} \newcommand{\Chebfun}[3]{\biggl(\, \sum_{#2=0}^{#1}{#3}_{#2}\ChebyshevBasisFuncNoArg{#2}\biggr)} \newcommand{\ChebfunVector}[1]{\left[#1\right]_c} \newcommand{\PowerBasisMat}[1]{\QCO{#1}{\Mat{M}}} \newcommand{\LagrangeBasisMat}[1]{\QCO{#1}{\Mat{L}}} \newcommand{\LegendreBasisMat}[1]{\QCO{#1}{\Mat{P}}} \newcommand{\BernsteinBasisMat}[1]{\QCO{#1}{\Mat{B}}} \newcommand{\ChebyshevBasisMat}[1]{\QCO{#1}{\Mat{T}}} \newcommand{\EvaluateTwoLimits}[3]{#1\biggr\rvert_{#2}^{#3}} \newcommand{\EvaluateOneLimit}[2]{\left.#1\right\rvert_{#2}} \newcommand{\Limit}[2]{\lim\limits_{#1\rightarrow #2}} \newcommand{\LimitInline}[2]{\lim_{#1\rightarrow #2}} \newcommand{\DNE}{\operatorname{DNE}} \newcommand{\TotalDeriv}{D} \newcommand{\LagrangeDeriv}[1]{{#1}'} \newcommand{\KthLagrangeDeriv}[2]{{#1}^{(#2)}} \newcommand{\LeibnizSubDeriv}[2]{{#1}_{,#2}} \newcommand{\LeibnizFracDeriv}[2]{\frac{d}{d#2} #1} \newcommand{\KthLeibnizFracDeriv}[3]{\frac{d^{#2}}{d#3^{#2}}\Func[#1](#3)} \newcommand{\KthLeibnizFracSpecificFunction}[3]{\frac{d^{#2}}{d#3^{#2}}\Func[#1]} \newcommand{\Differential}[1][x]{\, \operatorname{d}{#1}} \newcommand{\FrechetDeriv}[2]{D{#1}\left(#2\right)} \newcommand{\GateauxDirectionBold}[1]{\Vec{\delta}#1} \newcommand{\GateauxDirection}[1]{\delta #1} \newcommand{\GateauxDerivBold}[2]{D#1(#2; \GateauxDirectionBold{#2})} \newcommand{\GateauxDeriv}[2]{D#1(#2; \GateauxDirection{#2})} \newcommand{\GateauxDerivWithDirection}[3]{D#1\left(#2 \ ;\ #3\right)} \newcommand{\GateauxDerivPartial}[2]{\frac{\partial #1}{\partial #2}} \newcommand{\KthGateauxDerivPartial}[3]{\frac{\partial^{#3} #1}{\partial #2^{#3}}} \newcommand{\Grad}[2]{\boldsymbol{\nabla}^{#1} #2} \newcommand{\Jac}{\Mat{J}} \newcommand{\Div}[2]{\boldsymbol{\nabla}^{#1} \bcdot #2} \newcommand{\Laplace}[2]{\boldsymbol{\Delta}^{#1} #2} \newcommand{\TaylorSeries}[2]{\mathcal{T}\left[\Func[#1]\right](#2)} \newcommand{\TruncatedTaylorSeries}[3]{\mathcal{T}_{#1}\left[\Func[#2]\right]\left(#3\right)} \newcommand{\Int}[2]{\int\limits_{#1}^{#2}} \newcommand{\IntDomain}[1]{\int\limits_{#1}} \newcommand{\IntInline}[2]{\int_{#1}^{#2}} \newcommand{\IntDomainInline}[1]{\int_{#1}} \newcommand{\DetJacobian}{\Det{\Jac}} \newcommand{\BigO}[1]{\mathcal{O}\left(#1\right)} \newcommand{\Flops}{\operatorname{flops}} \newcommand{\Interpolant}[2]{\mathcal{#1}^{h}} \newcommand{\ErrorApproxComp}{e} \newcommand{\ErrorApproxTen}{\Vec{\ErrorApproxComp}} \newcommand{\ErrorNewton}{\epsilon} \newcommand{\ApproximateIntegrationError}[1]{\tilde{e}_{#1}} \newcommand{\AnalyticApproximateIntegrationErrorDifference}[1]{\overbar{e}_{#1}} \newcommand{\erf}[1]{\mathrm{erf}\left(#1\right)} \newcommand{\erfc}[1]{\mathrm{erfc}\left(#1\right)} \newcommand{\HeavisideFunc}[1]{\mathit{H}\left(#1\right)} \newcommand{\DiracDelta}[2]{\delta_{D}\left(#1 - #2\right)}$$\newcommand{\SymbolParentModifier}[1]{\overbar{#1}} \newcommand{\SymbolParamModifier}[1]{\hat{#1}} \newcommand{\SymbolSubmeshModifier}{} \newcommand{\SymbolDomain}{\Domain} \newcommand{\SymbolDomainBdry}{\DomainBdry} \newcommand{\SymbolBernstein}{B} \newcommand{\SymbolBasisUspline}{N} \newcommand{\SymbolUspline}{U} \newcommand{\SymbolUsplineLower}{u} \newcommand{\SymbolGrevillePoint}{g} \newcommand{\SymbolDim}{d} \newcommand{\SymbolArbitraryCoeffUspline}{c} \newcommand{\SymbolArbitraryCoeffUsplineAlt}{\beta} \newcommand{\SymbolArbitraryCoeffBernstein}{c} \newcommand{\SymbolDistance}{\operatorname{dist}} \newcommand{\AdjacencyId}{n} \newcommand{\DimId}{k} \newcommand{\DimIdAlt}{n} \newcommand{\ArbDim}{\DimId} \newcommand{\ArbDimAlt}{\DimIdAlt} \newcommand{\DimIdSet}{\Set{\DimId}} \newcommand{\DimIdOne}{\DimId_0} \newcommand{\DimIdTwo}{\DimId_1} \newcommand{\DimIdThree}{\DimId_2} \newcommand{\TopoAlpha}[1]{\alpha_{#1}} \newcommand{\TopoPhi}[1]{\phi_{#1}} \newcommand{\UTopology}{\mathsf{U}} \newcommand{\Map}[1]{\mathsf{#1}} \newcommand{\OMap}[1]{\mathsf{#1}} \newcommand{\UOMap}[1]{\UTopology(#1)} \newcommand{\Topology}{\mathsf{T}} \newcommand{\DartsOf}[1]{\operatorname*{\mathsf{D}}\left(#1\right)} \newcommand{\DartIndex}[1]{\operatorname*{\mathsf{ID}}\left(#1\right)} \newcommand{\OR}{\operatorname{OR}} \newcommand{\AND}{\operatorname{AND}} \newcommand{\XOR}{\operatorname{XOR}} \newcommand{\Decomp}{\operatorname{dec}} \newcommand{\ParentDomain}{\SymbolParentModifier{\SymbolDomain}} \newcommand{\ParentDomainChart}{\SymbolParentModifier{\Vec{\phi}}} \newcommand{\ParentDomainChartFunctionOf}[2]{\QuantityFunctionOf{{\ParentDomainChart}^{#1}}{#2}} \newcommand{\ParentDim}{\SymbolDim} \newcommand{\ParentCoord}{\xi} \newcommand{\ParentCoordVec}{\Vec{\ParentCoord}} \newcommand{\ParentS}{\ParentCoord_0} \newcommand{\ParentT}{\ParentCoord_1} \newcommand{\ParentU}{\ParentCoord_2} \newcommand{\ParentBarycentric}[1]{\ParentCoord_{#1}} \newcommand{\ParentGrevillePoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}} \newcommand{\ParentGrevillePointFunctionOf}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParentGrevillePointSet}[1]{\QuantityFunctionOf{\Set{\SymbolParentModifier{G}}}{#1}} \newcommand{\BernsteinBasisFuncId}{\BasisFuncId} \newcommand{\BernsteinBasisFuncIdAlt}{\BasisFuncIdAlt} \newcommand{\BernsteinBasisFuncIdAltAlt}{\BasisFuncIdAltAlt} \newcommand{\BernsteinBasisFuncIdB}{\BasisFuncIdAltAlt} \newcommand{\BernsteinBasisFuncIdOne}{\BernsteinBasisFuncId_0} \newcommand{\BernsteinBasisFuncIdTwo}{\BernsteinBasisFuncId_1} \newcommand{\BernsteinBasisFuncIdSet}{\Set{\BernsteinBasisFuncId}} \newcommand{\BernsteinBasisFuncIndexTuple}{\BernsteinBasisFuncIdSet} \newcommand{\BernsteinBasisFuncIndexTupleAlt}{\Set{\BernsteinBasisFuncIdAlt}} \newcommand{\BernsteinBasisFuncIndexTupleAltAlt}{\Set{\BernsteinBasisFuncIdAltAlt}} \newcommand{\BernsteinBasisFuncIndexTupleB}{\Set{\BernsteinBasisFuncIdB}} \newcommand{\BernsteinDegree}{\PolynomialDegree} \newcommand{\BernsteinDegreeAlt}{q} \newcommand{\BernsteinDegreeTuple}{\Tuple{\BernsteinDegree}} \newcommand{\BernsteinDegreeElevMatComp}{D} \newcommand{\BernsteinDegreeElevMat}{\Mat{\BernsteinDegreeElevMatComp}} \newcommand{\CompletePolynomial}[1]{\AbsoluteValue{#1}} \newcommand{\BernsteinBasisFunc}{\SymbolBernstein} \newcommand{\BernsteinBasisFuncVec}[1]{\QuantityChildOf{#1}{\Vec{\SymbolBernstein}}} \newcommand{\BernsteinBasisFuncVecFunctionOf}[2]{\QuantityFunctionOf{\BernsteinBasisFuncVec{#1}}{#2}} \newcommand{\BernsteinBasisFuncDetailed}[2]{\BernsteinBasisFunc_{#1}^{#2}} \newcommand{\BernFuncLowerDimCell}[2]{\BernsteinBasisFunc^{#1}_{#2}} \newcommand{\BernFuncInterf}[1]{\BernFuncLowerDimCell{\Interface}{#1}} \newcommand{\BernsteinSpace}{\SpaceHilbert{\SymbolBernstein}} \newcommand{\BernsteinRestriction}[2]{#1\vert_{#2}} \newcommand{\Bezier}{B\'ezier} \newcommand{\MeshTopo}{\boldsymbol{\textsf{M}}} \newcommand{\MeshSize}{h} \newcommand{\MeshBezier}{\boldsymbol{\textsf{B}}} \newcommand{\CellArbitrary}[1]{\Set{#1}} \newcommand{\Cell}{\CellArbitrary{c}} \newcommand{\CellAlpha}{\CellArbitrary{a}} \newcommand{\CellBeta}{\CellArbitrary{b}} \newcommand{\CellGamma}{\CellArbitrary{c}} \newcommand{\CellToTheLeft}{\CellAlpha} \newcommand{\CellToTheRight}{\CellBeta} \newcommand{\CellBoundary}[1]{\partial #1} \newcommand{\CellSet}[1]{\Set{C}^{#1}} \newcommand{\CellSetAdjacent}[1]{\Set{ADJ}^{#1}} \newcommand{\CellSetAdjacentFunctionOf}[2]{\QuantityFunctionOf{\CellSetAdjacent{#1}}{#2}} \newcommand{\NRing}[1]{\QuantitySubscriptedBy{\operatorname{ring}}{#1}} \newcommand{\NRingFunctionOf}[2]{\SQFO{\operatorname{ring}}{#1}{#2}} \newcommand{\CellSetCardinal}[1]{\QuantityFunctionOf{\Set{CRD}}{#1}} \newcommand{\CellSetSupport}[1]{\Support{#1}} \newcommand{\Elem}{\Set{E}} \newcommand{\Interface}{\Set{I}} \newcommand{\Smoothness}{\vartheta} \newcommand{\SmoothnessVar}{\rho} \newcommand{\SmoothnessSet}{\Set{\Smoothness}} \newcommand{\InterfaceSmoothness}[1]{\QuantityChildOf{#1}{\Smoothness}} \newcommand{\MaxPerpCont}[1]{\QuantityFunctionOf{\Smoothness^{\perp}_{\max}}{#1}} \newcommand{\Face}{\Set{f}} \newcommand{\Edge}{\Set{e}} \newcommand{\Vertex}{\Set{v}} \newcommand{\CodimTwoCell}{\Set{w}} \newcommand{\KCell}{\Cell^\ArbDim} \newcommand{\KPlusOneCell}{\Cell^{\ArbDim+1}} \newcommand{\KCellAlpha}{\CellAlpha^\ArbDim} \newcommand{\KPlusOneCellBeta}{\CellBeta^{\ArbDim+1}} \newcommand{\MaxParallelDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\max}}{#1}} \newcommand{\MinParallelDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\min}}{#1}} \newcommand{\MaxPerpDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\max}}{#1}} \newcommand{\MinPerpDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\min}}{#1}} \newcommand{\MinParallelPerpDegree}[2]{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\min}}{#1,#2}} \newcommand{\MaxParallelPerpDegree}[2]{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\max}}{#1,#2}} \newcommand{\DegreeParallel}{\BernsteinDegree^{\parallel}} \newcommand{\DegreeParallelToEdge}[2]{\DegreeParallel_{#1}(#2)} \newcommand{\DegreePerp}{\BernsteinDegree^{\perp}} \newcommand{\DegreePerpToInterface}[2]{\DegreePerp_{#1}(#2)} \newcommand{\DegreeTupleParallelToKCell}[2]{\Tuple{\BernsteinDegree}^{\parallel}_{#1}(#2)} \newcommand{\ChangeInDegree}[2]{\Delta(\BernsteinDegree)_{#1}^{#2}} \newcommand{\IndexSet}{\Set{ID}} \newcommand{\IndexSetFunctionOf}[1]{\QuantityFunctionOf{\IndexSet}{#1}} \newcommand{\CompositeBVUnionIndexSet}[1]{\QuantityFunctionOf{\Set{UID}}{#1}} \newcommand{\IndexSetPosCoeffs}[1]{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\IndexSetSet}{\boldsymbol{\IndexSet}} \newcommand{\IndexSetSetFunctionOf}[1]{\QuantityFunctionOf{\IndexSetSet}{#1}} \newcommand{\IndexSetOnMeshBezier}{\IndexSetFunctionOf{\MeshBezier}} \newcommand{\IndexOnCell}[2]{\QuantityChildOf{#1}{#2}} \newcommand{\IndexOnCellIJ}[3]{\QuantityChildOf{#1}{\TupleRoster{#2,#3}}} \newcommand{\CellFromQuantity}[1]{\QuantityFunctionOf{\operatorname{cell}}{#1}} \newcommand{\ExtractionOp}[1]{\QuantityChildOf{#1}{\Mat{C}}} \newcommand{\ExtractionOpFunctionOf}[2]{\QuantityFunctionOf{\ExtractionOp{#1}}{#2}} \newcommand{\ReconstructOp}[1]{\QuantityChildOf{#1}{\Mat{R}}} \newcommand{\ReconstructOpFunction}[2]{\QuantityFunctionOf{\ReconstructOp{#1}}{#2}} \newcommand{\Gramian}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{G}}{#2}}} \newcommand{\BernsteinSpaceOnMeshBezier}{\QCO{\MeshBezier}{\BernsteinSpace}} \newcommand{\ii}{\IndexOnCell{}{\BernsteinBasisFuncIndexTuple}} \newcommand{\jj}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAlt}} \newcommand{\kk}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAltAlt}} \newcommand{\ParamDomain}{\SymbolParamModifier{\SymbolDomain}} \newcommand{\ParamDomainOnCell}{\QuantityChildOf{\Cell}{\ParamDomain}} \newcommand{\ParamDomainBdry}{\SymbolParamModifier{\SymbolDomainBdry}} \newcommand{\ParamDomainChart}[1]{\Vec{\phi}^{#1}} \newcommand{\ParamDomainChartFunctionOf}[2]{\QuantityFunctionOf{\ParamDomainChart{#1}}{#2}} \newcommand{\ParamDim}{\SymbolDim} \newcommand{\ParamCoordSimple}{s} \newcommand{\ParamCoord}[1]{\QCO{#1}{s}} \newcommand{\ParamCoordVecSimple}{\Vec{s}} \newcommand{\ParamCoordVec}[1]{\QCO{#1}{\Vec{\ParamCoordSimple}}} \newcommand{\ParamDomainBdryParamCoord}{\ParamCoord{\ParamDomainBdry}} \newcommand{\ParamDomainBdryParamCoordVec}{\ParamCoordVec{\ParamDomainBdry}} \newcommand{\ParamCoordVecSet}{\boldsymbol{\Set{S}}} \newcommand{\ParamS}{\ParamCoord{}_0} \newcommand{\ParamT}{\ParamCoord{}_1} \newcommand{\ParamU}{\ParamCoord{}_2} \newcommand{\ParamBarycentric}[1]{\lambda_{#1}} \newcommand{\ParamLength}{\ell} \newcommand{\ParamLengthLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLength}} \newcommand{\ParamLengthRight}{\QuantityChildOf{\CellToTheRight}{\ParamLength}} \newcommand{\ParamLengthInS}{\ParamLength_{0}} \newcommand{\ParamLengthInT}{\ParamLength_{1}} \newcommand{\ParamLengthLeftS}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInS}} \newcommand{\ParamLengthLeftT}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInT}} \newcommand{\ParamLengthRightS}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInS}} \newcommand{\ParamLengthRightT}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInT}} \newcommand{\ParamLengthInSLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInS}} \newcommand{\ParamLengthInTLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInT}} \newcommand{\ParamLengthInSRight}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInS}} \newcommand{\ParamLengthInTRight}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInT}} \newcommand{\BernsteinDegreeInS}{\BernsteinDegree_{0}} \newcommand{\BernsteinDegreeInT}{\BernsteinDegree_{1}} \newcommand{\BernsteinDegreeLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegree}} \newcommand{\BernsteinDegreeRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegree}} \newcommand{\BernsteinDegreeInSLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegreeInS}} \newcommand{\BernsteinDegreeInSRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegreeInS}} \newcommand{\BernsteinDegreeInTLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegreeInT}} \newcommand{\BernsteinDegreeInTRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegreeInT}} \newcommand{\BernsteinDegreeBarycentricLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegree}} \newcommand{\BernsteinDegreeBarycentricRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegree}} \newcommand{\ParamGrevillePoint}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParamModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParamGrevillePointSet}[1]{\QuantityFunctionOf{\Set{\SymbolParamModifier{G}}}{#1}} \newcommand{\ParamDomainOnMeshBezier}{\QuantityChildOf{\MeshBezier}{\ParamDomain}} \newcommand{\BernsteinTraceMappingMat}{\Mat{M}} \newcommand{\NormalParamCoordSet}[2]{\QuantityFunctionOf{\ParamCoordVecSimple^{\perp}_{#1}}{#2}} \newcommand{\ParallelParamCoordSet}[2]{\QuantityFunctionOf{\ParamCoordVecSimple^{\parallel}_{#1}}{#2}} \newcommand{\Submesh}{\boldsymbol{\textsf{K}}} \newcommand{\SubmeshDomain}{\SymbolSubmeshModifier{\SymbolDomain}} \newcommand{\SubmeshDomainBdry}{\SymbolSubmeshModifier{\SymbolDomainBdry}} \newcommand{\SubmeshDomainChart}[1]{\QuantityChildOf{#1}{\Vec{\varphi}}} \newcommand{\SubmeshDomainChartFunctionOf}[2]{\QuantityFunctionOf{\SubmeshDomainChart{#1}}{#2}} \newcommand{\SubmeshDomainParameter}{\mathsf{\alpha}} \newcommand{\SubmeshDomainParameterVec}{\Vec{\SubmeshDomainParameter}} \newcommand{\SubmeshGrevillePoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}} \newcommand{\SubmeshGrevillePointFunctionOf}[2]{\QuantityFunctionOf{\SubmeshGrevillePoint{#1}}{#2}} \newcommand{\SubmeshGrevilleMaxPoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolGrevillePoint}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSet}[1]{\QuantityChildOf{#1}{\Set{G}}_{\max}} \newcommand{\SubmeshGrevilleMinPointSet}[1]{\QuantityChildOf{#1}{\Set{G}}_{\min}} \newcommand{\SubmeshGrevilleMaxPointLeft}{\SubmeshGrevilleMaxPoint{\CellAlpha}} \newcommand{\SubmeshGrevilleMaxPointRight}{\SubmeshGrevilleMaxPoint{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointIntersection}{\SubmeshGrevilleMaxPoint{\Interface}} \newcommand{\SubmeshGrevilleMinPointSetLeft}{\SubmeshGrevilleMinPointSet{\CellAlpha}} \newcommand{\SubmeshGrevilleMinPointSetRight}{\SubmeshGrevilleMinPointSet{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointSetLeft}{\SubmeshGrevilleMaxPointSet{\CellAlpha}} \newcommand{\SubmeshGrevilleMaxPointSetRight}{\SubmeshGrevilleMaxPointSet{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointSetIntersection}{\SubmeshGrevilleMaxPointSet{\Interface}} \newcommand{\SubmeshGrevillePointSet}{\Set{\SymbolSubmeshModifier{G}}} \newcommand{\SubmeshGrevillePointSetFunctionOf}[1]{\QuantityFunctionOf{\SubmeshGrevillePointSet}{#1}} \newcommand{\SubmeshGrevillePointSetLeft}{\Set{\SymbolSubmeshModifier{GA}}} \newcommand{\SubmeshGrevillePointSetRight}{\Set{\SymbolSubmeshModifier{GB}}} \newcommand{\SubmeshGrevillePointSetElement}[1]{\Set{\SymbolSubmeshModifier{GE}}_{#1}} \newcommand{\SubmeshGrevillePointSetIntersect}{\Set{\SymbolSubmeshModifier{GI}}} \newcommand{\SubmeshGrevillePointSetUnion}[1]{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GU}}}{#1}} \newcommand{\SubmeshGrevillePointSetSet}{\boldsymbol{\SubmeshGrevillePointSet}} \newcommand{\SubmeshGrevillePointSetSetFunctionOf}[1]{\QuantityFunctionOf{\SubmeshGrevillePointSetSet}{#1}} \newcommand{\SubmeshGrevillePointSetSetLeft}{\boldsymbol{\SymbolSubmeshModifier{\Set{GA}}}} \newcommand{\SubmeshGrevillePointSetSetRight}{\boldsymbol{\SymbolSubmeshModifier{\Set{GB}}}} \newcommand{\SubmeshGrevillePointSetSetElement}[2]{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1}}{#2}} \newcommand{\SubmeshGrevilleDifferenceVectorsSet}{\Delta \SubmeshGrevillePointSetFunctionOf{a}} \newcommand{\SubmeshGrevilleDifferenceVectorsSetRight}{\Delta\SubmeshGrevilleMaxPointSetRight} \newcommand{\SubmeshGrevilleDifferenceVector}{\Delta\SubmeshGrevilleMaxPoint{a}} \newcommand{\SubmeshGrevilleDifferenceVectorLeft}{\Delta\SubmeshGrevilleMaxPointLeft} \newcommand{\SubmeshGrevilleDifferenceVectorRight}{\Delta\SubmeshGrevilleMaxPointRight} \newcommand{\SubmeshGrevilleDistanceToCell}[2]{\QuantityFunctionOf{\SymbolDistance}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCell}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMin}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\min}}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMax}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\max}}{#1, #2}} \newcommand{\SubmeshPerpProjection}[1]{\Projection^{\perp}_{#1}} \newcommand{\SubmeshPerpProjectionFunctionOf}[2]{\QuantityFunctionOf{\SubmeshPerpProjection{#1}}{#2}} \newcommand{\SubmeshParallelProjection}[1]{\Projection^{\parallel}_{#1}} \newcommand{\SubmeshParallelProjectionFunctionOf}[2]{\QuantityFunctionOf{\SubmeshParallelProjection{#1}}{#2}} \newcommand{\SubmeshStarProjection}[2]{\QuantityFunctionOf{\Projection^{*}_{#1}}{#2}} \newcommand{\SubmeshPerpEquivalence}[1]{\varpi^{\perp}_{#1}} \newcommand{\SubmeshParallelEquivalence}[1]{\varpi^{\parallel}_{#1}} \newcommand{\SubmeshParallelEquivalenceFunctionOf}[2]{\QuantityFunctionOf{\SubmeshParallelEquivalence{#1}}{#2}} \newcommand{\SubmeshStarEquivalence}[1]{\varpi^{*}_{#1}} \newcommand{\AlignedSet}{{\boldsymbol{\textsf{Align}}}} \newcommand{\AlignedSetSet}{{\boldsymbol{\textsf{ALIGN}}}} \newcommand{\AlignmentSetOfSetsLeft}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetOfSetsRight}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetForInterfaceGrevillePoint}{\AlignedSet_{\SubmeshGrevillePoint{\Interface}{}}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRow}{\Set{NZ}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRowFunctionOf}[2]{\QuantityFunctionOf{\IndexSetOfNonZeroEntriesInMapMatOnRow_{#1}}{#2}} \newcommand{\AlignmentSetOfSetsOnLowerDCell}[2]{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1,#2}^{\parallel}} \newcommand{\AlignmentSetOfSetsLeftThreeD}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \ii}^{\parallel}} \newcommand{\AlignmentSetOfSetsRightThreeD}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \ii}^{\parallel}} \newcommand{\KPlusOneCellAdjacentIndexedSubmeshDomain}{\QuantityChildOf{\CellAlpha\CellBeta}{\SubmeshDomain}} \newcommand{\StructuredSymbol}{\square} \newcommand{\StructuredSubmesh}[1]{\Submesh^{\StructuredSymbol}_{#1}} \newcommand{\ToGlobalDartOp}{\operatorname*{\mathsf{G}}} \newcommand{\ProlongationMat}{\Mat{P}} \newcommand{\RestrictionMat}{\Mat{R}} \newcommand{\MeshUspline}{\boldsymbol{\textsf{\SymbolUspline}}} \newcommand{\SetNeighborhoodOfInteraction}[1]{\QuantityFunctionOf{\textsf{NI}}{#1}} \newcommand{\Ray}{\Set{r}} \newcommand{\RayHead}{\Edge^{h}} \newcommand{\RayTail}{\Vec{t}} \newcommand{\RayTailId}{j} \newcommand{\RayTailIdOne}{\RayTailId_0} \newcommand{\RayTailIdTwo}{\RayTailId_1} \newcommand{\RayTailOrigin}{\textsf{o}} \newcommand{\RayTailEdge}{\Edge} \newcommand{\RayTailVertexMaxContinuity}[1]{\Smoothness_{#1}^{\max}} \newcommand{\RayTailEdgeMinDegree}[1]{\BernsteinDegree_{#1}^{\min}} \newcommand{\RaySkeleton}[1]{\operatorname{skel}(#1)} \newcommand{\RaySmoothness}[2]{\Smoothness_{#1}^{#2}} \newcommand{\RayDegree}[2]{\BernsteinDegree_{#1}^{#2}} \newcommand{\RayContinuityTransition}{\Set{cr}} \newcommand{\RayDegreeTransition}{\Set{dr}} \newcommand{\RayTailSize}{\Size{\RayTail}} \newcommand{\RayTailTargetSize}{n} \newcommand{\RayIsTruncated}{\Set{trunc}} \newcommand{\RayAlgBernIndexVariable}{\BernsteinBasisFuncIdSet} \newcommand{\RayStartingBernIndex}{\RayAlgBernIndexVariable_{\RayHead}} \newcommand{\BernIndexOnSpecificRayTailEdge}[1]{\RayAlgBernIndexVariable_{#1}} \newcommand{\Ribbon}{\Set{r}} \newcommand{\RibbonHead}{\Interface^{h}} \newcommand{\RibbonTail}{\Vec{t}} \newcommand{\RibbonTailId}{j} \newcommand{\RibbonTailIdOne}{\RibbonTailId_0} \newcommand{\RibbonTailIdTwo}{\RibbonTailId_1} \newcommand{\RibbonTailOrigin}{\textsf{o}} \newcommand{\RibbonTailInterf}{\Interface} \newcommand{\RibbonTailCodimTwoCellMaxContinuity}[1]{\Smoothness_{#1}^{\max}} \newcommand{\RibbonTailInterfMinDegree}[1]{\BernsteinDegree_{#1}^{\min}} \newcommand{\RibbonSkeleton}[1]{\operatorname{skel}(#1)} \newcommand{\RibbonSmoothness}[2]{\Smoothness_{#1}^{#2}} \newcommand{\RibbonDegree}[2]{\BernsteinDegree_{#1}^{#2}} \newcommand{\RibbonContinuityTransition}{\Set{cr}} \newcommand{\RibbonDegreeTransition}{\Set{dr}} \newcommand{\RibbonTailSize}{\Size{\RibbonTail}} \newcommand{\RibbonTailTargetSize}{n} \newcommand{\RibbonIsTruncated}{\Set{trunc}} \newcommand{\RibbonAlgBernIndexVariable}{\BernsteinBasisFuncIdSet} \newcommand{\RibbonStartingBernIndex}{\RibbonAlgBernIndexVariable_{\RibbonHead}} \newcommand{\BernIndexOnSpecificRibbonTailInterf}[1]{\RibbonAlgBernIndexVariable_{#1}} \newcommand{\ParamDomainOnMeshUspline}{\QuantityChildOf{\MeshUspline}{\ParamDomain}} \newcommand{\UsplineSpace}{\SpaceHilbert{\SymbolUspline}} \newcommand{\UsplineBasisFunc}{\SymbolBasisUspline} \newcommand{\UsplineBasisFuncDetailed}[2]{\UsplineBasisFunc^{#1}_{#2}} \newcommand{\UsplineBasisFuncSet}{\Set{UF}} \newcommand{\UsplineBasisFuncSetFunctionOf}[1]{\QuantityFunctionOf{\UsplineBasisFuncSet}{#1}} \newcommand{\UsplineBasisFuncVec}[1]{\QuantityChildOf{#1}{\Vec{\SymbolBasisUspline}}} \newcommand{\UsplineBasisFuncVecFunctionOf}[2]{\QuantityFunctionOf{\UsplineBasisFuncVec{#1}}{#2}} \newcommand{\UsplineBasisFuncSetOnMeshBezier}{\QuantityFunctionOf{\Set{UF}}{\MeshBezier}} \newcommand{\UsplineBasisFuncSetOnMeshUspline}{\QuantityFunctionOf{\Set{UF}}{\MeshUspline}} \newcommand{\UsplineBasisFuncSetSupport}[1]{\Support{\UsplineBasisFuncSetFunctionOf{#1}}} \newcommand{\UsplineBasisFuncId}{A} \newcommand{\UsplineBasisFuncIdVec}{\Vec{A}} \newcommand{\UsplineBasisFuncIdAlt}{B} \newcommand{\UsplineBasisFuncIdLocal}{a} \newcommand{\UsplineBasisFuncIdOne}{\UsplineBasisFuncId_0} \newcommand{\UsplineBasisFuncIdTwo}{\UsplineBasisFuncId_1} \newcommand{\UsplineBasisFuncNormalized}{\bar{\SymbolBasisUspline}} \newcommand{\UsplineBasisFuncParam}[1]{\UsplineBasisFuncDetailed{\MeshBezier}{#1}} \newcommand{\UsplineDegree}{q} \newcommand{\UsplineNullVectorCoeff}{u} \newcommand{\UsplineNullVector}{\Vec{\UsplineNullVectorCoeff}} \newcommand{\UsplineNullVectorIds}{\Set{id}} \newcommand{\UsplineNullVectorSet}{\boldsymbol{\textsf{UV}}} \newcommand{\UsplineNullVectorSetOfIndexSets}{\boldsymbol{\textsf{UI}}} \newcommand{\UsplineNullVectorSetOnMeshBezier}{\NullVectorSetFunctionOf{\MeshBezier}} \newcommand{\UsplineNullVectorSetOnMeshUspline}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshUspline}} \newcommand{\UsplineSpaceOnMeshUspline}{\QCO{\MeshUspline}{\UsplineSpace}} \newcommand{\UsplineCellToGlobalBasisFuncIndexMap}[1]{\operatorname{ucg}(#1)} \newcommand{\UsplineCellToGlobalBasisFuncIndexMapDef}{\FuncDef{\operatorname{ucg}}{\MeshBezier\times\Integers}{\Integers}} \newcommand{\BernsteinBasisFuncCoeff}{\SymbolArbitraryCoeffBernstein} \newcommand{\BernsteinBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffBernstein}}}{\MeshBezier}} \newcommand{\BernsteinBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffBernstein}}{\MeshBezier}} \newcommand{\UsplineBasisFuncCoeff}{\SymbolArbitraryCoeffUspline} \newcommand{\UsplineBasisFuncCoeffAlt}{\SymbolArbitraryCoeffUsplineAlt} \newcommand{\UsplineBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffUspline}}}{\MeshUspline}} \newcommand{\UsplineBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffUspline}}{\MeshUspline}} \newcommand{\ContiguousIndexMap}[1]{i_{#1}} \newcommand{\Constraint}{R} \newcommand{\ConstraintCoeff}{r} \newcommand{\ConstraintCoeffsSet}{\boldsymbol{\Set{\ConstraintCoeff}}} \newcommand{\ConstraintCoeffsVec}{\Vec{\ConstraintCoeff}} \newcommand{\ConstraintSet}{\Set{\Constraint}} \newcommand{\ConstraintSetFunctionOf}[1]{\QuantityFunctionOf{\ConstraintSet}{#1}} \newcommand{\ConstraintSetOnMeshBezier}{\ConstraintSetFunctionOf{\MeshBezier}} \newcommand{\ConstraintMat}{\Mat{\Constraint}} \newcommand{\ConstraintMatFunctionOf}[1]{\QuantityFunctionOf{\ConstraintMat}{#1}} \newcommand{\ConstraintMatOnMeshBezier}{\ConstraintMatFunctionOf{\MeshBezier}} \newcommand{\SparsestPossibleBasisOnCell}[1]{\QFO{\Set{N}}{#1}} \newcommand{\NullVectorCoeff}[1]{#1} \newcommand{\NullVector}{\Vec{v}} \newcommand{\NullVectorFunctionOf}[1]{\QuantityFunctionOf{\NullVector}{#1}} \newcommand{\NullVectorArbitrary}[1]{\Vec{#1}} \newcommand{\KCellNullVectorForCellAlpha}{\NullVectorArbitrary{n}_{\KCellAlpha}} \newcommand{\KPlusOneCellNullVectorForCellBeta}{\NullVectorArbitrary{n}_{\KPlusOneCellBeta}} \newcommand{\NullVectorSet}{\boldsymbol{\textsf{BV}}}%changed from mathsf \newcommand{\NullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\NullVectorSet}{#1}}%changed from mathsf \newcommand{\CompositeNullVectorSet}{\NullVectorSet^{\prime\prime}} \newcommand{\CompositeNullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\CompositeNullVectorSet}{#1}} \newcommand{\SimpleNullVectorSet}{\NullVectorSet^{\prime}} \newcommand{\SimpleNullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\SimpleNullVectorSet}{#1}} \newcommand{\InterfaceNullVectorSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}}{#1}} \newcommand{\InterfaceNullVectorAlignedSubset}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}_{#1}}{#2}} \newcommand{\NullVectorSetOfIndexSets}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{BI}}}{#1}} \newcommand{\NullVectorSetGrevilleSets}{\boldsymbol{\textsf{BG}}}%changed from mathsf \newcommand{\NullVectorSetGrevilleSetsFunctionOf}[1]{\QuantityFunctionOf{\NullVectorSetGrevilleSets}{#1}}%changed from mathsf \newcommand{\NullVectorSetSubordinateToNullVector}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}}{#1}} \newcommand{\NullVectorSetSubordinateToNullVectorOnCell}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}_{#1}}{#2}} \newcommand{\NullVectorSetOnBdryOfNullVector}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{BD}}_{#1}}{#2}} \newcommand{\NullVectorEquivClass}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{EBV}}}{#1}} \newcommand{\NullVectorIndexEquivClass}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{EBI}}}{#1}} \newcommand{\NullVectorGrevilleEquivClass}{\boldsymbol{\textsf{EBG}}}%changed from mathsf \newcommand{\NullVectorGrevilleEquivClassFunctionOf}[1]{\QuantityFunctionOf{\NullVectorGrevilleEquivClass}{#1}}%changed from mathsf \newcommand{\NullVectorExpansionSet}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{XBV}}}{#1,#2}} \newcommand{\NullSpaceOperatorForm}[1]{\QuantityFunctionOf{\SpaceHilbert{N}}{#1}} \newcommand{\NullSpaceOperatorFormOnMeshBezier}{\NullSpaceOperatorForm{\MeshBezier}} \newcommand{\NullSpaceVectorForm}{\Set{N}} \newcommand{\NullSpaceVectorFormFunctionOf}[1]{\QuantityFunctionOf{\NullSpaceVectorForm}{#1}} \newcommand{\NullVectorGrevillePointSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}} \newcommand{\DegSmoothDiff}[2]{\delta_{#1}^{#2}} \newcommand{\FaceEdgeDiff}{\Set{t}} \newcommand{\FaceEdgeDiffSet}[1]{\Set{T}_{#1}} \newcommand{\PerpTuple}[1]{\QuantityFunctionOf{\FaceEdgeDiff^\perp}{#1}} \newcommand{\ParallelTuple}[1]{\QuantityFunctionOf{\FaceEdgeDiff^\parallel}{#1}} \newcommand{\ElemInterfDiff}{\Set{t}} \newcommand{\ElemInterfDiffSet}[1]{\Set{T}_{#1}} \newcommand{\SpokeSymbol}{\rho} \newcommand{\ElemInterfPairSymbol}{t} \newcommand{\ElemKPlusOneCellPair}{\Set{\SpokeSymbol}} \newcommand{\Spoke}{\ElemKPlusOneCellPair} \newcommand{\ElemInterfPair}{\Set{\ElemInterfPairSymbol}} \newcommand{\EIDPerpTuple}[1]{\QuantityFunctionOf{\ElemInterfDiff^\perp}{#1}} \newcommand{\EIDParallelTuple}[1]{\QuantityFunctionOf{\ElemInterfDiff^\parallel}{#1}} \newcommand{\InclDist}{\textsf{inc}}%changed from mathsf \newcommand{\InclDistFunctionOf}[1]{\QuantityFunctionOf{\InclDist}{#1}}%changed from mathsf \newcommand{\InclDistSet}[2]{\Set{INC}^{#1,#2}} \newcommand{\EdgeInclDist}[3]{\InclDistSet{#2}{#3}_{#1}} \newcommand{\PerpEdgesSet}{\Set{E}^\perp} \newcommand{\PerpInterfacesSet}{\Set{IRF}^\perp} \newcommand{\PerpOfKPlusOneCellInterfSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{PI}}}{#1}} \newcommand{\PerpKPlusOneCellSet}{\boldsymbol{\textsf{PC}}}%changed from mathsf \newcommand{\PerpKPlusOneCellSetFunctionOf}[1]{\QuantityFunctionOf{\PerpKPlusOneCellSet}{#1}}%changed from mathsf \newcommand{\ElemKPlusOneCellPairPerp}[1]{\QuantityFunctionOf{\Set{\SpokeSymbol}^\perp}{#1}} \newcommand{\ElemInterfPairPerp}[1]{\QuantityFunctionOf{\Set{t}^\perp}{#1}} \newcommand{\ElemInterfPairParallel}[1]{\QuantityFunctionOf{\Set{\ElemInterfPairSymbol}^\parallel}{#1}} \newcommand{\ElemKPlusOneCellPairParallelSet}[1]{\QuantityFunctionOf{\Set{\SpokeSymbol}^\parallel}{#1}} \newcommand{\KPlusOneCellNullVectorSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}}{#1}} \newcommand{\KPlusOneCellNullVectorAlignedSubset}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}_{#1}}{#2}} \newcommand{\Graph}{G} \newcommand{\GraphFunctionOf}[1]{\QuantityFunctionOf{\Graph}{#1}} \newcommand{\GraphCore}{K} \newcommand{\GraphDirectedEdge}{\Edge_{i,j}} \newcommand{\GraphDirectedEdgeIJ}[2]{\Edge_{#1,#2}} \newcommand{\GraphCoreToVertex}[1]{\QuantityFunctionOf{\Vertex}{#1}} \newcommand{\GraphCoreChildren}[1]{\QuantityFunctionOf{\operatorname{children}}{#1}} \newcommand{\GraphVertexToCore}[1]{\QuantityFunctionOf{\GraphCore}{#1}} \newcommand{\GraphInteractingEdges}{\Set{IE}} \newcommand{\GraphCoveredEdges}{\Set{CE}} \newcommand{\GraphFailedEdges}{\Set{FE}} \newcommand{\GraphCandidateEdges}{\Set{XE}} \newcommand{\UsplineClass}[1]{\boldsymbol{\mathcal{\SymbolUspline}}^{#1}} \newcommand{\UClassRegular}{R} \newcommand{\UClassIrregular}{r} \newcommand{\UClassContFinite}{H} \newcommand{\UClassContInfinity}{h} \newcommand{\UClassGlobalSmoothness}{K} \newcommand{\UClassLocalSmoothness}{k} \newcommand{\UClassGlobalDegree}{P} \newcommand{\UClassLocalDegree}{p} \newcommand{\SuperscriptRHKP}{\UClassRegular\UClassContFinite\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrHKP}{\UClassIrregular\UClassContFinite\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRhKP}{\UClassRegular\UClassContInfinity\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrhKP}{\UClassIrregular\UClassContInfinity\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRHkP}{\UClassRegular\UClassContFinite\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrHkP}{\UClassIrregular\UClassContFinite\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRhkP}{\UClassRegular\UClassContInfinity\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrhkP}{\UClassIrregular\UClassContInfinity\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRHKp}{\UClassRegular\UClassContFinite\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrHKp}{\UClassIrregular\UClassContFinite\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRhKp}{\UClassRegular\UClassContInfinity\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrhKp}{\UClassIrregular\UClassContInfinity\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRHkp}{\UClassRegular\UClassContFinite\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrHkp}{\UClassIrregular\UClassContFinite\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRhkp}{\UClassRegular\UClassContInfinity\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\Superscriptrhkp}{\UClassIrregular\UClassContInfinity\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\UsplineClassRHKP}{\UsplineClass{\SuperscriptRHKP}} \newcommand{\UsplineClassrHKP}{\UsplineClass{\SuperscriptrHKP}} \newcommand{\UsplineClassRhKP}{\UsplineClass{\SuperscriptRhKP}} \newcommand{\UsplineClassrhKP}{\UsplineClass{\SuperscriptrhKP}} \newcommand{\UsplineClassRHkP}{\UsplineClass{\SuperscriptRHkP}} \newcommand{\UsplineClassrHkP}{\UsplineClass{\SuperscriptrHkP}} \newcommand{\UsplineClassRhkP}{\UsplineClass{\SuperscriptRhkP}} \newcommand{\UsplineClassrhkP}{\UsplineClass{\SuperscriptrhkP}} \newcommand{\UsplineClassRHKp}{\UsplineClass{\SuperscriptRHKp}} \newcommand{\UsplineClassrHKp}{\UsplineClass{\SuperscriptrHKp}} \newcommand{\UsplineClassRhKp}{\UsplineClass{\SuperscriptRhKp}} \newcommand{\UsplineClassrhKp}{\UsplineClass{\SuperscriptrhKp}} \newcommand{\UsplineClassRHkp}{\UsplineClass{\SuperscriptRHkp}} \newcommand{\UsplineClassrHkp}{\UsplineClass{\SuperscriptrHkp}} \newcommand{\UsplineClassRhkp}{\UsplineClass{\SuperscriptRhkp}} \newcommand{\UsplineClassrhkp}{\UsplineClass{\Superscriptrhkp}} \newcommand{\BaseTopoLine}{\mathsf{L}} \newcommand{\BaseTopoLoop}{\mathsf{P}} \newcommand{\BaseTopoOneDGeneric}{\MeshUspline^{\textsf{1D}}} \newcommand{\BaseTopoGrid}{\mathsf{G}} \newcommand{\BaseTopoAnnulus}{\mathsf{A}} \newcommand{\BaseTopoTorus}{\mathsf{T}} \newcommand{\BaseTopoTriangle}{\mathsf{\Delta}} \newcommand{\BaseTopoMixed}{\mathsf{M}} \newcommand{\BaseTopoMultiPatch}{\mathsf{X}} \newcommand{\BaseTopoPatch}{\mathsf{H}} \newcommand{\AlgNameBuildRayOfMaximumCouplingLength}{BuildRayOfMaximumCouplingLength} \newcommand{\AlgNameBuildRibbonOfMaximumCouplingLength}{BuildRibbonOfMaximumCouplingLength} \newcommand{\AlgNameComputeCoreGraph}{ComputeCoreGraph} \newcommand{\UpperDBMat}{\Mat{U}} \newcommand{\LowerWeightDBMat}{\Mat{W}} \newcommand{\RationalSplineWeightSymbol}{w} \newcommand{\NURBSWeight}{\RationalSplineWeightSymbol} \newcommand{\WeightFunc}[1][\RationalSplineWeightSymbol]{#1} \newcommand{\DBParamWeight}{\omega} \newcommand{\DualBCoeff}{d} \newcommand{\NumUsplineBasisFuncsOnMeshBezier}{\Size{\UsplineBasisFuncSetOnMeshBezier}} \newcommand{\NumUsplineBasisFuncsOnMeshUspline}{\Size{\UsplineBasisFuncSetOnMeshUspline}} \newcommand{\NumUsplineBasisFuncsOnElem}{\Size{\UsplineBasisFuncSetFunctionOf{\Elem}}} \newcommand{\NumBernsteinBasisFuncsOnMeshBezier}{\Size{\IndexSetOnMeshBezier}} \newcommand{\NumBernsteinBasisFuncsOnElem}{\Size{\IndexSetFunctionOf{\Elem}}} \newcommand{\NumElemsInMeshBezier}{\Size{\CellSet{\ParamDim}}}$$\newcommand{\SymbolTime}{t} \newcommand{\SymbolEnvModifier}[1]{\star\mspace{-1mu} #1} \newcommand{\SymbolInteriorModifier}[1]{\tilde{#1}} \newcommand{\SymbolClosestPointMap}{\kappa} \newcommand{\SymbolManifold}{m} \newcommand{\SymbolVolume}{v} \newcommand{\SymbolVolumeUpper}{V} \newcommand{\SymbolSurface}{s} \newcommand{\SymbolSurfaceUpper}{S} \newcommand{\SymbolCurve}{c} \newcommand{\SymbolCurveUpper}{C} \newcommand{\SymbolPoint}{p} \newcommand{\SymbolPointUpper}{P} \newcommand{\SymbolIndicator}{\chi} \newcommand{\SymbolSpatialDim}{n} \newcommand{\SymbolWildCard}{*} \newcommand{\SymbolSegment}{\epsilon} \newcommand{\SymbolSpatialCoord}{x} \newcommand{\SymbolSpatialCoordUpper}{x} \newcommand{\SymbolSegmentSet}{\boldsymbol{E}} \newcommand{\SymbolInside}{\bullet} \newcommand{\SymbolOutside}{\circ} \newcommand{\SymbolHybrid}{\circledcirc} \newcommand{\SymbolPartition}{\boldsymbol{\vartriangle}} \newcommand{\SymbolQuadratureWeight}{w} \newcommand{\SymbolQuadratureSet}{Q} \newcommand{\SymbolQuadraturePoint}{\xi} \newcommand{\SymbolIntegrationPoint}{i} \newcommand{\SymbolManifoldCoeff}{x} \newcommand{\SymbolManifoldCoeffUpper}{X} \newcommand{\SymbolManifoldCoeffUspline}{x} \newcommand{\SymbolManifoldCoeffUsplineUpper}{X} \newcommand{\SymbolManifoldCoeffBernstein}{x} \newcommand{\SymbolManifoldCoeffBernsteinUpper}{X} \newcommand{\SymbolCADModified}{\boldsymbol{\circledast}} \newcommand{\SymbolCAD}{\bar{\SymbolCADModified}} \newcommand{\SymbolProjection}{\Projection} \newcommand{\SymbolCovariantBasisSurf}{a} \newcommand{\SymbolCovariantBasisVol}{g} \newcommand{\SymbolMetric}{m} \newcommand{\SymbolCurvature}{k} \newcommand{\SymbolCurvCoordIdOne}{\alpha} \newcommand{\SymbolCurvCoordIdTwo}{\beta} \newcommand{\SymbolCurvCoordIdThree}{\gamma} \newcommand{\SymbolOrthogonalTransform}{Q} \newcommand{\SymbolLinearInterpolation}{\mathscr{l}} \newcommand{\ParamDomainEnv}{\SymbolEnvModifier{\ParamDomain}} \newcommand{\ParamDomainCAD}{\QRT{\ParamDomain}{\SymbolCAD}} \newcommand{\ParamDomainOnCellEnv}{\SymbolEnvModifier{\ParamDomainOnCell}} \newcommand{\ParamDomainOnCAD}{\QCO{\SymbolCAD}{\ParamDomain}} \newcommand{\ParamDomainOnCADModified}{\QCO{\SymbolCADModified}{\ParamDomain}} \newcommand{\ParamDomainOnPartition}{\QCO{\SymbolPartition}{\ParamDomain}} \newcommand{\SpatialDim}{\SymbolSpatialDim} \newcommand{\SpatialDomain}{\Reals^{\SymbolSpatialDim}} \newcommand{\SpatialCoord}{\SymbolSpatialCoord} \newcommand{\SpatialCoordX}{\SymbolSpatialCoord} \newcommand{\SpatialCoordY}{y} \newcommand{\SpatialCoordZ}{z} \newcommand{\SpatialCoordUpper}{\SymbolSpatialCoordUpper} \newcommand{\SpatialCoordVec}{\Vec{\SpatialCoord}} \newcommand{\SpatialCoordVecSet}[1]{\QuantityFunctionOf{\boldsymbol{\Set{X}}}{#1}} \newcommand{\UsplineBasisFuncSpatial}[1]{\UsplineBasisFuncDetailed{\SpatialCoord}{#1}} \newcommand{\Manifold}{\Set{\SymbolManifold}} \newcommand{\ManifoldRelatedTo}[1]{\QuantityRelatedTo{\Manifold}{#1}} \newcommand{\Volume}{\Set{\SymbolVolume}} \newcommand{\VolumeRelatedTo}[1]{\QuantityRelatedTo{\Volume}{#1}} \newcommand{\Surface}{\Set{\SymbolSurface}} \newcommand{\SurfaceRelatedTo}[1]{\QuantityRelatedTo{\Surface}{#1}} \newcommand{\Curve}{\Set{\SymbolCurve}} \newcommand{\CurveRelatedTo}[1]{\QuantityRelatedTo{\Curve}{#1}} \newcommand{\Point}{\Set{\SymbolPoint}} \newcommand{\PointRelatedTo}[1]{\QuantityRelatedTo{\Point}{#1}} \newcommand{\Partition}{\SymbolPartition} \newcommand{\ManifoldCAD}{\ManifoldRelatedTo{\SymbolCAD}} \newcommand{\ManifoldCADModified}{\ManifoldRelatedTo{\SymbolCADModified}} \newcommand{\ManifoldCADEnv}{\SymbolEnvModifier{\ManifoldCAD}} \newcommand{\ManifoldCADModifiedEnv}{\SymbolEnvModifier{\ManifoldCADModified}} \newcommand{\ManifoldPartition}{\ManifoldRelatedTo{\Partition}} \newcommand{\ManifoldBezier}{\ManifoldRelatedTo{\MeshBezier}} \newcommand{\ManifoldUspline}{\ManifoldRelatedTo{\MeshUspline}} \newcommand{\ManifoldUsplineInterior}{\QRT{\SymbolInteriorModifier{\Manifold}}{\MeshUspline}} \newcommand{\ManifoldUsplineEnv}{\SymbolEnvModifier{\ManifoldUspline}} \newcommand{\VolumeEnv}{\SymbolEnvModifier{\Volume}} \newcommand{\dVolume}{\Differential[\Volume]} \newcommand{\VolumeIndicator}{\SymbolIndicator} \newcommand{\SurfaceEnv}{\SymbolEnvModifier{\Surface}} \newcommand{\SurfaceCAD}{\SurfaceRelatedTo{\SymbolCAD}} \newcommand{\SurfaceCADModified}{\SurfaceRelatedTo{\SymbolCADModified}} \newcommand{\SurfaceMesh}{\SurfaceRelatedTo{\Partition}} \newcommand{\SurfaceUspline}{\SurfaceRelatedTo{\MeshUspline}} \newcommand{\SurfaceWildCard}{\Surface^{\SymbolWildCard}} \newcommand{\dSurface}{\Differential[\Surface]} \newcommand{\CurveCAD}{\CurveRelatedTo{\SymbolCAD}} \newcommand{\CurveCADModified}{\CurveRelatedTo{\SymbolCADModified}} \newcommand{\CurveMesh}{\CurveRelatedTo{\Partition}} \newcommand{\CurveUspline}{\CurveRelatedTo{\MeshUspline}} \newcommand{\dCurve}{\Differential[\Curve]} \newcommand{\PointCAD}{\PointRelatedTo{\SymbolCAD}} \newcommand{\PointCADModified}{\PointRelatedTo{\SymbolCADModified}} \newcommand{\PointUspline}{\PointRelatedTo{\MeshUspline}} \newcommand{\Segment}[1]{\QuantityChildOf{#1}{\SymbolSegment}} \newcommand{\SegmentOfVolumeEnv}{\Segment{\VolumeEnv}} \newcommand{\SegmentOfSurface}{\Segment{\Surface}} \newcommand{\Hex}{\Segment{}_{h}} \newcommand{\Tet}{\Segment{}_{t}} \newcommand{\SegmentParamDomain}[1]{\QuantityRelatedTo{\ParamDomain}{#1}} \newcommand{\SegmentParamDomainOfVolumeEnv}{\QuantityRelatedTo{\ParamDomain}{\Segment{\VolumeEnv}}} \newcommand{\SegmentParamDomainOfSurface}{\QuantityRelatedTo{\ParamDomain}{\Segment{\Surface}}} \newcommand{\SegmentSet}{\SymbolSegmentSet} \newcommand{\SegmentSetFunctionOf}[1]{\QuantityFunctionOf{\SegmentSet}{#1}} \newcommand{\SegmentSetOutside}{\SegmentSet^{\SymbolOutside}} \newcommand{\SegmentSetInside}{\SegmentSet^{\SymbolInside}} \newcommand{\SegmentSetHybrid}{\SegmentSet^{\SymbolHybrid}} \newcommand{\PartitionFunctionOf}[1]{\QuantityFunctionOf{\Partition}{#1}} \newcommand{\PartitionBezierExtraction}[1]{\QuantityFunctionOf{\SymbolPartition^{B}}{#1}} \newcommand{\PartitionTessellation}[1]{\QuantityFunctionOf{\SymbolPartition^{T}}{#1}} \newcommand{\PartitionTessellationOfUspline}{\PartitionTessellation{\MeshUspline}} \newcommand{\PartitionTessellationMap}[2]{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldCoeff}{\SymbolManifoldCoeff} \newcommand{\ManifoldCoeffUpper}{\SymbolManifoldCoeffUpper} \newcommand{\ManifoldCoeffUspline}{\QuantityRelatedTo{\SymbolManifoldCoeffUspline}{\MeshUspline}} \newcommand{\ManifoldCoeffBernstein}{\QuantityRelatedTo{\SymbolManifoldCoeffBernstein}{\MeshBezier}} \newcommand{\ManifoldCoeffVec}{\Vec{\SymbolManifoldCoeff}} \newcommand{\ManifoldCoeffVecUspline}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUspline}}{\MeshUspline}} \newcommand{\ManifoldCoeffVecBernstein}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernstein}}{\MeshBezier}} \newcommand{\ManifoldCoeffSet}{\Set{\SymbolManifoldCoeff}} \newcommand{\ManifoldCoeffSetUspline}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUspline}}{\MeshUspline}} \newcommand{\ManifoldCoeffSetBernstein}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernstein}}{\MeshBezier}} \newcommand{\ManifoldCoeffsVec}{\Vec{\ManifoldCoeffUpper}} \newcommand{\ManifoldCoeffsVecUspline}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUsplineUpper}}{\MeshUspline}} \newcommand{\ManifoldCoeffsVecBernstein}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\MeshBezier}} \newcommand{\ManifoldCoeffsVecCell}{\QuantityRelatedTo{\Vec{\ManifoldCoeffUpper}}{\Cell}} \newcommand{\ManifoldCoeffsVecUsplineCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUsplineUpper}}{\QCO{\MeshUspline}{\Cell}}} \newcommand{\ManifoldCoeffsVecBernsteinCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\MeshBezier}{\Cell}}} \newcommand{\ManifoldCoeffsVecSubmeshCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\Submesh}{\Cell}}} \newcommand{\ManifoldCoeffsVecBernsteinSegmentOfVolumeEnv}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\SegmentOfVolumeEnv}} \newcommand{\ManifoldCoeffsSet}{\Set{\ManifoldCoeffUpper}} \newcommand{\ManifoldCoeffsSetUspline}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUsplineUpper}}{\MeshUspline}} \newcommand{\ManifoldCoeffsSetBernstein}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\MeshBezier}} \newcommand{\ManifoldCoeffsSetCell}{\QuantityRelatedTo{\Set{\ManifoldCoeffUpper}}{\Cell}} \newcommand{\ManifoldCoeffsSetUsplineCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUsplineUpper}}{\QCO{\MeshUspline}{\Cell}}} \newcommand{\ManifoldCoeffsSetBernsteinCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\MeshBezier}{\Cell}}} \newcommand{\ManifoldCoeffsSetSubmeshCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\Submesh}{\Cell}}} \newcommand{\ManifoldMap}[2]{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldTemporalMap}[2]{\QuantityRelatedTo{#2}{#1,\SymbolTime}} \newcommand{\ManifoldPartitionMap}{\ManifoldMap{\ParamDomainOnPartition}{\Manifold}} \newcommand{\ManifoldCADMap}{\ManifoldMap{\ParamDomainOnCAD}{\Manifold}} \newcommand{\ManifoldCADMapModified}{\ManifoldMap{\ParamDomainOnCADModified}{\Manifold}} \newcommand{\ManifoldBezierMap}{\ManifoldMap{\ParamDomainOnMeshBezier}{\Manifold}} \newcommand{\ManifoldUsplineMap}{\ManifoldMap{\ParamDomainOnMeshUspline}{\Manifold}} \newcommand{\VolumeEnvMap}{\ManifoldMap{\ParamDomainEnv}{\VolumeEnv}} \newcommand{\VolumeMap}{\ManifoldMap{\ParamDomain}{\Volume}} \newcommand{\SurfaceMap}{\ManifoldMap{\ParamDomainBdry}{\Surface}} \newcommand{\ManifoldMapDef}[2]{\FuncDef{\ManifoldMap{#1}{#2}}{#1}{#2}} \newcommand{\ManifoldMapInverseDef}[2]{\FuncDef{\Inverse{\ManifoldMap{#1}{#2}}}{#2}{#1}} \newcommand{\ManifoldTemporalMapDef}[2]{\FuncDef{\ManifoldTemporalMap{#1}{#2}}{#1\otimes\Reals_{+}}{#2}} \newcommand{\ManifoldPartitionMapDef}{\ManifoldMapDef{\ParamDomainOnPartition}{\Manifold}} \newcommand{\ManifoldBezierMapDef}{\ManifoldMapDef{\ParamDomainOnMeshBezier}{\Manifold}} \newcommand{\ManifoldUsplineMapDef}{\ManifoldMapDef{\ParamDomainOnMeshUspline}{\Manifold}} \newcommand{\VolumeEnvMapDef}{\ManifoldMapDef{\ParamDomainEnv}{\VolumeEnv}} \newcommand{\VolumeMapDef}{\ManifoldMapDef{\ParamDomain}{\Volume}} \newcommand{\SurfaceMapDef}{\ManifoldMapDef{\ParamDomainBdry}{\Surface}} \newcommand{\SurfaceToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\Surface}} \newcommand{\ManifoldCoordDetailed}[2]{\QCO{#1}{#2}} \newcommand{\ManifoldCoordVecDetailed}[2]{\QCO{#1}{\Vec{#2}}} \newcommand{\ManifoldCoord}{x} \newcommand{\ManifoldCoordVec}{\Vec{x}} \newcommand{\ManifoldPartitionMapCoord}{\ManifoldCoordDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldPartitionMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoord}{\ManifoldCoordDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\CovariantBasisSurfVec}{\Vec{\SymbolCovariantBasisSurf}} \newcommand{\CovariantBasisVolVec}{\Vec{\SymbolCovariantBasisVol}} \newcommand{\MetricComp}{\SymbolMetric} \newcommand{\MetricTen}{\Mat{\MetricComp}} \newcommand{\CurvatureComp}{\SymbolCurvature} \newcommand{\CurvatureTen}{\Mat{\CurvatureComp}} \newcommand{\CurvCoordIdOne}{\SymbolCurvCoordIdOne} \newcommand{\CurvCoordIdTwo}{\SymbolCurvCoordIdTwo} \newcommand{\CurvCoordIdThree}{\SymbolCurvCoordIdThree} \newcommand{\OrthogonalCoordTransform}{\Mat{\SymbolOrthogonalTransform}} \newcommand{\InversionPointTen}{\Vec{p}} \newcommand{\InversionPointComp}{p} \newcommand{\BoundingVolume}[1]{\QuantityFunctionOf{\Set{bv}}{#1}} \newcommand{\BoundingVolumeSet}[1]{\QuantityFunctionOf{\Set{BV}}{#1}} \newcommand{\BoundingVolumeTree}[1]{\QuantityFunctionOf{\Set{BVH}}{#1}} \newcommand{\AxisAlignedBoundingBox}[1]{\QuantityFunctionOf{\Set{AABB}}{#1}} \newcommand{\AABBCornerLower}{\Vec{c}^l} \newcommand{\AABBCornerLowerComp}{c^l} \newcommand{\AABBCornerUpper}{\Vec{c}^u} \newcommand{\AABBCornerUpperComp}{c^u} \newcommand{\LowerBound}[2]{B^l\left(#1,#2\right)} \newcommand{\UpperBound}[2]{B^u\left(#1,#2\right)} \newcommand{\UpperBoundValue}{U} \newcommand{\UpperBoundValueBV}{U^{\text{BV}}} \newcommand{\UpperBoundValuePoints}{U^{\text{point}}} \newcommand{\GapTolerance}{\varepsilon^{\text{gap}}} \newcommand{\NearestCells}[3][]{\Set{C}_{#1}\left(#2,#3\right)} \newcommand{\BVHNearestGeom}[3][]{c_{#1}\left(#2,#3\right)} \newcommand{\BVHGeomSetOfSets}{\Set{G}} \newcommand{\BVHTessPointSet}{\Set{P}} \newcommand{\BVHBVSet}{\Set{L}} \newcommand{\SimplexMap}[1]{\QuantityFunctionOf{\Mat{L}}{#1}} \newcommand{\ParamCoordVecTarget}{\ParamCoordVecSimple_0} \newcommand{\SpatialCoordVecTarget}{\SpatialCoordVec_0} \newcommand{\SpatialCoordVecToSegmentSetMap}{\SegmentSet^f} \newcommand{\SpatialCoordVecToParamCoordVecSetMap}{\Inverse{\widetilde{\ManifoldMap{\ParamDomainEnv}{\Surface}}}} \newcommand{\HessMatComp}{H} \newcommand{\HessMatTen}{\Mat{\HessMatComp}} \newcommand{\QuadraturePointEnv}[2]{\SymbolEnvModifier{\QuadraturePoint{#1}{#2}}} \newcommand{\QuadraturePoint}[2]{\SymbolQuadraturePoint_{#1}^{#2}} \newcommand{\QuadraturePointToElemIndexMap}[1]{\operatorname{qe}(#1)} \newcommand{\QuadratureWeightEnv}[2]{\SymbolEnvModifier{\QuadratureWeight{#1}{#2}}} \newcommand{\QuadratureWeight}[2]{\SymbolQuadratureWeight_{#1}^{#2}} \newcommand{\QuadratureSet}{\Set{\SymbolQuadratureSet}} \newcommand{\QuadratureSetInside}{\QuadratureSet^{\SymbolInside}} \newcommand{\QuadratureSetOutside}{\QuadratureSet^{\SymbolOutside}} \newcommand{\QuadratureSubdDepth}{k} \newcommand{\ClosestPointMap}[1]{\QuantityChildOf{#1}{\Vec{\SymbolClosestPointMap}}} \newcommand{\ClosestPointMapCAD}{\ClosestPointMap{\SymbolCAD}} \newcommand{\ClosestPointMapCADModified}{\ClosestPointMap{\SymbolCADModified}} \newcommand{\ProjectionInto}[1]{\QuantityRelatedTo{\SymbolProjection}{#1}} \newcommand{\ProjectionIntoBernsteinCell}{\ProjectionInto{\Cell}} \newcommand{\ProjectionIntoBernsteinElem}{\ProjectionInto{\Elem}} \newcommand{\ProjectionIntoMeshBezier}{\ProjectionInto{\MeshBezier}} \newcommand{\ProjectionIntoMeshUspline}{\ProjectionInto{\MeshUspline}} \newcommand{\LinearInterpolationOp}[1]{\QRT{\SymbolLinearInterpolation}{#1}} \newcommand{\Valence}{k} \newcommand{\ArbitraryVector}[1]{\QSB{v}{#1}} \newcommand{\RotationMatrix}[1]{R^{#1}} \newcommand{\RepVecSymbol}{u} \newcommand{\RepVec}[1]{\QSB{\RepVecSymbol}{#1}} \newcommand{\RepVecVec}{\Vec{\RepVecSymbol}} \newcommand{\AlignmentField}{\RepVecVec'} \newcommand{\BiharmonicEnergy}{\QSB{E}{B}} \newcommand{\PrescribedRepVec}[1]{\QSB{d}{#1}} \newcommand{\AlignmentParameter}{\lambda} \newcommand{\SingularityIndex}[1]{\QSB{\chi}{#1}} \newcommand{\AngularDefect}[1]{\QSB{K}{#1}} \newcommand{\ArbitraryAngle}{\theta} \newcommand{\ParallelTransport}[1]{\QSB{\varphi}{#1}} \newcommand{\MinusPiToPi}[1]{\lfloor #1 \rfloor} \newcommand{\AreaOperator}[1]{\QFO{\operatorname{area}}{#1}} \newcommand{\VectorAngle}[1]{\QFO{\operatorname{arg}}{#1}} \newcommand{\DistanceFunction}{\phi} \newcommand{\DistanceGradient}{X} \newcommand{\HeatField}{\eta} \newcommand{\RegionAtZeroDistance}{\gamma}$$\newcommand{\SymbolDisp}{u} \newcommand{\SymbolDispUpper}{U} \newcommand{\SymbolVelocity}{v} \newcommand{\SymbolVelocityUpper}{V} \newcommand{\SymbolAcceleration}{a} \newcommand{\SymbolAccelerationUpper}{A} \newcommand{\SymbolMass}{M} \newcommand{\SymbolLength}{L} \newcommand{\SymbolArea}{A} \newcommand{\SymbolConstraint}{g} \newcommand{\SymbolConstraintUpper}{G} \newcommand{\SymbolPenalty}{\varepsilon} \newcommand{\SymbolLagrangeMultRef}{\Lambda} \newcommand{\SymbolLagrangeMultCurr}{\lambda} \newcommand{\SymbolFict}{f} \newcommand{\SymbolTracForce}{h} \newcommand{\SymbolTracForceUpper}{H} \newcommand{\SymbolBodyForce}{b} \newcommand{\SymbolBodyForceUpper}{B} \newcommand{\SymbolVolumeRef}{\SymbolVolumeUpper} \newcommand{\SymbolSurfaceRef}{\SymbolSurfaceUpper} \newcommand{\SymbolCurveRef}{\SymbolCurveUpper} \newcommand{\SymbolPointRef}{\SymbolPointUpper} \newcommand{\SymbolVolumeCurr}{\SymbolVolume} \newcommand{\SymbolSurfaceCurr}{\SymbolSurface} \newcommand{\SymbolCurveCurr}{\SymbolCurve} \newcommand{\SymbolPointCurr}{\SymbolPoint} \newcommand{\SymbolDeformGradInc}{f} \newcommand{\SymbolDeformGrad}{F} \newcommand{\SymbolStrainGreenLagrange}{E} \newcommand{\SymbolDeformCauchyGreenLeft}{b} \newcommand{\SymbolDeformCauchyGreenRight}{C} \newcommand{\SymbolStrainDisp}{B} \newcommand{\SymbolStrainSymGrad}{\epsilon} \newcommand{\SymbolStrainPlasticEquiv}{\alpha} \newcommand{\SymbolHardeningPlastic}{k} \newcommand{\SymbolYieldFunction}{f} \newcommand{\SymbolConsistencyParameterPlastic}{\gamma} \newcommand{\SymbolPlasticModuliScaling}{\beta} \newcommand{\SymbolYieldSurfaceNormal}{n} \newcommand{\SymbolEnergy}{\Pi} \newcommand{\SymbolEnergyDensityStrain}{\Psi} \newcommand{\SymbolEnergyDensityStrainVol}{U} \newcommand{\SymbolResidual}{R} \newcommand{\SymbolForce}{F} \newcommand{\SymbolStiffness}{K} \newcommand{\SymbolSolution}{d} \newcommand{\ParamDomainBdryDisp}{\ParamDomainBdry^{\SymbolDisp}} \newcommand{\ParamDomainBdryTrac}{\ParamDomainBdry^{\SymbolTracForce}} \newcommand{\VolumeEnvRef}{\Set{\SymbolEnvModifier{\SymbolVolumeRef}}} \newcommand{\VolumeRef}{\Set{\SymbolVolumeRef}} \newcommand{\VolumeRefClosure}{\overline{\VolumeRef}} \newcommand{\VolumeRefFict}{\VolumeEnvRef\setminus\VolumeRef} \newcommand{\dVolumeRef}{\Differential[\VolumeRef]} \newcommand{\VolumeIndicatorDef}{\FuncDef{\VolumeIndicator_{\PenaltyStiffness}}{\VolumeEnvRef}{\Reals_+}} \newcommand{\SurfaceEnvRef}{\Set{\SymbolEnvModifier{\SymbolSurfaceRef}}} \newcommand{\SurfaceRef}{\Set{\SymbolSurfaceRef}} \newcommand{\SurfaceRefWildCard}{\SurfaceRef^{\SymbolWildCard}} \newcommand{\SurfaceRefDisp}{\SurfaceRef^{\SymbolDisp}} \newcommand{\SurfaceRefTrac}{\SurfaceRef^{\SymbolTracForce}} \newcommand{\SurfaceRefFict}{\SurfaceRef^{\SymbolFict}} \newcommand{\SurfaceRefDispExternal}{\SurfaceRefDisp\setminus\SurfaceRefFict} \newcommand{\SurfaceRefTracExternal}{\SurfaceRefTrac\setminus\SurfaceRefFict} \newcommand{\SurfaceRefFictTrac}{\SurfaceRefTrac\cap\SurfaceRefFict} \newcommand{\SurfaceRefFictDisp}{\SurfaceRefDisp\cap\SurfaceRefFict} \newcommand{\SurfaceRefFictExternal}{\SurfaceRefFict\setminus\SurfaceRef} \newcommand{\dSurfaceRef}{\Differential[\SurfaceRef]} \newcommand{\CurveRef}{\Set{\SymbolCurveRef}} \newcommand{\dCurveRef}{\Differential[\CurveRef]} \newcommand{\PointRef}{\Set{\SymbolPointRef}} \newcommand{\PointRefDisp}{\PointRef^{\SymbolDisp}} \newcommand{\PointRefTrac}{\PointRef^{\SymbolTracForce}} \newcommand{\dPointRef}{\Differential[\PointRef]} \newcommand{\dPointRefTrac}{\Differential[\PointRefTrac]} \newcommand{\RefCoord}[1]{\ManifoldCoordDetailed{#1}{X}} \newcommand{\RefCoordVec}[1]{\ManifoldCoordVecDetailed{#1}{X}} \newcommand{\VolumeEnvRefCoord}{\RefCoord{\VolumeEnvRef}} \newcommand{\VolumeEnvRefCoordVec}{\RefCoordVec{\VolumeEnvRef}} \newcommand{\VolumeRefCoord}{\RefCoord{\VolumeRef}} \newcommand{\VolumeRefCoordVec}{\RefCoordVec{\VolumeRef}} \newcommand{\SurfaceRefCoord}{\RefCoord{\SurfaceRef}} \newcommand{\SurfaceRefCoordVec}{\RefCoordVec{\SurfaceRef}} \newcommand{\SurfaceRefDispCoord}{\RefCoord{\SurfaceRefDisp}} \newcommand{\SurfaceRefDispCoordVec}{\RefCoordVec{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracCoord}{\RefCoord{\SurfaceRefTrac}} \newcommand{\SurfaceRefTracCoordVec}{\RefCoordVec{\SurfaceRefTrac}} \newcommand{\CurveRefCoord}{\RefCoord{\CurveRef}} \newcommand{\CurveRefCoordVec}{\RefCoordVec{\CurveRef}} \newcommand{\UsplineBasisFuncOverCurveRef}[1]{\UsplineBasisFuncDetailed{\CurveRef}{#1}} \newcommand{\UsplineBasisFuncOverSurfaceRefDisp}[1]{\UsplineBasisFuncDetailed{\SurfaceRefDisp}{#1}} \newcommand{\VolumeEnvCurr}{\Set{\SymbolEnvModifier{\SymbolVolumeCurr}}} \newcommand{\VolumeCurr}{\Set{\SymbolVolumeCurr}} \newcommand{\VolumeCurrClosure}{\overline{\VolumeCurr}} \newcommand{\dVolumeCurr}{\Differential[\VolumeCurr]} \newcommand{\SurfaceEnvCurr}{\Set{\SymbolEnvModifier{\SymbolSurfaceCurr}}} \newcommand{\SurfaceCurr}{\Set{\SymbolSurfaceCurr}} \newcommand{\SurfaceCurrDisp}{\SurfaceCurr^{\SymbolDisp}} \newcommand{\SurfaceCurrTrac}{\SurfaceCurr^{\SymbolTracForce}} \newcommand{\dSurfaceCurr}{\Differential[\SurfaceCurr]} \newcommand{\CurveCurr}{\Set{\SymbolCurveCurr}} \newcommand{\dCurveCurr}{\Differential[\CurveCurr]} \newcommand{\PointCurr}{\Set{\SymbolPointCurr}} \newcommand{\PointCurrDisp}{\PointCurr^{\SymbolDisp}} \newcommand{\PointCurrTrac}{\PointCurr^{\SymbolTracForce}} \newcommand{\dPointCurr}{\Differential[\PointCurr]} \newcommand{\CurrCoord}[1]{\ManifoldCoordDetailed{#1}{x}} \newcommand{\CurrCoordVec}[1]{\ManifoldCoordVecDetailed{#1}{x}} \newcommand{\VolumeEnvCurrCoord}{\CurrCoord{\VolumeEnvCurr}} \newcommand{\VolumeEnvCurrCoordVec}{\CurrCoordVec{\VolumeEnvCurr}} \newcommand{\VolumeCurrCoord}{\CurrCoord{\VolumeCurr}} \newcommand{\VolumeCurrCoordVec}{\CurrCoordVec{\VolumeCurr}} \newcommand{\SurfaceCurrCoord}{\CurrCoord{\SurfaceCurr}} \newcommand{\SurfaceCurrCoordVec}{\CurrCoordVec{\SurfaceCurr}} \newcommand{\SurfaceCurrDispCoord}{\CurrCoord{\SurfaceCurrDisp}} \newcommand{\SurfaceCurrDispCoordVec}{\CurrCoordVec{\SurfaceCurrDisp}} \newcommand{\SurfaceCurrTracCoord}{\CurrCoord{\SurfaceCurrTrac}} \newcommand{\SurfaceCurrTracCoordVec}{\CurrCoordVec{\SurfaceCurrTrac}} \newcommand{\CurveCurrCoord}{\CurrCoord{\CurveRef}} \newcommand{\CurveCurrCoordVec}{\CurrCoordVec{\CurveRef}} \newcommand{\VolumeEnvRefMap}{\ManifoldMap{\ParamDomainEnv}{\VolumeEnvRef}} \newcommand{\GenericGradOverVolumeEnvRefMap}[1]{\Grad{\VolumeEnvRefMap}{#1}} \newcommand{\VolumeRefMap}{\ManifoldMap{\ParamDomain}{\VolumeRef}} \newcommand{\GenericGradOverVolumeRefMap}[1]{\Grad{\VolumeRefMap}{#1}} \newcommand{\SurfaceRefDispMap}{\ManifoldMap{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMap}{\ManifoldMap{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\CurveRefMap}{\ManifoldMap{\ParamDomain}{\CurveRef}} \newcommand{\GenericGradOverCurveRefMap}[1]{\Grad{\CurveRefMap}{#1}} \newcommand{\VolumeEnvRefMapDef}{\ManifoldMapDef{\ParamDomainEnv}{\VolumeEnvRef}} \newcommand{\SurfaceRefDispMapDef}{\ManifoldMapDef{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMapDef}{\ManifoldMapDef{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\SurfaceRefToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRef}} \newcommand{\SurfaceRefDispToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRefTrac}} \newcommand{\CurveRefMapDef}{\ManifoldMapDef{\ParamDomain}{\CurveRef}} \newcommand{\GenericDeformMap}{\Vec{\varphi}} \newcommand{\VolumeEnvDeformMap}{\ManifoldMap{\VolumeEnvRef}{\VolumeEnvCurr}} \newcommand{\GenericGradOverVolumeEnvDeformMap}[1]{\Grad{\VolumeEnvDeformMap}{#1}} \newcommand{\VolumeDeformMap}{\ManifoldMap{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeDeformTemporalMap}{\ManifoldTemporalMap{\VolumeRef}{\VolumeCurr}} \newcommand{\GradVolumeDeformTemporalMap}{\GenericGradOverVolumeRefMap{\VolumeDeformTemporalMap}} \newcommand{\SurfaceDeformDispMap}{\ManifoldMap{\SurfaceRefDisp}{\SurfaceCurrDisp}} \newcommand{\SurfaceDeformTracMap}{\ManifoldMap{\SurfaceRefTrac}{\SurfaceCurrTrac}} \newcommand{\CurveDeformMap}{\ManifoldMap{\CurveRef}{\CurveCurr}} \newcommand{\CurveDeformTemporalMap}{\ManifoldTemporalMap{\CurveRef}{\CurveCurr}} \newcommand{\VolumeDeformMapDef}{\ManifoldMapDef{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeDeformTemporalMapDef}{\ManifoldTemporalMapDef{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeEnvDeformMapDef}{\ManifoldMapDef{\VolumeEnvRef}{\VolumeEnvCurr}} \newcommand{\CurveDeformMapDef}{\ManifoldMapDef{\CurveRef}{\CurveCurr}} \newcommand{\CurveDeformTemporalMapDef}{\ManifoldTemporalMapDef{\CurveRef}{\CurveCurr}} \newcommand{\DispTrialSpaceOverVolumeEnvRef}{\SpaceHilbert{U}(\VolumeEnvRef)} \newcommand{\DispTestSpaceOverVolumeEnvRef}{\delta \DispTrialSpaceOverVolumeEnvRef} \newcommand{\DispTrialSpaceOverVolumeRef}{\SpaceHilbert{U}(\VolumeRef)} \newcommand{\DispTestSpaceOverVolumeRef}{\delta \DispTrialSpaceOverVolumeRef} \newcommand{\DispTrialSpaceOverCurveRef}{\SpaceHilbert{U}(\CurveRef)} \newcommand{\DispTestSpaceOverCurveRef}{\delta \DispTrialSpaceOverCurveRef} \newcommand{\DispFieldRefComp}{\SymbolDispUpper} \newcommand{\DispFieldRefTen}{\Vec{\DispFieldRefComp}} \newcommand{\DispFieldCurrComp}{\SymbolDisp} \newcommand{\DispFieldCurrTen}{\Vec{\DispFieldCurrComp}} \newcommand{\VelFieldCurrTen}{\Vec{\SymbolVelocity}} \newcommand{\AccFieldCurrTen}{\Vec{\SymbolAcceleration}} \newcommand{\DeformGradComp}{\SymbolDeformGrad} \newcommand{\DeformGradTen}{\Mat{\DeformGradComp}} \newcommand{\DeformGradDet}{\Det{\DeformGradTen}} \newcommand{\KinematicElast}{e} \newcommand{\KinematicPlast}{p} \newcommand{\DivVolumeEnvRef}[1]{\Div{\VolumeEnvRefCoordVec}{#1}} \newcommand{\DivVolumeEnvCurr}[1]{\Div{\VolumeEnvCurrCoordVec}{#1}} \newcommand{\DeformGradIncComp}{\SymbolDeformGradInc} \newcommand{\DeformGradIncTen}{\Mat{\DeformGradIncComp}} \newcommand{\DeformGradIncDevComp}{\bar{\SymbolDeformGradInc}} \newcommand{\DeformGradIncDevTen}{\bar{\Mat{\DeformGradIncComp}}} \newcommand{\JAsDeformGradDet}{J} \newcommand{\StretchTen}{\Mat{V}} \newcommand{\StrainGreenLagrangeComp}{\SymbolStrainGreenLagrange} \newcommand{\StrainGreenLagrangeTen}{\Mat{\StrainGreenLagrangeComp}} \newcommand{\StrainGreenLagrangeVoigt}{\tilde{\StrainGreenLagrangeTen}} \newcommand{\DeformCauchyGreenRightComp}{\SymbolDeformCauchyGreenRight} \newcommand{\DeformCauchyGreenRightTen}{\Mat{\DeformCauchyGreenRightComp}} \newcommand{\DeformCauchyGreenLeftComp}{\SymbolDeformCauchyGreenLeft} \newcommand{\DeformCauchyGreenLeftTen}{\Mat{\DeformCauchyGreenLeftComp}} \newcommand{\DeformCauchyGreenLeftDevComp}{\bar{\SymbolDeformCauchyGreenLeft}} \newcommand{\DeformCauchyGreenLeftDevTen}{\bar{\Mat{\DeformCauchyGreenLeftComp}}} \newcommand{\StrainSymGradComp}{\SymbolStrainSymGrad} \newcommand{\StrainSymGradTen}{\Mat{\StrainSymGradComp}} \newcommand{\StrainDispMat}{\Mat{\SymbolStrainDisp}} \newcommand{\DeformCauchyGreenRightDevComp}{\bar{\SymbolDeformCauchyGreenRight}} \newcommand{\DeformCauchyGreenRightDevTen}{\bar{\Mat{\DeformCauchyGreenRightComp}}} \newcommand{\KinematicElastoplast}{{\rm ep}} \newcommand{\Trial}{{\rm trial}} \newcommand{\DeformCauchyGreenLeftElasticTenDef}{\DeformCauchyGreenLeftTen^\KinematicElast \DefEq \DeformGradTen^\KinematicElast \DeformGradTen^{\KinematicElast T}} \newcommand{\DeformCauchyGreenLeftElasticDevTenDef}{{\DeformCauchyGreenLeftDevTen}^\KinematicElast \DefEq {\JAsDeformGradDet}^{\KinematicElast-\frac{2}{3}} {\DeformCauchyGreenLeftTen}^\KinematicElast} \newcommand{\DeformCauchyGreenRightPlasticTenDef}{\DeformCauchyGreenRightTen^\KinematicPlast \DefEq \DeformGradTen^{\KinematicPlast T} \DeformGradTen^\KinematicPlast} \newcommand{\StrainPlasticEquiv}{\SymbolStrainPlasticEquiv} \newcommand{\ConsistencyParameterPlasticDiscrete}{\Delta \SymbolConsistencyParameterPlastic} \newcommand{\YieldSurfaceNormalComp}{\SymbolYieldSurfaceNormal} \newcommand{\YieldSurfaceNormalTen}{\Mat{\SymbolYieldSurfaceNormal}} \newcommand{\UnitNormalRefComp}{N} \newcommand{\UnitNormalRefTen}{\Vec{\UnitNormalRefComp}} \newcommand{\UnitNormalCurrComp}{\UnitNormalComp} \newcommand{\UnitNormalCurrTen}{\UnitNormal} \newcommand{\DispFieldOverVolumeEnvRefTenDef}{\FuncDef{\DispFieldRefTen}{\VolumeEnvRef}{\SpatialDomain}} \newcommand{\DispFieldOverVolumeEnvCurrTenDef}{\DispFieldCurrTen \DefEq \DispFieldRefTen \circ \Inverse{\VolumeEnvDeformMap}} \newcommand{\DispFieldOverVolumeRefTenDef}{\FuncDef{\DispFieldRefTen}{\VolumeRef}{\SpatialDomain}} \newcommand{\DispFieldOverVolumeRefTemporalTenDef}{\FuncDef{\DispFieldRefTen}{\VolumeRef\otimes\SymbolTime}{\SpatialDomain}} \newcommand{\DispFieldOverVolumeCurrTenDef}{\DispFieldCurrTen \DefEq \DispFieldRefTen \circ \Inverse{\VolumeDeformMap}} \newcommand{\DispFieldOverCurveRefTenDef}{\FuncDef{\DispFieldRefTen}{\CurveRef}{\SpatialDomain}} \newcommand{\DispFieldOverCurveRefTemporalTenDef}{\FuncDef{\DispFieldRefTen}{\CurveRef\otimes\SymbolTime}{\SpatialDomain}} \newcommand{\DeformGradOverVolumeRefTenDef}{\FuncDef{\DeformGradTen}{\VolumeRef}{\VolumeCurr}} \newcommand{\DeformGradOverCurveRefTenDef}{\FuncDef{\DeformGradTen}{\CurveRef}{\CurveCurr}} \newcommand{\StrainGreenLagrangeOverVolumeEnvRefTenDef}{\FuncDef{\StrainGreenLagrangeTen}{\VolumeEnvRef}{\VolumeEnvCurr}} \newcommand{\StrainGreenLagrangeOverVolumeRefTenDef}{\FuncDef{\StrainGreenLagrangeTen}{\VolumeRef}{\VolumeCurr}} \newcommand{\StrainGreenLagrangeOverCurveRefTenDef}{\FuncDef{\StrainGreenLagrangeTen}{\CurveRef}{\CurveCurr}} \newcommand{\DeformCauchyGreenLeftTenDef}{\DeformCauchyGreenLeftTen \DefEq \DeformGradTen \DeformGradTen^T} \newcommand{\DeformCauchyGreenLeftDevTenDef}{\DeformCauchyGreenLeftDevTen \DefEq \DeformGradDet^{-\frac{2}{3}} \DeformCauchyGreenLeftTen} \newcommand{\StressPKOneTen}{\Mat{P}} \newcommand{\StressPKTwoComp}{S} \newcommand{\StressPKTwoTen}{\Mat{\StressPKTwoComp}} \newcommand{\StressPKTwoVoigt}{\tilde{\StressPKTwoTen}} \newcommand{\StressCauchyComp}{\sigma} \newcommand{\StressCauchyTen}{\Mat{\sigma}} \newcommand{\StressCauchyVoigt}{\tilde{\StressCauchyTen}} \newcommand{\StressCauchyMean}{p} \newcommand{\StressCauchyYield}{\StressCauchyComp_Y} \newcommand{\StressKirchhoffComp}{\tau} \newcommand{\StressKirchhoffTen}{\Mat{\tau}} \newcommand{\StressKirchhoffVoigt}{\tilde{\StressKirchhoffTen}} \newcommand{\StressKirchhoffDevComp}{s} \newcommand{\StressKirchhoffDevTen}{\Mat{\StressKirchhoffDevComp}} \newcommand{\ModuliElastRefComp}{C} \newcommand{\ModuliElastRefTen}{\Mat{\ModuliElastRefComp}} \newcommand{\ModuliElastRefVoigt}{\tilde{\ModuliElastRefTen}} \newcommand{\ModuliElastCurrComp}{c} \newcommand{\ModuliElastCurrTen}{\Mat{\ModuliElastCurrComp}} \newcommand{\ModuliElastCurrVoigt}{\tilde{\ModuliElastCurrTen}} \newcommand{\MaterialYoungsModulus}{E} \newcommand{\MaterialPoissonsRatio}{\nu} \newcommand{\MaterialMassDensity}{\rho} \newcommand{\MaterialBulkModulus}{\kappa} \newcommand{\MaterialShearModulus}{\mu} \newcommand{\MaterialShearModulusDev}{\bar{\MaterialShearModulus}} \newcommand{\MaterialThermalExpansion}{\alpha_{\text{thermal}}} \newcommand{\Area}{\SymbolArea} \newcommand{\Length}{\SymbolLength} \newcommand{\Width}{b} \newcommand{\Height}{h} \newcommand{\PenaltyStiffness}{\SymbolPenalty_{\SymbolStiffness}} \newcommand{\PenaltyDisp}{\SymbolPenalty_{\SymbolDisp}} \newcommand{\BodyForceRefComp}{\SymbolBodyForceUpper} \newcommand{\BodyForceRefTen}{\Vec{\BodyForceRefComp}} \newcommand{\BodyForceCurrComp}{\SymbolBodyForce} \newcommand{\BodyForceCurrTen}{\Vec{\BodyForceCurrComp}} \newcommand{\TracForceRefComp}{\SymbolTracForceUpper} \newcommand{\TracForceRefTen}{\Vec{\TracForceRefComp}} \newcommand{\TracForceCurrComp}{\SymbolTracForce} \newcommand{\TracForceCurrTen}{\Vec{\TracForceCurrComp}} \newcommand{\Pressure}{p} \newcommand{\BodyForceOverVolumeEnvRefTenDef}{\FuncDef{\BodyForceRefTen}{\VolumeEnvRef}{\SpatialDomain}} \newcommand{\BodyForceOverVolumeEnvCurrTenDef}{\BodyForceCurrTen \DefEq \BodyForceRefTen \circ \Inverse{\VolumeEnvDeformMap}} \newcommand{\BodyForceOverCurveRefCompDef}{\FuncDef{\BodyForceRefComp}{\CurveRef}{\Reals}} \newcommand{\BodyForceOverCurveRefTenDef}{\FuncDef{\BodyForceRefTen}{\CurveRef}{\SpatialDomain}} \newcommand{\BodyForceOverCurveCurrCompDef}{\BodyForceCurrComp \DefEq \BodyForceRefComp \circ \Inverse{\CurveDeformMap}} \newcommand{\BodyForceOverCurveCurrTenDef}{\BodyForceCurrTen \DefEq \BodyForceRefTen \circ \Inverse{\CurveDeformMap}} \newcommand{\TracForceOverSurfaceRefTracTenDef}{\FuncDef{\TracForceRefTen}{\SurfaceRefTrac}{\SpatialDomain}} \newcommand{\TracForceOverSurfaceCurrTracTenDef}{\TracForceCurrTen \DefEq \TracForceRefTen \circ \Inverse{\SurfaceDeformTracMap}} \newcommand{\TracForceOverCurveRefCompDef}{\FuncDef{\TracForceRefComp}{\PointRefTrac}{\Reals}} \newcommand{\TracForceOverCurveRefTenDef}{\FuncDef{\TracForceRefTen}{\PointRefTrac}{\SpatialDomain}} \newcommand{\TracForceOverCurveCurrCompDef}{\TracForceCurrComp \DefEq \TracForceRefComp \circ \Inverse{\CurveDeformMap}} \newcommand{\TracForceOverCurveCurrTenDef}{\TracForceCurrTen \DefEq \TracForceRefTen \circ \Inverse{\CurveDeformMap}} \newcommand{\ConstraintRefTen}{\Vec{\SymbolConstraintUpper}} \newcommand{\LagrangeMultTestSpaceOverSurfaceRef}{\delta \LagrangeMultTrialSpaceOverSurfaceRef} \newcommand{\LagrangeMultTrialSpaceOverSurfaceRef}{\SpaceHilbert{L}(\SurfaceRefDisp)} \newcommand{\LagrangeMultRefComp}{\SymbolLagrangeMultRef} \newcommand{\LagrangeMultRefTen}{\Vec{\LagrangeMultRefComp}} \newcommand{\LagrangeMultCurrComp}{\SymbolLagrangeMultCurr} \newcommand{\LagrangeMultCurrTen}{\Vec{\LagrangeMultCurrComp}} \newcommand{\ConstraintOverSurfaceRefDispTenDef}{\FuncDef{\ConstraintRefTen}{\SurfaceRefDisp}{\SpatialDomain}} \newcommand{\LagrangeMultOverSurfaceCurrTenDef}{\LagrangeMultCurrTen \DefEq \LagrangeMultRefTen \circ \Inverse{\SurfaceDeformDispMap}} \newcommand{\Energy}{\SymbolEnergy} \newcommand{\EnergyElastic}[1]{\QFO{\Energy}{#1}} \newcommand{\EnergyElasticNoArg}{\QFONA{\Energy}} \newcommand{\EnergyEnv}{\SymbolEnvModifier{\Energy}} \newcommand{\EnergyInside}{\Energy^{\SymbolInside}} \newcommand{\EnergyOutside}{\Energy^{\SymbolOutside}} \newcommand{\EnergyConstraint}{\Energy^{\LagrangeMultCurrComp}} \newcommand{\EnergyDensityStrain}{\SymbolEnergyDensityStrain} \newcommand{\EnergyDensityStrainVol}{\SymbolEnergyDensityStrainVol} \newcommand{\EnergyDensityStrainDev}{\bar{\SymbolEnergyDensityStrain}} \newcommand{\EnergyInsideOverVolumeEnvRefDef}{\FuncDef{\EnergyInside}{\DispTrialSpaceOverVolumeEnvRef}{\Reals}} \newcommand{\EnergyOutsideOverVolumeEnvRefDef}{\FuncDef{\EnergyOutside}{\DispTrialSpaceOverVolumeEnvRef}{\Reals}} \newcommand{\EnergyConstraintOverVolumeEnvRefDef}{\FuncDef{\EnergyConstraint}{\DispTrialSpaceOverVolumeEnvRef\TensorProduct\LagrangeMultTrialSpaceOverSurfaceRef}{\Reals}} \newcommand{\EnergyDensityStrainOverVolumeEnvRefDef}{\FuncDef{\EnergyDensityStrain}{\VolumeEnvRef}{\Reals}} \newcommand{\ResidualComp}{\SymbolResidual} \newcommand{\ResidualVec}{\Vec{\ResidualComp}} \newcommand{\ForceVec}{\Vec{\SymbolForce}} \newcommand{\ForceInternalVec}{\ForceVec^{int}} \newcommand{\ForceExternalVec}{\ForceVec^{ext}} \newcommand{\ForceConstraintPenaltyVec}{\ForceVec^{\PenaltyDisp}} \newcommand{\ForceConstraintLagrangeVec}{\ForceVec^{\lambda1}} \newcommand{\ForceConstraintVec}{\ForceVec^{\lambda2}} \newcommand{\StiffnessMat}{\Mat{\SymbolStiffness}} \newcommand{\StiffnessMaterialMat}{\StiffnessMat^{m}} \newcommand{\StiffnessGeometricMat}{\StiffnessMat^{g}} \newcommand{\StiffnessPenaltyMat}{\StiffnessMat^{\PenaltyDisp}} \newcommand{\StiffnessLagrangeMat}{\StiffnessMat^{\LagrangeMultCurrComp}} \newcommand{\MassMat}{\Mat{\SymbolMass}} \newcommand{\LumpedMassMat}{\tilde{\MassMat}} \newcommand{\SolutionComp}{\SymbolSolution} \newcommand{\Solution}{\Vec{\SymbolSolution}} \newcommand{\SolutionDisp}{\Solution^{\DispFieldCurrComp}} \newcommand{\SolutionLagrange}{\Solution^{\LagrangeMultCurrComp}} \newcommand{\Flex}[1]{\mathcal{F}_{#1}} \newcommand{\FlexIt}{\mathcal{F}} \newcommand{\FlexFEA}{\Flex{\bar{0}}} \newcommand{\FlexFEAModified}{\Flex{0}} \newcommand{\FlexOne}{\Flex{1}} \newcommand{\FlexImmersed}{\Flex{\infty}} \newcommand{\FlexInfty}{\mathcal{F}{\infty}} \newcommand{\FlexSpectrum}{\overleftrightarrow{\mathcal{F}}} \newcommand{\FlexSpectrumId}{i} \newcommand{\TimeStep}{\Delta \SymbolTime} \newcommand{\SpectralRadius}{\rho_{\infty}}$$\newcommand{\SymbolPressureContact}{p} \newcommand{\SymbolContactGap}{g} \newcommand{\NumUsplineBasisFuncsS}{\Size{\UsplineBasisFuncSetOnMeshUspline^s}} \newcommand{\NumUsplineBasisFuncsM}{\Size{\UsplineBasisFuncSetOnMeshUspline^m}} \newcommand{\NumUsplineBasisFuncsG}{\Size{\UsplineBasisFuncSetOnMeshUspline^\alpha}} \newcommand{\NumUsplineBasisFuncsParamDomainBdryContactS}{\Size{\UsplineBasisFuncSetOnMeshUspline^{\ParamDomainBdryContactS}}} \newcommand{\NumUsplineBasisFuncsParamDomainBdryContactM}{\Size{\UsplineBasisFuncSetOnMeshUspline^{\ParamDomainBdryContactM}}} \newcommand{\NumUsplineBasisFuncsParamDomainBdryContactG}{\Size{\UsplineBasisFuncSetOnMeshUspline^{\ParamDomainBdryContactG}}} \newcommand{\ParamDomainEnvS}{\ParamDomainEnv^{s}} \newcommand{\ParamDomainEnvM}{\ParamDomainEnv^{m}} \newcommand{\ParamDomainEnvG}{\ParamDomainEnv^{\alpha}} \newcommand{\ParamDomainS}{\ParamDomain^{s}} \newcommand{\ParamDomainM}{\ParamDomain^{m}} \newcommand{\ParamDomainG}{\ParamDomain^\alpha} \newcommand{\ParamDomainClosureS}{\overline{\ParamDomain}^s} \newcommand{\ParamDomainClosureM}{\overline{\ParamDomain}^m} \newcommand{\ParamDomainClosureG}{\overline{\ParamDomain}^\alpha} \newcommand{\ParamDomainBdryG}{\ParamDomainBdry^\alpha} \newcommand{\ParamDomainBdryContactS}{\ParamDomainBdry^{c,s}} \newcommand{\ParamDomainBdryContactM}{\ParamDomainBdry^{c,m}} \newcommand{\ParamDomainBdryContactG}{\ParamDomainBdry^{c,\alpha}} \newcommand{\ParamDomainBdryTangentComp}{A} \newcommand{\ParamDomainBdryTangentTen}{\Mat{\ParamDomainBdryTangentComp}} \newcommand{\ParamDetJacobianS}{j^s} \newcommand{\ParamDomainGCoordVec}{\ParamCoordVecSimple^{\ParamDomainG}} \newcommand{\ParamDomainGCoord}{\ParamCoordSimple^{\ParamDomainG}} \newcommand{\ParamDomainEnvGCoordVec}{\ParamCoordVecSimple^{\ParamDomainEnvG}} \newcommand{\ParamDomainEnvGCoord}{\ParamCoordSimple^{\ParamDomainEnvG}} \newcommand{\ParamDomainEnvSCoordVec}{\ParamCoordVecSimple^{\ParamDomainEnvS}} \newcommand{\ParamDomainEnvSCoord}{\ParamCoordSimple^{\ParamDomainEnvS}} \newcommand{\ParamDomainEnvMCoordVec}{\ParamCoordVecSimple^{\ParamDomainEnvM}} \newcommand{\ParamDomainEnvMCoord}{\ParamCoordSimple^{\ParamDomainEnvM}} \newcommand{\ParamDomainBdryContactGCoordVec}{\ParamCoordVecSimple^{\ParamDomainBdryContactG}} \newcommand{\ParamDomainBdryContactGCoord}{\ParamCoordSimple^{\ParamDomainBdryContactG}} \newcommand{\ParamDomainBdryContactSCoordVec}{\ParamCoordVecSimple^{\ParamDomainBdryContactS}} \newcommand{\ParamDomainBdryContactSCoord}{\ParamCoordSimple^{\ParamDomainBdryContactS}} \newcommand{\ParamDomainBdryContactMCoordVec}{\ParamCoordVecSimple^{\ParamDomainBdryContactM}} \newcommand{\ParamDomainBdryContactMCoord}{\ParamCoordSimple^{\ParamDomainBdryContactM}} \newcommand{\SegmentParamDomainOfVolumeEnvRefS}{\QuantityRelatedTo{\ParamDomainEnvS}{\SegmentOfVolumeEnvRefS}} \newcommand{\SegmentParamDomainOfVolumeEnvRefM}{\QuantityRelatedTo{\ParamDomainEnvM}{\SegmentOfVolumeEnvRefM}} \newcommand{\SegmentParamDomainOfVolumeEnvCurrM}{\QuantityRelatedTo{\ParamDomainEnvM}{\SegmentOfVolumeEnvCurrM}} \newcommand{\SegmentParamDomainOfSurfaceCurrContactS}{\QuantityRelatedTo{\ParamDomainBdryContactS}{\SegmentOfSurfaceCurrContactS}} \newcommand{\SegmentParamDomainOfSurfaceRefContactM}{\QuantityRelatedTo{\ParamDomainBdryContactM}{\SegmentOfSurfaceRefContactM}} \newcommand{\SegmentParamDomainOfSurfaceCurrContactM}{\QuantityRelatedTo{\ParamDomainBdryContactM}{\SegmentOfSurfaceCurrContactM}} \newcommand{\UsplineBasisFuncS}{\UsplineBasisFunc^{s}} \newcommand{\UsplineBasisFuncM}{\UsplineBasisFunc^{m}} \newcommand{\UsplineBasisFuncG}{\UsplineBasisFunc^{\alpha}} \newcommand{\UsplineBasisFuncParamDomainBdryContactS}{\UsplineBasisFunc^{\ParamDomainBdryContactS}} \newcommand{\UsplineBasisFuncParamDomainBdryContactM}{\UsplineBasisFunc^{\ParamDomainBdryContactM}} \newcommand{\UsplineBasisFuncParamDomainBdryContactG}{\UsplineBasisFunc^{\ParamDomainBdryContactG}} \newcommand{\UsplineBasisSymmSecondOrderComp}{S} \newcommand{\UsplineBasisSymmSecondOrderTen}{\Mat{\UsplineBasisSymmSecondOrderComp}} \newcommand{\UsplineBasisSymmFourthOrderComp}{E} \newcommand{\UsplineBasisSymmSixthOrderComp}{Z} \newcommand{\VolumeEnvRefG}{\VolumeEnvRef^{\alpha}} \newcommand{\VolumeEnvRefS}{\VolumeEnvRef^{s}} \newcommand{\VolumeEnvRefM}{\VolumeEnvRef^{m}} \newcommand{\VolumeRefG}{\VolumeRef^{\alpha}} \newcommand{\VolumeRefS}{\VolumeRef^{s}} \newcommand{\VolumeRefM}{\VolumeRef^{m}} \newcommand{\VolumeRefClosureG}{\VolumeRefClosure^\alpha} \newcommand{\VolumeRefClosureS}{\VolumeRefClosure^s} \newcommand{\VolumeRefClosureM}{\VolumeRefClosure^m} \newcommand{\SurfaceRefG}{\SurfaceRef^\alpha} \newcommand{\SurfaceRefS}{\SurfaceRef^s} \newcommand{\SurfaceRefM}{\SurfaceRef^m} \newcommand{\SurfaceRefTracG}{\SurfaceRef^{\SymbolTracForce,\alpha}} \newcommand{\SurfaceRefDispG}{\SurfaceRef^{\SymbolDisp,\alpha}} \newcommand{\SurfaceRefContactG}{\SurfaceRef^{c,\alpha}} \newcommand{\SurfaceRefContactS}{\SurfaceRef^{c,s}} \newcommand{\SurfaceRefContactM}{\SurfaceRef^{c,m}} \newcommand{\VolumeEnvRefSCoordVec}{\RefCoordVec{\VolumeEnvRefS}} \newcommand{\VolumeEnvRefMCoordVec}{\RefCoordVec{\VolumeEnvRefM}} \newcommand{\VolumeEnvRefGCoordVec}{\RefCoordVec{\VolumeEnvRefG}} \newcommand{\VolumeRefGCoordVec}{\RefCoordVec{\VolumeRefG}} \newcommand{\SurfaceRefContactSCoord}{\RefCoord{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactSCoordVec}{\RefCoordVec{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactMCoord}{\RefCoord{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactMCoordVec}{\RefCoordVec{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactGCoord}{\RefCoord{\SurfaceRefContactG}} \newcommand{\SurfaceRefContactGCoordVec}{\RefCoordVec{\SurfaceRefContactG}} \newcommand{\SurfaceRefDispGCoordVec}{\RefCoordVec{\SurfaceRefDispG}} \newcommand{\SegmentOfVolumeEnvRefS}{\Segment{\VolumeEnvRefS}} \newcommand{\SegmentOfVolumeEnvRefM}{\Segment{\VolumeEnvRefM}} \newcommand{\SegmentOfSurfaceRefContactS}{\Segment{\SurfaceRefContactS}} \newcommand{\SegmentOfSurfaceRefContactM}{\Segment{\SurfaceRefContactM}} \newcommand{\VolumeEnvCurrG}{\VolumeEnvCurr^{\alpha}} \newcommand{\VolumeEnvCurrS}{\VolumeEnvCurr^{s}} \newcommand{\VolumeEnvCurrM}{\VolumeEnvCurr^{m}} \newcommand{\VolumeCurrG}{\VolumeCurr^{\alpha}} \newcommand{\VolumeCurrS}{\VolumeCurr^{s}} \newcommand{\VolumeCurrM}{\VolumeCurr^{m}} \newcommand{\VolumeCurrClosureG}{\VolumeCurrClosure^\alpha} \newcommand{\VolumeCurrClosureS}{\VolumeCurrClosure^s} \newcommand{\VolumeCurrClosureM}{\VolumeCurrClosure^m} \newcommand{\SurfaceCurrG}{\SurfaceCurr^\alpha} \newcommand{\SurfaceCurrS}{\SurfaceCurr^s} \newcommand{\SurfaceCurrM}{\SurfaceCurr^m} \newcommand{\SurfaceCurrContact}{\SurfaceCurr^{c}} \newcommand{\SurfaceCurrContactG}{\SurfaceCurr^{c,\alpha}} \newcommand{\SurfaceCurrContactS}{\SurfaceCurr^{c,s}} \newcommand{\SurfaceCurrContactM}{\SurfaceCurr^{c,m}} \newcommand{\VolumeEnvCurrSCoordVec}{\CurrCoordVec{\VolumeEnvCurrS}} \newcommand{\VolumeEnvCurrMCoordVec}{\CurrCoordVec{\VolumeEnvCurrM}} \newcommand{\VolumeEnvCurrGCoordVec}{\CurrCoordVec{\VolumeEnvCurrG}} \newcommand{\VolumeCurrGCoordVec}{\CurrCoordVec{\VolumeCurrG}} \newcommand{\SurfaceCurrContactSCoord}{\CurrCoord{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactSCoordVec}{\CurrCoordVec{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactMCoord}{\CurrCoord{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactMCoordVec}{\CurrCoordVec{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactGCoord}{\CurrCoord{\SurfaceCurrContactG}} \newcommand{\SurfaceCurrContactGCoordVec}{\CurrCoordVec{\SurfaceCurrContactG}} \newcommand{\SegmentOfVolumeEnvCurrS}{\Segment{\VolumeEnvCurrS}} \newcommand{\SegmentOfVolumeEnvCurrM}{\Segment{\VolumeEnvCurrM}} \newcommand{\SegmentOfSurfaceCurrContactS}{\Segment{\SurfaceCurrContactS}} \newcommand{\SegmentOfSurfaceCurrContactM}{\Segment{\SurfaceCurrContactM}} \newcommand{\VolumeEnvRefSMap}{\ManifoldMap{\ParamDomainEnvS}{\VolumeEnvRefS}} \newcommand{\VolumeEnvRefMMap}{\ManifoldMap{\ParamDomainEnvM}{\VolumeEnvRefM}} \newcommand{\VolumeEnvRefGMap}{\ManifoldMap{\ParamDomainEnvG}{\VolumeEnvRefG}} \newcommand{\VolumeEnvRefSMapInv}{\Inverse{\VolumeEnvRefSMap}} \newcommand{\VolumeEnvRefMMapInv}{\Inverse{\VolumeEnvRefMMap}} \newcommand{\VolumeEnvRefGMapInv}{\Inverse{\VolumeEnvRefGMap}} \newcommand{\VolumeRefClosureSMap}{\ManifoldMap{\ParamDomainClosureS}{\VolumeRefClosureS}} \newcommand{\VolumeRefClosureMMap}{\ManifoldMap{\ParamDomainClosureM}{\VolumeRefClosureM}} \newcommand{\VolumeRefClosureGMap}{\ManifoldMap{\ParamDomainClosureG}{\VolumeRefClosureG}} \newcommand{\VolumeRefSMap}{\ManifoldMap{\ParamDomainS}{\VolumeRefS}} \newcommand{\VolumeRefMMap}{\ManifoldMap{\ParamDomainM}{\VolumeRefM}} \newcommand{\VolumeRefGMap}{\ManifoldMap{\ParamDomainG}{\VolumeRefG}} \newcommand{\VolumeRefClosureGMapRestrictedToBoundary}{\ManifoldMap{\ParamDomainClosureG}{\VolumeRefClosureG}\Big|_{\ParamDomainBdryContactG}} \newcommand{\VolumeRefClosureMMapRestrictedToBoundary}{\ManifoldMap{\ParamDomainClosureM}{\VolumeRefClosureM}\Big|_{\ParamDomainBdryContactM}} \newcommand{\SurfaceRefContactSMap}{\ManifoldMap{\ParamDomainBdryContactS}{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactMMap}{\ManifoldMap{\ParamDomainBdryContactM}{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactGMap}{\ManifoldMap{\ParamDomainBdryContactG}{\SurfaceRefContactG}} \newcommand{\VolumeEnvRefGMapDef}{\ManifoldMapDef{\ParamDomainEnvG}{\VolumeEnvRefG}} \newcommand{\VolumeRefClosureGMapDef}{\ManifoldMapDef{\ParamDomainClosureG}{\VolumeRefClosureG}} \newcommand{\SurfaceRefContactSMapDef}{\ManifoldMapDef{\ParamDomainBdryContactS}{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactMMapDef}{\ManifoldMapDef{\ParamDomainBdryContactM}{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactGMapDef}{\ManifoldMapDef{\ParamDomainBdryContactG}{\SurfaceRefContactG}} \newcommand{\VolumeEnvCurrSMap}{\ManifoldMap{\ParamDomainEnvS}{\VolumeEnvCurrS}} \newcommand{\VolumeEnvCurrMMap}{\ManifoldMap{\ParamDomainEnvM}{\VolumeEnvCurrM}} \newcommand{\VolumeEnvCurrGMap}{\ManifoldMap{\ParamDomainEnvG}{\VolumeEnvCurrG}} \newcommand{\VolumeCurrClosureSMap}{\ManifoldMap{\ParamDomainClosureS}{\VolumeCurrClosureS}} \newcommand{\VolumeCurrClosureMMap}{\ManifoldMap{\ParamDomainClosureM}{\VolumeCurrClosureM}} \newcommand{\VolumeCurrClosureGMap}{\ManifoldMap{\ParamDomainClosureG}{\VolumeCurrClosureG}} \newcommand{\VolumeCurrSMap}{\ManifoldMap{\ParamDomainS}{\VolumeCurrS}} \newcommand{\VolumeCurrMMap}{\ManifoldMap{\ParamDomainM}{\VolumeCurrM}} \newcommand{\VolumeCurrGMap}{\ManifoldMap{\ParamDomainG}{\VolumeCurrG}} \newcommand{\VolumeCurrClosureGMapRestrictedToBoundary}{\ManifoldMap{\ParamDomainClosureG}{\VolumeCurrClosureG}\Big|_{\ParamDomainBdryContactG}} \newcommand{\SurfaceCurrContactSMap}{\ManifoldMap{\ParamDomainBdryContactS}{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactMMap}{\ManifoldMap{\ParamDomainBdryContactM}{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactGMap}{\ManifoldMap{\ParamDomainBdryContactG}{\SurfaceCurrContactG}} \newcommand{\VolumeEnvCurrGMapDef}{\ManifoldMapDef{\ParamDomainEnvG}{\VolumeEnvCurrG}} \newcommand{\VolumeCurrClosureGMapDef}{\ManifoldMapDef{\ParamDomainClosureG}{\VolumeCurrClosureG}} \newcommand{\SurfaceCurrContactSMapDef}{\ManifoldMapDef{\ParamDomainBdryContactS}{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactMMapDef}{\ManifoldMapDef{\ParamDomainBdryContactM}{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactGMapDef}{\ManifoldMapDef{\ParamDomainBdryContactG}{\SurfaceCurrContactG}} \newcommand{\VolumeEnvDeformSMap}{\ManifoldMap{\VolumeEnvRefS}{\VolumeEnvCurrS}} \newcommand{\VolumeEnvDeformMMap}{\ManifoldMap{\VolumeEnvRefM}{\VolumeEnvCurrM}} \newcommand{\VolumeEnvDeformGMap}{\ManifoldMap{\VolumeEnvRefG}{\VolumeEnvCurrG}} \newcommand{\VolumeDeformSMap}{\ManifoldMap{\VolumeRefClosureS}{\VolumeCurrClosureS}} \newcommand{\VolumeDeformMMap}{\ManifoldMap{\VolumeRefClosureM}{\VolumeCurrClosureM}} \newcommand{\VolumeDeformGMap}{\ManifoldMap{\VolumeRefClosureG}{\VolumeCurrClosureG}} \newcommand{\VolumeEnvDeformGMapDef}{\ManifoldMapDef{\VolumeEnvRefG}{\VolumeEnvCurrG}} \newcommand{\VolumeDeformGMapDef}{\ManifoldMapDef{\VolumeRefClosureG}{\VolumeCurrClosureG}} \newcommand{\DispTrialSpaceOverVolumeEnvRefS}{\SpaceHilbert{U}(\VolumeEnvRefS)} \newcommand{\DispTrialSpaceOverVolumeEnvRefM}{\SpaceHilbert{U}(\VolumeEnvRefM)} \newcommand{\DispTrialSpaceOverVolumeEnvRefSAndM}{\SpaceHilbert{U}(\VolumeEnvRefS, \VolumeEnvRefM)} \newcommand{\DispTrialSpaceOverVolumeEnvRefG}{\SpaceHilbert{U}(\VolumeEnvRefG)} \newcommand{\DispTrialSpaceOverVolumeRefS}{\SpaceHilbert{U}(\VolumeRefClosureS)} \newcommand{\DispTrialSpaceOverVolumeRefM}{\SpaceHilbert{U}(\VolumeRefClosureM)} \newcommand{\DispTrialSpaceOverVolumeRefSAndM}{\SpaceHilbert{U}(\VolumeRefClosureS, \VolumeRefClosureM)} \newcommand{\DispTrialSpaceOverVolumeRefG}{\SpaceHilbert{U}(\VolumeRefClosureG)} \newcommand{\DispTestSpaceOverVolumeEnvRefG}{\delta \DispTrialSpaceOverVolumeEnvRefG} \newcommand{\DispTestSpaceOverVolumeRefG}{\delta \DispTrialSpaceOverVolumeRefG} \newcommand{\DispFieldRefSComp}{\DispFieldRefComp^s} \newcommand{\DispFieldRefSTen}{\DispFieldRefTen^s} \newcommand{\DispFieldRefMComp}{\DispFieldRefComp^m} \newcommand{\DispFieldRefMTen}{\DispFieldRefTen^m} \newcommand{\DispFieldRefGTen}{\DispFieldRefTen^\alpha} \newcommand{\DispFieldDiscreteRefGTen}{\DispFieldRefTen^{h,\alpha}} \newcommand{\DispFieldOverVolumeEnvRefGTenDef}{\ManifoldMapDef{\VolumeEnvRefG}{\DispFieldRefGTen}} \newcommand{\DispFieldOverVolumeRefGTenDef}{\ManifoldMapDef{\VolumeRefClosureG}{\DispFieldRefGTen}} \newcommand{\GradVolumeRefG}[1]{\Grad{\RefCoordVec{\VolumeRefClosureG}}{#1}} \newcommand{\GradVolumeEnvRefS}[1]{\Grad{\VolumeEnvRefSCoordVec}{#1}} \newcommand{\GradVolumeEnvRefM}[1]{\Grad{\VolumeEnvRefMCoordVec}{#1}} \newcommand{\GradVolumeEnvRefG}[1]{\Grad{\VolumeEnvRefGCoordVec}{#1}} \newcommand{\DeformGradSComp}{\DeformGradComp^s} \newcommand{\DeformGradSTen}{\DeformGradTen^s} \newcommand{\DeformGradSDet}{\Det{\DeformGradSTen}} \newcommand{\DeformGradSInvTrans}{\InvTrans{\DeformGradSTen}} \newcommand{\DeformGradMComp}{\DeformGradComp^m} \newcommand{\DeformGradMTen}{\DeformGradTen^m} \newcommand{\DeformGradMDet}{\Det{\DeformGradMTen}} \newcommand{\DeformGradMInvTrans}{\InvTrans{\DeformGradMTen}} \newcommand{\DeformGradGTen}{\DeformGradTen^\alpha} \newcommand{\DeformGradOverVolumeEnvRefGTenDef}{\FuncDef{\DeformGradGTen}{\VolumeEnvRefG}{\VolumeEnvCurrG}} \newcommand{\DeformGradOverVolumeRefGTenDef}{\FuncDef{\DeformGradGTen}{\VolumeRefClosureG}{\VolumeCurrClosureG}} \newcommand{\UnitNormalRefSTen}{\UnitNormalRefTen^s} \newcommand{\UnitNormalRefMTen}{\UnitNormalRefTen^m} \newcommand{\UnitNormalCurrSComp}{\UnitNormalCurrComp^s} \newcommand{\UnitNormalCurrSTen}{\UnitNormalCurrTen^s} \newcommand{\UnitNormalCurrMComp}{\UnitNormalCurrComp^m} \newcommand{\UnitNormalCurrMTen}{\UnitNormalCurrTen^m} \newcommand{\AreaRatioS}{r^s} \newcommand{\AreaRatioM}{r^m} \newcommand{\ContraMTen}{\Mat{a}^m} \newcommand{\SymmProdInProjTan}{C} \newcommand{\ProdPBTanInvCurPBTanInv}{D} \newcommand{\ProdPBTanInvCurMetricInv}{M} \newcommand{\ProdPBTanInvCurMetricInvCurPBTanInv}{W} \newcommand{\PenaltyContactGap}{\SymbolPenalty_{\SymbolContactGap}} \newcommand{\BodyForceRefGTen}{\BodyForceRefTen^\alpha} \newcommand{\TracForceRefGTen}{\TracForceRefTen^\alpha} \newcommand{\BodyForceOverVolumeRefGDef}{\FuncDef{\BodyForceRefGTen}{\VolumeRefG}{\SpatialDomain}} \newcommand{\BodyForceOverVolumeEnvRefGDef}{\FuncDef{\BodyForceRefGTen}{\VolumeEnvRefG}{\SpatialDomain}} \newcommand{\TracForceOverSurfaceRefTracGTenDef}{\FuncDef{\TracForceRefGTen}{\SurfaceRefTracG}{\SpatialDomain}} \newcommand{\PressureContact}{\SymbolPressureContact} \newcommand{\PressureContactProjected}{\overline{\SymbolPressureContact}_{\UsplineBasisFuncId}} \newcommand{\CoeffPressureContact}{\SymbolPressureContact_{\UsplineBasisFuncId}} \newcommand{\PressureContactInterpolated}{\hat{\SymbolPressureContact}} \newcommand{\ConstraintRefGTen}{\ConstraintRefTen^\alpha} \newcommand{\GapContact}{\SymbolContactGap} \newcommand{\GapContactProjected}{\overline{\SymbolContactGap}_{\UsplineBasisFuncId}} \newcommand{\GapContactProjectedVariation}{\delta \GapContactProjected} \newcommand{\GapContactMortar}{\GapContact^{m}} \newcommand{\GapContactMortarProjected}{\overline{\GapContact}^{m}_{\UsplineBasisFuncId}} \newcommand{\CoeffGapContactMortar}{\GapContact^{m}_{\UsplineBasisFuncId}} \newcommand{\ConstraintOverSurfaceRefDispGTenDef}{\FuncDef{\ConstraintRefGTen}{\SurfaceRefDispG}{\SpatialDomain}} \newcommand{\EnergyEnvG}{\EnergyEnv^\alpha} \newcommand{\EnergyG}{\Energy^{\alpha}} \newcommand{\EnergyDensityStrainG}{\EnergyDensityStrain^\alpha} \newcommand{\EnergyConstraintG}{\Energy^{\SymbolDisp,\alpha}} \newcommand{\EnergyContact}{\Energy^c} \newcommand{\EnergyOverVolumeRefGDef}{\FuncDef{\EnergyG}{\DispTrialSpaceOverVolumeRefG}{\Reals}} \newcommand{\EnergyEnvOverVolumeEnvRefGDef}{\FuncDef{\EnergyEnvG}{\DispTrialSpaceOverVolumeEnvRefG}{\Reals}} \newcommand{\EnergyDensityStrainOverVolumeRefGDef}{\FuncDef{\EnergyDensityStrainG}{\VolumeRefG}{\Reals}} \newcommand{\EnergyDensityStrainOverVolumeEnvRefGDef}{\FuncDef{\EnergyDensityStrainG}{\VolumeEnvRefG}{\Reals}} \newcommand{\EnergyContactOverVolumeRefSAndMDef}{\FuncDef{\EnergyContact}{\DispTrialSpaceOverVolumeRefSAndM}{\Reals}} \newcommand{\EnergyContactOverVolumeEnvRefSAndMDef}{\FuncDef{\EnergyContact}{\DispTrialSpaceOverVolumeEnvRefSAndM}{\Reals}} \newcommand{\EnergyConstraintOverVolumeRefGDef}{\FuncDef{\EnergyConstraintG}{\DispTrialSpaceOverVolumeRefG}{\Reals}} \newcommand{\EnergyConstraintOverVolumeEnvRefGDef}{\FuncDef{\EnergyConstraintG}{\DispTrialSpaceOverVolumeEnvRefG}{\Reals}} \newcommand{\ResidualMat}{\Mat{N}} \newcommand{\ForceInternalContactVec}{\ForceVec^{c,int,n}} \newcommand{\ForceGapContact}{C^n} \newcommand{\StiffnessMatA}{\hat{\Mat{N}}} \newcommand{\StiffnessMatB}{\Mat{T}} \newcommand{\StiffnessMatC}{\Mat{D}} \newcommand{\StiffnessGeometricContact}{\StiffnessMat^{c,g,n}} \newcommand{\StiffnessContact}{\StiffnessMat^{c,n}} \newcommand{\ElemCount}[1]{\operatorname{count}{(#1)}} \newcommand{\ConvexHull}[1]{\operatorname{ch}{\left(#1\right)}} \newcommand{\Normal}[1]{\operatorname{N}{\left(#1\right)}} \newcommand{\NormalConvexHull}[1]{\Normal{\ConvexHull{#1}}} \newcommand{\DiscretePointSetS}{\Set{SP}} \newcommand{\DiscreteElemSetM}{\Set{ME}} \newcommand{\EnvBoundConMapM}{\operatorname{mc}} \newcommand{\EnvBoundConSetM}{\Set{MC}} \newcommand{\SpatialCoordVecToSegmentSetMapMSensor}{\operatorname{cs}} \newcommand{\SpatialCoordVecToSegmentSetMapMElem}{\operatorname{ce}} \newcommand{\SelfContactMap}{\operatorname{sc}} \newcommand{\ColSetS}{\Set{I}} \newcommand{\PairEnvMapBoundM}{\operatorname{cp}} \newcommand{\ApproximateProjectionCollision}[1]{\widetilde{\Projection}{#1}} \newcommand{\ImageSlaveEnv}{\bar{\ParamCoordVecSimple}^{\ParamDomainEnvM}} \newcommand{\ImageSlaveBound}{\bar{\ParamCoordVecSimple}^{\ParamDomainBdryContactM}} \newcommand{\ActiveSet}{\Set{A}} \newcommand{\DiscretePointSetM}{\Set{MP}} \newcommand{\MortarActiveSet}{\Set{A}^m} \newcommand{\PressureContactAnalytical}{p_a} \newcommand{\TipPressureContactAnalytical}{p_0} \newcommand{\ContactHalfWidth}{b}$$\newcommand{\MidGeometryModifier}[1]{\bar{#1}} \newcommand{\SymbolRotationGlobal}{\omega} \newcommand{\SkewMat}[1]{\Mat{s} \left( #1 \right)} \newcommand{\SkewMatInv}[1]{\Mat{s}^{-1} \left( #1 \right)} \newcommand{\Ident}{\Mat{I}} \newcommand{\Cartesian}{\Vec{e}} \newcommand{\ManifoldDim}{n} \newcommand{\LaminaSymbol}{l} \newcommand{\LaminaSymbolUpper}{L} \newcommand{\LaminaMetricSymbol}{j} \newcommand{\ShellMomentSymbol}{q} \newcommand{\DirectorBilinearFunc}[3]{\left(#2,#3\right)_{#1}} \newcommand{\RotObjectiveFunc}{s} \newcommand{\ParamConfig}{\Omega_\xi} \newcommand{\ParamConfigMid}{\Omega_\xi^m} \newcommand{\ParamConfigSec}{\Omega_\xi^s} \newcommand{\ParamConfigBound}{\Gamma_\xi} \newcommand{\ParamConfigMidBound}{\Gamma_\xi^m} \newcommand{\ParamConfigSecBound}{\Gamma_\xi^s} \newcommand{\ParamConfigMuBound}{\Gamma_\xi^\mu} \newcommand{\ParamConfigSigBound}{\Gamma_\xi^\sigma} \newcommand{\ParamConfigDirichMidBound}{\Gamma_\xi^g} \newcommand{\ParamConfigNeuMidBound}{\Gamma_\xi^h} \newcommand{\ParamConfigDirichBound}{\Gamma_\xi^\gamma} \newcommand{\ParamConfigNeuBound}{\Gamma_\xi^\eta} \newcommand{\ParaParam}[1]{\xi_{#1}} \newcommand{\ParaParamVec}{\boldsymbol{\xi}} \newcommand{\RefConfig}{\Omega_0} \newcommand{\RefConfigMid}{\Omega_0^m} \newcommand{\RefConfigSec}{\Omega_0^s} \newcommand{\SurfaceRefRot}{\SurfaceRef^{\SymbolRotationGlobal}} \newcommand{\RefConfigBound}{\Gamma_0} \newcommand{\RefConfigMidBound}{\Gamma_0^m} \newcommand{\RefConfigSecBound}{\Gamma_0^s} \newcommand{\RefConfigMuBound}{\Gamma_0^\mu} \newcommand{\RefConfigSigBound}{\Gamma_0^\sigma} \newcommand{\RefConfigDirichMidBound}{\Gamma_0^g} \newcommand{\RefConfigNeuMidBound}{\Gamma_0^h} \newcommand{\RefConfigDirichBound}{\Gamma_0^\gamma} \newcommand{\RefConfigNeuBound}{\Gamma_0^\eta} \newcommand{\RefMap}{\Vec{X}} \newcommand{\RefMid}{\MidGeometryModifier{\Vec{X}}} \newcommand{\RefDir}{\Vec{D}} \newcommand{\RefSectionPos}{\Vec{R}} \newcommand{\RefCovar}[1]{\Vec{G}_{#1}} \newcommand{\RefMidCovar}[1]{\MidGeometryModifier{\Vec{G}}_{#1}} \newcommand{\RefContra}[1]{\Vec{G}^{#1}} \newcommand{\RefMidContra}[1]{\MidGeometryModifier{\Vec{G}}^{#1}} \newcommand{\RefLamina}[1]{\Vec{L}_{#1}} \newcommand{\RefLaminaDual}[1]{\Vec{\LaminaSymbolUpper}^{#1}} \newcommand{\RefShellProjectedBasis}[1]{\Vec{P}_{#1}} \newcommand{\CurConfig}{\Omega} \newcommand{\CurConfigMid}{\Omega^m} \newcommand{\CurConfigSec}{\Omega^s} \newcommand{\CurConfigBound}{\Gamma} \newcommand{\CurConfigMidBound}{\Gamma^m} \newcommand{\CurConfigSecBound}{\Gamma^s} \newcommand{\CurConfigMuBound}{\Gamma^\mu} \newcommand{\CurConfigSigBound}{\Gamma^\sigma} \newcommand{\CurConfigDirichMidBound}{\Gamma^g} \newcommand{\CurConfigNeuMidBound}{\Gamma^h} \newcommand{\CurConfigDirichBound}{\Gamma^\gamma} \newcommand{\CurConfigNeuBound}{\Gamma^\eta} \newcommand{\CurMap}{\Vec{x}} \newcommand{\CurMid}{\MidGeometryModifier{\Vec{x}}} \newcommand{\CurDir}{\Vec{d}} \newcommand{\CurSectionPos}{\Vec{r}} \newcommand{\CurCovar}[1]{\Vec{g}_{#1}} \newcommand{\CurMidCovar}[1]{\MidGeometryModifier{\Vec{g}}_{#1}} \newcommand{\CurContra}[1]{\Vec{g}^{#1}} \newcommand{\CurMidContra}[1]{\MidGeometryModifier{\Vec{g}}^{#1}} \newcommand{\CurLamina}[1]{\Vec{\LaminaSymbol}_{#1}} \newcommand{\CurLaminaDual}[1]{\Vec{\LaminaSymbol}^{#1}} \newcommand{\CurModLamina}[1]{\hat{\Vec{\LaminaSymbol}}_{#1}} \newcommand{\CurModLaminaDual}[1]{\hat{\Vec{\LaminaSymbol}}^{#1}} \newcommand{\CurShellProjectedBasis}[1]{\Vec{p}_{#1}} \newcommand{\DeformMap}{\varphi} \newcommand{\DeformMapMid}{\varphi^m} \newcommand{\Disp}{\Vec{u}} \newcommand{\DispMid}{\MidGeometryModifier{\Vec{u}}} \newcommand{\RotVec}{\boldsymbol{\omega}} \newcommand{\RotMat}{\boldsymbol{\Lambda}} \newcommand{\RotMatMembrane}{\Mat{\Psi}} \newcommand{\RotMatDelta}{\boldsymbol{\Lambda}_\Delta} \newcommand{\IncRotMat}{\Delta\RotMat} \newcommand{\EulerVec}{\boldsymbol{\vartheta}} \newcommand{\EulerVecNorm}{\theta} \newcommand{\EulerVecSinc}{\boldsymbol{\Theta}} \newcommand{\EulerRotVec}{\boldsymbol{\theta}} \newcommand{\EulerRotAngle}{\theta} \newcommand{\IncEulerRotVec}{\Delta\boldsymbol{\theta}} \newcommand{\AngularVelocity}{\boldsymbol{\eta}} \newcommand{\IncEulerRotVecVel}{\Delta\dot{\boldsymbol{\theta}}} \newcommand{\AngularAcceleration}{\boldsymbol{\alpha}} \newcommand{\IncEulerRotVecAcc}{\Delta\ddot{\boldsymbol{\theta}}} \newcommand{\DeformGrad}{\Mat{F}} \newcommand{\Strain}[1]{\boldsymbol{\tau}_{#1}} \newcommand{\StrainMid}[1]{\boldsymbol{\varepsilon}_{#1}} \newcommand{\StrainCurve}[1]{\boldsymbol{\kappa}_{#1}} \newcommand{\DecompDeform}{\Mat{U}} \newcommand{\ExtraDeformTen}{\Delta\DeformGradTen} \newcommand{\ExtraDeformComp}{\Delta\DeformGradComp} \newcommand{\GreenLagrange}{\Mat{E}} \newcommand{\ShellStrainCurve}[1]{\boldsymbol{\chi}_{#1}} \newcommand{\SecPK}{\Mat{S}} \newcommand{\FirstPK}{\Mat{P}} \newcommand{\Cauchy}{\boldsymbol{\sigma}} \newcommand{\IntTrac}[1]{\Vec{t}_{#1}} \newcommand{\RefModuli}{\Mat{C}} \newcommand{\CurModuli}{\Mat{c}} \newcommand{\PointModuli}{\Mat{m}} \newcommand{\ResModuli}{\Mat{M}} \newcommand{\RefAreaVec}[1]{\Vec{A}_{#1}} \newcommand{\RefAreaMidVec}[1]{\MidGeometryModifier{\Vec{A}}_{#1}} \newcommand{\RefMeas}{G} \newcommand{\UnitNormalRefVec}[1]{\Vec{N}_{#1}} \newcommand{\CurAreaVec}[1]{\Vec{a}_{#1}} \newcommand{\CurAreaMidVec}[1]{\MidGeometryModifier{\Vec{a}}_{#1}} \newcommand{\CurMeas}{g} \newcommand{\UnitNormalCurrVec}[1]{\Vec{n}_{#1}} \newcommand{\CurLaminaMetricTen}{\Mat{\LaminaMetricSymbol}} \newcommand{\CurLaminaMetricComp}{\LaminaMetricSymbol} \newcommand{\CurToModLaminaTransComp}{M} \newcommand{\IntForce}{\Vec{f}^{\, int}} \newcommand{\IntMoment}{\Vec{m}^{int}} \newcommand{\ExtForceBody}{\Vec{f}^{\, ext}_b} \newcommand{\ExtMomentBody}{\Vec{m}^{ext}_b} \newcommand{\ShellExtMomentBody}{\Vec{\ShellMomentSymbol}^{ext}_b} \newcommand{\ExtForceTrac}{\Vec{f}^{\, ext}_h} \newcommand{\ExtMomentTrac}{\Vec{m}^{ext}_h} \newcommand{\ShellExtMomentTrac}{\Vec{\ShellMomentSymbol}^{ext}_h} \newcommand{\MassForce}{\Vec{f}^{\,\rho}} \newcommand{\MassMoment}{\Vec{m}^{\rho}} \newcommand{\ShellMassMoment}{\Vec{\ShellMomentSymbol}^{\rho}} \newcommand{\ResidualInternal}{\Vec{R}^{int}} \newcommand{\ResidualExternal}{\Vec{R}^{ext}} \newcommand{\ResidualMass}{\Mat{R}^{\rho}} \newcommand{\NodalMass}[1]{\Mat{M}_{#1}} \newcommand{\NodalLinearInertia}[1]{A_{#1}} \newcommand{\NodalAngularInertia}[1]{I_{#1}} \newcommand{\ShellDeltaAngle}{\phi} \newcommand{\BStrainMatrix}[2]{\Mat{B}_{#1#2}} \newcommand{\ShellDrillingStiffness}{k} \newcommand{\DrillConstraint}{C} \newcommand{\IntForceDrilling}{\Vec{f}^{d}} \newcommand{\ModuliDrilling}{\Mat{M}^d} \newcommand{\ResidualDrilling}{\Vec{R}^d} \newcommand{\SymbolTop}{top} \newcommand{\SymbolCentroid}{c} \newcommand{\SymbolLeverArm}{r} \newcommand{\SpatialCoordVecCentroid}{\SpatialCoordVec^{\SymbolCentroid}} \newcommand{\SpatialCoordCentroidX}{\SpatialCoordX^{\SymbolCentroid}} \newcommand{\SpatialCoordCentroidY}{\SpatialCoordY^{\SymbolCentroid}} \newcommand{\SpatialCoordCentroidZ}{\SpatialCoordZ^{\SymbolCentroid}} \newcommand{\LeverArm}{\Vec{\SymbolLeverArm}} \newcommand{\LeverArmX}{\SymbolLeverArm_{\SpatialCoordX}} \newcommand{\LeverArmY}{\SymbolLeverArm_{\SpatialCoordY}} \newcommand{\LeverArmZ}{\SymbolLeverArm_{\SpatialCoordZ}} \newcommand{\MomentFirstMass}{Q} \newcommand{\MomentSecondMass}{I} \newcommand{\MomentSecondMassDetailed}[1]{I_{#1}} \newcommand{\DistributedLoad}{q} \newcommand{\TracForceCurrCompX}{\TracForceCurrComp_{\SpatialCoordX}} \newcommand{\TracForceCurrCompY}{\TracForceCurrComp_{\SpatialCoordY}} \newcommand{\TracForceCurrCompZ}{\TracForceCurrComp_{\SpatialCoordZ}} \newcommand{\TracMomentCurrCompDetailed}[1]{\TracMomentCurrComp_{#1}} \newcommand{\TracForceCurrCompSupportReaction}{r^{\TracForceCurrComp}} \newcommand{\TracForceCurrCompSupportReactionDetailed}[1]{\TracForceCurrCompSupportReaction_{#1}} \newcommand{\TracForceCurrCompDistributedLoad}{\DistributedLoad^{\TracForceCurrComp}} \newcommand{\TracForceCurrCompPointLoad}{p^{\TracForceCurrComp}} \newcommand{\TracMomentCurrVec}{\Vec{\TracMomentCurrComp}} \newcommand{\TracMomentCurrComp}{m} \newcommand{\BodyForceCurrCompX}{\BodyForceCurrComp_{\SpatialCoordX}} \newcommand{\BodyForceCurrCompY}{\BodyForceCurrComp_{\SpatialCoordY}} \newcommand{\BodyForceCurrCompZ}{\BodyForceCurrComp_{\SpatialCoordZ}} \newcommand{\BodyForceCurrCompDistributedLoad}{\DistributedLoad^{\BodyForceCurrComp}} \newcommand{\BodyForceCurrCompAxialLoad}{f^{\BodyForceCurrComp}} \newcommand{\StressCauchyTractionVec}{\Vec{t}} \newcommand{\StressCauchyTractionX}{t_{\SpatialCoordX}} \newcommand{\StressCauchyTractionY}{t_{\SpatialCoordY}} \newcommand{\StressCauchyTractionZ}{t_{\SpatialCoordZ}} \newcommand{\StressCauchyNormal}{\sigma} \newcommand{\StressCauchyNormalDetailed}[1]{\StressCauchyNormal_{#1}} \newcommand{\StressCauchyNormalXX}{\StressCauchyComp_{\SpatialCoordX\SpatialCoordX}} \newcommand{\StressCauchyNormalYY}{\StressCauchyComp_{\SpatialCoordY\SpatialCoordY}} \newcommand{\StressCauchyNormalZZ}{\StressCauchyComp_{\SpatialCoordZ\SpatialCoordZ}} \newcommand{\StressCauchyShear}{\tau} \newcommand{\StressCauchyShearDetailed}[1]{\StressCauchyShear_{#1}} \newcommand{\StressCauchyShearXY}{\StressCauchyShear_{\SpatialCoordX\SpatialCoordY}} \newcommand{\StressCauchyShearYX}{\StressCauchyShear_{\SpatialCoordY\SpatialCoordX}} \newcommand{\StressCauchyShearXZ}{\StressCauchyShear_{\SpatialCoordX\SpatialCoordZ}} \newcommand{\StressCauchyShearZX}{\StressCauchyShear_{\SpatialCoordZ\SpatialCoordX}} \newcommand{\StressCauchyShearYZ}{\StressCauchyShear_{\SpatialCoordY\SpatialCoordZ}} \newcommand{\StressCauchyShearZY}{\StressCauchyShear_{\SpatialCoordZ\SpatialCoordY}} \newcommand{\StressCauchyResultantForce}{F} \newcommand{\StressCauchyResultantForceDetailed}[1]{F_{#1}} \newcommand{\StressCauchyResultantForceVec}{\Vec{\StressCauchyResultantForce}} \newcommand{\StressCauchyResultantMoment}{M} \newcommand{\StressCauchyResultantMomentDetailed}[1]{M_{#1}} \newcommand{\StressCauchyResultantMomentVec}{\Vec{\StressCauchyResultantMoment}} \newcommand{\StressCauchyResultantForceShear}{V} \newcommand{\StressCauchyResultantForceShearDetailed}[1]{V_{#1}} \newcommand{\StressCauchyResultantForceAxial}{\StressCauchyResultantForce} \newcommand{\DispFieldCurrCompX}{\DispFieldCurrComp_{\SpatialCoordX}} \newcommand{\DispFieldCurrCompY}{\DispFieldCurrComp_{\SpatialCoordY}} \newcommand{\DispFieldCurrCompZ}{\DispFieldCurrComp_{\SpatialCoordZ}} \newcommand{\DispFieldMidCurrCompX}{\overline{\DispFieldCurrComp}_{\SpatialCoordX}} \newcommand{\DispFieldMidCurrCompY}{\overline{\DispFieldCurrComp}_{\SpatialCoordY}} \newcommand{\StrainSymGradCompXX}{\StrainSymGradComp_{\SpatialCoordX\SpatialCoordX}} \newcommand{\StrainSymGradCompYY}{\StrainSymGradComp_{\SpatialCoordY\SpatialCoordY}} \newcommand{\StrainSymGradCompZZ}{\StrainSymGradComp_{\SpatialCoordZ\SpatialCoordZ}} \newcommand{\StrainShearComp}{\gamma} \newcommand{\StrainShearCompXY}{\StrainShearComp_{\SpatialCoordX\SpatialCoordY}} \newcommand{\StrainShearCompXZ}{\StrainShearComp_{\SpatialCoordX\SpatialCoordZ}} \newcommand{\StrainShearCompYZ}{\StrainShearComp_{\SpatialCoordY\SpatialCoordZ}} \newcommand{\EquationBeamShearStress}{\frac{\StressCauchyResultantForceShear \MomentFirstMass}{\MomentSecondMassDetailed{\SpatialCoordZ}\Width}} \newcommand{\EquationVecInCoords}{\Vec{v} = v_{\SpatialCoordX} \BasisVecI + v_{\SpatialCoordY} \BasisVecJ + v_{\SpatialCoordZ} \BasisVecK} \newcommand{\EquationMatVecMultiply}{\Mat{M}\Vec{v} = \begin{bmatrix} \DotProduct{\Vec{m}_1}{\Vec{v}} \\ \DotProduct{\Vec{m}_2}{\Vec{v}} \\ \DotProduct{\Vec{m}_3}{\Vec{v}} \end{bmatrix}} \newcommand{\EquationMatMatMultiply}{\Mat{M}\Mat{N} = \begin{bmatrix} \DotProduct{\Vec{m}_1}{\Mat{n}_1} & \DotProduct{\Vec{m}_1}{\Mat{n}_2} & \DotProduct{\Vec{m}_1}{\Mat{n}_3} \\ \DotProduct{\Vec{m}_2}{\Mat{n}_1} & \DotProduct{\Vec{m}_2}{\Mat{n}_2} & \DotProduct{\Vec{m}_2}{\Mat{n}_3} \\ \DotProduct{\Vec{m}_3}{\Mat{n}_1} & \DotProduct{\Vec{m}_3}{\Mat{n}_2} & \DotProduct{\Vec{m}_3}{\Mat{n}_3} \end{bmatrix}} \newcommand{\Force}{F} \newcommand{\ShearFlow}{f}$$\newcommand{\BaseSymbol}{b} \newcommand{\EmbeddedSymbol}{e} \newcommand{\RefinedSymbol}{r} \newcommand{\HierarchicalSymbol}{\textsf{H}} \newcommand{\BlockSymbol}{\textsf{B}} \newcommand{\BaseModifier}[1]{{#1}_{\BaseSymbol}} \newcommand{\EmbeddedModifier}[1]{{#1}_{\EmbeddedSymbol}} \newcommand{\RefinedModifier}[1]{{#1}_{\RefinedSymbol}} \newcommand{\HierarchicalModifier}[1]{{#1}_{\HierarchicalSymbol}} \newcommand{\BlockModifier}[1]{{#1}_{\BlockSymbol}} \newcommand{\RefinementLevelI}{i} \newcommand{\RefinementLevelJ}{j} \newcommand{\RefinementLevelK}{k} \newcommand{\HighestRefinementLevel}{N} \newcommand{\BaseParentDomain}{\BaseModifier{\ParentDomain}} \newcommand{\RefinedDomain}[1]{\ParamDomain_{#1}} \newcommand{\BaseMesh}{\BaseModifier{\MeshTopo}} \newcommand{\BaseBezierMesh}{\BaseModifier{\MeshBezier}} \newcommand{\EmbeddedMesh}{\EmbeddedModifier{\MeshTopo}} \newcommand{\RefinedMesh}{\RefinedModifier{\MeshTopo}} \newcommand{\RefinedBezierMesh}{\RefinedModifier{\MeshBezier}} \newcommand{\HierarchicalBezierMesh}{\HierarchicalModifier{\MeshBezier}} \newcommand{\HierarchicalUsplineMesh}{\HierarchicalModifier{\MeshUspline}} \newcommand{\RefinementLevelMesh}[1]{\MeshBezier_{#1}} \newcommand{\LeafElemSet}[1]{\Set{L}_{#1}} \newcommand{\ActiveElemSet}[1]{\Set{A}_{#1}} \newcommand{\ActiveBasisFuncs}[1]{\Set{UFA}_{#1}} \newcommand{\UnderRefinedBasisFuncs}[1]{\Set{UFU}_{#1}} \newcommand{\HierarchicalBasisFuncs}{\Set{UFH}} \newcommand{\TruncatedBasisFuncs}{\Set{UFT}} \newcommand{\FuncsTruncatedToLevel}[1]{\Set{TK}_{#1}} \newcommand{\FuncsTouchingActiveFuncs}[1]{\Set{T}_{#1}} \newcommand{\FuncsSubsetOfCoarserFuncs}[1]{\Set{S}_{#1}} \newcommand{\RefinementLevelBasis}[1]{\UsplineBasisFuncSetFunctionOf{\RefinementLevelMesh{#1}}} \newcommand{\RefinementLevelSpace}[1]{\QuantityRelatedTo{\UsplineSpace}{\RefinementLevelMesh{#1}}} \newcommand{\BaseAssociated}{\operatorname{\textsf{base}}} \newcommand{\BaseAssociatedFunctionOf}[1]{\QFO{\BaseAssociated}{#1}} \newcommand{\TruncationOp}[2]{\QFO{\operatorname{\textsf{trunc}}_{#1}}{#2}} \newcommand{\EmbeddedToBaseChart}{\EmbeddedModifier{\ParentDomainChart}} \newcommand{\InvEmbeddedToBaseChart}{(\EmbeddedToBaseChart)^{-1}} \newcommand{\RefinementCoefficients}{c^A_B} \newcommand{\RefinementMat}{\Mat{D}} \newcommand{\NthLevelProlongationMat}[1]{\QSB{\ProlongationMat}{#1}} \newcommand{\NthLevelActiveMat}[1]{\QSB{\Mat{A}}{#1}} \newcommand{\NthLevelRefinementMat}[1]{\QSB{\RefinementMat}{#1}} \newcommand{\NthLevelTruncationMat}[1]{\QSB{\Mat{T}}{#1}} \newcommand{\NthLevelBasisMat}[1]{\QSB{\Mat{S}}{#1}} \newcommand{\NthLevelMassMat}[1]{\QSB{\MassMat}{#1}} \newcommand{\FuncIndex}{\operatorname*{\mathsf{ID}}} \newcommand{\MultiLevelRefinementMat}[2]{\QSB{\RefinementMat}{#1 #2}} \newcommand{\BlockRefinementMat}{\BlockModifier{\RefinementMat}} \newcommand{\BlockMassMat}{\BlockModifier{\MassMat}}$

The small feature removal area of ITEM focuses on identifying and removing small features in the model that will either inhibit meshing or force excessive mesh resolution near the small feature. Small features may result from translating models from one format to another or may be intentional design features. Regardless of the origin small features must often be removed in order to generate a high quality mesh.

ITEM will recognize small features that fall in four classifications:

1. small curves

2. small surfaces

3. narrow surfaces

4. surfaces with narrow regions

These operations may involve either real, virtual or a combination of both types of operations to remove these features. A virtual operation is one in which does not modify the CAD model, but rather modifies an overlay topology on the original CAD model. Real operations, on the other hand directly modify the CAD model. Where real operations are provided by the solid modeling kernel upon which Cubit is built, virtual operations are provided by Cubit’ CGM (Tautges, 00) module and are implemented independently of the solid modeling kernel. The following describes the diagnostics for finding each of the four classifications of small features and the methods for removing them.

##### 9.6.2.1Small Curves

Diagnostic: Small curves are found by simply comparing each curve length in the model to a user-specified characteristic small curve size. A default epsilon ( e) is automatically calculated as 10 percent of the user specified mesh size, but can be overridden by the user.

Solutions: ITEM provides three different solutions for eliminating small curves from the model. The first solution uses a virtual operation to composite surfaces. Two surfaces near the small curve can often be composited together to eliminate the small curve as shown in Figure 513, image (a).

The second solution for eliminating small curves is the collapse curve operation. This operation combines partitioning and compositing of surfaces near the small curve to generate a topology that is similar to pinching the two ends of the curve together into a single point. The partitioning can be done either as a real or virtual operation. Figure 513, image (b) illustrates the collapse curve operation.

The third solution for eliminating small curves is the remove topology operation. This operation can be thought of as cutting out an area around the small curve and then reconstructing the surfaces and curves in the cut-out region so that the small curves no longer exist. (Clark, 07) provides a detailed description of the remove topology operation. This operation has more impact on the actual geometry of the model because it redefines surfaces and curves in the vicinity of a small curve. The reconstruction of curves and surfaces is done using real operations followed by composites to remove extra topology introduced during the operation. Figure 513, image (c) shows the results using the remove topology operation.

Figure 513: "Three operators used for removing small curves (a) composite; (b) collapse curve; (c) remove topology"

##### 9.6.2.2Small and Narrow Surfaces

ITEM also addresses the problem of small and narrow surfaces. Both are dealt with in a similar manner and are described here.

Diagnostic: Small surfaces are found by comparing the surface area with a characteristic small area. The characteristic small area is defined simply as the characteristic small curve length squared or $e^{2}$.

Narrow surfaces are distinguished from surfaces with narrow regions by the characteristic that the latter can be split such that the narrow region is separated from the rest of the surface. Narrow surfaces are themselves a narrow region and no further splits can be done to separate the narrow region. Figure 514 shows examples of each. ITEM provides the option to split off the narrow regions, subdividing the surface so the narrow surfaces can be dealt with independently.

Narrow regions/surfaces are also recognized using the characteristic value of e. The distance, $d^{i}$ from the endpoints of each curve in the surface to the other curves in the surface are computed and compared to e. When $d_{i}< e$ other points on the curve are sampled to identify the beginning and end of the narrow region. If the narrow region encompasses the entire surface, the surface is classified as a narrow surface. If the region contains only a portion of the surface, it is classified as a surface with a narrow region.

Figure 514: Two cases illustrating the difference between surfaces with narrow regions and narrow surfaces

Solutions: ITEM provides four different solutions for eliminating small and narrow surfaces from the model. The first solution uses the regularize operation. Regularize is a real operation provided by the solid modeling kernel that removes unnecessary/redundant topology in the model. In many cases a small/narrow surface’s definition may be the same as a surface next to it and therefore the curve between them is not necessary and can be regularized out. An example of regularizing a small/narrow surface out is shown in figure 515.

Figure 515: When the small surface's underlying geometric definition is the same as a neighbor the curve between them can be regularized out.

The second solution for removing small/narrow surfaces uses the remove operation. Remove is also a real operation provided by the solid modeling kernel. However, it differs from regularize in that it doesn’t require the neighboring surface(s) to have the same geometric definition. Instead the remove operation removes the specified surface from the model and then attempts to extend and intersect adjacent surfaces to close the volume. An example of using the remove solution is shown in figure 516.

Figure 516: The remove operation extends an adjacent surface to remove a small surface

The third solution for removing small/narrow surfaces uses the virtual composite operation to composite the small surface with one of its neighbors. This is very similar to the use of composites for removing small curves. An example is shown in figure 517.

Figure 517: Composite solution for removing a narrow surface

The final solution for removing small/narrow surfaces uses the remove topology operation (Clark, 07). The remove topology operation behaves the same as when used for removing small curves in that it cuts out the area of the model around the small/narrow surface and replaces it with a simplified topology. In the case of a small surface where all of the curves on the surface are smaller than the characteristic small curve length, the small surface is replaced by a single vertex. In the case of a narrow surface where the surface is longer than the characteristic small curve length in one of its directions, the surface is replaced with a curve. The remove topology operation can be thought of as a local dimensional reduction to simplify the topology. The remove topology operation can also be used to remove networks of small/narrow surfaces in a similar fashion. Examples of using the remove topology solution to remove small/narrow surfaces are shown in figure 518 and figure 519.

Figure 518: Remove topology solution for removing a narrow surface

Figure 519: Remove topology solution for removing a network of narrow surfaces

##### 9.6.3Building a Sweepable Topology

$\newcommand{\QuantityFunctionOf}[2]{{#1}(#2)} \newcommand{\QFO}[2]{\QuantityFunctionOf{#1}{#2}} \newcommand{\QuantityFunctionOfNoArg}[1]{{#1}} \newcommand{\QFONA}[1]{\QuantityFunctionOfNoArg{#1}} \newcommand{\SubscriptedQuantityFunctionOf}[3]{{#1}_{#2}(#3)} \newcommand{\SQFO}[3]{\SubscriptedQuantityFunctionOf{#1}{#2}{#3}} \newcommand{\QuantityChildOf}[2]{{#2}^{#1}} \newcommand{\QCO}[2]{\QuantityChildOf{#1}{#2}} \newcommand{\QuantityRelatedTo}[2]{{#1}[#2]} \newcommand{\QRT}[2]{\QuantityRelatedTo{#1}{#2}} \newcommand{\QuantitySubscriptedBy}[2]{{#1}_{#2}} \newcommand{\QSB}[2]{\QuantitySubscriptedBy{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOfChildOf}[4]{{#1}_{#2}^{#3}(#4)} \newcommand{\SQFOCO}[4]{\SubscriptedQuantityFunctionOfChildOf{#1}{#2}{#3}{#4}} \newcommand{\SubscriptedQuantityChildOf}[3]{{#1}_{#2}^{#3}} \newcommand{\SQCO}[3]{\SubscriptedQuantityChildOf{#1}{#2}{#3}} \newcommand{\overbar}[1]{\mkern 1.5mu\overline{\mkern-1.5mu#1\mkern-1.5mu}\mkern 1.5mu} \newcommand{\bcdot}{\boldsymbol{\cdot}} \newcommand{\SuchThat}{\, : \,} \newcommand{\SuchThatText}{\text{s.t.}} \newcommand{\DefEq}{\overset{\operatorname{def}}{=}} \newcommand{\True}{\textsf{True}} \newcommand{\False}{\textsf{False}} \newcommand{\ArrayRoster}[1]{\left[#1\right]} \newcommand{\ArrayRosterI}[2]{[#1]_{#2}} \newcommand{\ArrayEmpty}{\ArrayRoster{\hspace{1mm}}} \newcommand{\Tuple}[1]{\mathsf{#1}} \newcommand{\TupleRoster}[1]{\left(#1\right)} \newcommand{\PointPair}[2]{\TupleRoster{#1, #2}} \newcommand{\Set}[1]{\mathsf{#1}} \newcommand{\SetRoster}[1]{\left\{ #1 \right\}} \newcommand{\SetRosterIndexed}[3]{\SetRoster{#1}_{#2}^{#3}} \newcommand{\SetRosterPredicate}[2]{\SetRoster{#1 \SuchThat #2}} \newcommand{\SetEmpty}{\varnothing} \newcommand{\SetPower}[1]{\QuantityFunctionOf{\boldsymbol{\Set{P}}}{#1}} \newcommand{\SetNeighborhood}[1]{\QuantityFunctionOf{\boldsymbol{\Set{B}}}{#1}} \newcommand{\Domain}{\Omega} \newcommand{\DomainBdry}{\Gamma} \newcommand{\IntervalClosed}[2]{\left[#1, #2\right]} \newcommand{\IntervalOpen}[2]{\left(#1, #2\right)} \newcommand{\IntervalClosedOpen}[2]{\left[#1, #2\right)} \newcommand{\IntervalOpenClosed}[2]{\left(#1, #2\right]} \newcommand{\Reals}{\mathbb{R}} \newcommand{\Naturals}{\mathbb{N}} \newcommand{\Integers}{\mathbb{Z}} \newcommand{\Field}{\mathbb{F}} \newcommand{\Size}[1]{\left\lvert #1 \right\rvert} \newcommand{\Union}[3]{\bigcup\limits_{#1}^{#2} #3} \newcommand{\UnionInline}[3]{\bigcup_{#1}^{#2} #3} \newcommand{\Intersect}[3]{\bigcap\limits_{#1}^{#2} #3} \newcommand{\ElementWiseGreaterOrEqual}{\succeq} \newcommand{\ElemntWiseGreater}{\succ} \newcommand{\ElementWiseLessOrEqual}{\preceq} \newcommand{\ElementWiseLess}{\prec} \newcommand{\SpaceLinear}[1]{\mathnormal{#1}} \newcommand{\SpaceDual}[1]{\SpaceLinear{#1}^*} \newcommand{\AbsoluteValue}[1]{\Size{#1}} \newcommand{\Norm}[2]{\left\lVert #2 \right\rVert_{#1}} \newcommand{\NormAbstract}[1]{\Norm{}{#1}} \newcommand{\NormSemi}[1]{\Size{#1}} \newcommand{\SpaceLinearNormed}[1]{\left(\SpaceLinear{#1}, \NormAbstract{\bcdot} \right)} \newcommand{\SpaceBanach}[1]{\mathfrak{#1}} % normed and complete \newcommand{\SymmetricBilinear}[2]{\left(#1, #2\right)} \newcommand{\InnerProduct}[2]{\left\langle#1, #2\right\rangle} \newcommand{\DotProduct}[2]{\left(#1 \bcdot #2\right)} \newcommand{\SpaceInnerProduct}[1]{\left(\SpaceLinear{#1}, \InnerProduct{\bcdot}{\bcdot}\right)} \newcommand{\SpaceHilbert}[1]{\mathcal{#1}} \newcommand{\SpaceLTwo}{\SpaceHilbert{L}_2} \newcommand{\SpaceLTwoDef}[2]{\SpaceLTwo\left(#1; #2\right)} \newcommand{\SpaceLInfty}{\SpaceHilbert{L}_\infty} \newcommand{\SpaceLTwoWeighted}{\SpaceLTwo^w} \newcommand{\SpaceSobolevK}[1]{\SpaceHilbert{H}^{#1}} \newcommand{\SpaceSobolevKDef}[3]{\SpaceSobolevK{#1}\left(#2 ; #3\right)} \newcommand{\Cont}{\operatorname{cont}} \newcommand{\SpaceCont}{\SpaceHilbert{C}} \newcommand{\SpaceContDef}[2]{\SpaceCont\left(#1 ; #2\right)} \newcommand{\SpaceContK}[1]{\SpaceCont^{#1}} \newcommand{\SpaceContKDef}[3]{\SpaceContK{#1}\left(#2; #3\right)} \newcommand{\SpaceContZero}{\SpaceContK{0}} \newcommand{\SpaceContInf}{\SpaceContK{\infty}} \newcommand{\SpaceContInfDef}[2]{\SpaceContKDef{\infty}{#1}{#2}} \newcommand{\SpaceContKBounded}[2]{\SpaceContK{#1}_{#2}} \newcommand{\SpaceContKBoundedDef}[3]{\SpaceCont_{b}^{#1}\left(#2 ; #3\right)} \newcommand{\SpaceLinearOperator}[1]{\mathscr{#1}} \newcommand{\SpaceLinearOperatorDef}[2]{\SpaceLinearOperator{L}\left(#1 ; #2\right)} \newcommand{\SpaceLinearOperatorBoundedDef}[2]{\SpaceLinearOperator{B}\left(#1 ; #2\right)} \newcommand{\SpaceLinearN}[1]{\SpaceLinear{#1}^h} \newcommand{\SpaceHilbertN}[1]{\SpaceHilbert{#1}^h} \newcommand{\SpaceVecRealN}[1]{\Reals^{#1}} \newcommand{\SpacePoly}[1]{\SpaceHilbert{P}^{#1}} \newcommand{\SpaceMatrixRealMN}[2]{\Reals^{#1\times#2}} \newcommand{\SpacePolyDef}[3]{\SpacePoly{#1}\left(#2 ; #3\right)} \newcommand{\Func}[1][f]{#1} \newcommand{\FuncAlt}[1][g]{#1} \newcommand{\FuncDef}[3]{#1 \SuchThat #2 \rightarrow #3} \newcommand{\FuncApprox}[1]{#1^h} \newcommand{\LinearOperator}[1]{\SpaceLinearOperator{#1}} \newcommand{\LinearOperatorDef}[3]{\FuncDef{\LinearOperator{#1}}{#2}{#3}} \newcommand{\Functional}[1]{\LinearOperator{#1}} \newcommand{\Projection}{\Pi} \newcommand{\VectorProjection}[2]{\Projection_{#1} {\left(#2\right)}} \newcommand{\Mat}[1]{\boldsymbol{#1}} \newcommand{\MatIJ}[3]{\left[#1\right]_{#2#3}} \newcommand{\MatIdRow}{m} \newcommand{\MatIdCol}{n} \newcommand{\NonZeroIndices}{\operatorname{\mathsf{nzi}}} \newcommand{\ColumnSelector}{\operatorname{\mathrm{col}}} \newcommand{\RowSelector}{\operatorname{\mathrm{row}}} \newcommand{\ColOf}[1]{\ColumnSelector_{#1}} \newcommand{\RowOf}[1]{\RowSelector_{#1}} \newcommand{\DiagonalMatrix}[1]{\QFO{\operatorname*{diag}}{#1}} \newcommand{\Rotation}{\Mat{R}} \newcommand{\Identity}{\Mat{I}} \newcommand{\KroneckerDeltaComp}{\delta} \newcommand{\KroneckerDelta}{\Mat{\delta}} \newcommand{\LeviCivita}{\Mat{\epsilon}} \newcommand{\Jacobian}{\Mat{J}} \renewcommand{\Vec}[1]{\boldsymbol{#1}} \newcommand{\VecChildOf}[2]{\QCO{#2}{#1}} \newcommand{\VecI}[2]{\{#1\}_{#2}} \newcommand{\ZeroVec}{\Vec{0}} \newcommand{\OneVec}{\Vec{1}} \newcommand{\ZeroMat}{\Mat{0}} \newcommand{\UnitNormalComp}{n} \newcommand{\UnitNormal}{\Vec{\UnitNormalComp}} \newcommand{\MacBracket}[1]{\langle#1\rangle} \newcommand{\IdentityTenSym}{\mathbb{I}} \newcommand{\BraKet}[1]{\langle#1\rangle} \newcommand{\FuncObjective}[1]{\QFO{\Func}{#1}} \newcommand{\FuncEqualityConstraints}[1]{\QFO{\Func[\Vec{g}]}{#1}} \newcommand{\VarDesign}{\Vec{\phi}} \newcommand{\VarState}[1]{\QFO{\Vec{u}}{#1}} \newcommand{\FuncLagrangian}[1]{\QFO{\mathscr{L}}{#1}} \newcommand{\FuncAugmentedLagrangian}[1]{\QFO{\mathscr{L}_A}{#1}} \newcommand{\VecLambdaLM}[1]{\QFO{\Vec{\lambda}}{#1}} \newcommand{\LambdaLM}[1]{\QFO{\lambda}{#1}} \newcommand{\SolutionLocalOpt}[1]{\left(#1\right)^*} \newcommand{\ProximalPoint}{\overbar{\VecLambdaLM{}}} \newcommand{\PenaltyParameter}{\rho} \newcommand{\Slacify}[1]{\QSB{#1}{s}} \newcommand{\Prod}[2]{\prod\limits_{#1}^{#2}} \newcommand{\ProdInline}[2]{\prod_{#1}^{#2}} \newcommand{\TensorProduct}{\otimes} \newcommand{\Sum}[2]{\sum\limits_{#1}^{#2}} \newcommand{\SumInline}[2]{\sum_{#1}^{#2}} \newcommand{\Rank}[1]{\operatorname{rank}(#1)} \newcommand{\Nullity}[1]{\operatorname{null}(#1)} \newcommand{\Image}{\operatorname{image}} \newcommand{\Range}{\operatorname{range}} \newcommand{\Inverse}[1]{\left(#1\right)^{-1}} \newcommand{\inverse}[1]{\overline{#1}} \newcommand{\Transpose}[1]{\left(#1\right)^{T}} \newcommand{\TransposeSimple}[1]{#1^{T}} \newcommand{\InvTrans}[1]{\left(#1\right)^{-T}} \newcommand{\Complement}[1]{\overbar{#1}} \newcommand{\Adjoint}[1]{\left(#1\right)^*} \newcommand{\OrthogonalComplement}[1]{\left(#1\right)^\perp} \newcommand{\Det}[1]{\QFO{\operatorname{det}}{#1}} \newcommand{\DCT}{\operatorname{DCT}} \newcommand{\IDCT}{\operatorname{IDCT}} \newcommand{\RealPart}[1]{\QFO{\mathfrak{R}}{#1}} \newcommand{\Trace}[1]{\QFO{\operatorname{tr}}{#1}} \newcommand{\Dev}[1]{\QFO{\operatorname{dev}}{#1}} \newcommand{\DevDef}[1]{\Dev{#1} \DefEq #1 - \frac{1}{3}\Trace{#1}\Identity} \newcommand{\dual}[1]{{\bar{#1}}} \newcommand{\symind}[1]{\textsc{#1}} \newcommand{\symmetrizer}{{S}} \newcommand{\BasisFuncCoeff}[2]{\QSB{#1}{#2}} \newcommand{\BasisVec}[2]{\QSB{#1}{#2}} \newcommand{\BasisVecChildOf}[3]{\SQFOCO{#1}{#2}{#3}{a}} \newcommand{\OrthogonalBasisVec}[2]{\SQFOCO{#1}{#2}{\perp}{a}} \newcommand{\OrthonormalBasisVec}[2]{\SQFOCO{\overbar{#1}}{#2}{\perp}{a}} \newcommand{\PolynomialDegree}{p} \newcommand{\BasisFuncId}{i} \newcommand{\BasisFuncIdAlt}{j} \newcommand{\BasisFuncIdAltAlt}{k} \newcommand{\BasisFunc}[3]{\SQFO{#1}{#2}{#3}} \newcommand{\PowerBasisFunc}[2]{\QCO{#2}{#1}} \newcommand{\LagrangeBasisFunc}[3]{\SQFOCO{\Func[L]}{#1}{#2}{#3}} \newcommand{\LagrangeBasisFuncNoArg}[2]{\SQCO{\Func[L]}{#1}{#2}} \newcommand{\LegendreBasisFunc}[3]{\SQFOCO{\Func[P]}{#1}{#2}{#3}} \newcommand{\LegendreBasisFuncNoArg}[2]{\SQCO{\Func[P]}{#1}{#2}} \newcommand{\PreNormalizedLegendreBasisFunc}[3]{\hat{\LegendreBasisFunc{#1}{#2}{#3}}} \newcommand{\ChebyshevBasisFunc}[2]{\SQFO{\Func[T]}{#1}{#2}} \newcommand{\ChebyshevBasisFuncNoArg}[1]{\SQCO{\Func[T]}{#1}{}} \newcommand{\BasisVecI}{\Vec{i}} \newcommand{\BasisVecJ}{\Vec{j}} \newcommand{\BasisVecK}{\Vec{k}} \newcommand{\Span}{\operatorname{span}} \newcommand{\Dim}[1]{\operatorname{dim}\left({#1}\right)} \newcommand{\Support}[1]{\operatorname{supp}(#1)} \newcommand{\SupportPos}[1]{\operatorname{supp}_{+}(#1)} \newcommand{\SumBasis}[4]{\Sum{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\SumInlineBasis}[4]{\SumInline{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\BasisTransMatrix}[2]{\Mat{R}_{{#1}\rightarrow{#2}}} \newcommand{\ChebyshevZeros}[1]{\QSB{z}{#1}} \newcommand{\ChebyshevExtremizers}[1]{\QSB{t}{#1}} \newcommand{\BernToChebMat}{\Mat{T}} \newcommand{\Chebfun}[3]{\biggl(\, \sum_{#2=0}^{#1}{#3}_{#2}\ChebyshevBasisFuncNoArg{#2}\biggr)} \newcommand{\ChebfunVector}[1]{\left[#1\right]_c} \newcommand{\PowerBasisMat}[1]{\QCO{#1}{\Mat{M}}} \newcommand{\LagrangeBasisMat}[1]{\QCO{#1}{\Mat{L}}} \newcommand{\LegendreBasisMat}[1]{\QCO{#1}{\Mat{P}}} \newcommand{\BernsteinBasisMat}[1]{\QCO{#1}{\Mat{B}}} \newcommand{\ChebyshevBasisMat}[1]{\QCO{#1}{\Mat{T}}} \newcommand{\EvaluateTwoLimits}[3]{#1\biggr\rvert_{#2}^{#3}} \newcommand{\EvaluateOneLimit}[2]{\left.#1\right\rvert_{#2}} \newcommand{\Limit}[2]{\lim\limits_{#1\rightarrow #2}} \newcommand{\LimitInline}[2]{\lim_{#1\rightarrow #2}} \newcommand{\DNE}{\operatorname{DNE}} \newcommand{\TotalDeriv}{D} \newcommand{\LagrangeDeriv}[1]{{#1}'} \newcommand{\KthLagrangeDeriv}[2]{{#1}^{(#2)}} \newcommand{\LeibnizSubDeriv}[2]{{#1}_{,#2}} \newcommand{\LeibnizFracDeriv}[2]{\frac{d}{d#2} #1} \newcommand{\KthLeibnizFracDeriv}[3]{\frac{d^{#2}}{d#3^{#2}}\Func[#1](#3)} \newcommand{\KthLeibnizFracSpecificFunction}[3]{\frac{d^{#2}}{d#3^{#2}}\Func[#1]} \newcommand{\Differential}[1][x]{\, \operatorname{d}{#1}} \newcommand{\FrechetDeriv}[2]{D{#1}\left(#2\right)} \newcommand{\GateauxDirectionBold}[1]{\Vec{\delta}#1} \newcommand{\GateauxDirection}[1]{\delta #1} \newcommand{\GateauxDerivBold}[2]{D#1(#2; \GateauxDirectionBold{#2})} \newcommand{\GateauxDeriv}[2]{D#1(#2; \GateauxDirection{#2})} \newcommand{\GateauxDerivWithDirection}[3]{D#1\left(#2 \ ;\ #3\right)} \newcommand{\GateauxDerivPartial}[2]{\frac{\partial #1}{\partial #2}} \newcommand{\KthGateauxDerivPartial}[3]{\frac{\partial^{#3} #1}{\partial #2^{#3}}} \newcommand{\Grad}[2]{\boldsymbol{\nabla}^{#1} #2} \newcommand{\Jac}{\Mat{J}} \newcommand{\Div}[2]{\boldsymbol{\nabla}^{#1} \bcdot #2} \newcommand{\Laplace}[2]{\boldsymbol{\Delta}^{#1} #2} \newcommand{\TaylorSeries}[2]{\mathcal{T}\left[\Func[#1]\right](#2)} \newcommand{\TruncatedTaylorSeries}[3]{\mathcal{T}_{#1}\left[\Func[#2]\right]\left(#3\right)} \newcommand{\Int}[2]{\int\limits_{#1}^{#2}} \newcommand{\IntDomain}[1]{\int\limits_{#1}} \newcommand{\IntInline}[2]{\int_{#1}^{#2}} \newcommand{\IntDomainInline}[1]{\int_{#1}} \newcommand{\DetJacobian}{\Det{\Jac}} \newcommand{\BigO}[1]{\mathcal{O}\left(#1\right)} \newcommand{\Flops}{\operatorname{flops}} \newcommand{\Interpolant}[2]{\mathcal{#1}^{h}} \newcommand{\ErrorApproxComp}{e} \newcommand{\ErrorApproxTen}{\Vec{\ErrorApproxComp}} \newcommand{\ErrorNewton}{\epsilon} \newcommand{\ApproximateIntegrationError}[1]{\tilde{e}_{#1}} \newcommand{\AnalyticApproximateIntegrationErrorDifference}[1]{\overbar{e}_{#1}} \newcommand{\erf}[1]{\mathrm{erf}\left(#1\right)} \newcommand{\erfc}[1]{\mathrm{erfc}\left(#1\right)} \newcommand{\HeavisideFunc}[1]{\mathit{H}\left(#1\right)} \newcommand{\DiracDelta}[2]{\delta_{D}\left(#1 - #2\right)}$$\newcommand{\SymbolParentModifier}[1]{\overbar{#1}} \newcommand{\SymbolParamModifier}[1]{\hat{#1}} \newcommand{\SymbolSubmeshModifier}{} \newcommand{\SymbolDomain}{\Domain} \newcommand{\SymbolDomainBdry}{\DomainBdry} \newcommand{\SymbolBernstein}{B} \newcommand{\SymbolBasisUspline}{N} \newcommand{\SymbolUspline}{U} \newcommand{\SymbolUsplineLower}{u} \newcommand{\SymbolGrevillePoint}{g} \newcommand{\SymbolDim}{d} \newcommand{\SymbolArbitraryCoeffUspline}{c} \newcommand{\SymbolArbitraryCoeffUsplineAlt}{\beta} \newcommand{\SymbolArbitraryCoeffBernstein}{c} \newcommand{\SymbolDistance}{\operatorname{dist}} \newcommand{\AdjacencyId}{n} \newcommand{\DimId}{k} \newcommand{\DimIdAlt}{n} \newcommand{\ArbDim}{\DimId} \newcommand{\ArbDimAlt}{\DimIdAlt} \newcommand{\DimIdSet}{\Set{\DimId}} \newcommand{\DimIdOne}{\DimId_0} \newcommand{\DimIdTwo}{\DimId_1} \newcommand{\DimIdThree}{\DimId_2} \newcommand{\TopoAlpha}[1]{\alpha_{#1}} \newcommand{\TopoPhi}[1]{\phi_{#1}} \newcommand{\UTopology}{\mathsf{U}} \newcommand{\Map}[1]{\mathsf{#1}} \newcommand{\OMap}[1]{\mathsf{#1}} \newcommand{\UOMap}[1]{\UTopology(#1)} \newcommand{\Topology}{\mathsf{T}} \newcommand{\DartsOf}[1]{\operatorname*{\mathsf{D}}\left(#1\right)} \newcommand{\DartIndex}[1]{\operatorname*{\mathsf{ID}}\left(#1\right)} \newcommand{\OR}{\operatorname{OR}} \newcommand{\AND}{\operatorname{AND}} \newcommand{\XOR}{\operatorname{XOR}} \newcommand{\Decomp}{\operatorname{dec}} \newcommand{\ParentDomain}{\SymbolParentModifier{\SymbolDomain}} \newcommand{\ParentDomainChart}{\SymbolParentModifier{\Vec{\phi}}} \newcommand{\ParentDomainChartFunctionOf}[2]{\QuantityFunctionOf{{\ParentDomainChart}^{#1}}{#2}} \newcommand{\ParentDim}{\SymbolDim} \newcommand{\ParentCoord}{\xi} \newcommand{\ParentCoordVec}{\Vec{\ParentCoord}} \newcommand{\ParentS}{\ParentCoord_0} \newcommand{\ParentT}{\ParentCoord_1} \newcommand{\ParentU}{\ParentCoord_2} \newcommand{\ParentBarycentric}[1]{\ParentCoord_{#1}} \newcommand{\ParentGrevillePoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}} \newcommand{\ParentGrevillePointFunctionOf}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParentGrevillePointSet}[1]{\QuantityFunctionOf{\Set{\SymbolParentModifier{G}}}{#1}} \newcommand{\BernsteinBasisFuncId}{\BasisFuncId} \newcommand{\BernsteinBasisFuncIdAlt}{\BasisFuncIdAlt} \newcommand{\BernsteinBasisFuncIdAltAlt}{\BasisFuncIdAltAlt} \newcommand{\BernsteinBasisFuncIdB}{\BasisFuncIdAltAlt} \newcommand{\BernsteinBasisFuncIdOne}{\BernsteinBasisFuncId_0} \newcommand{\BernsteinBasisFuncIdTwo}{\BernsteinBasisFuncId_1} \newcommand{\BernsteinBasisFuncIdSet}{\Set{\BernsteinBasisFuncId}} \newcommand{\BernsteinBasisFuncIndexTuple}{\BernsteinBasisFuncIdSet} \newcommand{\BernsteinBasisFuncIndexTupleAlt}{\Set{\BernsteinBasisFuncIdAlt}} \newcommand{\BernsteinBasisFuncIndexTupleAltAlt}{\Set{\BernsteinBasisFuncIdAltAlt}} \newcommand{\BernsteinBasisFuncIndexTupleB}{\Set{\BernsteinBasisFuncIdB}} \newcommand{\BernsteinDegree}{\PolynomialDegree} \newcommand{\BernsteinDegreeAlt}{q} \newcommand{\BernsteinDegreeTuple}{\Tuple{\BernsteinDegree}} \newcommand{\BernsteinDegreeElevMatComp}{D} \newcommand{\BernsteinDegreeElevMat}{\Mat{\BernsteinDegreeElevMatComp}} \newcommand{\CompletePolynomial}[1]{\AbsoluteValue{#1}} \newcommand{\BernsteinBasisFunc}{\SymbolBernstein} \newcommand{\BernsteinBasisFuncVec}[1]{\QuantityChildOf{#1}{\Vec{\SymbolBernstein}}} \newcommand{\BernsteinBasisFuncVecFunctionOf}[2]{\QuantityFunctionOf{\BernsteinBasisFuncVec{#1}}{#2}} \newcommand{\BernsteinBasisFuncDetailed}[2]{\BernsteinBasisFunc_{#1}^{#2}} \newcommand{\BernFuncLowerDimCell}[2]{\BernsteinBasisFunc^{#1}_{#2}} \newcommand{\BernFuncInterf}[1]{\BernFuncLowerDimCell{\Interface}{#1}} \newcommand{\BernsteinSpace}{\SpaceHilbert{\SymbolBernstein}} \newcommand{\BernsteinRestriction}[2]{#1\vert_{#2}} \newcommand{\Bezier}{B\'ezier} \newcommand{\MeshTopo}{\boldsymbol{\textsf{M}}} \newcommand{\MeshSize}{h} \newcommand{\MeshBezier}{\boldsymbol{\textsf{B}}} \newcommand{\CellArbitrary}[1]{\Set{#1}} \newcommand{\Cell}{\CellArbitrary{c}} \newcommand{\CellAlpha}{\CellArbitrary{a}} \newcommand{\CellBeta}{\CellArbitrary{b}} \newcommand{\CellGamma}{\CellArbitrary{c}} \newcommand{\CellToTheLeft}{\CellAlpha} \newcommand{\CellToTheRight}{\CellBeta} \newcommand{\CellBoundary}[1]{\partial #1} \newcommand{\CellSet}[1]{\Set{C}^{#1}} \newcommand{\CellSetAdjacent}[1]{\Set{ADJ}^{#1}} \newcommand{\CellSetAdjacentFunctionOf}[2]{\QuantityFunctionOf{\CellSetAdjacent{#1}}{#2}} \newcommand{\NRing}[1]{\QuantitySubscriptedBy{\operatorname{ring}}{#1}} \newcommand{\NRingFunctionOf}[2]{\SQFO{\operatorname{ring}}{#1}{#2}} \newcommand{\CellSetCardinal}[1]{\QuantityFunctionOf{\Set{CRD}}{#1}} \newcommand{\CellSetSupport}[1]{\Support{#1}} \newcommand{\Elem}{\Set{E}} \newcommand{\Interface}{\Set{I}} \newcommand{\Smoothness}{\vartheta} \newcommand{\SmoothnessVar}{\rho} \newcommand{\SmoothnessSet}{\Set{\Smoothness}} \newcommand{\InterfaceSmoothness}[1]{\QuantityChildOf{#1}{\Smoothness}} \newcommand{\MaxPerpCont}[1]{\QuantityFunctionOf{\Smoothness^{\perp}_{\max}}{#1}} \newcommand{\Face}{\Set{f}} \newcommand{\Edge}{\Set{e}} \newcommand{\Vertex}{\Set{v}} \newcommand{\CodimTwoCell}{\Set{w}} \newcommand{\KCell}{\Cell^\ArbDim} \newcommand{\KPlusOneCell}{\Cell^{\ArbDim+1}} \newcommand{\KCellAlpha}{\CellAlpha^\ArbDim} \newcommand{\KPlusOneCellBeta}{\CellBeta^{\ArbDim+1}} \newcommand{\MaxParallelDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\max}}{#1}} \newcommand{\MinParallelDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\min}}{#1}} \newcommand{\MaxPerpDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\max}}{#1}} \newcommand{\MinPerpDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\min}}{#1}} \newcommand{\MinParallelPerpDegree}[2]{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\min}}{#1,#2}} \newcommand{\MaxParallelPerpDegree}[2]{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\max}}{#1,#2}} \newcommand{\DegreeParallel}{\BernsteinDegree^{\parallel}} \newcommand{\DegreeParallelToEdge}[2]{\DegreeParallel_{#1}(#2)} \newcommand{\DegreePerp}{\BernsteinDegree^{\perp}} \newcommand{\DegreePerpToInterface}[2]{\DegreePerp_{#1}(#2)} \newcommand{\DegreeTupleParallelToKCell}[2]{\Tuple{\BernsteinDegree}^{\parallel}_{#1}(#2)} \newcommand{\ChangeInDegree}[2]{\Delta(\BernsteinDegree)_{#1}^{#2}} \newcommand{\IndexSet}{\Set{ID}} \newcommand{\IndexSetFunctionOf}[1]{\QuantityFunctionOf{\IndexSet}{#1}} \newcommand{\CompositeBVUnionIndexSet}[1]{\QuantityFunctionOf{\Set{UID}}{#1}} \newcommand{\IndexSetPosCoeffs}[1]{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\IndexSetSet}{\boldsymbol{\IndexSet}} \newcommand{\IndexSetSetFunctionOf}[1]{\QuantityFunctionOf{\IndexSetSet}{#1}} \newcommand{\IndexSetOnMeshBezier}{\IndexSetFunctionOf{\MeshBezier}} \newcommand{\IndexOnCell}[2]{\QuantityChildOf{#1}{#2}} \newcommand{\IndexOnCellIJ}[3]{\QuantityChildOf{#1}{\TupleRoster{#2,#3}}} \newcommand{\CellFromQuantity}[1]{\QuantityFunctionOf{\operatorname{cell}}{#1}} \newcommand{\ExtractionOp}[1]{\QuantityChildOf{#1}{\Mat{C}}} \newcommand{\ExtractionOpFunctionOf}[2]{\QuantityFunctionOf{\ExtractionOp{#1}}{#2}} \newcommand{\ReconstructOp}[1]{\QuantityChildOf{#1}{\Mat{R}}} \newcommand{\ReconstructOpFunction}[2]{\QuantityFunctionOf{\ReconstructOp{#1}}{#2}} \newcommand{\Gramian}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{G}}{#2}}} \newcommand{\BernsteinSpaceOnMeshBezier}{\QCO{\MeshBezier}{\BernsteinSpace}} \newcommand{\ii}{\IndexOnCell{}{\BernsteinBasisFuncIndexTuple}} \newcommand{\jj}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAlt}} \newcommand{\kk}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAltAlt}} \newcommand{\ParamDomain}{\SymbolParamModifier{\SymbolDomain}} \newcommand{\ParamDomainOnCell}{\QuantityChildOf{\Cell}{\ParamDomain}} \newcommand{\ParamDomainBdry}{\SymbolParamModifier{\SymbolDomainBdry}} \newcommand{\ParamDomainChart}[1]{\Vec{\phi}^{#1}} \newcommand{\ParamDomainChartFunctionOf}[2]{\QuantityFunctionOf{\ParamDomainChart{#1}}{#2}} \newcommand{\ParamDim}{\SymbolDim} \newcommand{\ParamCoordSimple}{s} \newcommand{\ParamCoord}[1]{\QCO{#1}{s}} \newcommand{\ParamCoordVecSimple}{\Vec{s}} \newcommand{\ParamCoordVec}[1]{\QCO{#1}{\Vec{\ParamCoordSimple}}} \newcommand{\ParamDomainBdryParamCoord}{\ParamCoord{\ParamDomainBdry}} \newcommand{\ParamDomainBdryParamCoordVec}{\ParamCoordVec{\ParamDomainBdry}} \newcommand{\ParamCoordVecSet}{\boldsymbol{\Set{S}}} \newcommand{\ParamS}{\ParamCoord{}_0} \newcommand{\ParamT}{\ParamCoord{}_1} \newcommand{\ParamU}{\ParamCoord{}_2} \newcommand{\ParamBarycentric}[1]{\lambda_{#1}} \newcommand{\ParamLength}{\ell} \newcommand{\ParamLengthLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLength}} \newcommand{\ParamLengthRight}{\QuantityChildOf{\CellToTheRight}{\ParamLength}} \newcommand{\ParamLengthInS}{\ParamLength_{0}} \newcommand{\ParamLengthInT}{\ParamLength_{1}} \newcommand{\ParamLengthLeftS}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInS}} \newcommand{\ParamLengthLeftT}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInT}} \newcommand{\ParamLengthRightS}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInS}} \newcommand{\ParamLengthRightT}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInT}} \newcommand{\ParamLengthInSLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInS}} \newcommand{\ParamLengthInTLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInT}} \newcommand{\ParamLengthInSRight}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInS}} \newcommand{\ParamLengthInTRight}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInT}} \newcommand{\BernsteinDegreeInS}{\BernsteinDegree_{0}} \newcommand{\BernsteinDegreeInT}{\BernsteinDegree_{1}} \newcommand{\BernsteinDegreeLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegree}} \newcommand{\BernsteinDegreeRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegree}} \newcommand{\BernsteinDegreeInSLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegreeInS}} \newcommand{\BernsteinDegreeInSRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegreeInS}} \newcommand{\BernsteinDegreeInTLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegreeInT}} \newcommand{\BernsteinDegreeInTRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegreeInT}} \newcommand{\BernsteinDegreeBarycentricLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegree}} \newcommand{\BernsteinDegreeBarycentricRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegree}} \newcommand{\ParamGrevillePoint}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParamModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParamGrevillePointSet}[1]{\QuantityFunctionOf{\Set{\SymbolParamModifier{G}}}{#1}} \newcommand{\ParamDomainOnMeshBezier}{\QuantityChildOf{\MeshBezier}{\ParamDomain}} \newcommand{\BernsteinTraceMappingMat}{\Mat{M}} \newcommand{\NormalParamCoordSet}[2]{\QuantityFunctionOf{\ParamCoordVecSimple^{\perp}_{#1}}{#2}} \newcommand{\ParallelParamCoordSet}[2]{\QuantityFunctionOf{\ParamCoordVecSimple^{\parallel}_{#1}}{#2}} \newcommand{\Submesh}{\boldsymbol{\textsf{K}}} \newcommand{\SubmeshDomain}{\SymbolSubmeshModifier{\SymbolDomain}} \newcommand{\SubmeshDomainBdry}{\SymbolSubmeshModifier{\SymbolDomainBdry}} \newcommand{\SubmeshDomainChart}[1]{\QuantityChildOf{#1}{\Vec{\varphi}}} \newcommand{\SubmeshDomainChartFunctionOf}[2]{\QuantityFunctionOf{\SubmeshDomainChart{#1}}{#2}} \newcommand{\SubmeshDomainParameter}{\mathsf{\alpha}} \newcommand{\SubmeshDomainParameterVec}{\Vec{\SubmeshDomainParameter}} \newcommand{\SubmeshGrevillePoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}} \newcommand{\SubmeshGrevillePointFunctionOf}[2]{\QuantityFunctionOf{\SubmeshGrevillePoint{#1}}{#2}} \newcommand{\SubmeshGrevilleMaxPoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolGrevillePoint}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSet}[1]{\QuantityChildOf{#1}{\Set{G}}_{\max}} \newcommand{\SubmeshGrevilleMinPointSet}[1]{\QuantityChildOf{#1}{\Set{G}}_{\min}} \newcommand{\SubmeshGrevilleMaxPointLeft}{\SubmeshGrevilleMaxPoint{\CellAlpha}} \newcommand{\SubmeshGrevilleMaxPointRight}{\SubmeshGrevilleMaxPoint{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointIntersection}{\SubmeshGrevilleMaxPoint{\Interface}} \newcommand{\SubmeshGrevilleMinPointSetLeft}{\SubmeshGrevilleMinPointSet{\CellAlpha}} \newcommand{\SubmeshGrevilleMinPointSetRight}{\SubmeshGrevilleMinPointSet{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointSetLeft}{\SubmeshGrevilleMaxPointSet{\CellAlpha}} \newcommand{\SubmeshGrevilleMaxPointSetRight}{\SubmeshGrevilleMaxPointSet{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointSetIntersection}{\SubmeshGrevilleMaxPointSet{\Interface}} \newcommand{\SubmeshGrevillePointSet}{\Set{\SymbolSubmeshModifier{G}}} \newcommand{\SubmeshGrevillePointSetFunctionOf}[1]{\QuantityFunctionOf{\SubmeshGrevillePointSet}{#1}} \newcommand{\SubmeshGrevillePointSetLeft}{\Set{\SymbolSubmeshModifier{GA}}} \newcommand{\SubmeshGrevillePointSetRight}{\Set{\SymbolSubmeshModifier{GB}}} \newcommand{\SubmeshGrevillePointSetElement}[1]{\Set{\SymbolSubmeshModifier{GE}}_{#1}} \newcommand{\SubmeshGrevillePointSetIntersect}{\Set{\SymbolSubmeshModifier{GI}}} \newcommand{\SubmeshGrevillePointSetUnion}[1]{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GU}}}{#1}} \newcommand{\SubmeshGrevillePointSetSet}{\boldsymbol{\SubmeshGrevillePointSet}} \newcommand{\SubmeshGrevillePointSetSetFunctionOf}[1]{\QuantityFunctionOf{\SubmeshGrevillePointSetSet}{#1}} \newcommand{\SubmeshGrevillePointSetSetLeft}{\boldsymbol{\SymbolSubmeshModifier{\Set{GA}}}} \newcommand{\SubmeshGrevillePointSetSetRight}{\boldsymbol{\SymbolSubmeshModifier{\Set{GB}}}} \newcommand{\SubmeshGrevillePointSetSetElement}[2]{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1}}{#2}} \newcommand{\SubmeshGrevilleDifferenceVectorsSet}{\Delta \SubmeshGrevillePointSetFunctionOf{a}} \newcommand{\SubmeshGrevilleDifferenceVectorsSetRight}{\Delta\SubmeshGrevilleMaxPointSetRight} \newcommand{\SubmeshGrevilleDifferenceVector}{\Delta\SubmeshGrevilleMaxPoint{a}} \newcommand{\SubmeshGrevilleDifferenceVectorLeft}{\Delta\SubmeshGrevilleMaxPointLeft} \newcommand{\SubmeshGrevilleDifferenceVectorRight}{\Delta\SubmeshGrevilleMaxPointRight} \newcommand{\SubmeshGrevilleDistanceToCell}[2]{\QuantityFunctionOf{\SymbolDistance}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCell}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMin}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\min}}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMax}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\max}}{#1, #2}} \newcommand{\SubmeshPerpProjection}[1]{\Projection^{\perp}_{#1}} \newcommand{\SubmeshPerpProjectionFunctionOf}[2]{\QuantityFunctionOf{\SubmeshPerpProjection{#1}}{#2}} \newcommand{\SubmeshParallelProjection}[1]{\Projection^{\parallel}_{#1}} \newcommand{\SubmeshParallelProjectionFunctionOf}[2]{\QuantityFunctionOf{\SubmeshParallelProjection{#1}}{#2}} \newcommand{\SubmeshStarProjection}[2]{\QuantityFunctionOf{\Projection^{*}_{#1}}{#2}} \newcommand{\SubmeshPerpEquivalence}[1]{\varpi^{\perp}_{#1}} \newcommand{\SubmeshParallelEquivalence}[1]{\varpi^{\parallel}_{#1}} \newcommand{\SubmeshParallelEquivalenceFunctionOf}[2]{\QuantityFunctionOf{\SubmeshParallelEquivalence{#1}}{#2}} \newcommand{\SubmeshStarEquivalence}[1]{\varpi^{*}_{#1}} \newcommand{\AlignedSet}{{\boldsymbol{\textsf{Align}}}} \newcommand{\AlignedSetSet}{{\boldsymbol{\textsf{ALIGN}}}} \newcommand{\AlignmentSetOfSetsLeft}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetOfSetsRight}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetForInterfaceGrevillePoint}{\AlignedSet_{\SubmeshGrevillePoint{\Interface}{}}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRow}{\Set{NZ}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRowFunctionOf}[2]{\QuantityFunctionOf{\IndexSetOfNonZeroEntriesInMapMatOnRow_{#1}}{#2}} \newcommand{\AlignmentSetOfSetsOnLowerDCell}[2]{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1,#2}^{\parallel}} \newcommand{\AlignmentSetOfSetsLeftThreeD}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \ii}^{\parallel}} \newcommand{\AlignmentSetOfSetsRightThreeD}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \ii}^{\parallel}} \newcommand{\KPlusOneCellAdjacentIndexedSubmeshDomain}{\QuantityChildOf{\CellAlpha\CellBeta}{\SubmeshDomain}} \newcommand{\StructuredSymbol}{\square} \newcommand{\StructuredSubmesh}[1]{\Submesh^{\StructuredSymbol}_{#1}} \newcommand{\ToGlobalDartOp}{\operatorname*{\mathsf{G}}} \newcommand{\ProlongationMat}{\Mat{P}} \newcommand{\RestrictionMat}{\Mat{R}} \newcommand{\MeshUspline}{\boldsymbol{\textsf{\SymbolUspline}}} \newcommand{\SetNeighborhoodOfInteraction}[1]{\QuantityFunctionOf{\textsf{NI}}{#1}} \newcommand{\Ray}{\Set{r}} \newcommand{\RayHead}{\Edge^{h}} \newcommand{\RayTail}{\Vec{t}} \newcommand{\RayTailId}{j} \newcommand{\RayTailIdOne}{\RayTailId_0} \newcommand{\RayTailIdTwo}{\RayTailId_1} \newcommand{\RayTailOrigin}{\textsf{o}} \newcommand{\RayTailEdge}{\Edge} \newcommand{\RayTailVertexMaxContinuity}[1]{\Smoothness_{#1}^{\max}} \newcommand{\RayTailEdgeMinDegree}[1]{\BernsteinDegree_{#1}^{\min}} \newcommand{\RaySkeleton}[1]{\operatorname{skel}(#1)} \newcommand{\RaySmoothness}[2]{\Smoothness_{#1}^{#2}} \newcommand{\RayDegree}[2]{\BernsteinDegree_{#1}^{#2}} \newcommand{\RayContinuityTransition}{\Set{cr}} \newcommand{\RayDegreeTransition}{\Set{dr}} \newcommand{\RayTailSize}{\Size{\RayTail}} \newcommand{\RayTailTargetSize}{n} \newcommand{\RayIsTruncated}{\Set{trunc}} \newcommand{\RayAlgBernIndexVariable}{\BernsteinBasisFuncIdSet} \newcommand{\RayStartingBernIndex}{\RayAlgBernIndexVariable_{\RayHead}} \newcommand{\BernIndexOnSpecificRayTailEdge}[1]{\RayAlgBernIndexVariable_{#1}} \newcommand{\Ribbon}{\Set{r}} \newcommand{\RibbonHead}{\Interface^{h}} \newcommand{\RibbonTail}{\Vec{t}} \newcommand{\RibbonTailId}{j} \newcommand{\RibbonTailIdOne}{\RibbonTailId_0} \newcommand{\RibbonTailIdTwo}{\RibbonTailId_1} \newcommand{\RibbonTailOrigin}{\textsf{o}} \newcommand{\RibbonTailInterf}{\Interface} \newcommand{\RibbonTailCodimTwoCellMaxContinuity}[1]{\Smoothness_{#1}^{\max}} \newcommand{\RibbonTailInterfMinDegree}[1]{\BernsteinDegree_{#1}^{\min}} \newcommand{\RibbonSkeleton}[1]{\operatorname{skel}(#1)} \newcommand{\RibbonSmoothness}[2]{\Smoothness_{#1}^{#2}} \newcommand{\RibbonDegree}[2]{\BernsteinDegree_{#1}^{#2}} \newcommand{\RibbonContinuityTransition}{\Set{cr}} \newcommand{\RibbonDegreeTransition}{\Set{dr}} \newcommand{\RibbonTailSize}{\Size{\RibbonTail}} \newcommand{\RibbonTailTargetSize}{n} \newcommand{\RibbonIsTruncated}{\Set{trunc}} \newcommand{\RibbonAlgBernIndexVariable}{\BernsteinBasisFuncIdSet} \newcommand{\RibbonStartingBernIndex}{\RibbonAlgBernIndexVariable_{\RibbonHead}} \newcommand{\BernIndexOnSpecificRibbonTailInterf}[1]{\RibbonAlgBernIndexVariable_{#1}} \newcommand{\ParamDomainOnMeshUspline}{\QuantityChildOf{\MeshUspline}{\ParamDomain}} \newcommand{\UsplineSpace}{\SpaceHilbert{\SymbolUspline}} \newcommand{\UsplineBasisFunc}{\SymbolBasisUspline} \newcommand{\UsplineBasisFuncDetailed}[2]{\UsplineBasisFunc^{#1}_{#2}} \newcommand{\UsplineBasisFuncSet}{\Set{UF}} \newcommand{\UsplineBasisFuncSetFunctionOf}[1]{\QuantityFunctionOf{\UsplineBasisFuncSet}{#1}} \newcommand{\UsplineBasisFuncVec}[1]{\QuantityChildOf{#1}{\Vec{\SymbolBasisUspline}}} \newcommand{\UsplineBasisFuncVecFunctionOf}[2]{\QuantityFunctionOf{\UsplineBasisFuncVec{#1}}{#2}} \newcommand{\UsplineBasisFuncSetOnMeshBezier}{\QuantityFunctionOf{\Set{UF}}{\MeshBezier}} \newcommand{\UsplineBasisFuncSetOnMeshUspline}{\QuantityFunctionOf{\Set{UF}}{\MeshUspline}} \newcommand{\UsplineBasisFuncSetSupport}[1]{\Support{\UsplineBasisFuncSetFunctionOf{#1}}} \newcommand{\UsplineBasisFuncId}{A} \newcommand{\UsplineBasisFuncIdVec}{\Vec{A}} \newcommand{\UsplineBasisFuncIdAlt}{B} \newcommand{\UsplineBasisFuncIdLocal}{a} \newcommand{\UsplineBasisFuncIdOne}{\UsplineBasisFuncId_0} \newcommand{\UsplineBasisFuncIdTwo}{\UsplineBasisFuncId_1} \newcommand{\UsplineBasisFuncNormalized}{\bar{\SymbolBasisUspline}} \newcommand{\UsplineBasisFuncParam}[1]{\UsplineBasisFuncDetailed{\MeshBezier}{#1}} \newcommand{\UsplineDegree}{q} \newcommand{\UsplineNullVectorCoeff}{u} \newcommand{\UsplineNullVector}{\Vec{\UsplineNullVectorCoeff}} \newcommand{\UsplineNullVectorIds}{\Set{id}} \newcommand{\UsplineNullVectorSet}{\boldsymbol{\textsf{UV}}} \newcommand{\UsplineNullVectorSetOfIndexSets}{\boldsymbol{\textsf{UI}}} \newcommand{\UsplineNullVectorSetOnMeshBezier}{\NullVectorSetFunctionOf{\MeshBezier}} \newcommand{\UsplineNullVectorSetOnMeshUspline}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshUspline}} \newcommand{\UsplineSpaceOnMeshUspline}{\QCO{\MeshUspline}{\UsplineSpace}} \newcommand{\UsplineCellToGlobalBasisFuncIndexMap}[1]{\operatorname{ucg}(#1)} \newcommand{\UsplineCellToGlobalBasisFuncIndexMapDef}{\FuncDef{\operatorname{ucg}}{\MeshBezier\times\Integers}{\Integers}} \newcommand{\BernsteinBasisFuncCoeff}{\SymbolArbitraryCoeffBernstein} \newcommand{\BernsteinBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffBernstein}}}{\MeshBezier}} \newcommand{\BernsteinBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffBernstein}}{\MeshBezier}} \newcommand{\UsplineBasisFuncCoeff}{\SymbolArbitraryCoeffUspline} \newcommand{\UsplineBasisFuncCoeffAlt}{\SymbolArbitraryCoeffUsplineAlt} \newcommand{\UsplineBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffUspline}}}{\MeshUspline}} \newcommand{\UsplineBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffUspline}}{\MeshUspline}} \newcommand{\ContiguousIndexMap}[1]{i_{#1}} \newcommand{\Constraint}{R} \newcommand{\ConstraintCoeff}{r} \newcommand{\ConstraintCoeffsSet}{\boldsymbol{\Set{\ConstraintCoeff}}} \newcommand{\ConstraintCoeffsVec}{\Vec{\ConstraintCoeff}} \newcommand{\ConstraintSet}{\Set{\Constraint}} \newcommand{\ConstraintSetFunctionOf}[1]{\QuantityFunctionOf{\ConstraintSet}{#1}} \newcommand{\ConstraintSetOnMeshBezier}{\ConstraintSetFunctionOf{\MeshBezier}} \newcommand{\ConstraintMat}{\Mat{\Constraint}} \newcommand{\ConstraintMatFunctionOf}[1]{\QuantityFunctionOf{\ConstraintMat}{#1}} \newcommand{\ConstraintMatOnMeshBezier}{\ConstraintMatFunctionOf{\MeshBezier}} \newcommand{\SparsestPossibleBasisOnCell}[1]{\QFO{\Set{N}}{#1}} \newcommand{\NullVectorCoeff}[1]{#1} \newcommand{\NullVector}{\Vec{v}} \newcommand{\NullVectorFunctionOf}[1]{\QuantityFunctionOf{\NullVector}{#1}} \newcommand{\NullVectorArbitrary}[1]{\Vec{#1}} \newcommand{\KCellNullVectorForCellAlpha}{\NullVectorArbitrary{n}_{\KCellAlpha}} \newcommand{\KPlusOneCellNullVectorForCellBeta}{\NullVectorArbitrary{n}_{\KPlusOneCellBeta}} \newcommand{\NullVectorSet}{\boldsymbol{\textsf{BV}}}%changed from mathsf \newcommand{\NullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\NullVectorSet}{#1}}%changed from mathsf \newcommand{\CompositeNullVectorSet}{\NullVectorSet^{\prime\prime}} \newcommand{\CompositeNullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\CompositeNullVectorSet}{#1}} \newcommand{\SimpleNullVectorSet}{\NullVectorSet^{\prime}} \newcommand{\SimpleNullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\SimpleNullVectorSet}{#1}} \newcommand{\InterfaceNullVectorSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}}{#1}} \newcommand{\InterfaceNullVectorAlignedSubset}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}_{#1}}{#2}} \newcommand{\NullVectorSetOfIndexSets}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{BI}}}{#1}} \newcommand{\NullVectorSetGrevilleSets}{\boldsymbol{\textsf{BG}}}%changed from mathsf \newcommand{\NullVectorSetGrevilleSetsFunctionOf}[1]{\QuantityFunctionOf{\NullVectorSetGrevilleSets}{#1}}%changed from mathsf \newcommand{\NullVectorSetSubordinateToNullVector}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}}{#1}} \newcommand{\NullVectorSetSubordinateToNullVectorOnCell}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}_{#1}}{#2}} \newcommand{\NullVectorSetOnBdryOfNullVector}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{BD}}_{#1}}{#2}} \newcommand{\NullVectorEquivClass}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{EBV}}}{#1}} \newcommand{\NullVectorIndexEquivClass}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{EBI}}}{#1}} \newcommand{\NullVectorGrevilleEquivClass}{\boldsymbol{\textsf{EBG}}}%changed from mathsf \newcommand{\NullVectorGrevilleEquivClassFunctionOf}[1]{\QuantityFunctionOf{\NullVectorGrevilleEquivClass}{#1}}%changed from mathsf \newcommand{\NullVectorExpansionSet}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{XBV}}}{#1,#2}} \newcommand{\NullSpaceOperatorForm}[1]{\QuantityFunctionOf{\SpaceHilbert{N}}{#1}} \newcommand{\NullSpaceOperatorFormOnMeshBezier}{\NullSpaceOperatorForm{\MeshBezier}} \newcommand{\NullSpaceVectorForm}{\Set{N}} \newcommand{\NullSpaceVectorFormFunctionOf}[1]{\QuantityFunctionOf{\NullSpaceVectorForm}{#1}} \newcommand{\NullVectorGrevillePointSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}} \newcommand{\DegSmoothDiff}[2]{\delta_{#1}^{#2}} \newcommand{\FaceEdgeDiff}{\Set{t}} \newcommand{\FaceEdgeDiffSet}[1]{\Set{T}_{#1}} \newcommand{\PerpTuple}[1]{\QuantityFunctionOf{\FaceEdgeDiff^\perp}{#1}} \newcommand{\ParallelTuple}[1]{\QuantityFunctionOf{\FaceEdgeDiff^\parallel}{#1}} \newcommand{\ElemInterfDiff}{\Set{t}} \newcommand{\ElemInterfDiffSet}[1]{\Set{T}_{#1}} \newcommand{\SpokeSymbol}{\rho} \newcommand{\ElemInterfPairSymbol}{t} \newcommand{\ElemKPlusOneCellPair}{\Set{\SpokeSymbol}} \newcommand{\Spoke}{\ElemKPlusOneCellPair} \newcommand{\ElemInterfPair}{\Set{\ElemInterfPairSymbol}} \newcommand{\EIDPerpTuple}[1]{\QuantityFunctionOf{\ElemInterfDiff^\perp}{#1}} \newcommand{\EIDParallelTuple}[1]{\QuantityFunctionOf{\ElemInterfDiff^\parallel}{#1}} \newcommand{\InclDist}{\textsf{inc}}%changed from mathsf \newcommand{\InclDistFunctionOf}[1]{\QuantityFunctionOf{\InclDist}{#1}}%changed from mathsf \newcommand{\InclDistSet}[2]{\Set{INC}^{#1,#2}} \newcommand{\EdgeInclDist}[3]{\InclDistSet{#2}{#3}_{#1}} \newcommand{\PerpEdgesSet}{\Set{E}^\perp} \newcommand{\PerpInterfacesSet}{\Set{IRF}^\perp} \newcommand{\PerpOfKPlusOneCellInterfSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{PI}}}{#1}} \newcommand{\PerpKPlusOneCellSet}{\boldsymbol{\textsf{PC}}}%changed from mathsf \newcommand{\PerpKPlusOneCellSetFunctionOf}[1]{\QuantityFunctionOf{\PerpKPlusOneCellSet}{#1}}%changed from mathsf \newcommand{\ElemKPlusOneCellPairPerp}[1]{\QuantityFunctionOf{\Set{\SpokeSymbol}^\perp}{#1}} \newcommand{\ElemInterfPairPerp}[1]{\QuantityFunctionOf{\Set{t}^\perp}{#1}} \newcommand{\ElemInterfPairParallel}[1]{\QuantityFunctionOf{\Set{\ElemInterfPairSymbol}^\parallel}{#1}} \newcommand{\ElemKPlusOneCellPairParallelSet}[1]{\QuantityFunctionOf{\Set{\SpokeSymbol}^\parallel}{#1}} \newcommand{\KPlusOneCellNullVectorSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}}{#1}} \newcommand{\KPlusOneCellNullVectorAlignedSubset}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}_{#1}}{#2}} \newcommand{\Graph}{G} \newcommand{\GraphFunctionOf}[1]{\QuantityFunctionOf{\Graph}{#1}} \newcommand{\GraphCore}{K} \newcommand{\GraphDirectedEdge}{\Edge_{i,j}} \newcommand{\GraphDirectedEdgeIJ}[2]{\Edge_{#1,#2}} \newcommand{\GraphCoreToVertex}[1]{\QuantityFunctionOf{\Vertex}{#1}} \newcommand{\GraphCoreChildren}[1]{\QuantityFunctionOf{\operatorname{children}}{#1}} \newcommand{\GraphVertexToCore}[1]{\QuantityFunctionOf{\GraphCore}{#1}} \newcommand{\GraphInteractingEdges}{\Set{IE}} \newcommand{\GraphCoveredEdges}{\Set{CE}} \newcommand{\GraphFailedEdges}{\Set{FE}} \newcommand{\GraphCandidateEdges}{\Set{XE}} \newcommand{\UsplineClass}[1]{\boldsymbol{\mathcal{\SymbolUspline}}^{#1}} \newcommand{\UClassRegular}{R} \newcommand{\UClassIrregular}{r} \newcommand{\UClassContFinite}{H} \newcommand{\UClassContInfinity}{h} \newcommand{\UClassGlobalSmoothness}{K} \newcommand{\UClassLocalSmoothness}{k} \newcommand{\UClassGlobalDegree}{P} \newcommand{\UClassLocalDegree}{p} \newcommand{\SuperscriptRHKP}{\UClassRegular\UClassContFinite\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrHKP}{\UClassIrregular\UClassContFinite\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRhKP}{\UClassRegular\UClassContInfinity\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrhKP}{\UClassIrregular\UClassContInfinity\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRHkP}{\UClassRegular\UClassContFinite\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrHkP}{\UClassIrregular\UClassContFinite\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRhkP}{\UClassRegular\UClassContInfinity\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrhkP}{\UClassIrregular\UClassContInfinity\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRHKp}{\UClassRegular\UClassContFinite\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrHKp}{\UClassIrregular\UClassContFinite\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRhKp}{\UClassRegular\UClassContInfinity\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrhKp}{\UClassIrregular\UClassContInfinity\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRHkp}{\UClassRegular\UClassContFinite\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrHkp}{\UClassIrregular\UClassContFinite\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRhkp}{\UClassRegular\UClassContInfinity\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\Superscriptrhkp}{\UClassIrregular\UClassContInfinity\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\UsplineClassRHKP}{\UsplineClass{\SuperscriptRHKP}} \newcommand{\UsplineClassrHKP}{\UsplineClass{\SuperscriptrHKP}} \newcommand{\UsplineClassRhKP}{\UsplineClass{\SuperscriptRhKP}} \newcommand{\UsplineClassrhKP}{\UsplineClass{\SuperscriptrhKP}} \newcommand{\UsplineClassRHkP}{\UsplineClass{\SuperscriptRHkP}} \newcommand{\UsplineClassrHkP}{\UsplineClass{\SuperscriptrHkP}} \newcommand{\UsplineClassRhkP}{\UsplineClass{\SuperscriptRhkP}} \newcommand{\UsplineClassrhkP}{\UsplineClass{\SuperscriptrhkP}} \newcommand{\UsplineClassRHKp}{\UsplineClass{\SuperscriptRHKp}} \newcommand{\UsplineClassrHKp}{\UsplineClass{\SuperscriptrHKp}} \newcommand{\UsplineClassRhKp}{\UsplineClass{\SuperscriptRhKp}} \newcommand{\UsplineClassrhKp}{\UsplineClass{\SuperscriptrhKp}} \newcommand{\UsplineClassRHkp}{\UsplineClass{\SuperscriptRHkp}} \newcommand{\UsplineClassrHkp}{\UsplineClass{\SuperscriptrHkp}} \newcommand{\UsplineClassRhkp}{\UsplineClass{\SuperscriptRhkp}} \newcommand{\UsplineClassrhkp}{\UsplineClass{\Superscriptrhkp}} \newcommand{\BaseTopoLine}{\mathsf{L}} \newcommand{\BaseTopoLoop}{\mathsf{P}} \newcommand{\BaseTopoOneDGeneric}{\MeshUspline^{\textsf{1D}}} \newcommand{\BaseTopoGrid}{\mathsf{G}} \newcommand{\BaseTopoAnnulus}{\mathsf{A}} \newcommand{\BaseTopoTorus}{\mathsf{T}} \newcommand{\BaseTopoTriangle}{\mathsf{\Delta}} \newcommand{\BaseTopoMixed}{\mathsf{M}} \newcommand{\BaseTopoMultiPatch}{\mathsf{X}} \newcommand{\BaseTopoPatch}{\mathsf{H}} \newcommand{\AlgNameBuildRayOfMaximumCouplingLength}{BuildRayOfMaximumCouplingLength} \newcommand{\AlgNameBuildRibbonOfMaximumCouplingLength}{BuildRibbonOfMaximumCouplingLength} \newcommand{\AlgNameComputeCoreGraph}{ComputeCoreGraph} \newcommand{\UpperDBMat}{\Mat{U}} \newcommand{\LowerWeightDBMat}{\Mat{W}} \newcommand{\RationalSplineWeightSymbol}{w} \newcommand{\NURBSWeight}{\RationalSplineWeightSymbol} \newcommand{\WeightFunc}[1][\RationalSplineWeightSymbol]{#1} \newcommand{\DBParamWeight}{\omega} \newcommand{\DualBCoeff}{d} \newcommand{\NumUsplineBasisFuncsOnMeshBezier}{\Size{\UsplineBasisFuncSetOnMeshBezier}} \newcommand{\NumUsplineBasisFuncsOnMeshUspline}{\Size{\UsplineBasisFuncSetOnMeshUspline}} \newcommand{\NumUsplineBasisFuncsOnElem}{\Size{\UsplineBasisFuncSetFunctionOf{\Elem}}} \newcommand{\NumBernsteinBasisFuncsOnMeshBezier}{\Size{\IndexSetOnMeshBezier}} \newcommand{\NumBernsteinBasisFuncsOnElem}{\Size{\IndexSetFunctionOf{\Elem}}} \newcommand{\NumElemsInMeshBezier}{\Size{\CellSet{\ParamDim}}}$$\newcommand{\SymbolTime}{t} \newcommand{\SymbolEnvModifier}[1]{\star\mspace{-1mu} #1} \newcommand{\SymbolInteriorModifier}[1]{\tilde{#1}} \newcommand{\SymbolClosestPointMap}{\kappa} \newcommand{\SymbolManifold}{m} \newcommand{\SymbolVolume}{v} \newcommand{\SymbolVolumeUpper}{V} \newcommand{\SymbolSurface}{s} \newcommand{\SymbolSurfaceUpper}{S} \newcommand{\SymbolCurve}{c} \newcommand{\SymbolCurveUpper}{C} \newcommand{\SymbolPoint}{p} \newcommand{\SymbolPointUpper}{P} \newcommand{\SymbolIndicator}{\chi} \newcommand{\SymbolSpatialDim}{n} \newcommand{\SymbolWildCard}{*} \newcommand{\SymbolSegment}{\epsilon} \newcommand{\SymbolSpatialCoord}{x} \newcommand{\SymbolSpatialCoordUpper}{x} \newcommand{\SymbolSegmentSet}{\boldsymbol{E}} \newcommand{\SymbolInside}{\bullet} \newcommand{\SymbolOutside}{\circ} \newcommand{\SymbolHybrid}{\circledcirc} \newcommand{\SymbolPartition}{\boldsymbol{\vartriangle}} \newcommand{\SymbolQuadratureWeight}{w} \newcommand{\SymbolQuadratureSet}{Q} \newcommand{\SymbolQuadraturePoint}{\xi} \newcommand{\SymbolIntegrationPoint}{i} \newcommand{\SymbolManifoldCoeff}{x} \newcommand{\SymbolManifoldCoeffUpper}{X} \newcommand{\SymbolManifoldCoeffUspline}{x} \newcommand{\SymbolManifoldCoeffUsplineUpper}{X} \newcommand{\SymbolManifoldCoeffBernstein}{x} \newcommand{\SymbolManifoldCoeffBernsteinUpper}{X} \newcommand{\SymbolCADModified}{\boldsymbol{\circledast}} \newcommand{\SymbolCAD}{\bar{\SymbolCADModified}} \newcommand{\SymbolProjection}{\Projection} \newcommand{\SymbolCovariantBasisSurf}{a} \newcommand{\SymbolCovariantBasisVol}{g} \newcommand{\SymbolMetric}{m} \newcommand{\SymbolCurvature}{k} \newcommand{\SymbolCurvCoordIdOne}{\alpha} \newcommand{\SymbolCurvCoordIdTwo}{\beta} \newcommand{\SymbolCurvCoordIdThree}{\gamma} \newcommand{\SymbolOrthogonalTransform}{Q} \newcommand{\SymbolLinearInterpolation}{\mathscr{l}} \newcommand{\ParamDomainEnv}{\SymbolEnvModifier{\ParamDomain}} \newcommand{\ParamDomainCAD}{\QRT{\ParamDomain}{\SymbolCAD}} \newcommand{\ParamDomainOnCellEnv}{\SymbolEnvModifier{\ParamDomainOnCell}} \newcommand{\ParamDomainOnCAD}{\QCO{\SymbolCAD}{\ParamDomain}} \newcommand{\ParamDomainOnCADModified}{\QCO{\SymbolCADModified}{\ParamDomain}} \newcommand{\ParamDomainOnPartition}{\QCO{\SymbolPartition}{\ParamDomain}} \newcommand{\SpatialDim}{\SymbolSpatialDim} \newcommand{\SpatialDomain}{\Reals^{\SymbolSpatialDim}} \newcommand{\SpatialCoord}{\SymbolSpatialCoord} \newcommand{\SpatialCoordX}{\SymbolSpatialCoord} \newcommand{\SpatialCoordY}{y} \newcommand{\SpatialCoordZ}{z} \newcommand{\SpatialCoordUpper}{\SymbolSpatialCoordUpper} \newcommand{\SpatialCoordVec}{\Vec{\SpatialCoord}} \newcommand{\SpatialCoordVecSet}[1]{\QuantityFunctionOf{\boldsymbol{\Set{X}}}{#1}} \newcommand{\UsplineBasisFuncSpatial}[1]{\UsplineBasisFuncDetailed{\SpatialCoord}{#1}} \newcommand{\Manifold}{\Set{\SymbolManifold}} \newcommand{\ManifoldRelatedTo}[1]{\QuantityRelatedTo{\Manifold}{#1}} \newcommand{\Volume}{\Set{\SymbolVolume}} \newcommand{\VolumeRelatedTo}[1]{\QuantityRelatedTo{\Volume}{#1}} \newcommand{\Surface}{\Set{\SymbolSurface}} \newcommand{\SurfaceRelatedTo}[1]{\QuantityRelatedTo{\Surface}{#1}} \newcommand{\Curve}{\Set{\SymbolCurve}} \newcommand{\CurveRelatedTo}[1]{\QuantityRelatedTo{\Curve}{#1}} \newcommand{\Point}{\Set{\SymbolPoint}} \newcommand{\PointRelatedTo}[1]{\QuantityRelatedTo{\Point}{#1}} \newcommand{\Partition}{\SymbolPartition} \newcommand{\ManifoldCAD}{\ManifoldRelatedTo{\SymbolCAD}} \newcommand{\ManifoldCADModified}{\ManifoldRelatedTo{\SymbolCADModified}} \newcommand{\ManifoldCADEnv}{\SymbolEnvModifier{\ManifoldCAD}} \newcommand{\ManifoldCADModifiedEnv}{\SymbolEnvModifier{\ManifoldCADModified}} \newcommand{\ManifoldPartition}{\ManifoldRelatedTo{\Partition}} \newcommand{\ManifoldBezier}{\ManifoldRelatedTo{\MeshBezier}} \newcommand{\ManifoldUspline}{\ManifoldRelatedTo{\MeshUspline}} \newcommand{\ManifoldUsplineInterior}{\QRT{\SymbolInteriorModifier{\Manifold}}{\MeshUspline}} \newcommand{\ManifoldUsplineEnv}{\SymbolEnvModifier{\ManifoldUspline}} \newcommand{\VolumeEnv}{\SymbolEnvModifier{\Volume}} \newcommand{\dVolume}{\Differential[\Volume]} \newcommand{\VolumeIndicator}{\SymbolIndicator} \newcommand{\SurfaceEnv}{\SymbolEnvModifier{\Surface}} \newcommand{\SurfaceCAD}{\SurfaceRelatedTo{\SymbolCAD}} \newcommand{\SurfaceCADModified}{\SurfaceRelatedTo{\SymbolCADModified}} \newcommand{\SurfaceMesh}{\SurfaceRelatedTo{\Partition}} \newcommand{\SurfaceUspline}{\SurfaceRelatedTo{\MeshUspline}} \newcommand{\SurfaceWildCard}{\Surface^{\SymbolWildCard}} \newcommand{\dSurface}{\Differential[\Surface]} \newcommand{\CurveCAD}{\CurveRelatedTo{\SymbolCAD}} \newcommand{\CurveCADModified}{\CurveRelatedTo{\SymbolCADModified}} \newcommand{\CurveMesh}{\CurveRelatedTo{\Partition}} \newcommand{\CurveUspline}{\CurveRelatedTo{\MeshUspline}} \newcommand{\dCurve}{\Differential[\Curve]} \newcommand{\PointCAD}{\PointRelatedTo{\SymbolCAD}} \newcommand{\PointCADModified}{\PointRelatedTo{\SymbolCADModified}} \newcommand{\PointUspline}{\PointRelatedTo{\MeshUspline}} \newcommand{\Segment}[1]{\QuantityChildOf{#1}{\SymbolSegment}} \newcommand{\SegmentOfVolumeEnv}{\Segment{\VolumeEnv}} \newcommand{\SegmentOfSurface}{\Segment{\Surface}} \newcommand{\Hex}{\Segment{}_{h}} \newcommand{\Tet}{\Segment{}_{t}} \newcommand{\SegmentParamDomain}[1]{\QuantityRelatedTo{\ParamDomain}{#1}} \newcommand{\SegmentParamDomainOfVolumeEnv}{\QuantityRelatedTo{\ParamDomain}{\Segment{\VolumeEnv}}} \newcommand{\SegmentParamDomainOfSurface}{\QuantityRelatedTo{\ParamDomain}{\Segment{\Surface}}} \newcommand{\SegmentSet}{\SymbolSegmentSet} \newcommand{\SegmentSetFunctionOf}[1]{\QuantityFunctionOf{\SegmentSet}{#1}} \newcommand{\SegmentSetOutside}{\SegmentSet^{\SymbolOutside}} \newcommand{\SegmentSetInside}{\SegmentSet^{\SymbolInside}} \newcommand{\SegmentSetHybrid}{\SegmentSet^{\SymbolHybrid}} \newcommand{\PartitionFunctionOf}[1]{\QuantityFunctionOf{\Partition}{#1}} \newcommand{\PartitionBezierExtraction}[1]{\QuantityFunctionOf{\SymbolPartition^{B}}{#1}} \newcommand{\PartitionTessellation}[1]{\QuantityFunctionOf{\SymbolPartition^{T}}{#1}} \newcommand{\PartitionTessellationOfUspline}{\PartitionTessellation{\MeshUspline}} \newcommand{\PartitionTessellationMap}[2]{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldCoeff}{\SymbolManifoldCoeff} \newcommand{\ManifoldCoeffUpper}{\SymbolManifoldCoeffUpper} \newcommand{\ManifoldCoeffUspline}{\QuantityRelatedTo{\SymbolManifoldCoeffUspline}{\MeshUspline}} \newcommand{\ManifoldCoeffBernstein}{\QuantityRelatedTo{\SymbolManifoldCoeffBernstein}{\MeshBezier}} \newcommand{\ManifoldCoeffVec}{\Vec{\SymbolManifoldCoeff}} \newcommand{\ManifoldCoeffVecUspline}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUspline}}{\MeshUspline}} \newcommand{\ManifoldCoeffVecBernstein}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernstein}}{\MeshBezier}} \newcommand{\ManifoldCoeffSet}{\Set{\SymbolManifoldCoeff}} \newcommand{\ManifoldCoeffSetUspline}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUspline}}{\MeshUspline}} \newcommand{\ManifoldCoeffSetBernstein}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernstein}}{\MeshBezier}} \newcommand{\ManifoldCoeffsVec}{\Vec{\ManifoldCoeffUpper}} \newcommand{\ManifoldCoeffsVecUspline}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUsplineUpper}}{\MeshUspline}} \newcommand{\ManifoldCoeffsVecBernstein}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\MeshBezier}} \newcommand{\ManifoldCoeffsVecCell}{\QuantityRelatedTo{\Vec{\ManifoldCoeffUpper}}{\Cell}} \newcommand{\ManifoldCoeffsVecUsplineCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUsplineUpper}}{\QCO{\MeshUspline}{\Cell}}} \newcommand{\ManifoldCoeffsVecBernsteinCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\MeshBezier}{\Cell}}} \newcommand{\ManifoldCoeffsVecSubmeshCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\Submesh}{\Cell}}} \newcommand{\ManifoldCoeffsVecBernsteinSegmentOfVolumeEnv}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\SegmentOfVolumeEnv}} \newcommand{\ManifoldCoeffsSet}{\Set{\ManifoldCoeffUpper}} \newcommand{\ManifoldCoeffsSetUspline}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUsplineUpper}}{\MeshUspline}} \newcommand{\ManifoldCoeffsSetBernstein}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\MeshBezier}} \newcommand{\ManifoldCoeffsSetCell}{\QuantityRelatedTo{\Set{\ManifoldCoeffUpper}}{\Cell}} \newcommand{\ManifoldCoeffsSetUsplineCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUsplineUpper}}{\QCO{\MeshUspline}{\Cell}}} \newcommand{\ManifoldCoeffsSetBernsteinCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\MeshBezier}{\Cell}}} \newcommand{\ManifoldCoeffsSetSubmeshCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\Submesh}{\Cell}}} \newcommand{\ManifoldMap}[2]{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldTemporalMap}[2]{\QuantityRelatedTo{#2}{#1,\SymbolTime}} \newcommand{\ManifoldPartitionMap}{\ManifoldMap{\ParamDomainOnPartition}{\Manifold}} \newcommand{\ManifoldCADMap}{\ManifoldMap{\ParamDomainOnCAD}{\Manifold}} \newcommand{\ManifoldCADMapModified}{\ManifoldMap{\ParamDomainOnCADModified}{\Manifold}} \newcommand{\ManifoldBezierMap}{\ManifoldMap{\ParamDomainOnMeshBezier}{\Manifold}} \newcommand{\ManifoldUsplineMap}{\ManifoldMap{\ParamDomainOnMeshUspline}{\Manifold}} \newcommand{\VolumeEnvMap}{\ManifoldMap{\ParamDomainEnv}{\VolumeEnv}} \newcommand{\VolumeMap}{\ManifoldMap{\ParamDomain}{\Volume}} \newcommand{\SurfaceMap}{\ManifoldMap{\ParamDomainBdry}{\Surface}} \newcommand{\ManifoldMapDef}[2]{\FuncDef{\ManifoldMap{#1}{#2}}{#1}{#2}} \newcommand{\ManifoldMapInverseDef}[2]{\FuncDef{\Inverse{\ManifoldMap{#1}{#2}}}{#2}{#1}} \newcommand{\ManifoldTemporalMapDef}[2]{\FuncDef{\ManifoldTemporalMap{#1}{#2}}{#1\otimes\Reals_{+}}{#2}} \newcommand{\ManifoldPartitionMapDef}{\ManifoldMapDef{\ParamDomainOnPartition}{\Manifold}} \newcommand{\ManifoldBezierMapDef}{\ManifoldMapDef{\ParamDomainOnMeshBezier}{\Manifold}} \newcommand{\ManifoldUsplineMapDef}{\ManifoldMapDef{\ParamDomainOnMeshUspline}{\Manifold}} \newcommand{\VolumeEnvMapDef}{\ManifoldMapDef{\ParamDomainEnv}{\VolumeEnv}} \newcommand{\VolumeMapDef}{\ManifoldMapDef{\ParamDomain}{\Volume}} \newcommand{\SurfaceMapDef}{\ManifoldMapDef{\ParamDomainBdry}{\Surface}} \newcommand{\SurfaceToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\Surface}} \newcommand{\ManifoldCoordDetailed}[2]{\QCO{#1}{#2}} \newcommand{\ManifoldCoordVecDetailed}[2]{\QCO{#1}{\Vec{#2}}} \newcommand{\ManifoldCoord}{x} \newcommand{\ManifoldCoordVec}{\Vec{x}} \newcommand{\ManifoldPartitionMapCoord}{\ManifoldCoordDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldPartitionMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoord}{\ManifoldCoordDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\CovariantBasisSurfVec}{\Vec{\SymbolCovariantBasisSurf}} \newcommand{\CovariantBasisVolVec}{\Vec{\SymbolCovariantBasisVol}} \newcommand{\MetricComp}{\SymbolMetric} \newcommand{\MetricTen}{\Mat{\MetricComp}} \newcommand{\CurvatureComp}{\SymbolCurvature} \newcommand{\CurvatureTen}{\Mat{\CurvatureComp}} \newcommand{\CurvCoordIdOne}{\SymbolCurvCoordIdOne} \newcommand{\CurvCoordIdTwo}{\SymbolCurvCoordIdTwo} \newcommand{\CurvCoordIdThree}{\SymbolCurvCoordIdThree} \newcommand{\OrthogonalCoordTransform}{\Mat{\SymbolOrthogonalTransform}} \newcommand{\InversionPointTen}{\Vec{p}} \newcommand{\InversionPointComp}{p} \newcommand{\BoundingVolume}[1]{\QuantityFunctionOf{\Set{bv}}{#1}} \newcommand{\BoundingVolumeSet}[1]{\QuantityFunctionOf{\Set{BV}}{#1}} \newcommand{\BoundingVolumeTree}[1]{\QuantityFunctionOf{\Set{BVH}}{#1}} \newcommand{\AxisAlignedBoundingBox}[1]{\QuantityFunctionOf{\Set{AABB}}{#1}} \newcommand{\AABBCornerLower}{\Vec{c}^l} \newcommand{\AABBCornerLowerComp}{c^l} \newcommand{\AABBCornerUpper}{\Vec{c}^u} \newcommand{\AABBCornerUpperComp}{c^u} \newcommand{\LowerBound}[2]{B^l\left(#1,#2\right)} \newcommand{\UpperBound}[2]{B^u\left(#1,#2\right)} \newcommand{\UpperBoundValue}{U} \newcommand{\UpperBoundValueBV}{U^{\text{BV}}} \newcommand{\UpperBoundValuePoints}{U^{\text{point}}} \newcommand{\GapTolerance}{\varepsilon^{\text{gap}}} \newcommand{\NearestCells}[3][]{\Set{C}_{#1}\left(#2,#3\right)} \newcommand{\BVHNearestGeom}[3][]{c_{#1}\left(#2,#3\right)} \newcommand{\BVHGeomSetOfSets}{\Set{G}} \newcommand{\BVHTessPointSet}{\Set{P}} \newcommand{\BVHBVSet}{\Set{L}} \newcommand{\SimplexMap}[1]{\QuantityFunctionOf{\Mat{L}}{#1}} \newcommand{\ParamCoordVecTarget}{\ParamCoordVecSimple_0} \newcommand{\SpatialCoordVecTarget}{\SpatialCoordVec_0} \newcommand{\SpatialCoordVecToSegmentSetMap}{\SegmentSet^f} \newcommand{\SpatialCoordVecToParamCoordVecSetMap}{\Inverse{\widetilde{\ManifoldMap{\ParamDomainEnv}{\Surface}}}} \newcommand{\HessMatComp}{H} \newcommand{\HessMatTen}{\Mat{\HessMatComp}} \newcommand{\QuadraturePointEnv}[2]{\SymbolEnvModifier{\QuadraturePoint{#1}{#2}}} \newcommand{\QuadraturePoint}[2]{\SymbolQuadraturePoint_{#1}^{#2}} \newcommand{\QuadraturePointToElemIndexMap}[1]{\operatorname{qe}(#1)} \newcommand{\QuadratureWeightEnv}[2]{\SymbolEnvModifier{\QuadratureWeight{#1}{#2}}} \newcommand{\QuadratureWeight}[2]{\SymbolQuadratureWeight_{#1}^{#2}} \newcommand{\QuadratureSet}{\Set{\SymbolQuadratureSet}} \newcommand{\QuadratureSetInside}{\QuadratureSet^{\SymbolInside}} \newcommand{\QuadratureSetOutside}{\QuadratureSet^{\SymbolOutside}} \newcommand{\QuadratureSubdDepth}{k} \newcommand{\ClosestPointMap}[1]{\QuantityChildOf{#1}{\Vec{\SymbolClosestPointMap}}} \newcommand{\ClosestPointMapCAD}{\ClosestPointMap{\SymbolCAD}} \newcommand{\ClosestPointMapCADModified}{\ClosestPointMap{\SymbolCADModified}} \newcommand{\ProjectionInto}[1]{\QuantityRelatedTo{\SymbolProjection}{#1}} \newcommand{\ProjectionIntoBernsteinCell}{\ProjectionInto{\Cell}} \newcommand{\ProjectionIntoBernsteinElem}{\ProjectionInto{\Elem}} \newcommand{\ProjectionIntoMeshBezier}{\ProjectionInto{\MeshBezier}} \newcommand{\ProjectionIntoMeshUspline}{\ProjectionInto{\MeshUspline}} \newcommand{\LinearInterpolationOp}[1]{\QRT{\SymbolLinearInterpolation}{#1}} \newcommand{\Valence}{k} \newcommand{\ArbitraryVector}[1]{\QSB{v}{#1}} \newcommand{\RotationMatrix}[1]{R^{#1}} \newcommand{\RepVecSymbol}{u} \newcommand{\RepVec}[1]{\QSB{\RepVecSymbol}{#1}} \newcommand{\RepVecVec}{\Vec{\RepVecSymbol}} \newcommand{\AlignmentField}{\RepVecVec'} \newcommand{\BiharmonicEnergy}{\QSB{E}{B}} \newcommand{\PrescribedRepVec}[1]{\QSB{d}{#1}} \newcommand{\AlignmentParameter}{\lambda} \newcommand{\SingularityIndex}[1]{\QSB{\chi}{#1}} \newcommand{\AngularDefect}[1]{\QSB{K}{#1}} \newcommand{\ArbitraryAngle}{\theta} \newcommand{\ParallelTransport}[1]{\QSB{\varphi}{#1}} \newcommand{\MinusPiToPi}[1]{\lfloor #1 \rfloor} \newcommand{\AreaOperator}[1]{\QFO{\operatorname{area}}{#1}} \newcommand{\VectorAngle}[1]{\QFO{\operatorname{arg}}{#1}} \newcommand{\DistanceFunction}{\phi} \newcommand{\DistanceGradient}{X} \newcommand{\HeatField}{\eta} \newcommand{\RegionAtZeroDistance}{\gamma}$$\newcommand{\SymbolDisp}{u} \newcommand{\SymbolDispUpper}{U} \newcommand{\SymbolVelocity}{v} \newcommand{\SymbolVelocityUpper}{V} \newcommand{\SymbolAcceleration}{a} \newcommand{\SymbolAccelerationUpper}{A} \newcommand{\SymbolMass}{M} \newcommand{\SymbolLength}{L} \newcommand{\SymbolArea}{A} \newcommand{\SymbolConstraint}{g} \newcommand{\SymbolConstraintUpper}{G} \newcommand{\SymbolPenalty}{\varepsilon} \newcommand{\SymbolLagrangeMultRef}{\Lambda} \newcommand{\SymbolLagrangeMultCurr}{\lambda} \newcommand{\SymbolFict}{f} \newcommand{\SymbolTracForce}{h} \newcommand{\SymbolTracForceUpper}{H} \newcommand{\SymbolBodyForce}{b} \newcommand{\SymbolBodyForceUpper}{B} \newcommand{\SymbolVolumeRef}{\SymbolVolumeUpper} \newcommand{\SymbolSurfaceRef}{\SymbolSurfaceUpper} \newcommand{\SymbolCurveRef}{\SymbolCurveUpper} \newcommand{\SymbolPointRef}{\SymbolPointUpper} \newcommand{\SymbolVolumeCurr}{\SymbolVolume} \newcommand{\SymbolSurfaceCurr}{\SymbolSurface} \newcommand{\SymbolCurveCurr}{\SymbolCurve} \newcommand{\SymbolPointCurr}{\SymbolPoint} \newcommand{\SymbolDeformGradInc}{f} \newcommand{\SymbolDeformGrad}{F} \newcommand{\SymbolStrainGreenLagrange}{E} \newcommand{\SymbolDeformCauchyGreenLeft}{b} \newcommand{\SymbolDeformCauchyGreenRight}{C} \newcommand{\SymbolStrainDisp}{B} \newcommand{\SymbolStrainSymGrad}{\epsilon} \newcommand{\SymbolStrainPlasticEquiv}{\alpha} \newcommand{\SymbolHardeningPlastic}{k} \newcommand{\SymbolYieldFunction}{f} \newcommand{\SymbolConsistencyParameterPlastic}{\gamma} \newcommand{\SymbolPlasticModuliScaling}{\beta} \newcommand{\SymbolYieldSurfaceNormal}{n} \newcommand{\SymbolEnergy}{\Pi} \newcommand{\SymbolEnergyDensityStrain}{\Psi} \newcommand{\SymbolEnergyDensityStrainVol}{U} \newcommand{\SymbolResidual}{R} \newcommand{\SymbolForce}{F} \newcommand{\SymbolStiffness}{K} \newcommand{\SymbolSolution}{d} \newcommand{\ParamDomainBdryDisp}{\ParamDomainBdry^{\SymbolDisp}} \newcommand{\ParamDomainBdryTrac}{\ParamDomainBdry^{\SymbolTracForce}} \newcommand{\VolumeEnvRef}{\Set{\SymbolEnvModifier{\SymbolVolumeRef}}} \newcommand{\VolumeRef}{\Set{\SymbolVolumeRef}} \newcommand{\VolumeRefClosure}{\overline{\VolumeRef}} \newcommand{\VolumeRefFict}{\VolumeEnvRef\setminus\VolumeRef} \newcommand{\dVolumeRef}{\Differential[\VolumeRef]} \newcommand{\VolumeIndicatorDef}{\FuncDef{\VolumeIndicator_{\PenaltyStiffness}}{\VolumeEnvRef}{\Reals_+}} \newcommand{\SurfaceEnvRef}{\Set{\SymbolEnvModifier{\SymbolSurfaceRef}}} \newcommand{\SurfaceRef}{\Set{\SymbolSurfaceRef}} \newcommand{\SurfaceRefWildCard}{\SurfaceRef^{\SymbolWildCard}} \newcommand{\SurfaceRefDisp}{\SurfaceRef^{\SymbolDisp}} \newcommand{\SurfaceRefTrac}{\SurfaceRef^{\SymbolTracForce}} \newcommand{\SurfaceRefFict}{\SurfaceRef^{\SymbolFict}} \newcommand{\SurfaceRefDispExternal}{\SurfaceRefDisp\setminus\SurfaceRefFict} \newcommand{\SurfaceRefTracExternal}{\SurfaceRefTrac\setminus\SurfaceRefFict} \newcommand{\SurfaceRefFictTrac}{\SurfaceRefTrac\cap\SurfaceRefFict} \newcommand{\SurfaceRefFictDisp}{\SurfaceRefDisp\cap\SurfaceRefFict} \newcommand{\SurfaceRefFictExternal}{\SurfaceRefFict\setminus\SurfaceRef} \newcommand{\dSurfaceRef}{\Differential[\SurfaceRef]} \newcommand{\CurveRef}{\Set{\SymbolCurveRef}} \newcommand{\dCurveRef}{\Differential[\CurveRef]} \newcommand{\PointRef}{\Set{\SymbolPointRef}} \newcommand{\PointRefDisp}{\PointRef^{\SymbolDisp}} \newcommand{\PointRefTrac}{\PointRef^{\SymbolTracForce}} \newcommand{\dPointRef}{\Differential[\PointRef]} \newcommand{\dPointRefTrac}{\Differential[\PointRefTrac]} \newcommand{\RefCoord}[1]{\ManifoldCoordDetailed{#1}{X}} \newcommand{\RefCoordVec}[1]{\ManifoldCoordVecDetailed{#1}{X}} \newcommand{\VolumeEnvRefCoord}{\RefCoord{\VolumeEnvRef}} \newcommand{\VolumeEnvRefCoordVec}{\RefCoordVec{\VolumeEnvRef}} \newcommand{\VolumeRefCoord}{\RefCoord{\VolumeRef}} \newcommand{\VolumeRefCoordVec}{\RefCoordVec{\VolumeRef}} \newcommand{\SurfaceRefCoord}{\RefCoord{\SurfaceRef}} \newcommand{\SurfaceRefCoordVec}{\RefCoordVec{\SurfaceRef}} \newcommand{\SurfaceRefDispCoord}{\RefCoord{\SurfaceRefDisp}} \newcommand{\SurfaceRefDispCoordVec}{\RefCoordVec{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracCoord}{\RefCoord{\SurfaceRefTrac}} \newcommand{\SurfaceRefTracCoordVec}{\RefCoordVec{\SurfaceRefTrac}} \newcommand{\CurveRefCoord}{\RefCoord{\CurveRef}} \newcommand{\CurveRefCoordVec}{\RefCoordVec{\CurveRef}} \newcommand{\UsplineBasisFuncOverCurveRef}[1]{\UsplineBasisFuncDetailed{\CurveRef}{#1}} \newcommand{\UsplineBasisFuncOverSurfaceRefDisp}[1]{\UsplineBasisFuncDetailed{\SurfaceRefDisp}{#1}} \newcommand{\VolumeEnvCurr}{\Set{\SymbolEnvModifier{\SymbolVolumeCurr}}} \newcommand{\VolumeCurr}{\Set{\SymbolVolumeCurr}} \newcommand{\VolumeCurrClosure}{\overline{\VolumeCurr}} \newcommand{\dVolumeCurr}{\Differential[\VolumeCurr]} \newcommand{\SurfaceEnvCurr}{\Set{\SymbolEnvModifier{\SymbolSurfaceCurr}}} \newcommand{\SurfaceCurr}{\Set{\SymbolSurfaceCurr}} \newcommand{\SurfaceCurrDisp}{\SurfaceCurr^{\SymbolDisp}} \newcommand{\SurfaceCurrTrac}{\SurfaceCurr^{\SymbolTracForce}} \newcommand{\dSurfaceCurr}{\Differential[\SurfaceCurr]} \newcommand{\CurveCurr}{\Set{\SymbolCurveCurr}} \newcommand{\dCurveCurr}{\Differential[\CurveCurr]} \newcommand{\PointCurr}{\Set{\SymbolPointCurr}} \newcommand{\PointCurrDisp}{\PointCurr^{\SymbolDisp}} \newcommand{\PointCurrTrac}{\PointCurr^{\SymbolTracForce}} \newcommand{\dPointCurr}{\Differential[\PointCurr]} \newcommand{\CurrCoord}[1]{\ManifoldCoordDetailed{#1}{x}} \newcommand{\CurrCoordVec}[1]{\ManifoldCoordVecDetailed{#1}{x}} \newcommand{\VolumeEnvCurrCoord}{\CurrCoord{\VolumeEnvCurr}} \newcommand{\VolumeEnvCurrCoordVec}{\CurrCoordVec{\VolumeEnvCurr}} \newcommand{\VolumeCurrCoord}{\CurrCoord{\VolumeCurr}} \newcommand{\VolumeCurrCoordVec}{\CurrCoordVec{\VolumeCurr}} \newcommand{\SurfaceCurrCoord}{\CurrCoord{\SurfaceCurr}} \newcommand{\SurfaceCurrCoordVec}{\CurrCoordVec{\SurfaceCurr}} \newcommand{\SurfaceCurrDispCoord}{\CurrCoord{\SurfaceCurrDisp}} \newcommand{\SurfaceCurrDispCoordVec}{\CurrCoordVec{\SurfaceCurrDisp}} \newcommand{\SurfaceCurrTracCoord}{\CurrCoord{\SurfaceCurrTrac}} \newcommand{\SurfaceCurrTracCoordVec}{\CurrCoordVec{\SurfaceCurrTrac}} \newcommand{\CurveCurrCoord}{\CurrCoord{\CurveRef}} \newcommand{\CurveCurrCoordVec}{\CurrCoordVec{\CurveRef}} \newcommand{\VolumeEnvRefMap}{\ManifoldMap{\ParamDomainEnv}{\VolumeEnvRef}} \newcommand{\GenericGradOverVolumeEnvRefMap}[1]{\Grad{\VolumeEnvRefMap}{#1}} \newcommand{\VolumeRefMap}{\ManifoldMap{\ParamDomain}{\VolumeRef}} \newcommand{\GenericGradOverVolumeRefMap}[1]{\Grad{\VolumeRefMap}{#1}} \newcommand{\SurfaceRefDispMap}{\ManifoldMap{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMap}{\ManifoldMap{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\CurveRefMap}{\ManifoldMap{\ParamDomain}{\CurveRef}} \newcommand{\GenericGradOverCurveRefMap}[1]{\Grad{\CurveRefMap}{#1}} \newcommand{\VolumeEnvRefMapDef}{\ManifoldMapDef{\ParamDomainEnv}{\VolumeEnvRef}} \newcommand{\SurfaceRefDispMapDef}{\ManifoldMapDef{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMapDef}{\ManifoldMapDef{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\SurfaceRefToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRef}} \newcommand{\SurfaceRefDispToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRefTrac}} \newcommand{\CurveRefMapDef}{\ManifoldMapDef{\ParamDomain}{\CurveRef}} \newcommand{\GenericDeformMap}{\Vec{\varphi}} \newcommand{\VolumeEnvDeformMap}{\ManifoldMap{\VolumeEnvRef}{\VolumeEnvCurr}} \newcommand{\GenericGradOverVolumeEnvDeformMap}[1]{\Grad{\VolumeEnvDeformMap}{#1}} \newcommand{\VolumeDeformMap}{\ManifoldMap{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeDeformTemporalMap}{\ManifoldTemporalMap{\VolumeRef}{\VolumeCurr}} \newcommand{\GradVolumeDeformTemporalMap}{\GenericGradOverVolumeRefMap{\VolumeDeformTemporalMap}} \newcommand{\SurfaceDeformDispMap}{\ManifoldMap{\SurfaceRefDisp}{\SurfaceCurrDisp}} \newcommand{\SurfaceDeformTracMap}{\ManifoldMap{\SurfaceRefTrac}{\SurfaceCurrTrac}} \newcommand{\CurveDeformMap}{\ManifoldMap{\CurveRef}{\CurveCurr}} \newcommand{\CurveDeformTemporalMap}{\ManifoldTemporalMap{\CurveRef}{\CurveCurr}} \newcommand{\VolumeDeformMapDef}{\ManifoldMapDef{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeDeformTemporalMapDef}{\ManifoldTemporalMapDef{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeEnvDeformMapDef}{\ManifoldMapDef{\VolumeEnvRef}{\VolumeEnvCurr}} \newcommand{\CurveDeformMapDef}{\ManifoldMapDef{\CurveRef}{\CurveCurr}} \newcommand{\CurveDeformTemporalMapDef}{\ManifoldTemporalMapDef{\CurveRef}{\CurveCurr}} \newcommand{\DispTrialSpaceOverVolumeEnvRef}{\SpaceHilbert{U}(\VolumeEnvRef)} \newcommand{\DispTestSpaceOverVolumeEnvRef}{\delta \DispTrialSpaceOverVolumeEnvRef} \newcommand{\DispTrialSpaceOverVolumeRef}{\SpaceHilbert{U}(\VolumeRef)} \newcommand{\DispTestSpaceOverVolumeRef}{\delta \DispTrialSpaceOverVolumeRef} \newcommand{\DispTrialSpaceOverCurveRef}{\SpaceHilbert{U}(\CurveRef)} \newcommand{\DispTestSpaceOverCurveRef}{\delta \DispTrialSpaceOverCurveRef} \newcommand{\DispFieldRefComp}{\SymbolDispUpper} \newcommand{\DispFieldRefTen}{\Vec{\DispFieldRefComp}} \newcommand{\DispFieldCurrComp}{\SymbolDisp} \newcommand{\DispFieldCurrTen}{\Vec{\DispFieldCurrComp}} \newcommand{\VelFieldCurrTen}{\Vec{\SymbolVelocity}} \newcommand{\AccFieldCurrTen}{\Vec{\SymbolAcceleration}} \newcommand{\DeformGradComp}{\SymbolDeformGrad} \newcommand{\DeformGradTen}{\Mat{\DeformGradComp}} \newcommand{\DeformGradDet}{\Det{\DeformGradTen}} \newcommand{\KinematicElast}{e} \newcommand{\KinematicPlast}{p} \newcommand{\DivVolumeEnvRef}[1]{\Div{\VolumeEnvRefCoordVec}{#1}} \newcommand{\DivVolumeEnvCurr}[1]{\Div{\VolumeEnvCurrCoordVec}{#1}} \newcommand{\DeformGradIncComp}{\SymbolDeformGradInc} \newcommand{\DeformGradIncTen}{\Mat{\DeformGradIncComp}} \newcommand{\DeformGradIncDevComp}{\bar{\SymbolDeformGradInc}} \newcommand{\DeformGradIncDevTen}{\bar{\Mat{\DeformGradIncComp}}} \newcommand{\JAsDeformGradDet}{J} \newcommand{\StretchTen}{\Mat{V}} \newcommand{\StrainGreenLagrangeComp}{\SymbolStrainGreenLagrange} \newcommand{\StrainGreenLagrangeTen}{\Mat{\StrainGreenLagrangeComp}} \newcommand{\StrainGreenLagrangeVoigt}{\tilde{\StrainGreenLagrangeTen}} \newcommand{\DeformCauchyGreenRightComp}{\SymbolDeformCauchyGreenRight} \newcommand{\DeformCauchyGreenRightTen}{\Mat{\DeformCauchyGreenRightComp}} \newcommand{\DeformCauchyGreenLeftComp}{\SymbolDeformCauchyGreenLeft} \newcommand{\DeformCauchyGreenLeftTen}{\Mat{\DeformCauchyGreenLeftComp}} \newcommand{\DeformCauchyGreenLeftDevComp}{\bar{\SymbolDeformCauchyGreenLeft}} \newcommand{\DeformCauchyGreenLeftDevTen}{\bar{\Mat{\DeformCauchyGreenLeftComp}}} \newcommand{\StrainSymGradComp}{\SymbolStrainSymGrad} \newcommand{\StrainSymGradTen}{\Mat{\StrainSymGradComp}} \newcommand{\StrainDispMat}{\Mat{\SymbolStrainDisp}} \newcommand{\DeformCauchyGreenRightDevComp}{\bar{\SymbolDeformCauchyGreenRight}} \newcommand{\DeformCauchyGreenRightDevTen}{\bar{\Mat{\DeformCauchyGreenRightComp}}} \newcommand{\KinematicElastoplast}{{\rm ep}} \newcommand{\Trial}{{\rm trial}} \newcommand{\DeformCauchyGreenLeftElasticTenDef}{\DeformCauchyGreenLeftTen^\KinematicElast \DefEq \DeformGradTen^\KinematicElast \DeformGradTen^{\KinematicElast T}} \newcommand{\DeformCauchyGreenLeftElasticDevTenDef}{{\DeformCauchyGreenLeftDevTen}^\KinematicElast \DefEq {\JAsDeformGradDet}^{\KinematicElast-\frac{2}{3}} {\DeformCauchyGreenLeftTen}^\KinematicElast} \newcommand{\DeformCauchyGreenRightPlasticTenDef}{\DeformCauchyGreenRightTen^\KinematicPlast \DefEq \DeformGradTen^{\KinematicPlast T} \DeformGradTen^\KinematicPlast} \newcommand{\StrainPlasticEquiv}{\SymbolStrainPlasticEquiv} \newcommand{\ConsistencyParameterPlasticDiscrete}{\Delta \SymbolConsistencyParameterPlastic} \newcommand{\YieldSurfaceNormalComp}{\SymbolYieldSurfaceNormal} \newcommand{\YieldSurfaceNormalTen}{\Mat{\SymbolYieldSurfaceNormal}} \newcommand{\UnitNormalRefComp}{N} \newcommand{\UnitNormalRefTen}{\Vec{\UnitNormalRefComp}} \newcommand{\UnitNormalCurrComp}{\UnitNormalComp} \newcommand{\UnitNormalCurrTen}{\UnitNormal} \newcommand{\DispFieldOverVolumeEnvRefTenDef}{\FuncDef{\DispFieldRefTen}{\VolumeEnvRef}{\SpatialDomain}} \newcommand{\DispFieldOverVolumeEnvCurrTenDef}{\DispFieldCurrTen \DefEq \DispFieldRefTen \circ \Inverse{\VolumeEnvDeformMap}} \newcommand{\DispFieldOverVolumeRefTenDef}{\FuncDef{\DispFieldRefTen}{\VolumeRef}{\SpatialDomain}} \newcommand{\DispFieldOverVolumeRefTemporalTenDef}{\FuncDef{\DispFieldRefTen}{\VolumeRef\otimes\SymbolTime}{\SpatialDomain}} \newcommand{\DispFieldOverVolumeCurrTenDef}{\DispFieldCurrTen \DefEq \DispFieldRefTen \circ \Inverse{\VolumeDeformMap}} \newcommand{\DispFieldOverCurveRefTenDef}{\FuncDef{\DispFieldRefTen}{\CurveRef}{\SpatialDomain}} \newcommand{\DispFieldOverCurveRefTemporalTenDef}{\FuncDef{\DispFieldRefTen}{\CurveRef\otimes\SymbolTime}{\SpatialDomain}} \newcommand{\DeformGradOverVolumeRefTenDef}{\FuncDef{\DeformGradTen}{\VolumeRef}{\VolumeCurr}} \newcommand{\DeformGradOverCurveRefTenDef}{\FuncDef{\DeformGradTen}{\CurveRef}{\CurveCurr}} \newcommand{\StrainGreenLagrangeOverVolumeEnvRefTenDef}{\FuncDef{\StrainGreenLagrangeTen}{\VolumeEnvRef}{\VolumeEnvCurr}} \newcommand{\StrainGreenLagrangeOverVolumeRefTenDef}{\FuncDef{\StrainGreenLagrangeTen}{\VolumeRef}{\VolumeCurr}} \newcommand{\StrainGreenLagrangeOverCurveRefTenDef}{\FuncDef{\StrainGreenLagrangeTen}{\CurveRef}{\CurveCurr}} \newcommand{\DeformCauchyGreenLeftTenDef}{\DeformCauchyGreenLeftTen \DefEq \DeformGradTen \DeformGradTen^T} \newcommand{\DeformCauchyGreenLeftDevTenDef}{\DeformCauchyGreenLeftDevTen \DefEq \DeformGradDet^{-\frac{2}{3}} \DeformCauchyGreenLeftTen} \newcommand{\StressPKOneTen}{\Mat{P}} \newcommand{\StressPKTwoComp}{S} \newcommand{\StressPKTwoTen}{\Mat{\StressPKTwoComp}} \newcommand{\StressPKTwoVoigt}{\tilde{\StressPKTwoTen}} \newcommand{\StressCauchyComp}{\sigma} \newcommand{\StressCauchyTen}{\Mat{\sigma}} \newcommand{\StressCauchyVoigt}{\tilde{\StressCauchyTen}} \newcommand{\StressCauchyMean}{p} \newcommand{\StressCauchyYield}{\StressCauchyComp_Y} \newcommand{\StressKirchhoffComp}{\tau} \newcommand{\StressKirchhoffTen}{\Mat{\tau}} \newcommand{\StressKirchhoffVoigt}{\tilde{\StressKirchhoffTen}} \newcommand{\StressKirchhoffDevComp}{s} \newcommand{\StressKirchhoffDevTen}{\Mat{\StressKirchhoffDevComp}} \newcommand{\ModuliElastRefComp}{C} \newcommand{\ModuliElastRefTen}{\Mat{\ModuliElastRefComp}} \newcommand{\ModuliElastRefVoigt}{\tilde{\ModuliElastRefTen}} \newcommand{\ModuliElastCurrComp}{c} \newcommand{\ModuliElastCurrTen}{\Mat{\ModuliElastCurrComp}} \newcommand{\ModuliElastCurrVoigt}{\tilde{\ModuliElastCurrTen}} \newcommand{\MaterialYoungsModulus}{E} \newcommand{\MaterialPoissonsRatio}{\nu} \newcommand{\MaterialMassDensity}{\rho} \newcommand{\MaterialBulkModulus}{\kappa} \newcommand{\MaterialShearModulus}{\mu} \newcommand{\MaterialShearModulusDev}{\bar{\MaterialShearModulus}} \newcommand{\MaterialThermalExpansion}{\alpha_{\text{thermal}}} \newcommand{\Area}{\SymbolArea} \newcommand{\Length}{\SymbolLength} \newcommand{\Width}{b} \newcommand{\Height}{h} \newcommand{\PenaltyStiffness}{\SymbolPenalty_{\SymbolStiffness}} \newcommand{\PenaltyDisp}{\SymbolPenalty_{\SymbolDisp}} \newcommand{\BodyForceRefComp}{\SymbolBodyForceUpper} \newcommand{\BodyForceRefTen}{\Vec{\BodyForceRefComp}} \newcommand{\BodyForceCurrComp}{\SymbolBodyForce} \newcommand{\BodyForceCurrTen}{\Vec{\BodyForceCurrComp}} \newcommand{\TracForceRefComp}{\SymbolTracForceUpper} \newcommand{\TracForceRefTen}{\Vec{\TracForceRefComp}} \newcommand{\TracForceCurrComp}{\SymbolTracForce} \newcommand{\TracForceCurrTen}{\Vec{\TracForceCurrComp}} \newcommand{\Pressure}{p} \newcommand{\BodyForceOverVolumeEnvRefTenDef}{\FuncDef{\BodyForceRefTen}{\VolumeEnvRef}{\SpatialDomain}} \newcommand{\BodyForceOverVolumeEnvCurrTenDef}{\BodyForceCurrTen \DefEq \BodyForceRefTen \circ \Inverse{\VolumeEnvDeformMap}} \newcommand{\BodyForceOverCurveRefCompDef}{\FuncDef{\BodyForceRefComp}{\CurveRef}{\Reals}} \newcommand{\BodyForceOverCurveRefTenDef}{\FuncDef{\BodyForceRefTen}{\CurveRef}{\SpatialDomain}} \newcommand{\BodyForceOverCurveCurrCompDef}{\BodyForceCurrComp \DefEq \BodyForceRefComp \circ \Inverse{\CurveDeformMap}} \newcommand{\BodyForceOverCurveCurrTenDef}{\BodyForceCurrTen \DefEq \BodyForceRefTen \circ \Inverse{\CurveDeformMap}} \newcommand{\TracForceOverSurfaceRefTracTenDef}{\FuncDef{\TracForceRefTen}{\SurfaceRefTrac}{\SpatialDomain}} \newcommand{\TracForceOverSurfaceCurrTracTenDef}{\TracForceCurrTen \DefEq \TracForceRefTen \circ \Inverse{\SurfaceDeformTracMap}} \newcommand{\TracForceOverCurveRefCompDef}{\FuncDef{\TracForceRefComp}{\PointRefTrac}{\Reals}} \newcommand{\TracForceOverCurveRefTenDef}{\FuncDef{\TracForceRefTen}{\PointRefTrac}{\SpatialDomain}} \newcommand{\TracForceOverCurveCurrCompDef}{\TracForceCurrComp \DefEq \TracForceRefComp \circ \Inverse{\CurveDeformMap}} \newcommand{\TracForceOverCurveCurrTenDef}{\TracForceCurrTen \DefEq \TracForceRefTen \circ \Inverse{\CurveDeformMap}} \newcommand{\ConstraintRefTen}{\Vec{\SymbolConstraintUpper}} \newcommand{\LagrangeMultTestSpaceOverSurfaceRef}{\delta \LagrangeMultTrialSpaceOverSurfaceRef} \newcommand{\LagrangeMultTrialSpaceOverSurfaceRef}{\SpaceHilbert{L}(\SurfaceRefDisp)} \newcommand{\LagrangeMultRefComp}{\SymbolLagrangeMultRef} \newcommand{\LagrangeMultRefTen}{\Vec{\LagrangeMultRefComp}} \newcommand{\LagrangeMultCurrComp}{\SymbolLagrangeMultCurr} \newcommand{\LagrangeMultCurrTen}{\Vec{\LagrangeMultCurrComp}} \newcommand{\ConstraintOverSurfaceRefDispTenDef}{\FuncDef{\ConstraintRefTen}{\SurfaceRefDisp}{\SpatialDomain}} \newcommand{\LagrangeMultOverSurfaceCurrTenDef}{\LagrangeMultCurrTen \DefEq \LagrangeMultRefTen \circ \Inverse{\SurfaceDeformDispMap}} \newcommand{\Energy}{\SymbolEnergy} \newcommand{\EnergyElastic}[1]{\QFO{\Energy}{#1}} \newcommand{\EnergyElasticNoArg}{\QFONA{\Energy}} \newcommand{\EnergyEnv}{\SymbolEnvModifier{\Energy}} \newcommand{\EnergyInside}{\Energy^{\SymbolInside}} \newcommand{\EnergyOutside}{\Energy^{\SymbolOutside}} \newcommand{\EnergyConstraint}{\Energy^{\LagrangeMultCurrComp}} \newcommand{\EnergyDensityStrain}{\SymbolEnergyDensityStrain} \newcommand{\EnergyDensityStrainVol}{\SymbolEnergyDensityStrainVol} \newcommand{\EnergyDensityStrainDev}{\bar{\SymbolEnergyDensityStrain}} \newcommand{\EnergyInsideOverVolumeEnvRefDef}{\FuncDef{\EnergyInside}{\DispTrialSpaceOverVolumeEnvRef}{\Reals}} \newcommand{\EnergyOutsideOverVolumeEnvRefDef}{\FuncDef{\EnergyOutside}{\DispTrialSpaceOverVolumeEnvRef}{\Reals}} \newcommand{\EnergyConstraintOverVolumeEnvRefDef}{\FuncDef{\EnergyConstraint}{\DispTrialSpaceOverVolumeEnvRef\TensorProduct\LagrangeMultTrialSpaceOverSurfaceRef}{\Reals}} \newcommand{\EnergyDensityStrainOverVolumeEnvRefDef}{\FuncDef{\EnergyDensityStrain}{\VolumeEnvRef}{\Reals}} \newcommand{\ResidualComp}{\SymbolResidual} \newcommand{\ResidualVec}{\Vec{\ResidualComp}} \newcommand{\ForceVec}{\Vec{\SymbolForce}} \newcommand{\ForceInternalVec}{\ForceVec^{int}} \newcommand{\ForceExternalVec}{\ForceVec^{ext}} \newcommand{\ForceConstraintPenaltyVec}{\ForceVec^{\PenaltyDisp}} \newcommand{\ForceConstraintLagrangeVec}{\ForceVec^{\lambda1}} \newcommand{\ForceConstraintVec}{\ForceVec^{\lambda2}} \newcommand{\StiffnessMat}{\Mat{\SymbolStiffness}} \newcommand{\StiffnessMaterialMat}{\StiffnessMat^{m}} \newcommand{\StiffnessGeometricMat}{\StiffnessMat^{g}} \newcommand{\StiffnessPenaltyMat}{\StiffnessMat^{\PenaltyDisp}} \newcommand{\StiffnessLagrangeMat}{\StiffnessMat^{\LagrangeMultCurrComp}} \newcommand{\MassMat}{\Mat{\SymbolMass}} \newcommand{\LumpedMassMat}{\tilde{\MassMat}} \newcommand{\SolutionComp}{\SymbolSolution} \newcommand{\Solution}{\Vec{\SymbolSolution}} \newcommand{\SolutionDisp}{\Solution^{\DispFieldCurrComp}} \newcommand{\SolutionLagrange}{\Solution^{\LagrangeMultCurrComp}} \newcommand{\Flex}[1]{\mathcal{F}_{#1}} \newcommand{\FlexIt}{\mathcal{F}} \newcommand{\FlexFEA}{\Flex{\bar{0}}} \newcommand{\FlexFEAModified}{\Flex{0}} \newcommand{\FlexOne}{\Flex{1}} \newcommand{\FlexImmersed}{\Flex{\infty}} \newcommand{\FlexInfty}{\mathcal{F}{\infty}} \newcommand{\FlexSpectrum}{\overleftrightarrow{\mathcal{F}}} \newcommand{\FlexSpectrumId}{i} \newcommand{\TimeStep}{\Delta \SymbolTime} \newcommand{\SpectralRadius}{\rho_{\infty}}$$\newcommand{\SymbolPressureContact}{p} \newcommand{\SymbolContactGap}{g} \newcommand{\NumUsplineBasisFuncsS}{\Size{\UsplineBasisFuncSetOnMeshUspline^s}} \newcommand{\NumUsplineBasisFuncsM}{\Size{\UsplineBasisFuncSetOnMeshUspline^m}} \newcommand{\NumUsplineBasisFuncsG}{\Size{\UsplineBasisFuncSetOnMeshUspline^\alpha}} \newcommand{\NumUsplineBasisFuncsParamDomainBdryContactS}{\Size{\UsplineBasisFuncSetOnMeshUspline^{\ParamDomainBdryContactS}}} \newcommand{\NumUsplineBasisFuncsParamDomainBdryContactM}{\Size{\UsplineBasisFuncSetOnMeshUspline^{\ParamDomainBdryContactM}}} \newcommand{\NumUsplineBasisFuncsParamDomainBdryContactG}{\Size{\UsplineBasisFuncSetOnMeshUspline^{\ParamDomainBdryContactG}}} \newcommand{\ParamDomainEnvS}{\ParamDomainEnv^{s}} \newcommand{\ParamDomainEnvM}{\ParamDomainEnv^{m}} \newcommand{\ParamDomainEnvG}{\ParamDomainEnv^{\alpha}} \newcommand{\ParamDomainS}{\ParamDomain^{s}} \newcommand{\ParamDomainM}{\ParamDomain^{m}} \newcommand{\ParamDomainG}{\ParamDomain^\alpha} \newcommand{\ParamDomainClosureS}{\overline{\ParamDomain}^s} \newcommand{\ParamDomainClosureM}{\overline{\ParamDomain}^m} \newcommand{\ParamDomainClosureG}{\overline{\ParamDomain}^\alpha} \newcommand{\ParamDomainBdryG}{\ParamDomainBdry^\alpha} \newcommand{\ParamDomainBdryContactS}{\ParamDomainBdry^{c,s}} \newcommand{\ParamDomainBdryContactM}{\ParamDomainBdry^{c,m}} \newcommand{\ParamDomainBdryContactG}{\ParamDomainBdry^{c,\alpha}} \newcommand{\ParamDomainBdryTangentComp}{A} \newcommand{\ParamDomainBdryTangentTen}{\Mat{\ParamDomainBdryTangentComp}} \newcommand{\ParamDetJacobianS}{j^s} \newcommand{\ParamDomainGCoordVec}{\ParamCoordVecSimple^{\ParamDomainG}} \newcommand{\ParamDomainGCoord}{\ParamCoordSimple^{\ParamDomainG}} \newcommand{\ParamDomainEnvGCoordVec}{\ParamCoordVecSimple^{\ParamDomainEnvG}} \newcommand{\ParamDomainEnvGCoord}{\ParamCoordSimple^{\ParamDomainEnvG}} \newcommand{\ParamDomainEnvSCoordVec}{\ParamCoordVecSimple^{\ParamDomainEnvS}} \newcommand{\ParamDomainEnvSCoord}{\ParamCoordSimple^{\ParamDomainEnvS}} \newcommand{\ParamDomainEnvMCoordVec}{\ParamCoordVecSimple^{\ParamDomainEnvM}} \newcommand{\ParamDomainEnvMCoord}{\ParamCoordSimple^{\ParamDomainEnvM}} \newcommand{\ParamDomainBdryContactGCoordVec}{\ParamCoordVecSimple^{\ParamDomainBdryContactG}} \newcommand{\ParamDomainBdryContactGCoord}{\ParamCoordSimple^{\ParamDomainBdryContactG}} \newcommand{\ParamDomainBdryContactSCoordVec}{\ParamCoordVecSimple^{\ParamDomainBdryContactS}} \newcommand{\ParamDomainBdryContactSCoord}{\ParamCoordSimple^{\ParamDomainBdryContactS}} \newcommand{\ParamDomainBdryContactMCoordVec}{\ParamCoordVecSimple^{\ParamDomainBdryContactM}} \newcommand{\ParamDomainBdryContactMCoord}{\ParamCoordSimple^{\ParamDomainBdryContactM}} \newcommand{\SegmentParamDomainOfVolumeEnvRefS}{\QuantityRelatedTo{\ParamDomainEnvS}{\SegmentOfVolumeEnvRefS}} \newcommand{\SegmentParamDomainOfVolumeEnvRefM}{\QuantityRelatedTo{\ParamDomainEnvM}{\SegmentOfVolumeEnvRefM}} \newcommand{\SegmentParamDomainOfVolumeEnvCurrM}{\QuantityRelatedTo{\ParamDomainEnvM}{\SegmentOfVolumeEnvCurrM}} \newcommand{\SegmentParamDomainOfSurfaceCurrContactS}{\QuantityRelatedTo{\ParamDomainBdryContactS}{\SegmentOfSurfaceCurrContactS}} \newcommand{\SegmentParamDomainOfSurfaceRefContactM}{\QuantityRelatedTo{\ParamDomainBdryContactM}{\SegmentOfSurfaceRefContactM}} \newcommand{\SegmentParamDomainOfSurfaceCurrContactM}{\QuantityRelatedTo{\ParamDomainBdryContactM}{\SegmentOfSurfaceCurrContactM}} \newcommand{\UsplineBasisFuncS}{\UsplineBasisFunc^{s}} \newcommand{\UsplineBasisFuncM}{\UsplineBasisFunc^{m}} \newcommand{\UsplineBasisFuncG}{\UsplineBasisFunc^{\alpha}} \newcommand{\UsplineBasisFuncParamDomainBdryContactS}{\UsplineBasisFunc^{\ParamDomainBdryContactS}} \newcommand{\UsplineBasisFuncParamDomainBdryContactM}{\UsplineBasisFunc^{\ParamDomainBdryContactM}} \newcommand{\UsplineBasisFuncParamDomainBdryContactG}{\UsplineBasisFunc^{\ParamDomainBdryContactG}} \newcommand{\UsplineBasisSymmSecondOrderComp}{S} \newcommand{\UsplineBasisSymmSecondOrderTen}{\Mat{\UsplineBasisSymmSecondOrderComp}} \newcommand{\UsplineBasisSymmFourthOrderComp}{E} \newcommand{\UsplineBasisSymmSixthOrderComp}{Z} \newcommand{\VolumeEnvRefG}{\VolumeEnvRef^{\alpha}} \newcommand{\VolumeEnvRefS}{\VolumeEnvRef^{s}} \newcommand{\VolumeEnvRefM}{\VolumeEnvRef^{m}} \newcommand{\VolumeRefG}{\VolumeRef^{\alpha}} \newcommand{\VolumeRefS}{\VolumeRef^{s}} \newcommand{\VolumeRefM}{\VolumeRef^{m}} \newcommand{\VolumeRefClosureG}{\VolumeRefClosure^\alpha} \newcommand{\VolumeRefClosureS}{\VolumeRefClosure^s} \newcommand{\VolumeRefClosureM}{\VolumeRefClosure^m} \newcommand{\SurfaceRefG}{\SurfaceRef^\alpha} \newcommand{\SurfaceRefS}{\SurfaceRef^s} \newcommand{\SurfaceRefM}{\SurfaceRef^m} \newcommand{\SurfaceRefTracG}{\SurfaceRef^{\SymbolTracForce,\alpha}} \newcommand{\SurfaceRefDispG}{\SurfaceRef^{\SymbolDisp,\alpha}} \newcommand{\SurfaceRefContactG}{\SurfaceRef^{c,\alpha}} \newcommand{\SurfaceRefContactS}{\SurfaceRef^{c,s}} \newcommand{\SurfaceRefContactM}{\SurfaceRef^{c,m}} \newcommand{\VolumeEnvRefSCoordVec}{\RefCoordVec{\VolumeEnvRefS}} \newcommand{\VolumeEnvRefMCoordVec}{\RefCoordVec{\VolumeEnvRefM}} \newcommand{\VolumeEnvRefGCoordVec}{\RefCoordVec{\VolumeEnvRefG}} \newcommand{\VolumeRefGCoordVec}{\RefCoordVec{\VolumeRefG}} \newcommand{\SurfaceRefContactSCoord}{\RefCoord{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactSCoordVec}{\RefCoordVec{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactMCoord}{\RefCoord{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactMCoordVec}{\RefCoordVec{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactGCoord}{\RefCoord{\SurfaceRefContactG}} \newcommand{\SurfaceRefContactGCoordVec}{\RefCoordVec{\SurfaceRefContactG}} \newcommand{\SurfaceRefDispGCoordVec}{\RefCoordVec{\SurfaceRefDispG}} \newcommand{\SegmentOfVolumeEnvRefS}{\Segment{\VolumeEnvRefS}} \newcommand{\SegmentOfVolumeEnvRefM}{\Segment{\VolumeEnvRefM}} \newcommand{\SegmentOfSurfaceRefContactS}{\Segment{\SurfaceRefContactS}} \newcommand{\SegmentOfSurfaceRefContactM}{\Segment{\SurfaceRefContactM}} \newcommand{\VolumeEnvCurrG}{\VolumeEnvCurr^{\alpha}} \newcommand{\VolumeEnvCurrS}{\VolumeEnvCurr^{s}} \newcommand{\VolumeEnvCurrM}{\VolumeEnvCurr^{m}} \newcommand{\VolumeCurrG}{\VolumeCurr^{\alpha}} \newcommand{\VolumeCurrS}{\VolumeCurr^{s}} \newcommand{\VolumeCurrM}{\VolumeCurr^{m}} \newcommand{\VolumeCurrClosureG}{\VolumeCurrClosure^\alpha} \newcommand{\VolumeCurrClosureS}{\VolumeCurrClosure^s} \newcommand{\VolumeCurrClosureM}{\VolumeCurrClosure^m} \newcommand{\SurfaceCurrG}{\SurfaceCurr^\alpha} \newcommand{\SurfaceCurrS}{\SurfaceCurr^s} \newcommand{\SurfaceCurrM}{\SurfaceCurr^m} \newcommand{\SurfaceCurrContact}{\SurfaceCurr^{c}} \newcommand{\SurfaceCurrContactG}{\SurfaceCurr^{c,\alpha}} \newcommand{\SurfaceCurrContactS}{\SurfaceCurr^{c,s}} \newcommand{\SurfaceCurrContactM}{\SurfaceCurr^{c,m}} \newcommand{\VolumeEnvCurrSCoordVec}{\CurrCoordVec{\VolumeEnvCurrS}} \newcommand{\VolumeEnvCurrMCoordVec}{\CurrCoordVec{\VolumeEnvCurrM}} \newcommand{\VolumeEnvCurrGCoordVec}{\CurrCoordVec{\VolumeEnvCurrG}} \newcommand{\VolumeCurrGCoordVec}{\CurrCoordVec{\VolumeCurrG}} \newcommand{\SurfaceCurrContactSCoord}{\CurrCoord{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactSCoordVec}{\CurrCoordVec{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactMCoord}{\CurrCoord{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactMCoordVec}{\CurrCoordVec{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactGCoord}{\CurrCoord{\SurfaceCurrContactG}} \newcommand{\SurfaceCurrContactGCoordVec}{\CurrCoordVec{\SurfaceCurrContactG}} \newcommand{\SegmentOfVolumeEnvCurrS}{\Segment{\VolumeEnvCurrS}} \newcommand{\SegmentOfVolumeEnvCurrM}{\Segment{\VolumeEnvCurrM}} \newcommand{\SegmentOfSurfaceCurrContactS}{\Segment{\SurfaceCurrContactS}} \newcommand{\SegmentOfSurfaceCurrContactM}{\Segment{\SurfaceCurrContactM}} \newcommand{\VolumeEnvRefSMap}{\ManifoldMap{\ParamDomainEnvS}{\VolumeEnvRefS}} \newcommand{\VolumeEnvRefMMap}{\ManifoldMap{\ParamDomainEnvM}{\VolumeEnvRefM}} \newcommand{\VolumeEnvRefGMap}{\ManifoldMap{\ParamDomainEnvG}{\VolumeEnvRefG}} \newcommand{\VolumeEnvRefSMapInv}{\Inverse{\VolumeEnvRefSMap}} \newcommand{\VolumeEnvRefMMapInv}{\Inverse{\VolumeEnvRefMMap}} \newcommand{\VolumeEnvRefGMapInv}{\Inverse{\VolumeEnvRefGMap}} \newcommand{\VolumeRefClosureSMap}{\ManifoldMap{\ParamDomainClosureS}{\VolumeRefClosureS}} \newcommand{\VolumeRefClosureMMap}{\ManifoldMap{\ParamDomainClosureM}{\VolumeRefClosureM}} \newcommand{\VolumeRefClosureGMap}{\ManifoldMap{\ParamDomainClosureG}{\VolumeRefClosureG}} \newcommand{\VolumeRefSMap}{\ManifoldMap{\ParamDomainS}{\VolumeRefS}} \newcommand{\VolumeRefMMap}{\ManifoldMap{\ParamDomainM}{\VolumeRefM}} \newcommand{\VolumeRefGMap}{\ManifoldMap{\ParamDomainG}{\VolumeRefG}} \newcommand{\VolumeRefClosureGMapRestrictedToBoundary}{\ManifoldMap{\ParamDomainClosureG}{\VolumeRefClosureG}\Big|_{\ParamDomainBdryContactG}} \newcommand{\VolumeRefClosureMMapRestrictedToBoundary}{\ManifoldMap{\ParamDomainClosureM}{\VolumeRefClosureM}\Big|_{\ParamDomainBdryContactM}} \newcommand{\SurfaceRefContactSMap}{\ManifoldMap{\ParamDomainBdryContactS}{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactMMap}{\ManifoldMap{\ParamDomainBdryContactM}{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactGMap}{\ManifoldMap{\ParamDomainBdryContactG}{\SurfaceRefContactG}} \newcommand{\VolumeEnvRefGMapDef}{\ManifoldMapDef{\ParamDomainEnvG}{\VolumeEnvRefG}} \newcommand{\VolumeRefClosureGMapDef}{\ManifoldMapDef{\ParamDomainClosureG}{\VolumeRefClosureG}} \newcommand{\SurfaceRefContactSMapDef}{\ManifoldMapDef{\ParamDomainBdryContactS}{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactMMapDef}{\ManifoldMapDef{\ParamDomainBdryContactM}{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactGMapDef}{\ManifoldMapDef{\ParamDomainBdryContactG}{\SurfaceRefContactG}} \newcommand{\VolumeEnvCurrSMap}{\ManifoldMap{\ParamDomainEnvS}{\VolumeEnvCurrS}} \newcommand{\VolumeEnvCurrMMap}{\ManifoldMap{\ParamDomainEnvM}{\VolumeEnvCurrM}} \newcommand{\VolumeEnvCurrGMap}{\ManifoldMap{\ParamDomainEnvG}{\VolumeEnvCurrG}} \newcommand{\VolumeCurrClosureSMap}{\ManifoldMap{\ParamDomainClosureS}{\VolumeCurrClosureS}} \newcommand{\VolumeCurrClosureMMap}{\ManifoldMap{\ParamDomainClosureM}{\VolumeCurrClosureM}} \newcommand{\VolumeCurrClosureGMap}{\ManifoldMap{\ParamDomainClosureG}{\VolumeCurrClosureG}} \newcommand{\VolumeCurrSMap}{\ManifoldMap{\ParamDomainS}{\VolumeCurrS}} \newcommand{\VolumeCurrMMap}{\ManifoldMap{\ParamDomainM}{\VolumeCurrM}} \newcommand{\VolumeCurrGMap}{\ManifoldMap{\ParamDomainG}{\VolumeCurrG}} \newcommand{\VolumeCurrClosureGMapRestrictedToBoundary}{\ManifoldMap{\ParamDomainClosureG}{\VolumeCurrClosureG}\Big|_{\ParamDomainBdryContactG}} \newcommand{\SurfaceCurrContactSMap}{\ManifoldMap{\ParamDomainBdryContactS}{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactMMap}{\ManifoldMap{\ParamDomainBdryContactM}{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactGMap}{\ManifoldMap{\ParamDomainBdryContactG}{\SurfaceCurrContactG}} \newcommand{\VolumeEnvCurrGMapDef}{\ManifoldMapDef{\ParamDomainEnvG}{\VolumeEnvCurrG}} \newcommand{\VolumeCurrClosureGMapDef}{\ManifoldMapDef{\ParamDomainClosureG}{\VolumeCurrClosureG}} \newcommand{\SurfaceCurrContactSMapDef}{\ManifoldMapDef{\ParamDomainBdryContactS}{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactMMapDef}{\ManifoldMapDef{\ParamDomainBdryContactM}{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactGMapDef}{\ManifoldMapDef{\ParamDomainBdryContactG}{\SurfaceCurrContactG}} \newcommand{\VolumeEnvDeformSMap}{\ManifoldMap{\VolumeEnvRefS}{\VolumeEnvCurrS}} \newcommand{\VolumeEnvDeformMMap}{\ManifoldMap{\VolumeEnvRefM}{\VolumeEnvCurrM}} \newcommand{\VolumeEnvDeformGMap}{\ManifoldMap{\VolumeEnvRefG}{\VolumeEnvCurrG}} \newcommand{\VolumeDeformSMap}{\ManifoldMap{\VolumeRefClosureS}{\VolumeCurrClosureS}} \newcommand{\VolumeDeformMMap}{\ManifoldMap{\VolumeRefClosureM}{\VolumeCurrClosureM}} \newcommand{\VolumeDeformGMap}{\ManifoldMap{\VolumeRefClosureG}{\VolumeCurrClosureG}} \newcommand{\VolumeEnvDeformGMapDef}{\ManifoldMapDef{\VolumeEnvRefG}{\VolumeEnvCurrG}} \newcommand{\VolumeDeformGMapDef}{\ManifoldMapDef{\VolumeRefClosureG}{\VolumeCurrClosureG}} \newcommand{\DispTrialSpaceOverVolumeEnvRefS}{\SpaceHilbert{U}(\VolumeEnvRefS)} \newcommand{\DispTrialSpaceOverVolumeEnvRefM}{\SpaceHilbert{U}(\VolumeEnvRefM)} \newcommand{\DispTrialSpaceOverVolumeEnvRefSAndM}{\SpaceHilbert{U}(\VolumeEnvRefS, \VolumeEnvRefM)} \newcommand{\DispTrialSpaceOverVolumeEnvRefG}{\SpaceHilbert{U}(\VolumeEnvRefG)} \newcommand{\DispTrialSpaceOverVolumeRefS}{\SpaceHilbert{U}(\VolumeRefClosureS)} \newcommand{\DispTrialSpaceOverVolumeRefM}{\SpaceHilbert{U}(\VolumeRefClosureM)} \newcommand{\DispTrialSpaceOverVolumeRefSAndM}{\SpaceHilbert{U}(\VolumeRefClosureS, \VolumeRefClosureM)} \newcommand{\DispTrialSpaceOverVolumeRefG}{\SpaceHilbert{U}(\VolumeRefClosureG)} \newcommand{\DispTestSpaceOverVolumeEnvRefG}{\delta \DispTrialSpaceOverVolumeEnvRefG} \newcommand{\DispTestSpaceOverVolumeRefG}{\delta \DispTrialSpaceOverVolumeRefG} \newcommand{\DispFieldRefSComp}{\DispFieldRefComp^s} \newcommand{\DispFieldRefSTen}{\DispFieldRefTen^s} \newcommand{\DispFieldRefMComp}{\DispFieldRefComp^m} \newcommand{\DispFieldRefMTen}{\DispFieldRefTen^m} \newcommand{\DispFieldRefGTen}{\DispFieldRefTen^\alpha} \newcommand{\DispFieldDiscreteRefGTen}{\DispFieldRefTen^{h,\alpha}} \newcommand{\DispFieldOverVolumeEnvRefGTenDef}{\ManifoldMapDef{\VolumeEnvRefG}{\DispFieldRefGTen}} \newcommand{\DispFieldOverVolumeRefGTenDef}{\ManifoldMapDef{\VolumeRefClosureG}{\DispFieldRefGTen}} \newcommand{\GradVolumeRefG}[1]{\Grad{\RefCoordVec{\VolumeRefClosureG}}{#1}} \newcommand{\GradVolumeEnvRefS}[1]{\Grad{\VolumeEnvRefSCoordVec}{#1}} \newcommand{\GradVolumeEnvRefM}[1]{\Grad{\VolumeEnvRefMCoordVec}{#1}} \newcommand{\GradVolumeEnvRefG}[1]{\Grad{\VolumeEnvRefGCoordVec}{#1}} \newcommand{\DeformGradSComp}{\DeformGradComp^s} \newcommand{\DeformGradSTen}{\DeformGradTen^s} \newcommand{\DeformGradSDet}{\Det{\DeformGradSTen}} \newcommand{\DeformGradSInvTrans}{\InvTrans{\DeformGradSTen}} \newcommand{\DeformGradMComp}{\DeformGradComp^m} \newcommand{\DeformGradMTen}{\DeformGradTen^m} \newcommand{\DeformGradMDet}{\Det{\DeformGradMTen}} \newcommand{\DeformGradMInvTrans}{\InvTrans{\DeformGradMTen}} \newcommand{\DeformGradGTen}{\DeformGradTen^\alpha} \newcommand{\DeformGradOverVolumeEnvRefGTenDef}{\FuncDef{\DeformGradGTen}{\VolumeEnvRefG}{\VolumeEnvCurrG}} \newcommand{\DeformGradOverVolumeRefGTenDef}{\FuncDef{\DeformGradGTen}{\VolumeRefClosureG}{\VolumeCurrClosureG}} \newcommand{\UnitNormalRefSTen}{\UnitNormalRefTen^s} \newcommand{\UnitNormalRefMTen}{\UnitNormalRefTen^m} \newcommand{\UnitNormalCurrSComp}{\UnitNormalCurrComp^s} \newcommand{\UnitNormalCurrSTen}{\UnitNormalCurrTen^s} \newcommand{\UnitNormalCurrMComp}{\UnitNormalCurrComp^m} \newcommand{\UnitNormalCurrMTen}{\UnitNormalCurrTen^m} \newcommand{\AreaRatioS}{r^s} \newcommand{\AreaRatioM}{r^m} \newcommand{\ContraMTen}{\Mat{a}^m} \newcommand{\SymmProdInProjTan}{C} \newcommand{\ProdPBTanInvCurPBTanInv}{D} \newcommand{\ProdPBTanInvCurMetricInv}{M} \newcommand{\ProdPBTanInvCurMetricInvCurPBTanInv}{W} \newcommand{\PenaltyContactGap}{\SymbolPenalty_{\SymbolContactGap}} \newcommand{\BodyForceRefGTen}{\BodyForceRefTen^\alpha} \newcommand{\TracForceRefGTen}{\TracForceRefTen^\alpha} \newcommand{\BodyForceOverVolumeRefGDef}{\FuncDef{\BodyForceRefGTen}{\VolumeRefG}{\SpatialDomain}} \newcommand{\BodyForceOverVolumeEnvRefGDef}{\FuncDef{\BodyForceRefGTen}{\VolumeEnvRefG}{\SpatialDomain}} \newcommand{\TracForceOverSurfaceRefTracGTenDef}{\FuncDef{\TracForceRefGTen}{\SurfaceRefTracG}{\SpatialDomain}} \newcommand{\PressureContact}{\SymbolPressureContact} \newcommand{\PressureContactProjected}{\overline{\SymbolPressureContact}_{\UsplineBasisFuncId}} \newcommand{\CoeffPressureContact}{\SymbolPressureContact_{\UsplineBasisFuncId}} \newcommand{\PressureContactInterpolated}{\hat{\SymbolPressureContact}} \newcommand{\ConstraintRefGTen}{\ConstraintRefTen^\alpha} \newcommand{\GapContact}{\SymbolContactGap} \newcommand{\GapContactProjected}{\overline{\SymbolContactGap}_{\UsplineBasisFuncId}} \newcommand{\GapContactProjectedVariation}{\delta \GapContactProjected} \newcommand{\GapContactMortar}{\GapContact^{m}} \newcommand{\GapContactMortarProjected}{\overline{\GapContact}^{m}_{\UsplineBasisFuncId}} \newcommand{\CoeffGapContactMortar}{\GapContact^{m}_{\UsplineBasisFuncId}} \newcommand{\ConstraintOverSurfaceRefDispGTenDef}{\FuncDef{\ConstraintRefGTen}{\SurfaceRefDispG}{\SpatialDomain}} \newcommand{\EnergyEnvG}{\EnergyEnv^\alpha} \newcommand{\EnergyG}{\Energy^{\alpha}} \newcommand{\EnergyDensityStrainG}{\EnergyDensityStrain^\alpha} \newcommand{\EnergyConstraintG}{\Energy^{\SymbolDisp,\alpha}} \newcommand{\EnergyContact}{\Energy^c} \newcommand{\EnergyOverVolumeRefGDef}{\FuncDef{\EnergyG}{\DispTrialSpaceOverVolumeRefG}{\Reals}} \newcommand{\EnergyEnvOverVolumeEnvRefGDef}{\FuncDef{\EnergyEnvG}{\DispTrialSpaceOverVolumeEnvRefG}{\Reals}} \newcommand{\EnergyDensityStrainOverVolumeRefGDef}{\FuncDef{\EnergyDensityStrainG}{\VolumeRefG}{\Reals}} \newcommand{\EnergyDensityStrainOverVolumeEnvRefGDef}{\FuncDef{\EnergyDensityStrainG}{\VolumeEnvRefG}{\Reals}} \newcommand{\EnergyContactOverVolumeRefSAndMDef}{\FuncDef{\EnergyContact}{\DispTrialSpaceOverVolumeRefSAndM}{\Reals}} \newcommand{\EnergyContactOverVolumeEnvRefSAndMDef}{\FuncDef{\EnergyContact}{\DispTrialSpaceOverVolumeEnvRefSAndM}{\Reals}} \newcommand{\EnergyConstraintOverVolumeRefGDef}{\FuncDef{\EnergyConstraintG}{\DispTrialSpaceOverVolumeRefG}{\Reals}} \newcommand{\EnergyConstraintOverVolumeEnvRefGDef}{\FuncDef{\EnergyConstraintG}{\DispTrialSpaceOverVolumeEnvRefG}{\Reals}} \newcommand{\ResidualMat}{\Mat{N}} \newcommand{\ForceInternalContactVec}{\ForceVec^{c,int,n}} \newcommand{\ForceGapContact}{C^n} \newcommand{\StiffnessMatA}{\hat{\Mat{N}}} \newcommand{\StiffnessMatB}{\Mat{T}} \newcommand{\StiffnessMatC}{\Mat{D}} \newcommand{\StiffnessGeometricContact}{\StiffnessMat^{c,g,n}} \newcommand{\StiffnessContact}{\StiffnessMat^{c,n}} \newcommand{\ElemCount}[1]{\operatorname{count}{(#1)}} \newcommand{\ConvexHull}[1]{\operatorname{ch}{\left(#1\right)}} \newcommand{\Normal}[1]{\operatorname{N}{\left(#1\right)}} \newcommand{\NormalConvexHull}[1]{\Normal{\ConvexHull{#1}}} \newcommand{\DiscretePointSetS}{\Set{SP}} \newcommand{\DiscreteElemSetM}{\Set{ME}} \newcommand{\EnvBoundConMapM}{\operatorname{mc}} \newcommand{\EnvBoundConSetM}{\Set{MC}} \newcommand{\SpatialCoordVecToSegmentSetMapMSensor}{\operatorname{cs}} \newcommand{\SpatialCoordVecToSegmentSetMapMElem}{\operatorname{ce}} \newcommand{\SelfContactMap}{\operatorname{sc}} \newcommand{\ColSetS}{\Set{I}} \newcommand{\PairEnvMapBoundM}{\operatorname{cp}} \newcommand{\ApproximateProjectionCollision}[1]{\widetilde{\Projection}{#1}} \newcommand{\ImageSlaveEnv}{\bar{\ParamCoordVecSimple}^{\ParamDomainEnvM}} \newcommand{\ImageSlaveBound}{\bar{\ParamCoordVecSimple}^{\ParamDomainBdryContactM}} \newcommand{\ActiveSet}{\Set{A}} \newcommand{\DiscretePointSetM}{\Set{MP}} \newcommand{\MortarActiveSet}{\Set{A}^m} \newcommand{\PressureContactAnalytical}{p_a} \newcommand{\TipPressureContactAnalytical}{p_0} \newcommand{\ContactHalfWidth}{b}$$\newcommand{\MidGeometryModifier}[1]{\bar{#1}} \newcommand{\SymbolRotationGlobal}{\omega} \newcommand{\SkewMat}[1]{\Mat{s} \left( #1 \right)} \newcommand{\SkewMatInv}[1]{\Mat{s}^{-1} \left( #1 \right)} \newcommand{\Ident}{\Mat{I}} \newcommand{\Cartesian}{\Vec{e}} \newcommand{\ManifoldDim}{n} \newcommand{\LaminaSymbol}{l} \newcommand{\LaminaSymbolUpper}{L} \newcommand{\LaminaMetricSymbol}{j} \newcommand{\ShellMomentSymbol}{q} \newcommand{\DirectorBilinearFunc}[3]{\left(#2,#3\right)_{#1}} \newcommand{\RotObjectiveFunc}{s} \newcommand{\ParamConfig}{\Omega_\xi} \newcommand{\ParamConfigMid}{\Omega_\xi^m} \newcommand{\ParamConfigSec}{\Omega_\xi^s} \newcommand{\ParamConfigBound}{\Gamma_\xi} \newcommand{\ParamConfigMidBound}{\Gamma_\xi^m} \newcommand{\ParamConfigSecBound}{\Gamma_\xi^s} \newcommand{\ParamConfigMuBound}{\Gamma_\xi^\mu} \newcommand{\ParamConfigSigBound}{\Gamma_\xi^\sigma} \newcommand{\ParamConfigDirichMidBound}{\Gamma_\xi^g} \newcommand{\ParamConfigNeuMidBound}{\Gamma_\xi^h} \newcommand{\ParamConfigDirichBound}{\Gamma_\xi^\gamma} \newcommand{\ParamConfigNeuBound}{\Gamma_\xi^\eta} \newcommand{\ParaParam}[1]{\xi_{#1}} \newcommand{\ParaParamVec}{\boldsymbol{\xi}} \newcommand{\RefConfig}{\Omega_0} \newcommand{\RefConfigMid}{\Omega_0^m} \newcommand{\RefConfigSec}{\Omega_0^s} \newcommand{\SurfaceRefRot}{\SurfaceRef^{\SymbolRotationGlobal}} \newcommand{\RefConfigBound}{\Gamma_0} \newcommand{\RefConfigMidBound}{\Gamma_0^m} \newcommand{\RefConfigSecBound}{\Gamma_0^s} \newcommand{\RefConfigMuBound}{\Gamma_0^\mu} \newcommand{\RefConfigSigBound}{\Gamma_0^\sigma} \newcommand{\RefConfigDirichMidBound}{\Gamma_0^g} \newcommand{\RefConfigNeuMidBound}{\Gamma_0^h} \newcommand{\RefConfigDirichBound}{\Gamma_0^\gamma} \newcommand{\RefConfigNeuBound}{\Gamma_0^\eta} \newcommand{\RefMap}{\Vec{X}} \newcommand{\RefMid}{\MidGeometryModifier{\Vec{X}}} \newcommand{\RefDir}{\Vec{D}} \newcommand{\RefSectionPos}{\Vec{R}} \newcommand{\RefCovar}[1]{\Vec{G}_{#1}} \newcommand{\RefMidCovar}[1]{\MidGeometryModifier{\Vec{G}}_{#1}} \newcommand{\RefContra}[1]{\Vec{G}^{#1}} \newcommand{\RefMidContra}[1]{\MidGeometryModifier{\Vec{G}}^{#1}} \newcommand{\RefLamina}[1]{\Vec{L}_{#1}} \newcommand{\RefLaminaDual}[1]{\Vec{\LaminaSymbolUpper}^{#1}} \newcommand{\RefShellProjectedBasis}[1]{\Vec{P}_{#1}} \newcommand{\CurConfig}{\Omega} \newcommand{\CurConfigMid}{\Omega^m} \newcommand{\CurConfigSec}{\Omega^s} \newcommand{\CurConfigBound}{\Gamma} \newcommand{\CurConfigMidBound}{\Gamma^m} \newcommand{\CurConfigSecBound}{\Gamma^s} \newcommand{\CurConfigMuBound}{\Gamma^\mu} \newcommand{\CurConfigSigBound}{\Gamma^\sigma} \newcommand{\CurConfigDirichMidBound}{\Gamma^g} \newcommand{\CurConfigNeuMidBound}{\Gamma^h} \newcommand{\CurConfigDirichBound}{\Gamma^\gamma} \newcommand{\CurConfigNeuBound}{\Gamma^\eta} \newcommand{\CurMap}{\Vec{x}} \newcommand{\CurMid}{\MidGeometryModifier{\Vec{x}}} \newcommand{\CurDir}{\Vec{d}} \newcommand{\CurSectionPos}{\Vec{r}} \newcommand{\CurCovar}[1]{\Vec{g}_{#1}} \newcommand{\CurMidCovar}[1]{\MidGeometryModifier{\Vec{g}}_{#1}} \newcommand{\CurContra}[1]{\Vec{g}^{#1}} \newcommand{\CurMidContra}[1]{\MidGeometryModifier{\Vec{g}}^{#1}} \newcommand{\CurLamina}[1]{\Vec{\LaminaSymbol}_{#1}} \newcommand{\CurLaminaDual}[1]{\Vec{\LaminaSymbol}^{#1}} \newcommand{\CurModLamina}[1]{\hat{\Vec{\LaminaSymbol}}_{#1}} \newcommand{\CurModLaminaDual}[1]{\hat{\Vec{\LaminaSymbol}}^{#1}} \newcommand{\CurShellProjectedBasis}[1]{\Vec{p}_{#1}} \newcommand{\DeformMap}{\varphi} \newcommand{\DeformMapMid}{\varphi^m} \newcommand{\Disp}{\Vec{u}} \newcommand{\DispMid}{\MidGeometryModifier{\Vec{u}}} \newcommand{\RotVec}{\boldsymbol{\omega}} \newcommand{\RotMat}{\boldsymbol{\Lambda}} \newcommand{\RotMatMembrane}{\Mat{\Psi}} \newcommand{\RotMatDelta}{\boldsymbol{\Lambda}_\Delta} \newcommand{\IncRotMat}{\Delta\RotMat} \newcommand{\EulerVec}{\boldsymbol{\vartheta}} \newcommand{\EulerVecNorm}{\theta} \newcommand{\EulerVecSinc}{\boldsymbol{\Theta}} \newcommand{\EulerRotVec}{\boldsymbol{\theta}} \newcommand{\EulerRotAngle}{\theta} \newcommand{\IncEulerRotVec}{\Delta\boldsymbol{\theta}} \newcommand{\AngularVelocity}{\boldsymbol{\eta}} \newcommand{\IncEulerRotVecVel}{\Delta\dot{\boldsymbol{\theta}}} \newcommand{\AngularAcceleration}{\boldsymbol{\alpha}} \newcommand{\IncEulerRotVecAcc}{\Delta\ddot{\boldsymbol{\theta}}} \newcommand{\DeformGrad}{\Mat{F}} \newcommand{\Strain}[1]{\boldsymbol{\tau}_{#1}} \newcommand{\StrainMid}[1]{\boldsymbol{\varepsilon}_{#1}} \newcommand{\StrainCurve}[1]{\boldsymbol{\kappa}_{#1}} \newcommand{\DecompDeform}{\Mat{U}} \newcommand{\ExtraDeformTen}{\Delta\DeformGradTen} \newcommand{\ExtraDeformComp}{\Delta\DeformGradComp} \newcommand{\GreenLagrange}{\Mat{E}} \newcommand{\ShellStrainCurve}[1]{\boldsymbol{\chi}_{#1}} \newcommand{\SecPK}{\Mat{S}} \newcommand{\FirstPK}{\Mat{P}} \newcommand{\Cauchy}{\boldsymbol{\sigma}} \newcommand{\IntTrac}[1]{\Vec{t}_{#1}} \newcommand{\RefModuli}{\Mat{C}} \newcommand{\CurModuli}{\Mat{c}} \newcommand{\PointModuli}{\Mat{m}} \newcommand{\ResModuli}{\Mat{M}} \newcommand{\RefAreaVec}[1]{\Vec{A}_{#1}} \newcommand{\RefAreaMidVec}[1]{\MidGeometryModifier{\Vec{A}}_{#1}} \newcommand{\RefMeas}{G} \newcommand{\UnitNormalRefVec}[1]{\Vec{N}_{#1}} \newcommand{\CurAreaVec}[1]{\Vec{a}_{#1}} \newcommand{\CurAreaMidVec}[1]{\MidGeometryModifier{\Vec{a}}_{#1}} \newcommand{\CurMeas}{g} \newcommand{\UnitNormalCurrVec}[1]{\Vec{n}_{#1}} \newcommand{\CurLaminaMetricTen}{\Mat{\LaminaMetricSymbol}} \newcommand{\CurLaminaMetricComp}{\LaminaMetricSymbol} \newcommand{\CurToModLaminaTransComp}{M} \newcommand{\IntForce}{\Vec{f}^{\, int}} \newcommand{\IntMoment}{\Vec{m}^{int}} \newcommand{\ExtForceBody}{\Vec{f}^{\, ext}_b} \newcommand{\ExtMomentBody}{\Vec{m}^{ext}_b} \newcommand{\ShellExtMomentBody}{\Vec{\ShellMomentSymbol}^{ext}_b} \newcommand{\ExtForceTrac}{\Vec{f}^{\, ext}_h} \newcommand{\ExtMomentTrac}{\Vec{m}^{ext}_h} \newcommand{\ShellExtMomentTrac}{\Vec{\ShellMomentSymbol}^{ext}_h} \newcommand{\MassForce}{\Vec{f}^{\,\rho}} \newcommand{\MassMoment}{\Vec{m}^{\rho}} \newcommand{\ShellMassMoment}{\Vec{\ShellMomentSymbol}^{\rho}} \newcommand{\ResidualInternal}{\Vec{R}^{int}} \newcommand{\ResidualExternal}{\Vec{R}^{ext}} \newcommand{\ResidualMass}{\Mat{R}^{\rho}} \newcommand{\NodalMass}[1]{\Mat{M}_{#1}} \newcommand{\NodalLinearInertia}[1]{A_{#1}} \newcommand{\NodalAngularInertia}[1]{I_{#1}} \newcommand{\ShellDeltaAngle}{\phi} \newcommand{\BStrainMatrix}[2]{\Mat{B}_{#1#2}} \newcommand{\ShellDrillingStiffness}{k} \newcommand{\DrillConstraint}{C} \newcommand{\IntForceDrilling}{\Vec{f}^{d}} \newcommand{\ModuliDrilling}{\Mat{M}^d} \newcommand{\ResidualDrilling}{\Vec{R}^d} \newcommand{\SymbolTop}{top} \newcommand{\SymbolCentroid}{c} \newcommand{\SymbolLeverArm}{r} \newcommand{\SpatialCoordVecCentroid}{\SpatialCoordVec^{\SymbolCentroid}} \newcommand{\SpatialCoordCentroidX}{\SpatialCoordX^{\SymbolCentroid}} \newcommand{\SpatialCoordCentroidY}{\SpatialCoordY^{\SymbolCentroid}} \newcommand{\SpatialCoordCentroidZ}{\SpatialCoordZ^{\SymbolCentroid}} \newcommand{\LeverArm}{\Vec{\SymbolLeverArm}} \newcommand{\LeverArmX}{\SymbolLeverArm_{\SpatialCoordX}} \newcommand{\LeverArmY}{\SymbolLeverArm_{\SpatialCoordY}} \newcommand{\LeverArmZ}{\SymbolLeverArm_{\SpatialCoordZ}} \newcommand{\MomentFirstMass}{Q} \newcommand{\MomentSecondMass}{I} \newcommand{\MomentSecondMassDetailed}[1]{I_{#1}} \newcommand{\DistributedLoad}{q} \newcommand{\TracForceCurrCompX}{\TracForceCurrComp_{\SpatialCoordX}} \newcommand{\TracForceCurrCompY}{\TracForceCurrComp_{\SpatialCoordY}} \newcommand{\TracForceCurrCompZ}{\TracForceCurrComp_{\SpatialCoordZ}} \newcommand{\TracMomentCurrCompDetailed}[1]{\TracMomentCurrComp_{#1}} \newcommand{\TracForceCurrCompSupportReaction}{r^{\TracForceCurrComp}} \newcommand{\TracForceCurrCompSupportReactionDetailed}[1]{\TracForceCurrCompSupportReaction_{#1}} \newcommand{\TracForceCurrCompDistributedLoad}{\DistributedLoad^{\TracForceCurrComp}} \newcommand{\TracForceCurrCompPointLoad}{p^{\TracForceCurrComp}} \newcommand{\TracMomentCurrVec}{\Vec{\TracMomentCurrComp}} \newcommand{\TracMomentCurrComp}{m} \newcommand{\BodyForceCurrCompX}{\BodyForceCurrComp_{\SpatialCoordX}} \newcommand{\BodyForceCurrCompY}{\BodyForceCurrComp_{\SpatialCoordY}} \newcommand{\BodyForceCurrCompZ}{\BodyForceCurrComp_{\SpatialCoordZ}} \newcommand{\BodyForceCurrCompDistributedLoad}{\DistributedLoad^{\BodyForceCurrComp}} \newcommand{\BodyForceCurrCompAxialLoad}{f^{\BodyForceCurrComp}} \newcommand{\StressCauchyTractionVec}{\Vec{t}} \newcommand{\StressCauchyTractionX}{t_{\SpatialCoordX}} \newcommand{\StressCauchyTractionY}{t_{\SpatialCoordY}} \newcommand{\StressCauchyTractionZ}{t_{\SpatialCoordZ}} \newcommand{\StressCauchyNormal}{\sigma} \newcommand{\StressCauchyNormalDetailed}[1]{\StressCauchyNormal_{#1}} \newcommand{\StressCauchyNormalXX}{\StressCauchyComp_{\SpatialCoordX\SpatialCoordX}} \newcommand{\StressCauchyNormalYY}{\StressCauchyComp_{\SpatialCoordY\SpatialCoordY}} \newcommand{\StressCauchyNormalZZ}{\StressCauchyComp_{\SpatialCoordZ\SpatialCoordZ}} \newcommand{\StressCauchyShear}{\tau} \newcommand{\StressCauchyShearDetailed}[1]{\StressCauchyShear_{#1}} \newcommand{\StressCauchyShearXY}{\StressCauchyShear_{\SpatialCoordX\SpatialCoordY}} \newcommand{\StressCauchyShearYX}{\StressCauchyShear_{\SpatialCoordY\SpatialCoordX}} \newcommand{\StressCauchyShearXZ}{\StressCauchyShear_{\SpatialCoordX\SpatialCoordZ}} \newcommand{\StressCauchyShearZX}{\StressCauchyShear_{\SpatialCoordZ\SpatialCoordX}} \newcommand{\StressCauchyShearYZ}{\StressCauchyShear_{\SpatialCoordY\SpatialCoordZ}} \newcommand{\StressCauchyShearZY}{\StressCauchyShear_{\SpatialCoordZ\SpatialCoordY}} \newcommand{\StressCauchyResultantForce}{F} \newcommand{\StressCauchyResultantForceDetailed}[1]{F_{#1}} \newcommand{\StressCauchyResultantForceVec}{\Vec{\StressCauchyResultantForce}} \newcommand{\StressCauchyResultantMoment}{M} \newcommand{\StressCauchyResultantMomentDetailed}[1]{M_{#1}} \newcommand{\StressCauchyResultantMomentVec}{\Vec{\StressCauchyResultantMoment}} \newcommand{\StressCauchyResultantForceShear}{V} \newcommand{\StressCauchyResultantForceShearDetailed}[1]{V_{#1}} \newcommand{\StressCauchyResultantForceAxial}{\StressCauchyResultantForce} \newcommand{\DispFieldCurrCompX}{\DispFieldCurrComp_{\SpatialCoordX}} \newcommand{\DispFieldCurrCompY}{\DispFieldCurrComp_{\SpatialCoordY}} \newcommand{\DispFieldCurrCompZ}{\DispFieldCurrComp_{\SpatialCoordZ}} \newcommand{\DispFieldMidCurrCompX}{\overline{\DispFieldCurrComp}_{\SpatialCoordX}} \newcommand{\DispFieldMidCurrCompY}{\overline{\DispFieldCurrComp}_{\SpatialCoordY}} \newcommand{\StrainSymGradCompXX}{\StrainSymGradComp_{\SpatialCoordX\SpatialCoordX}} \newcommand{\StrainSymGradCompYY}{\StrainSymGradComp_{\SpatialCoordY\SpatialCoordY}} \newcommand{\StrainSymGradCompZZ}{\StrainSymGradComp_{\SpatialCoordZ\SpatialCoordZ}} \newcommand{\StrainShearComp}{\gamma} \newcommand{\StrainShearCompXY}{\StrainShearComp_{\SpatialCoordX\SpatialCoordY}} \newcommand{\StrainShearCompXZ}{\StrainShearComp_{\SpatialCoordX\SpatialCoordZ}} \newcommand{\StrainShearCompYZ}{\StrainShearComp_{\SpatialCoordY\SpatialCoordZ}} \newcommand{\EquationBeamShearStress}{\frac{\StressCauchyResultantForceShear \MomentFirstMass}{\MomentSecondMassDetailed{\SpatialCoordZ}\Width}} \newcommand{\EquationVecInCoords}{\Vec{v} = v_{\SpatialCoordX} \BasisVecI + v_{\SpatialCoordY} \BasisVecJ + v_{\SpatialCoordZ} \BasisVecK} \newcommand{\EquationMatVecMultiply}{\Mat{M}\Vec{v} = \begin{bmatrix} \DotProduct{\Vec{m}_1}{\Vec{v}} \\ \DotProduct{\Vec{m}_2}{\Vec{v}} \\ \DotProduct{\Vec{m}_3}{\Vec{v}} \end{bmatrix}} \newcommand{\EquationMatMatMultiply}{\Mat{M}\Mat{N} = \begin{bmatrix} \DotProduct{\Vec{m}_1}{\Mat{n}_1} & \DotProduct{\Vec{m}_1}{\Mat{n}_2} & \DotProduct{\Vec{m}_1}{\Mat{n}_3} \\ \DotProduct{\Vec{m}_2}{\Mat{n}_1} & \DotProduct{\Vec{m}_2}{\Mat{n}_2} & \DotProduct{\Vec{m}_2}{\Mat{n}_3} \\ \DotProduct{\Vec{m}_3}{\Mat{n}_1} & \DotProduct{\Vec{m}_3}{\Mat{n}_2} & \DotProduct{\Vec{m}_3}{\Mat{n}_3} \end{bmatrix}} \newcommand{\Force}{F} \newcommand{\ShearFlow}{f}$$\newcommand{\BaseSymbol}{b} \newcommand{\EmbeddedSymbol}{e} \newcommand{\RefinedSymbol}{r} \newcommand{\HierarchicalSymbol}{\textsf{H}} \newcommand{\BlockSymbol}{\textsf{B}} \newcommand{\BaseModifier}[1]{{#1}_{\BaseSymbol}} \newcommand{\EmbeddedModifier}[1]{{#1}_{\EmbeddedSymbol}} \newcommand{\RefinedModifier}[1]{{#1}_{\RefinedSymbol}} \newcommand{\HierarchicalModifier}[1]{{#1}_{\HierarchicalSymbol}} \newcommand{\BlockModifier}[1]{{#1}_{\BlockSymbol}} \newcommand{\RefinementLevelI}{i} \newcommand{\RefinementLevelJ}{j} \newcommand{\RefinementLevelK}{k} \newcommand{\HighestRefinementLevel}{N} \newcommand{\BaseParentDomain}{\BaseModifier{\ParentDomain}} \newcommand{\RefinedDomain}[1]{\ParamDomain_{#1}} \newcommand{\BaseMesh}{\BaseModifier{\MeshTopo}} \newcommand{\BaseBezierMesh}{\BaseModifier{\MeshBezier}} \newcommand{\EmbeddedMesh}{\EmbeddedModifier{\MeshTopo}} \newcommand{\RefinedMesh}{\RefinedModifier{\MeshTopo}} \newcommand{\RefinedBezierMesh}{\RefinedModifier{\MeshBezier}} \newcommand{\HierarchicalBezierMesh}{\HierarchicalModifier{\MeshBezier}} \newcommand{\HierarchicalUsplineMesh}{\HierarchicalModifier{\MeshUspline}} \newcommand{\RefinementLevelMesh}[1]{\MeshBezier_{#1}} \newcommand{\LeafElemSet}[1]{\Set{L}_{#1}} \newcommand{\ActiveElemSet}[1]{\Set{A}_{#1}} \newcommand{\ActiveBasisFuncs}[1]{\Set{UFA}_{#1}} \newcommand{\UnderRefinedBasisFuncs}[1]{\Set{UFU}_{#1}} \newcommand{\HierarchicalBasisFuncs}{\Set{UFH}} \newcommand{\TruncatedBasisFuncs}{\Set{UFT}} \newcommand{\FuncsTruncatedToLevel}[1]{\Set{TK}_{#1}} \newcommand{\FuncsTouchingActiveFuncs}[1]{\Set{T}_{#1}} \newcommand{\FuncsSubsetOfCoarserFuncs}[1]{\Set{S}_{#1}} \newcommand{\RefinementLevelBasis}[1]{\UsplineBasisFuncSetFunctionOf{\RefinementLevelMesh{#1}}} \newcommand{\RefinementLevelSpace}[1]{\QuantityRelatedTo{\UsplineSpace}{\RefinementLevelMesh{#1}}} \newcommand{\BaseAssociated}{\operatorname{\textsf{base}}} \newcommand{\BaseAssociatedFunctionOf}[1]{\QFO{\BaseAssociated}{#1}} \newcommand{\TruncationOp}[2]{\QFO{\operatorname{\textsf{trunc}}_{#1}}{#2}} \newcommand{\EmbeddedToBaseChart}{\EmbeddedModifier{\ParentDomainChart}} \newcommand{\InvEmbeddedToBaseChart}{(\EmbeddedToBaseChart)^{-1}} \newcommand{\RefinementCoefficients}{c^A_B} \newcommand{\RefinementMat}{\Mat{D}} \newcommand{\NthLevelProlongationMat}[1]{\QSB{\ProlongationMat}{#1}} \newcommand{\NthLevelActiveMat}[1]{\QSB{\Mat{A}}{#1}} \newcommand{\NthLevelRefinementMat}[1]{\QSB{\RefinementMat}{#1}} \newcommand{\NthLevelTruncationMat}[1]{\QSB{\Mat{T}}{#1}} \newcommand{\NthLevelBasisMat}[1]{\QSB{\Mat{S}}{#1}} \newcommand{\NthLevelMassMat}[1]{\QSB{\MassMat}{#1}} \newcommand{\FuncIndex}{\operatorname*{\mathsf{ID}}} \newcommand{\MultiLevelRefinementMat}[2]{\QSB{\RefinementMat}{#1 #2}} \newcommand{\BlockRefinementMat}{\BlockModifier{\RefinementMat}} \newcommand{\BlockMassMat}{\BlockModifier{\MassMat}}$

The hex meshing problem presents a number of additional challenges to the user that tetrahedral meshing does not. Where a good quality tetrahedral mesh can generally be created once small features and imprint/merge problems have been addressed, the hexahedral meshing problem poses additional topology constraints which must be met.

Although progress has been made in automating the hex meshing process, the most robust meshing algorithms still rely on geometric primitives. Mapping [Cook, 82] and sub-mapping [Whiteley, 96] algorithms rely on parametric cubes and sweeping[Knupp, 98; Scott, 05] relies on extrusions. Most real world geometries do not automatically fit into one of these categories so the topology must be changed to match the criteria for one of these meshing schemes. ITEM addresses the hex meshing topology problem through four primary diagnostic and solution mechanisms.

##### 9.6.3.1Blend Surfaces

$\newcommand{\QuantityFunctionOf}[2]{{#1}(#2)} \newcommand{\QFO}[2]{\QuantityFunctionOf{#1}{#2}} \newcommand{\QuantityFunctionOfNoArg}[1]{{#1}} \newcommand{\QFONA}[1]{\QuantityFunctionOfNoArg{#1}} \newcommand{\SubscriptedQuantityFunctionOf}[3]{{#1}_{#2}(#3)} \newcommand{\SQFO}[3]{\SubscriptedQuantityFunctionOf{#1}{#2}{#3}} \newcommand{\QuantityChildOf}[2]{{#2}^{#1}} \newcommand{\QCO}[2]{\QuantityChildOf{#1}{#2}} \newcommand{\QuantityRelatedTo}[2]{{#1}[#2]} \newcommand{\QRT}[2]{\QuantityRelatedTo{#1}{#2}} \newcommand{\QuantitySubscriptedBy}[2]{{#1}_{#2}} \newcommand{\QSB}[2]{\QuantitySubscriptedBy{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOfChildOf}[4]{{#1}_{#2}^{#3}(#4)} \newcommand{\SQFOCO}[4]{\SubscriptedQuantityFunctionOfChildOf{#1}{#2}{#3}{#4}} \newcommand{\SubscriptedQuantityChildOf}[3]{{#1}_{#2}^{#3}} \newcommand{\SQCO}[3]{\SubscriptedQuantityChildOf{#1}{#2}{#3}} \newcommand{\overbar}[1]{\mkern 1.5mu\overline{\mkern-1.5mu#1\mkern-1.5mu}\mkern 1.5mu} \newcommand{\bcdot}{\boldsymbol{\cdot}} \newcommand{\SuchThat}{\, : \,} \newcommand{\SuchThatText}{\text{s.t.}} \newcommand{\DefEq}{\overset{\operatorname{def}}{=}} \newcommand{\True}{\textsf{True}} \newcommand{\False}{\textsf{False}} \newcommand{\ArrayRoster}[1]{\left[#1\right]} \newcommand{\ArrayRosterI}[2]{[#1]_{#2}} \newcommand{\ArrayEmpty}{\ArrayRoster{\hspace{1mm}}} \newcommand{\Tuple}[1]{\mathsf{#1}} \newcommand{\TupleRoster}[1]{\left(#1\right)} \newcommand{\PointPair}[2]{\TupleRoster{#1, #2}} \newcommand{\Set}[1]{\mathsf{#1}} \newcommand{\SetRoster}[1]{\left\{ #1 \right\}} \newcommand{\SetRosterIndexed}[3]{\SetRoster{#1}_{#2}^{#3}} \newcommand{\SetRosterPredicate}[2]{\SetRoster{#1 \SuchThat #2}} \newcommand{\SetEmpty}{\varnothing} \newcommand{\SetPower}[1]{\QuantityFunctionOf{\boldsymbol{\Set{P}}}{#1}} \newcommand{\SetNeighborhood}[1]{\QuantityFunctionOf{\boldsymbol{\Set{B}}}{#1}} \newcommand{\Domain}{\Omega} \newcommand{\DomainBdry}{\Gamma} \newcommand{\IntervalClosed}[2]{\left[#1, #2\right]} \newcommand{\IntervalOpen}[2]{\left(#1, #2\right)} \newcommand{\IntervalClosedOpen}[2]{\left[#1, #2\right)} \newcommand{\IntervalOpenClosed}[2]{\left(#1, #2\right]} \newcommand{\Reals}{\mathbb{R}} \newcommand{\Naturals}{\mathbb{N}} \newcommand{\Integers}{\mathbb{Z}} \newcommand{\Field}{\mathbb{F}} \newcommand{\Size}[1]{\left\lvert #1 \right\rvert} \newcommand{\Union}[3]{\bigcup\limits_{#1}^{#2} #3} \newcommand{\UnionInline}[3]{\bigcup_{#1}^{#2} #3} \newcommand{\Intersect}[3]{\bigcap\limits_{#1}^{#2} #3} \newcommand{\ElementWiseGreaterOrEqual}{\succeq} \newcommand{\ElemntWiseGreater}{\succ} \newcommand{\ElementWiseLessOrEqual}{\preceq} \newcommand{\ElementWiseLess}{\prec} \newcommand{\SpaceLinear}[1]{\mathnormal{#1}} \newcommand{\SpaceDual}[1]{\SpaceLinear{#1}^*} \newcommand{\AbsoluteValue}[1]{\Size{#1}} \newcommand{\Norm}[2]{\left\lVert #2 \right\rVert_{#1}} \newcommand{\NormAbstract}[1]{\Norm{}{#1}} \newcommand{\NormSemi}[1]{\Size{#1}} \newcommand{\SpaceLinearNormed}[1]{\left(\SpaceLinear{#1}, \NormAbstract{\bcdot} \right)} \newcommand{\SpaceBanach}[1]{\mathfrak{#1}} % normed and complete \newcommand{\SymmetricBilinear}[2]{\left(#1, #2\right)} \newcommand{\InnerProduct}[2]{\left\langle#1, #2\right\rangle} \newcommand{\DotProduct}[2]{\left(#1 \bcdot #2\right)} \newcommand{\SpaceInnerProduct}[1]{\left(\SpaceLinear{#1}, \InnerProduct{\bcdot}{\bcdot}\right)} \newcommand{\SpaceHilbert}[1]{\mathcal{#1}} \newcommand{\SpaceLTwo}{\SpaceHilbert{L}_2} \newcommand{\SpaceLTwoDef}[2]{\SpaceLTwo\left(#1; #2\right)} \newcommand{\SpaceLInfty}{\SpaceHilbert{L}_\infty} \newcommand{\SpaceLTwoWeighted}{\SpaceLTwo^w} \newcommand{\SpaceSobolevK}[1]{\SpaceHilbert{H}^{#1}} \newcommand{\SpaceSobolevKDef}[3]{\SpaceSobolevK{#1}\left(#2 ; #3\right)} \newcommand{\Cont}{\operatorname{cont}} \newcommand{\SpaceCont}{\SpaceHilbert{C}} \newcommand{\SpaceContDef}[2]{\SpaceCont\left(#1 ; #2\right)} \newcommand{\SpaceContK}[1]{\SpaceCont^{#1}} \newcommand{\SpaceContKDef}[3]{\SpaceContK{#1}\left(#2; #3\right)} \newcommand{\SpaceContZero}{\SpaceContK{0}} \newcommand{\SpaceContInf}{\SpaceContK{\infty}} \newcommand{\SpaceContInfDef}[2]{\SpaceContKDef{\infty}{#1}{#2}} \newcommand{\SpaceContKBounded}[2]{\SpaceContK{#1}_{#2}} \newcommand{\SpaceContKBoundedDef}[3]{\SpaceCont_{b}^{#1}\left(#2 ; #3\right)} \newcommand{\SpaceLinearOperator}[1]{\mathscr{#1}} \newcommand{\SpaceLinearOperatorDef}[2]{\SpaceLinearOperator{L}\left(#1 ; #2\right)} \newcommand{\SpaceLinearOperatorBoundedDef}[2]{\SpaceLinearOperator{B}\left(#1 ; #2\right)} \newcommand{\SpaceLinearN}[1]{\SpaceLinear{#1}^h} \newcommand{\SpaceHilbertN}[1]{\SpaceHilbert{#1}^h} \newcommand{\SpaceVecRealN}[1]{\Reals^{#1}} \newcommand{\SpacePoly}[1]{\SpaceHilbert{P}^{#1}} \newcommand{\SpaceMatrixRealMN}[2]{\Reals^{#1\times#2}} \newcommand{\SpacePolyDef}[3]{\SpacePoly{#1}\left(#2 ; #3\right)} \newcommand{\Func}[1][f]{#1} \newcommand{\FuncAlt}[1][g]{#1} \newcommand{\FuncDef}[3]{#1 \SuchThat #2 \rightarrow #3} \newcommand{\FuncApprox}[1]{#1^h} \newcommand{\LinearOperator}[1]{\SpaceLinearOperator{#1}} \newcommand{\LinearOperatorDef}[3]{\FuncDef{\LinearOperator{#1}}{#2}{#3}} \newcommand{\Functional}[1]{\LinearOperator{#1}} \newcommand{\Projection}{\Pi} \newcommand{\VectorProjection}[2]{\Projection_{#1} {\left(#2\right)}} \newcommand{\Mat}[1]{\boldsymbol{#1}} \newcommand{\MatIJ}[3]{\left[#1\right]_{#2#3}} \newcommand{\MatIdRow}{m} \newcommand{\MatIdCol}{n} \newcommand{\NonZeroIndices}{\operatorname{\mathsf{nzi}}} \newcommand{\ColumnSelector}{\operatorname{\mathrm{col}}} \newcommand{\RowSelector}{\operatorname{\mathrm{row}}} \newcommand{\ColOf}[1]{\ColumnSelector_{#1}} \newcommand{\RowOf}[1]{\RowSelector_{#1}} \newcommand{\DiagonalMatrix}[1]{\QFO{\operatorname*{diag}}{#1}} \newcommand{\Rotation}{\Mat{R}} \newcommand{\Identity}{\Mat{I}} \newcommand{\KroneckerDeltaComp}{\delta} \newcommand{\KroneckerDelta}{\Mat{\delta}} \newcommand{\LeviCivita}{\Mat{\epsilon}} \newcommand{\Jacobian}{\Mat{J}} \renewcommand{\Vec}[1]{\boldsymbol{#1}} \newcommand{\VecChildOf}[2]{\QCO{#2}{#1}} \newcommand{\VecI}[2]{\{#1\}_{#2}} \newcommand{\ZeroVec}{\Vec{0}} \newcommand{\OneVec}{\Vec{1}} \newcommand{\ZeroMat}{\Mat{0}} \newcommand{\UnitNormalComp}{n} \newcommand{\UnitNormal}{\Vec{\UnitNormalComp}} \newcommand{\MacBracket}[1]{\langle#1\rangle} \newcommand{\IdentityTenSym}{\mathbb{I}} \newcommand{\BraKet}[1]{\langle#1\rangle} \newcommand{\FuncObjective}[1]{\QFO{\Func}{#1}} \newcommand{\FuncEqualityConstraints}[1]{\QFO{\Func[\Vec{g}]}{#1}} \newcommand{\VarDesign}{\Vec{\phi}} \newcommand{\VarState}[1]{\QFO{\Vec{u}}{#1}} \newcommand{\FuncLagrangian}[1]{\QFO{\mathscr{L}}{#1}} \newcommand{\FuncAugmentedLagrangian}[1]{\QFO{\mathscr{L}_A}{#1}} \newcommand{\VecLambdaLM}[1]{\QFO{\Vec{\lambda}}{#1}} \newcommand{\LambdaLM}[1]{\QFO{\lambda}{#1}} \newcommand{\SolutionLocalOpt}[1]{\left(#1\right)^*} \newcommand{\ProximalPoint}{\overbar{\VecLambdaLM{}}} \newcommand{\PenaltyParameter}{\rho} \newcommand{\Slacify}[1]{\QSB{#1}{s}} \newcommand{\Prod}[2]{\prod\limits_{#1}^{#2}} \newcommand{\ProdInline}[2]{\prod_{#1}^{#2}} \newcommand{\TensorProduct}{\otimes} \newcommand{\Sum}[2]{\sum\limits_{#1}^{#2}} \newcommand{\SumInline}[2]{\sum_{#1}^{#2}} \newcommand{\Rank}[1]{\operatorname{rank}(#1)} \newcommand{\Nullity}[1]{\operatorname{null}(#1)} \newcommand{\Image}{\operatorname{image}} \newcommand{\Range}{\operatorname{range}} \newcommand{\Inverse}[1]{\left(#1\right)^{-1}} \newcommand{\inverse}[1]{\overline{#1}} \newcommand{\Transpose}[1]{\left(#1\right)^{T}} \newcommand{\TransposeSimple}[1]{#1^{T}} \newcommand{\InvTrans}[1]{\left(#1\right)^{-T}} \newcommand{\Complement}[1]{\overbar{#1}} \newcommand{\Adjoint}[1]{\left(#1\right)^*} \newcommand{\OrthogonalComplement}[1]{\left(#1\right)^\perp} \newcommand{\Det}[1]{\QFO{\operatorname{det}}{#1}} \newcommand{\DCT}{\operatorname{DCT}} \newcommand{\IDCT}{\operatorname{IDCT}} \newcommand{\RealPart}[1]{\QFO{\mathfrak{R}}{#1}} \newcommand{\Trace}[1]{\QFO{\operatorname{tr}}{#1}} \newcommand{\Dev}[1]{\QFO{\operatorname{dev}}{#1}} \newcommand{\DevDef}[1]{\Dev{#1} \DefEq #1 - \frac{1}{3}\Trace{#1}\Identity} \newcommand{\dual}[1]{{\bar{#1}}} \newcommand{\symind}[1]{\textsc{#1}} \newcommand{\symmetrizer}{{S}} \newcommand{\BasisFuncCoeff}[2]{\QSB{#1}{#2}} \newcommand{\BasisVec}[2]{\QSB{#1}{#2}} \newcommand{\BasisVecChildOf}[3]{\SQFOCO{#1}{#2}{#3}{a}} \newcommand{\OrthogonalBasisVec}[2]{\SQFOCO{#1}{#2}{\perp}{a}} \newcommand{\OrthonormalBasisVec}[2]{\SQFOCO{\overbar{#1}}{#2}{\perp}{a}} \newcommand{\PolynomialDegree}{p} \newcommand{\BasisFuncId}{i} \newcommand{\BasisFuncIdAlt}{j} \newcommand{\BasisFuncIdAltAlt}{k} \newcommand{\BasisFunc}[3]{\SQFO{#1}{#2}{#3}} \newcommand{\PowerBasisFunc}[2]{\QCO{#2}{#1}} \newcommand{\LagrangeBasisFunc}[3]{\SQFOCO{\Func[L]}{#1}{#2}{#3}} \newcommand{\LagrangeBasisFuncNoArg}[2]{\SQCO{\Func[L]}{#1}{#2}} \newcommand{\LegendreBasisFunc}[3]{\SQFOCO{\Func[P]}{#1}{#2}{#3}} \newcommand{\LegendreBasisFuncNoArg}[2]{\SQCO{\Func[P]}{#1}{#2}} \newcommand{\PreNormalizedLegendreBasisFunc}[3]{\hat{\LegendreBasisFunc{#1}{#2}{#3}}} \newcommand{\ChebyshevBasisFunc}[2]{\SQFO{\Func[T]}{#1}{#2}} \newcommand{\ChebyshevBasisFuncNoArg}[1]{\SQCO{\Func[T]}{#1}{}} \newcommand{\BasisVecI}{\Vec{i}} \newcommand{\BasisVecJ}{\Vec{j}} \newcommand{\BasisVecK}{\Vec{k}} \newcommand{\Span}{\operatorname{span}} \newcommand{\Dim}[1]{\operatorname{dim}\left({#1}\right)} \newcommand{\Support}[1]{\operatorname{supp}(#1)} \newcommand{\SupportPos}[1]{\operatorname{supp}_{+}(#1)} \newcommand{\SumBasis}[4]{\Sum{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\SumInlineBasis}[4]{\SumInline{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\BasisTransMatrix}[2]{\Mat{R}_{{#1}\rightarrow{#2}}} \newcommand{\ChebyshevZeros}[1]{\QSB{z}{#1}} \newcommand{\ChebyshevExtremizers}[1]{\QSB{t}{#1}} \newcommand{\BernToChebMat}{\Mat{T}} \newcommand{\Chebfun}[3]{\biggl(\, \sum_{#2=0}^{#1}{#3}_{#2}\ChebyshevBasisFuncNoArg{#2}\biggr)} \newcommand{\ChebfunVector}[1]{\left[#1\right]_c} \newcommand{\PowerBasisMat}[1]{\QCO{#1}{\Mat{M}}} \newcommand{\LagrangeBasisMat}[1]{\QCO{#1}{\Mat{L}}} \newcommand{\LegendreBasisMat}[1]{\QCO{#1}{\Mat{P}}} \newcommand{\BernsteinBasisMat}[1]{\QCO{#1}{\Mat{B}}} \newcommand{\ChebyshevBasisMat}[1]{\QCO{#1}{\Mat{T}}} \newcommand{\EvaluateTwoLimits}[3]{#1\biggr\rvert_{#2}^{#3}} \newcommand{\EvaluateOneLimit}[2]{\left.#1\right\rvert_{#2}} \newcommand{\Limit}[2]{\lim\limits_{#1\rightarrow #2}} \newcommand{\LimitInline}[2]{\lim_{#1\rightarrow #2}} \newcommand{\DNE}{\operatorname{DNE}} \newcommand{\TotalDeriv}{D} \newcommand{\LagrangeDeriv}[1]{{#1}'} \newcommand{\KthLagrangeDeriv}[2]{{#1}^{(#2)}} \newcommand{\LeibnizSubDeriv}[2]{{#1}_{,#2}} \newcommand{\LeibnizFracDeriv}[2]{\frac{d}{d#2} #1} \newcommand{\KthLeibnizFracDeriv}[3]{\frac{d^{#2}}{d#3^{#2}}\Func[#1](#3)} \newcommand{\KthLeibnizFracSpecificFunction}[3]{\frac{d^{#2}}{d#3^{#2}}\Func[#1]} \newcommand{\Differential}[1][x]{\, \operatorname{d}{#1}} \newcommand{\FrechetDeriv}[2]{D{#1}\left(#2\right)} \newcommand{\GateauxDirectionBold}[1]{\Vec{\delta}#1} \newcommand{\GateauxDirection}[1]{\delta #1} \newcommand{\GateauxDerivBold}[2]{D#1(#2; \GateauxDirectionBold{#2})} \newcommand{\GateauxDeriv}[2]{D#1(#2; \GateauxDirection{#2})} \newcommand{\GateauxDerivWithDirection}[3]{D#1\left(#2 \ ;\ #3\right)} \newcommand{\GateauxDerivPartial}[2]{\frac{\partial #1}{\partial #2}} \newcommand{\KthGateauxDerivPartial}[3]{\frac{\partial^{#3} #1}{\partial #2^{#3}}} \newcommand{\Grad}[2]{\boldsymbol{\nabla}^{#1} #2} \newcommand{\Jac}{\Mat{J}} \newcommand{\Div}[2]{\boldsymbol{\nabla}^{#1} \bcdot #2} \newcommand{\Laplace}[2]{\boldsymbol{\Delta}^{#1} #2} \newcommand{\TaylorSeries}[2]{\mathcal{T}\left[\Func[#1]\right](#2)} \newcommand{\TruncatedTaylorSeries}[3]{\mathcal{T}_{#1}\left[\Func[#2]\right]\left(#3\right)} \newcommand{\Int}[2]{\int\limits_{#1}^{#2}} \newcommand{\IntDomain}[1]{\int\limits_{#1}} \newcommand{\IntInline}[2]{\int_{#1}^{#2}} \newcommand{\IntDomainInline}[1]{\int_{#1}} \newcommand{\DetJacobian}{\Det{\Jac}} \newcommand{\BigO}[1]{\mathcal{O}\left(#1\right)} \newcommand{\Flops}{\operatorname{flops}} \newcommand{\Interpolant}[2]{\mathcal{#1}^{h}} \newcommand{\ErrorApproxComp}{e} \newcommand{\ErrorApproxTen}{\Vec{\ErrorApproxComp}} \newcommand{\ErrorNewton}{\epsilon} \newcommand{\ApproximateIntegrationError}[1]{\tilde{e}_{#1}} \newcommand{\AnalyticApproximateIntegrationErrorDifference}[1]{\overbar{e}_{#1}} \newcommand{\erf}[1]{\mathrm{erf}\left(#1\right)} \newcommand{\erfc}[1]{\mathrm{erfc}\left(#1\right)} \newcommand{\HeavisideFunc}[1]{\mathit{H}\left(#1\right)} \newcommand{\DiracDelta}[2]{\delta_{D}\left(#1 - #2\right)}$$\newcommand{\SymbolParentModifier}[1]{\overbar{#1}} \newcommand{\SymbolParamModifier}[1]{\hat{#1}} \newcommand{\SymbolSubmeshModifier}{} \newcommand{\SymbolDomain}{\Domain} \newcommand{\SymbolDomainBdry}{\DomainBdry} \newcommand{\SymbolBernstein}{B} \newcommand{\SymbolBasisUspline}{N} \newcommand{\SymbolUspline}{U} \newcommand{\SymbolUsplineLower}{u} \newcommand{\SymbolGrevillePoint}{g} \newcommand{\SymbolDim}{d} \newcommand{\SymbolArbitraryCoeffUspline}{c} \newcommand{\SymbolArbitraryCoeffUsplineAlt}{\beta} \newcommand{\SymbolArbitraryCoeffBernstein}{c} \newcommand{\SymbolDistance}{\operatorname{dist}} \newcommand{\AdjacencyId}{n} \newcommand{\DimId}{k} \newcommand{\DimIdAlt}{n} \newcommand{\ArbDim}{\DimId} \newcommand{\ArbDimAlt}{\DimIdAlt} \newcommand{\DimIdSet}{\Set{\DimId}} \newcommand{\DimIdOne}{\DimId_0} \newcommand{\DimIdTwo}{\DimId_1} \newcommand{\DimIdThree}{\DimId_2} \newcommand{\TopoAlpha}[1]{\alpha_{#1}} \newcommand{\TopoPhi}[1]{\phi_{#1}} \newcommand{\UTopology}{\mathsf{U}} \newcommand{\Map}[1]{\mathsf{#1}} \newcommand{\OMap}[1]{\mathsf{#1}} \newcommand{\UOMap}[1]{\UTopology(#1)} \newcommand{\Topology}{\mathsf{T}} \newcommand{\DartsOf}[1]{\operatorname*{\mathsf{D}}\left(#1\right)} \newcommand{\DartIndex}[1]{\operatorname*{\mathsf{ID}}\left(#1\right)} \newcommand{\OR}{\operatorname{OR}} \newcommand{\AND}{\operatorname{AND}} \newcommand{\XOR}{\operatorname{XOR}} \newcommand{\Decomp}{\operatorname{dec}} \newcommand{\ParentDomain}{\SymbolParentModifier{\SymbolDomain}} \newcommand{\ParentDomainChart}{\SymbolParentModifier{\Vec{\phi}}} \newcommand{\ParentDomainChartFunctionOf}[2]{\QuantityFunctionOf{{\ParentDomainChart}^{#1}}{#2}} \newcommand{\ParentDim}{\SymbolDim} \newcommand{\ParentCoord}{\xi} \newcommand{\ParentCoordVec}{\Vec{\ParentCoord}} \newcommand{\ParentS}{\ParentCoord_0} \newcommand{\ParentT}{\ParentCoord_1} \newcommand{\ParentU}{\ParentCoord_2} \newcommand{\ParentBarycentric}[1]{\ParentCoord_{#1}} \newcommand{\ParentGrevillePoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}} \newcommand{\ParentGrevillePointFunctionOf}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParentGrevillePointSet}[1]{\QuantityFunctionOf{\Set{\SymbolParentModifier{G}}}{#1}} \newcommand{\BernsteinBasisFuncId}{\BasisFuncId} \newcommand{\BernsteinBasisFuncIdAlt}{\BasisFuncIdAlt} \newcommand{\BernsteinBasisFuncIdAltAlt}{\BasisFuncIdAltAlt} \newcommand{\BernsteinBasisFuncIdB}{\BasisFuncIdAltAlt} \newcommand{\BernsteinBasisFuncIdOne}{\BernsteinBasisFuncId_0} \newcommand{\BernsteinBasisFuncIdTwo}{\BernsteinBasisFuncId_1} \newcommand{\BernsteinBasisFuncIdSet}{\Set{\BernsteinBasisFuncId}} \newcommand{\BernsteinBasisFuncIndexTuple}{\BernsteinBasisFuncIdSet} \newcommand{\BernsteinBasisFuncIndexTupleAlt}{\Set{\BernsteinBasisFuncIdAlt}} \newcommand{\BernsteinBasisFuncIndexTupleAltAlt}{\Set{\BernsteinBasisFuncIdAltAlt}} \newcommand{\BernsteinBasisFuncIndexTupleB}{\Set{\BernsteinBasisFuncIdB}} \newcommand{\BernsteinDegree}{\PolynomialDegree} \newcommand{\BernsteinDegreeAlt}{q} \newcommand{\BernsteinDegreeTuple}{\Tuple{\BernsteinDegree}} \newcommand{\BernsteinDegreeElevMatComp}{D} \newcommand{\BernsteinDegreeElevMat}{\Mat{\BernsteinDegreeElevMatComp}} \newcommand{\CompletePolynomial}[1]{\AbsoluteValue{#1}} \newcommand{\BernsteinBasisFunc}{\SymbolBernstein} \newcommand{\BernsteinBasisFuncVec}[1]{\QuantityChildOf{#1}{\Vec{\SymbolBernstein}}} \newcommand{\BernsteinBasisFuncVecFunctionOf}[2]{\QuantityFunctionOf{\BernsteinBasisFuncVec{#1}}{#2}} \newcommand{\BernsteinBasisFuncDetailed}[2]{\BernsteinBasisFunc_{#1}^{#2}} \newcommand{\BernFuncLowerDimCell}[2]{\BernsteinBasisFunc^{#1}_{#2}} \newcommand{\BernFuncInterf}[1]{\BernFuncLowerDimCell{\Interface}{#1}} \newcommand{\BernsteinSpace}{\SpaceHilbert{\SymbolBernstein}} \newcommand{\BernsteinRestriction}[2]{#1\vert_{#2}} \newcommand{\Bezier}{B\'ezier} \newcommand{\MeshTopo}{\boldsymbol{\textsf{M}}} \newcommand{\MeshSize}{h} \newcommand{\MeshBezier}{\boldsymbol{\textsf{B}}} \newcommand{\CellArbitrary}[1]{\Set{#1}} \newcommand{\Cell}{\CellArbitrary{c}} \newcommand{\CellAlpha}{\CellArbitrary{a}} \newcommand{\CellBeta}{\CellArbitrary{b}} \newcommand{\CellGamma}{\CellArbitrary{c}} \newcommand{\CellToTheLeft}{\CellAlpha} \newcommand{\CellToTheRight}{\CellBeta} \newcommand{\CellBoundary}[1]{\partial #1} \newcommand{\CellSet}[1]{\Set{C}^{#1}} \newcommand{\CellSetAdjacent}[1]{\Set{ADJ}^{#1}} \newcommand{\CellSetAdjacentFunctionOf}[2]{\QuantityFunctionOf{\CellSetAdjacent{#1}}{#2}} \newcommand{\NRing}[1]{\QuantitySubscriptedBy{\operatorname{ring}}{#1}} \newcommand{\NRingFunctionOf}[2]{\SQFO{\operatorname{ring}}{#1}{#2}} \newcommand{\CellSetCardinal}[1]{\QuantityFunctionOf{\Set{CRD}}{#1}} \newcommand{\CellSetSupport}[1]{\Support{#1}} \newcommand{\Elem}{\Set{E}} \newcommand{\Interface}{\Set{I}} \newcommand{\Smoothness}{\vartheta} \newcommand{\SmoothnessVar}{\rho} \newcommand{\SmoothnessSet}{\Set{\Smoothness}} \newcommand{\InterfaceSmoothness}[1]{\QuantityChildOf{#1}{\Smoothness}} \newcommand{\MaxPerpCont}[1]{\QuantityFunctionOf{\Smoothness^{\perp}_{\max}}{#1}} \newcommand{\Face}{\Set{f}} \newcommand{\Edge}{\Set{e}} \newcommand{\Vertex}{\Set{v}} \newcommand{\CodimTwoCell}{\Set{w}} \newcommand{\KCell}{\Cell^\ArbDim} \newcommand{\KPlusOneCell}{\Cell^{\ArbDim+1}} \newcommand{\KCellAlpha}{\CellAlpha^\ArbDim} \newcommand{\KPlusOneCellBeta}{\CellBeta^{\ArbDim+1}} \newcommand{\MaxParallelDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\max}}{#1}} \newcommand{\MinParallelDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\min}}{#1}} \newcommand{\MaxPerpDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\max}}{#1}} \newcommand{\MinPerpDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\min}}{#1}} \newcommand{\MinParallelPerpDegree}[2]{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\min}}{#1,#2}} \newcommand{\MaxParallelPerpDegree}[2]{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\max}}{#1,#2}} \newcommand{\DegreeParallel}{\BernsteinDegree^{\parallel}} \newcommand{\DegreeParallelToEdge}[2]{\DegreeParallel_{#1}(#2)} \newcommand{\DegreePerp}{\BernsteinDegree^{\perp}} \newcommand{\DegreePerpToInterface}[2]{\DegreePerp_{#1}(#2)} \newcommand{\DegreeTupleParallelToKCell}[2]{\Tuple{\BernsteinDegree}^{\parallel}_{#1}(#2)} \newcommand{\ChangeInDegree}[2]{\Delta(\BernsteinDegree)_{#1}^{#2}} \newcommand{\IndexSet}{\Set{ID}} \newcommand{\IndexSetFunctionOf}[1]{\QuantityFunctionOf{\IndexSet}{#1}} \newcommand{\CompositeBVUnionIndexSet}[1]{\QuantityFunctionOf{\Set{UID}}{#1}} \newcommand{\IndexSetPosCoeffs}[1]{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\IndexSetSet}{\boldsymbol{\IndexSet}} \newcommand{\IndexSetSetFunctionOf}[1]{\QuantityFunctionOf{\IndexSetSet}{#1}} \newcommand{\IndexSetOnMeshBezier}{\IndexSetFunctionOf{\MeshBezier}} \newcommand{\IndexOnCell}[2]{\QuantityChildOf{#1}{#2}} \newcommand{\IndexOnCellIJ}[3]{\QuantityChildOf{#1}{\TupleRoster{#2,#3}}} \newcommand{\CellFromQuantity}[1]{\QuantityFunctionOf{\operatorname{cell}}{#1}} \newcommand{\ExtractionOp}[1]{\QuantityChildOf{#1}{\Mat{C}}} \newcommand{\ExtractionOpFunctionOf}[2]{\QuantityFunctionOf{\ExtractionOp{#1}}{#2}} \newcommand{\ReconstructOp}[1]{\QuantityChildOf{#1}{\Mat{R}}} \newcommand{\ReconstructOpFunction}[2]{\QuantityFunctionOf{\ReconstructOp{#1}}{#2}} \newcommand{\Gramian}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{G}}{#2}}} \newcommand{\BernsteinSpaceOnMeshBezier}{\QCO{\MeshBezier}{\BernsteinSpace}} \newcommand{\ii}{\IndexOnCell{}{\BernsteinBasisFuncIndexTuple}} \newcommand{\jj}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAlt}} \newcommand{\kk}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAltAlt}} \newcommand{\ParamDomain}{\SymbolParamModifier{\SymbolDomain}} \newcommand{\ParamDomainOnCell}{\QuantityChildOf{\Cell}{\ParamDomain}} \newcommand{\ParamDomainBdry}{\SymbolParamModifier{\SymbolDomainBdry}} \newcommand{\ParamDomainChart}[1]{\Vec{\phi}^{#1}} \newcommand{\ParamDomainChartFunctionOf}[2]{\QuantityFunctionOf{\ParamDomainChart{#1}}{#2}} \newcommand{\ParamDim}{\SymbolDim} \newcommand{\ParamCoordSimple}{s} \newcommand{\ParamCoord}[1]{\QCO{#1}{s}} \newcommand{\ParamCoordVecSimple}{\Vec{s}} \newcommand{\ParamCoordVec}[1]{\QCO{#1}{\Vec{\ParamCoordSimple}}} \newcommand{\ParamDomainBdryParamCoord}{\ParamCoord{\ParamDomainBdry}} \newcommand{\ParamDomainBdryParamCoordVec}{\ParamCoordVec{\ParamDomainBdry}} \newcommand{\ParamCoordVecSet}{\boldsymbol{\Set{S}}} \newcommand{\ParamS}{\ParamCoord{}_0} \newcommand{\ParamT}{\ParamCoord{}_1} \newcommand{\ParamU}{\ParamCoord{}_2} \newcommand{\ParamBarycentric}[1]{\lambda_{#1}} \newcommand{\ParamLength}{\ell} \newcommand{\ParamLengthLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLength}} \newcommand{\ParamLengthRight}{\QuantityChildOf{\CellToTheRight}{\ParamLength}} \newcommand{\ParamLengthInS}{\ParamLength_{0}} \newcommand{\ParamLengthInT}{\ParamLength_{1}} \newcommand{\ParamLengthLeftS}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInS}} \newcommand{\ParamLengthLeftT}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInT}} \newcommand{\ParamLengthRightS}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInS}} \newcommand{\ParamLengthRightT}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInT}} \newcommand{\ParamLengthInSLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInS}} \newcommand{\ParamLengthInTLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInT}} \newcommand{\ParamLengthInSRight}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInS}} \newcommand{\ParamLengthInTRight}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInT}} \newcommand{\BernsteinDegreeInS}{\BernsteinDegree_{0}} \newcommand{\BernsteinDegreeInT}{\BernsteinDegree_{1}} \newcommand{\BernsteinDegreeLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegree}} \newcommand{\BernsteinDegreeRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegree}} \newcommand{\BernsteinDegreeInSLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegreeInS}} \newcommand{\BernsteinDegreeInSRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegreeInS}} \newcommand{\BernsteinDegreeInTLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegreeInT}} \newcommand{\BernsteinDegreeInTRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegreeInT}} \newcommand{\BernsteinDegreeBarycentricLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegree}} \newcommand{\BernsteinDegreeBarycentricRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegree}} \newcommand{\ParamGrevillePoint}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParamModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParamGrevillePointSet}[1]{\QuantityFunctionOf{\Set{\SymbolParamModifier{G}}}{#1}} \newcommand{\ParamDomainOnMeshBezier}{\QuantityChildOf{\MeshBezier}{\ParamDomain}} \newcommand{\BernsteinTraceMappingMat}{\Mat{M}} \newcommand{\NormalParamCoordSet}[2]{\QuantityFunctionOf{\ParamCoordVecSimple^{\perp}_{#1}}{#2}} \newcommand{\ParallelParamCoordSet}[2]{\QuantityFunctionOf{\ParamCoordVecSimple^{\parallel}_{#1}}{#2}} \newcommand{\Submesh}{\boldsymbol{\textsf{K}}} \newcommand{\SubmeshDomain}{\SymbolSubmeshModifier{\SymbolDomain}} \newcommand{\SubmeshDomainBdry}{\SymbolSubmeshModifier{\SymbolDomainBdry}} \newcommand{\SubmeshDomainChart}[1]{\QuantityChildOf{#1}{\Vec{\varphi}}} \newcommand{\SubmeshDomainChartFunctionOf}[2]{\QuantityFunctionOf{\SubmeshDomainChart{#1}}{#2}} \newcommand{\SubmeshDomainParameter}{\mathsf{\alpha}} \newcommand{\SubmeshDomainParameterVec}{\Vec{\SubmeshDomainParameter}} \newcommand{\SubmeshGrevillePoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}} \newcommand{\SubmeshGrevillePointFunctionOf}[2]{\QuantityFunctionOf{\SubmeshGrevillePoint{#1}}{#2}} \newcommand{\SubmeshGrevilleMaxPoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolGrevillePoint}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSet}[1]{\QuantityChildOf{#1}{\Set{G}}_{\max}} \newcommand{\SubmeshGrevilleMinPointSet}[1]{\QuantityChildOf{#1}{\Set{G}}_{\min}} \newcommand{\SubmeshGrevilleMaxPointLeft}{\SubmeshGrevilleMaxPoint{\CellAlpha}} \newcommand{\SubmeshGrevilleMaxPointRight}{\SubmeshGrevilleMaxPoint{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointIntersection}{\SubmeshGrevilleMaxPoint{\Interface}} \newcommand{\SubmeshGrevilleMinPointSetLeft}{\SubmeshGrevilleMinPointSet{\CellAlpha}} \newcommand{\SubmeshGrevilleMinPointSetRight}{\SubmeshGrevilleMinPointSet{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointSetLeft}{\SubmeshGrevilleMaxPointSet{\CellAlpha}} \newcommand{\SubmeshGrevilleMaxPointSetRight}{\SubmeshGrevilleMaxPointSet{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointSetIntersection}{\SubmeshGrevilleMaxPointSet{\Interface}} \newcommand{\SubmeshGrevillePointSet}{\Set{\SymbolSubmeshModifier{G}}} \newcommand{\SubmeshGrevillePointSetFunctionOf}[1]{\QuantityFunctionOf{\SubmeshGrevillePointSet}{#1}} \newcommand{\SubmeshGrevillePointSetLeft}{\Set{\SymbolSubmeshModifier{GA}}} \newcommand{\SubmeshGrevillePointSetRight}{\Set{\SymbolSubmeshModifier{GB}}} \newcommand{\SubmeshGrevillePointSetElement}[1]{\Set{\SymbolSubmeshModifier{GE}}_{#1}} \newcommand{\SubmeshGrevillePointSetIntersect}{\Set{\SymbolSubmeshModifier{GI}}} \newcommand{\SubmeshGrevillePointSetUnion}[1]{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GU}}}{#1}} \newcommand{\SubmeshGrevillePointSetSet}{\boldsymbol{\SubmeshGrevillePointSet}} \newcommand{\SubmeshGrevillePointSetSetFunctionOf}[1]{\QuantityFunctionOf{\SubmeshGrevillePointSetSet}{#1}} \newcommand{\SubmeshGrevillePointSetSetLeft}{\boldsymbol{\SymbolSubmeshModifier{\Set{GA}}}} \newcommand{\SubmeshGrevillePointSetSetRight}{\boldsymbol{\SymbolSubmeshModifier{\Set{GB}}}} \newcommand{\SubmeshGrevillePointSetSetElement}[2]{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1}}{#2}} \newcommand{\SubmeshGrevilleDifferenceVectorsSet}{\Delta \SubmeshGrevillePointSetFunctionOf{a}} \newcommand{\SubmeshGrevilleDifferenceVectorsSetRight}{\Delta\SubmeshGrevilleMaxPointSetRight} \newcommand{\SubmeshGrevilleDifferenceVector}{\Delta\SubmeshGrevilleMaxPoint{a}} \newcommand{\SubmeshGrevilleDifferenceVectorLeft}{\Delta\SubmeshGrevilleMaxPointLeft} \newcommand{\SubmeshGrevilleDifferenceVectorRight}{\Delta\SubmeshGrevilleMaxPointRight} \newcommand{\SubmeshGrevilleDistanceToCell}[2]{\QuantityFunctionOf{\SymbolDistance}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCell}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMin}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\min}}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMax}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\max}}{#1, #2}} \newcommand{\SubmeshPerpProjection}[1]{\Projection^{\perp}_{#1}} \newcommand{\SubmeshPerpProjectionFunctionOf}[2]{\QuantityFunctionOf{\SubmeshPerpProjection{#1}}{#2}} \newcommand{\SubmeshParallelProjection}[1]{\Projection^{\parallel}_{#1}} \newcommand{\SubmeshParallelProjectionFunctionOf}[2]{\QuantityFunctionOf{\SubmeshParallelProjection{#1}}{#2}} \newcommand{\SubmeshStarProjection}[2]{\QuantityFunctionOf{\Projection^{*}_{#1}}{#2}} \newcommand{\SubmeshPerpEquivalence}[1]{\varpi^{\perp}_{#1}} \newcommand{\SubmeshParallelEquivalence}[1]{\varpi^{\parallel}_{#1}} \newcommand{\SubmeshParallelEquivalenceFunctionOf}[2]{\QuantityFunctionOf{\SubmeshParallelEquivalence{#1}}{#2}} \newcommand{\SubmeshStarEquivalence}[1]{\varpi^{*}_{#1}} \newcommand{\AlignedSet}{{\boldsymbol{\textsf{Align}}}} \newcommand{\AlignedSetSet}{{\boldsymbol{\textsf{ALIGN}}}} \newcommand{\AlignmentSetOfSetsLeft}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetOfSetsRight}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetForInterfaceGrevillePoint}{\AlignedSet_{\SubmeshGrevillePoint{\Interface}{}}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRow}{\Set{NZ}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRowFunctionOf}[2]{\QuantityFunctionOf{\IndexSetOfNonZeroEntriesInMapMatOnRow_{#1}}{#2}} \newcommand{\AlignmentSetOfSetsOnLowerDCell}[2]{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1,#2}^{\parallel}} \newcommand{\AlignmentSetOfSetsLeftThreeD}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \ii}^{\parallel}} \newcommand{\AlignmentSetOfSetsRightThreeD}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \ii}^{\parallel}} \newcommand{\KPlusOneCellAdjacentIndexedSubmeshDomain}{\QuantityChildOf{\CellAlpha\CellBeta}{\SubmeshDomain}} \newcommand{\StructuredSymbol}{\square} \newcommand{\StructuredSubmesh}[1]{\Submesh^{\StructuredSymbol}_{#1}} \newcommand{\ToGlobalDartOp}{\operatorname*{\mathsf{G}}} \newcommand{\ProlongationMat}{\Mat{P}} \newcommand{\RestrictionMat}{\Mat{R}} \newcommand{\MeshUspline}{\boldsymbol{\textsf{\SymbolUspline}}} \newcommand{\SetNeighborhoodOfInteraction}[1]{\QuantityFunctionOf{\textsf{NI}}{#1}} \newcommand{\Ray}{\Set{r}} \newcommand{\RayHead}{\Edge^{h}} \newcommand{\RayTail}{\Vec{t}} \newcommand{\RayTailId}{j} \newcommand{\RayTailIdOne}{\RayTailId_0} \newcommand{\RayTailIdTwo}{\RayTailId_1} \newcommand{\RayTailOrigin}{\textsf{o}} \newcommand{\RayTailEdge}{\Edge} \newcommand{\RayTailVertexMaxContinuity}[1]{\Smoothness_{#1}^{\max}} \newcommand{\RayTailEdgeMinDegree}[1]{\BernsteinDegree_{#1}^{\min}} \newcommand{\RaySkeleton}[1]{\operatorname{skel}(#1)} \newcommand{\RaySmoothness}[2]{\Smoothness_{#1}^{#2}} \newcommand{\RayDegree}[2]{\BernsteinDegree_{#1}^{#2}} \newcommand{\RayContinuityTransition}{\Set{cr}} \newcommand{\RayDegreeTransition}{\Set{dr}} \newcommand{\RayTailSize}{\Size{\RayTail}} \newcommand{\RayTailTargetSize}{n} \newcommand{\RayIsTruncated}{\Set{trunc}} \newcommand{\RayAlgBernIndexVariable}{\BernsteinBasisFuncIdSet} \newcommand{\RayStartingBernIndex}{\RayAlgBernIndexVariable_{\RayHead}} \newcommand{\BernIndexOnSpecificRayTailEdge}[1]{\RayAlgBernIndexVariable_{#1}} \newcommand{\Ribbon}{\Set{r}} \newcommand{\RibbonHead}{\Interface^{h}} \newcommand{\RibbonTail}{\Vec{t}} \newcommand{\RibbonTailId}{j} \newcommand{\RibbonTailIdOne}{\RibbonTailId_0} \newcommand{\RibbonTailIdTwo}{\RibbonTailId_1} \newcommand{\RibbonTailOrigin}{\textsf{o}} \newcommand{\RibbonTailInterf}{\Interface} \newcommand{\RibbonTailCodimTwoCellMaxContinuity}[1]{\Smoothness_{#1}^{\max}} \newcommand{\RibbonTailInterfMinDegree}[1]{\BernsteinDegree_{#1}^{\min}} \newcommand{\RibbonSkeleton}[1]{\operatorname{skel}(#1)} \newcommand{\RibbonSmoothness}[2]{\Smoothness_{#1}^{#2}} \newcommand{\RibbonDegree}[2]{\BernsteinDegree_{#1}^{#2}} \newcommand{\RibbonContinuityTransition}{\Set{cr}} \newcommand{\RibbonDegreeTransition}{\Set{dr}} \newcommand{\RibbonTailSize}{\Size{\RibbonTail}} \newcommand{\RibbonTailTargetSize}{n} \newcommand{\RibbonIsTruncated}{\Set{trunc}} \newcommand{\RibbonAlgBernIndexVariable}{\BernsteinBasisFuncIdSet} \newcommand{\RibbonStartingBernIndex}{\RibbonAlgBernIndexVariable_{\RibbonHead}} \newcommand{\BernIndexOnSpecificRibbonTailInterf}[1]{\RibbonAlgBernIndexVariable_{#1}} \newcommand{\ParamDomainOnMeshUspline}{\QuantityChildOf{\MeshUspline}{\ParamDomain}} \newcommand{\UsplineSpace}{\SpaceHilbert{\SymbolUspline}} \newcommand{\UsplineBasisFunc}{\SymbolBasisUspline} \newcommand{\UsplineBasisFuncDetailed}[2]{\UsplineBasisFunc^{#1}_{#2}} \newcommand{\UsplineBasisFuncSet}{\Set{UF}} \newcommand{\UsplineBasisFuncSetFunctionOf}[1]{\QuantityFunctionOf{\UsplineBasisFuncSet}{#1}} \newcommand{\UsplineBasisFuncVec}[1]{\QuantityChildOf{#1}{\Vec{\SymbolBasisUspline}}} \newcommand{\UsplineBasisFuncVecFunctionOf}[2]{\QuantityFunctionOf{\UsplineBasisFuncVec{#1}}{#2}} \newcommand{\UsplineBasisFuncSetOnMeshBezier}{\QuantityFunctionOf{\Set{UF}}{\MeshBezier}} \newcommand{\UsplineBasisFuncSetOnMeshUspline}{\QuantityFunctionOf{\Set{UF}}{\MeshUspline}} \newcommand{\UsplineBasisFuncSetSupport}[1]{\Support{\UsplineBasisFuncSetFunctionOf{#1}}} \newcommand{\UsplineBasisFuncId}{A} \newcommand{\UsplineBasisFuncIdVec}{\Vec{A}} \newcommand{\UsplineBasisFuncIdAlt}{B} \newcommand{\UsplineBasisFuncIdLocal}{a} \newcommand{\UsplineBasisFuncIdOne}{\UsplineBasisFuncId_0} \newcommand{\UsplineBasisFuncIdTwo}{\UsplineBasisFuncId_1} \newcommand{\UsplineBasisFuncNormalized}{\bar{\SymbolBasisUspline}} \newcommand{\UsplineBasisFuncParam}[1]{\UsplineBasisFuncDetailed{\MeshBezier}{#1}} \newcommand{\UsplineDegree}{q} \newcommand{\UsplineNullVectorCoeff}{u} \newcommand{\UsplineNullVector}{\Vec{\UsplineNullVectorCoeff}} \newcommand{\UsplineNullVectorIds}{\Set{id}} \newcommand{\UsplineNullVectorSet}{\boldsymbol{\textsf{UV}}} \newcommand{\UsplineNullVectorSetOfIndexSets}{\boldsymbol{\textsf{UI}}} \newcommand{\UsplineNullVectorSetOnMeshBezier}{\NullVectorSetFunctionOf{\MeshBezier}} \newcommand{\UsplineNullVectorSetOnMeshUspline}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshUspline}} \newcommand{\UsplineSpaceOnMeshUspline}{\QCO{\MeshUspline}{\UsplineSpace}} \newcommand{\UsplineCellToGlobalBasisFuncIndexMap}[1]{\operatorname{ucg}(#1)} \newcommand{\UsplineCellToGlobalBasisFuncIndexMapDef}{\FuncDef{\operatorname{ucg}}{\MeshBezier\times\Integers}{\Integers}} \newcommand{\BernsteinBasisFuncCoeff}{\SymbolArbitraryCoeffBernstein} \newcommand{\BernsteinBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffBernstein}}}{\MeshBezier}} \newcommand{\BernsteinBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffBernstein}}{\MeshBezier}} \newcommand{\UsplineBasisFuncCoeff}{\SymbolArbitraryCoeffUspline} \newcommand{\UsplineBasisFuncCoeffAlt}{\SymbolArbitraryCoeffUsplineAlt} \newcommand{\UsplineBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffUspline}}}{\MeshUspline}} \newcommand{\UsplineBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffUspline}}{\MeshUspline}} \newcommand{\ContiguousIndexMap}[1]{i_{#1}} \newcommand{\Constraint}{R} \newcommand{\ConstraintCoeff}{r} \newcommand{\ConstraintCoeffsSet}{\boldsymbol{\Set{\ConstraintCoeff}}} \newcommand{\ConstraintCoeffsVec}{\Vec{\ConstraintCoeff}} \newcommand{\ConstraintSet}{\Set{\Constraint}} \newcommand{\ConstraintSetFunctionOf}[1]{\QuantityFunctionOf{\ConstraintSet}{#1}} \newcommand{\ConstraintSetOnMeshBezier}{\ConstraintSetFunctionOf{\MeshBezier}} \newcommand{\ConstraintMat}{\Mat{\Constraint}} \newcommand{\ConstraintMatFunctionOf}[1]{\QuantityFunctionOf{\ConstraintMat}{#1}} \newcommand{\ConstraintMatOnMeshBezier}{\ConstraintMatFunctionOf{\MeshBezier}} \newcommand{\SparsestPossibleBasisOnCell}[1]{\QFO{\Set{N}}{#1}} \newcommand{\NullVectorCoeff}[1]{#1} \newcommand{\NullVector}{\Vec{v}} \newcommand{\NullVectorFunctionOf}[1]{\QuantityFunctionOf{\NullVector}{#1}} \newcommand{\NullVectorArbitrary}[1]{\Vec{#1}} \newcommand{\KCellNullVectorForCellAlpha}{\NullVectorArbitrary{n}_{\KCellAlpha}} \newcommand{\KPlusOneCellNullVectorForCellBeta}{\NullVectorArbitrary{n}_{\KPlusOneCellBeta}} \newcommand{\NullVectorSet}{\boldsymbol{\textsf{BV}}}%changed from mathsf \newcommand{\NullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\NullVectorSet}{#1}}%changed from mathsf \newcommand{\CompositeNullVectorSet}{\NullVectorSet^{\prime\prime}} \newcommand{\CompositeNullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\CompositeNullVectorSet}{#1}} \newcommand{\SimpleNullVectorSet}{\NullVectorSet^{\prime}} \newcommand{\SimpleNullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\SimpleNullVectorSet}{#1}} \newcommand{\InterfaceNullVectorSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}}{#1}} \newcommand{\InterfaceNullVectorAlignedSubset}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}_{#1}}{#2}} \newcommand{\NullVectorSetOfIndexSets}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{BI}}}{#1}} \newcommand{\NullVectorSetGrevilleSets}{\boldsymbol{\textsf{BG}}}%changed from mathsf \newcommand{\NullVectorSetGrevilleSetsFunctionOf}[1]{\QuantityFunctionOf{\NullVectorSetGrevilleSets}{#1}}%changed from mathsf \newcommand{\NullVectorSetSubordinateToNullVector}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}}{#1}} \newcommand{\NullVectorSetSubordinateToNullVectorOnCell}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}_{#1}}{#2}} \newcommand{\NullVectorSetOnBdryOfNullVector}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{BD}}_{#1}}{#2}} \newcommand{\NullVectorEquivClass}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{EBV}}}{#1}} \newcommand{\NullVectorIndexEquivClass}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{EBI}}}{#1}} \newcommand{\NullVectorGrevilleEquivClass}{\boldsymbol{\textsf{EBG}}}%changed from mathsf \newcommand{\NullVectorGrevilleEquivClassFunctionOf}[1]{\QuantityFunctionOf{\NullVectorGrevilleEquivClass}{#1}}%changed from mathsf \newcommand{\NullVectorExpansionSet}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{XBV}}}{#1,#2}} \newcommand{\NullSpaceOperatorForm}[1]{\QuantityFunctionOf{\SpaceHilbert{N}}{#1}} \newcommand{\NullSpaceOperatorFormOnMeshBezier}{\NullSpaceOperatorForm{\MeshBezier}} \newcommand{\NullSpaceVectorForm}{\Set{N}} \newcommand{\NullSpaceVectorFormFunctionOf}[1]{\QuantityFunctionOf{\NullSpaceVectorForm}{#1}} \newcommand{\NullVectorGrevillePointSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}} \newcommand{\DegSmoothDiff}[2]{\delta_{#1}^{#2}} \newcommand{\FaceEdgeDiff}{\Set{t}} \newcommand{\FaceEdgeDiffSet}[1]{\Set{T}_{#1}} \newcommand{\PerpTuple}[1]{\QuantityFunctionOf{\FaceEdgeDiff^\perp}{#1}} \newcommand{\ParallelTuple}[1]{\QuantityFunctionOf{\FaceEdgeDiff^\parallel}{#1}} \newcommand{\ElemInterfDiff}{\Set{t}} \newcommand{\ElemInterfDiffSet}[1]{\Set{T}_{#1}} \newcommand{\SpokeSymbol}{\rho} \newcommand{\ElemInterfPairSymbol}{t} \newcommand{\ElemKPlusOneCellPair}{\Set{\SpokeSymbol}} \newcommand{\Spoke}{\ElemKPlusOneCellPair} \newcommand{\ElemInterfPair}{\Set{\ElemInterfPairSymbol}} \newcommand{\EIDPerpTuple}[1]{\QuantityFunctionOf{\ElemInterfDiff^\perp}{#1}} \newcommand{\EIDParallelTuple}[1]{\QuantityFunctionOf{\ElemInterfDiff^\parallel}{#1}} \newcommand{\InclDist}{\textsf{inc}}%changed from mathsf \newcommand{\InclDistFunctionOf}[1]{\QuantityFunctionOf{\InclDist}{#1}}%changed from mathsf \newcommand{\InclDistSet}[2]{\Set{INC}^{#1,#2}} \newcommand{\EdgeInclDist}[3]{\InclDistSet{#2}{#3}_{#1}} \newcommand{\PerpEdgesSet}{\Set{E}^\perp} \newcommand{\PerpInterfacesSet}{\Set{IRF}^\perp} \newcommand{\PerpOfKPlusOneCellInterfSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{PI}}}{#1}} \newcommand{\PerpKPlusOneCellSet}{\boldsymbol{\textsf{PC}}}%changed from mathsf \newcommand{\PerpKPlusOneCellSetFunctionOf}[1]{\QuantityFunctionOf{\PerpKPlusOneCellSet}{#1}}%changed from mathsf \newcommand{\ElemKPlusOneCellPairPerp}[1]{\QuantityFunctionOf{\Set{\SpokeSymbol}^\perp}{#1}} \newcommand{\ElemInterfPairPerp}[1]{\QuantityFunctionOf{\Set{t}^\perp}{#1}} \newcommand{\ElemInterfPairParallel}[1]{\QuantityFunctionOf{\Set{\ElemInterfPairSymbol}^\parallel}{#1}} \newcommand{\ElemKPlusOneCellPairParallelSet}[1]{\QuantityFunctionOf{\Set{\SpokeSymbol}^\parallel}{#1}} \newcommand{\KPlusOneCellNullVectorSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}}{#1}} \newcommand{\KPlusOneCellNullVectorAlignedSubset}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}_{#1}}{#2}} \newcommand{\Graph}{G} \newcommand{\GraphFunctionOf}[1]{\QuantityFunctionOf{\Graph}{#1}} \newcommand{\GraphCore}{K} \newcommand{\GraphDirectedEdge}{\Edge_{i,j}} \newcommand{\GraphDirectedEdgeIJ}[2]{\Edge_{#1,#2}} \newcommand{\GraphCoreToVertex}[1]{\QuantityFunctionOf{\Vertex}{#1}} \newcommand{\GraphCoreChildren}[1]{\QuantityFunctionOf{\operatorname{children}}{#1}} \newcommand{\GraphVertexToCore}[1]{\QuantityFunctionOf{\GraphCore}{#1}} \newcommand{\GraphInteractingEdges}{\Set{IE}} \newcommand{\GraphCoveredEdges}{\Set{CE}} \newcommand{\GraphFailedEdges}{\Set{FE}} \newcommand{\GraphCandidateEdges}{\Set{XE}} \newcommand{\UsplineClass}[1]{\boldsymbol{\mathcal{\SymbolUspline}}^{#1}} \newcommand{\UClassRegular}{R} \newcommand{\UClassIrregular}{r} \newcommand{\UClassContFinite}{H} \newcommand{\UClassContInfinity}{h} \newcommand{\UClassGlobalSmoothness}{K} \newcommand{\UClassLocalSmoothness}{k} \newcommand{\UClassGlobalDegree}{P} \newcommand{\UClassLocalDegree}{p} \newcommand{\SuperscriptRHKP}{\UClassRegular\UClassContFinite\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrHKP}{\UClassIrregular\UClassContFinite\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRhKP}{\UClassRegular\UClassContInfinity\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrhKP}{\UClassIrregular\UClassContInfinity\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRHkP}{\UClassRegular\UClassContFinite\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrHkP}{\UClassIrregular\UClassContFinite\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRhkP}{\UClassRegular\UClassContInfinity\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrhkP}{\UClassIrregular\UClassContInfinity\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRHKp}{\UClassRegular\UClassContFinite\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrHKp}{\UClassIrregular\UClassContFinite\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRhKp}{\UClassRegular\UClassContInfinity\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrhKp}{\UClassIrregular\UClassContInfinity\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRHkp}{\UClassRegular\UClassContFinite\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrHkp}{\UClassIrregular\UClassContFinite\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRhkp}{\UClassRegular\UClassContInfinity\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\Superscriptrhkp}{\UClassIrregular\UClassContInfinity\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\UsplineClassRHKP}{\UsplineClass{\SuperscriptRHKP}} \newcommand{\UsplineClassrHKP}{\UsplineClass{\SuperscriptrHKP}} \newcommand{\UsplineClassRhKP}{\UsplineClass{\SuperscriptRhKP}} \newcommand{\UsplineClassrhKP}{\UsplineClass{\SuperscriptrhKP}} \newcommand{\UsplineClassRHkP}{\UsplineClass{\SuperscriptRHkP}} \newcommand{\UsplineClassrHkP}{\UsplineClass{\SuperscriptrHkP}} \newcommand{\UsplineClassRhkP}{\UsplineClass{\SuperscriptRhkP}} \newcommand{\UsplineClassrhkP}{\UsplineClass{\SuperscriptrhkP}} \newcommand{\UsplineClassRHKp}{\UsplineClass{\SuperscriptRHKp}} \newcommand{\UsplineClassrHKp}{\UsplineClass{\SuperscriptrHKp}} \newcommand{\UsplineClassRhKp}{\UsplineClass{\SuperscriptRhKp}} \newcommand{\UsplineClassrhKp}{\UsplineClass{\SuperscriptrhKp}} \newcommand{\UsplineClassRHkp}{\UsplineClass{\SuperscriptRHkp}} \newcommand{\UsplineClassrHkp}{\UsplineClass{\SuperscriptrHkp}} \newcommand{\UsplineClassRhkp}{\UsplineClass{\SuperscriptRhkp}} \newcommand{\UsplineClassrhkp}{\UsplineClass{\Superscriptrhkp}} \newcommand{\BaseTopoLine}{\mathsf{L}} \newcommand{\BaseTopoLoop}{\mathsf{P}} \newcommand{\BaseTopoOneDGeneric}{\MeshUspline^{\textsf{1D}}} \newcommand{\BaseTopoGrid}{\mathsf{G}} \newcommand{\BaseTopoAnnulus}{\mathsf{A}} \newcommand{\BaseTopoTorus}{\mathsf{T}} \newcommand{\BaseTopoTriangle}{\mathsf{\Delta}} \newcommand{\BaseTopoMixed}{\mathsf{M}} \newcommand{\BaseTopoMultiPatch}{\mathsf{X}} \newcommand{\BaseTopoPatch}{\mathsf{H}} \newcommand{\AlgNameBuildRayOfMaximumCouplingLength}{BuildRayOfMaximumCouplingLength} \newcommand{\AlgNameBuildRibbonOfMaximumCouplingLength}{BuildRibbonOfMaximumCouplingLength} \newcommand{\AlgNameComputeCoreGraph}{ComputeCoreGraph} \newcommand{\UpperDBMat}{\Mat{U}} \newcommand{\LowerWeightDBMat}{\Mat{W}} \newcommand{\RationalSplineWeightSymbol}{w} \newcommand{\NURBSWeight}{\RationalSplineWeightSymbol} \newcommand{\WeightFunc}[1][\RationalSplineWeightSymbol]{#1} \newcommand{\DBParamWeight}{\omega} \newcommand{\DualBCoeff}{d} \newcommand{\NumUsplineBasisFuncsOnMeshBezier}{\Size{\UsplineBasisFuncSetOnMeshBezier}} \newcommand{\NumUsplineBasisFuncsOnMeshUspline}{\Size{\UsplineBasisFuncSetOnMeshUspline}} \newcommand{\NumUsplineBasisFuncsOnElem}{\Size{\UsplineBasisFuncSetFunctionOf{\Elem}}} \newcommand{\NumBernsteinBasisFuncsOnMeshBezier}{\Size{\IndexSetOnMeshBezier}} \newcommand{\NumBernsteinBasisFuncsOnElem}{\Size{\IndexSetFunctionOf{\Elem}}} \newcommand{\NumElemsInMeshBezier}{\Size{\CellSet{\ParamDim}}}$$\newcommand{\SymbolTime}{t} \newcommand{\SymbolEnvModifier}[1]{\star\mspace{-1mu} #1} \newcommand{\SymbolInteriorModifier}[1]{\tilde{#1}} \newcommand{\SymbolClosestPointMap}{\kappa} \newcommand{\SymbolManifold}{m} \newcommand{\SymbolVolume}{v} \newcommand{\SymbolVolumeUpper}{V} \newcommand{\SymbolSurface}{s} \newcommand{\SymbolSurfaceUpper}{S} \newcommand{\SymbolCurve}{c} \newcommand{\SymbolCurveUpper}{C} \newcommand{\SymbolPoint}{p} \newcommand{\SymbolPointUpper}{P} \newcommand{\SymbolIndicator}{\chi} \newcommand{\SymbolSpatialDim}{n} \newcommand{\SymbolWildCard}{*} \newcommand{\SymbolSegment}{\epsilon} \newcommand{\SymbolSpatialCoord}{x} \newcommand{\SymbolSpatialCoordUpper}{x} \newcommand{\SymbolSegmentSet}{\boldsymbol{E}} \newcommand{\SymbolInside}{\bullet} \newcommand{\SymbolOutside}{\circ} \newcommand{\SymbolHybrid}{\circledcirc} \newcommand{\SymbolPartition}{\boldsymbol{\vartriangle}} \newcommand{\SymbolQuadratureWeight}{w} \newcommand{\SymbolQuadratureSet}{Q} \newcommand{\SymbolQuadraturePoint}{\xi} \newcommand{\SymbolIntegrationPoint}{i} \newcommand{\SymbolManifoldCoeff}{x} \newcommand{\SymbolManifoldCoeffUpper}{X} \newcommand{\SymbolManifoldCoeffUspline}{x} \newcommand{\SymbolManifoldCoeffUsplineUpper}{X} \newcommand{\SymbolManifoldCoeffBernstein}{x} \newcommand{\SymbolManifoldCoeffBernsteinUpper}{X} \newcommand{\SymbolCADModified}{\boldsymbol{\circledast}} \newcommand{\SymbolCAD}{\bar{\SymbolCADModified}} \newcommand{\SymbolProjection}{\Projection} \newcommand{\SymbolCovariantBasisSurf}{a} \newcommand{\SymbolCovariantBasisVol}{g} \newcommand{\SymbolMetric}{m} \newcommand{\SymbolCurvature}{k} \newcommand{\SymbolCurvCoordIdOne}{\alpha} \newcommand{\SymbolCurvCoordIdTwo}{\beta} \newcommand{\SymbolCurvCoordIdThree}{\gamma} \newcommand{\SymbolOrthogonalTransform}{Q} \newcommand{\SymbolLinearInterpolation}{\mathscr{l}} \newcommand{\ParamDomainEnv}{\SymbolEnvModifier{\ParamDomain}} \newcommand{\ParamDomainCAD}{\QRT{\ParamDomain}{\SymbolCAD}} \newcommand{\ParamDomainOnCellEnv}{\SymbolEnvModifier{\ParamDomainOnCell}} \newcommand{\ParamDomainOnCAD}{\QCO{\SymbolCAD}{\ParamDomain}} \newcommand{\ParamDomainOnCADModified}{\QCO{\SymbolCADModified}{\ParamDomain}} \newcommand{\ParamDomainOnPartition}{\QCO{\SymbolPartition}{\ParamDomain}} \newcommand{\SpatialDim}{\SymbolSpatialDim} \newcommand{\SpatialDomain}{\Reals^{\SymbolSpatialDim}} \newcommand{\SpatialCoord}{\SymbolSpatialCoord} \newcommand{\SpatialCoordX}{\SymbolSpatialCoord} \newcommand{\SpatialCoordY}{y} \newcommand{\SpatialCoordZ}{z} \newcommand{\SpatialCoordUpper}{\SymbolSpatialCoordUpper} \newcommand{\SpatialCoordVec}{\Vec{\SpatialCoord}} \newcommand{\SpatialCoordVecSet}[1]{\QuantityFunctionOf{\boldsymbol{\Set{X}}}{#1}} \newcommand{\UsplineBasisFuncSpatial}[1]{\UsplineBasisFuncDetailed{\SpatialCoord}{#1}} \newcommand{\Manifold}{\Set{\SymbolManifold}} \newcommand{\ManifoldRelatedTo}[1]{\QuantityRelatedTo{\Manifold}{#1}} \newcommand{\Volume}{\Set{\SymbolVolume}} \newcommand{\VolumeRelatedTo}[1]{\QuantityRelatedTo{\Volume}{#1}} \newcommand{\Surface}{\Set{\SymbolSurface}} \newcommand{\SurfaceRelatedTo}[1]{\QuantityRelatedTo{\Surface}{#1}} \newcommand{\Curve}{\Set{\SymbolCurve}} \newcommand{\CurveRelatedTo}[1]{\QuantityRelatedTo{\Curve}{#1}} \newcommand{\Point}{\Set{\SymbolPoint}} \newcommand{\PointRelatedTo}[1]{\QuantityRelatedTo{\Point}{#1}} \newcommand{\Partition}{\SymbolPartition} \newcommand{\ManifoldCAD}{\ManifoldRelatedTo{\SymbolCAD}} \newcommand{\ManifoldCADModified}{\ManifoldRelatedTo{\SymbolCADModified}} \newcommand{\ManifoldCADEnv}{\SymbolEnvModifier{\ManifoldCAD}} \newcommand{\ManifoldCADModifiedEnv}{\SymbolEnvModifier{\ManifoldCADModified}} \newcommand{\ManifoldPartition}{\ManifoldRelatedTo{\Partition}} \newcommand{\ManifoldBezier}{\ManifoldRelatedTo{\MeshBezier}} \newcommand{\ManifoldUspline}{\ManifoldRelatedTo{\MeshUspline}} \newcommand{\ManifoldUsplineInterior}{\QRT{\SymbolInteriorModifier{\Manifold}}{\MeshUspline}} \newcommand{\ManifoldUsplineEnv}{\SymbolEnvModifier{\ManifoldUspline}} \newcommand{\VolumeEnv}{\SymbolEnvModifier{\Volume}} \newcommand{\dVolume}{\Differential[\Volume]} \newcommand{\VolumeIndicator}{\SymbolIndicator} \newcommand{\SurfaceEnv}{\SymbolEnvModifier{\Surface}} \newcommand{\SurfaceCAD}{\SurfaceRelatedTo{\SymbolCAD}} \newcommand{\SurfaceCADModified}{\SurfaceRelatedTo{\SymbolCADModified}} \newcommand{\SurfaceMesh}{\SurfaceRelatedTo{\Partition}} \newcommand{\SurfaceUspline}{\SurfaceRelatedTo{\MeshUspline}} \newcommand{\SurfaceWildCard}{\Surface^{\SymbolWildCard}} \newcommand{\dSurface}{\Differential[\Surface]} \newcommand{\CurveCAD}{\CurveRelatedTo{\SymbolCAD}} \newcommand{\CurveCADModified}{\CurveRelatedTo{\SymbolCADModified}} \newcommand{\CurveMesh}{\CurveRelatedTo{\Partition}} \newcommand{\CurveUspline}{\CurveRelatedTo{\MeshUspline}} \newcommand{\dCurve}{\Differential[\Curve]} \newcommand{\PointCAD}{\PointRelatedTo{\SymbolCAD}} \newcommand{\PointCADModified}{\PointRelatedTo{\SymbolCADModified}} \newcommand{\PointUspline}{\PointRelatedTo{\MeshUspline}} \newcommand{\Segment}[1]{\QuantityChildOf{#1}{\SymbolSegment}} \newcommand{\SegmentOfVolumeEnv}{\Segment{\VolumeEnv}} \newcommand{\SegmentOfSurface}{\Segment{\Surface}} \newcommand{\Hex}{\Segment{}_{h}} \newcommand{\Tet}{\Segment{}_{t}} \newcommand{\SegmentParamDomain}[1]{\QuantityRelatedTo{\ParamDomain}{#1}} \newcommand{\SegmentParamDomainOfVolumeEnv}{\QuantityRelatedTo{\ParamDomain}{\Segment{\VolumeEnv}}} \newcommand{\SegmentParamDomainOfSurface}{\QuantityRelatedTo{\ParamDomain}{\Segment{\Surface}}} \newcommand{\SegmentSet}{\SymbolSegmentSet} \newcommand{\SegmentSetFunctionOf}[1]{\QuantityFunctionOf{\SegmentSet}{#1}} \newcommand{\SegmentSetOutside}{\SegmentSet^{\SymbolOutside}} \newcommand{\SegmentSetInside}{\SegmentSet^{\SymbolInside}} \newcommand{\SegmentSetHybrid}{\SegmentSet^{\SymbolHybrid}} \newcommand{\PartitionFunctionOf}[1]{\QuantityFunctionOf{\Partition}{#1}} \newcommand{\PartitionBezierExtraction}[1]{\QuantityFunctionOf{\SymbolPartition^{B}}{#1}} \newcommand{\PartitionTessellation}[1]{\QuantityFunctionOf{\SymbolPartition^{T}}{#1}} \newcommand{\PartitionTessellationOfUspline}{\PartitionTessellation{\MeshUspline}} \newcommand{\PartitionTessellationMap}[2]{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldCoeff}{\SymbolManifoldCoeff} \newcommand{\ManifoldCoeffUpper}{\SymbolManifoldCoeffUpper} \newcommand{\ManifoldCoeffUspline}{\QuantityRelatedTo{\SymbolManifoldCoeffUspline}{\MeshUspline}} \newcommand{\ManifoldCoeffBernstein}{\QuantityRelatedTo{\SymbolManifoldCoeffBernstein}{\MeshBezier}} \newcommand{\ManifoldCoeffVec}{\Vec{\SymbolManifoldCoeff}} \newcommand{\ManifoldCoeffVecUspline}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUspline}}{\MeshUspline}} \newcommand{\ManifoldCoeffVecBernstein}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernstein}}{\MeshBezier}} \newcommand{\ManifoldCoeffSet}{\Set{\SymbolManifoldCoeff}} \newcommand{\ManifoldCoeffSetUspline}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUspline}}{\MeshUspline}} \newcommand{\ManifoldCoeffSetBernstein}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernstein}}{\MeshBezier}} \newcommand{\ManifoldCoeffsVec}{\Vec{\ManifoldCoeffUpper}} \newcommand{\ManifoldCoeffsVecUspline}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUsplineUpper}}{\MeshUspline}} \newcommand{\ManifoldCoeffsVecBernstein}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\MeshBezier}} \newcommand{\ManifoldCoeffsVecCell}{\QuantityRelatedTo{\Vec{\ManifoldCoeffUpper}}{\Cell}} \newcommand{\ManifoldCoeffsVecUsplineCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUsplineUpper}}{\QCO{\MeshUspline}{\Cell}}} \newcommand{\ManifoldCoeffsVecBernsteinCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\MeshBezier}{\Cell}}} \newcommand{\ManifoldCoeffsVecSubmeshCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\Submesh}{\Cell}}} \newcommand{\ManifoldCoeffsVecBernsteinSegmentOfVolumeEnv}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\SegmentOfVolumeEnv}} \newcommand{\ManifoldCoeffsSet}{\Set{\ManifoldCoeffUpper}} \newcommand{\ManifoldCoeffsSetUspline}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUsplineUpper}}{\MeshUspline}} \newcommand{\ManifoldCoeffsSetBernstein}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\MeshBezier}} \newcommand{\ManifoldCoeffsSetCell}{\QuantityRelatedTo{\Set{\ManifoldCoeffUpper}}{\Cell}} \newcommand{\ManifoldCoeffsSetUsplineCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUsplineUpper}}{\QCO{\MeshUspline}{\Cell}}} \newcommand{\ManifoldCoeffsSetBernsteinCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\MeshBezier}{\Cell}}} \newcommand{\ManifoldCoeffsSetSubmeshCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\Submesh}{\Cell}}} \newcommand{\ManifoldMap}[2]{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldTemporalMap}[2]{\QuantityRelatedTo{#2}{#1,\SymbolTime}} \newcommand{\ManifoldPartitionMap}{\ManifoldMap{\ParamDomainOnPartition}{\Manifold}} \newcommand{\ManifoldCADMap}{\ManifoldMap{\ParamDomainOnCAD}{\Manifold}} \newcommand{\ManifoldCADMapModified}{\ManifoldMap{\ParamDomainOnCADModified}{\Manifold}} \newcommand{\ManifoldBezierMap}{\ManifoldMap{\ParamDomainOnMeshBezier}{\Manifold}} \newcommand{\ManifoldUsplineMap}{\ManifoldMap{\ParamDomainOnMeshUspline}{\Manifold}} \newcommand{\VolumeEnvMap}{\ManifoldMap{\ParamDomainEnv}{\VolumeEnv}} \newcommand{\VolumeMap}{\ManifoldMap{\ParamDomain}{\Volume}} \newcommand{\SurfaceMap}{\ManifoldMap{\ParamDomainBdry}{\Surface}} \newcommand{\ManifoldMapDef}[2]{\FuncDef{\ManifoldMap{#1}{#2}}{#1}{#2}} \newcommand{\ManifoldMapInverseDef}[2]{\FuncDef{\Inverse{\ManifoldMap{#1}{#2}}}{#2}{#1}} \newcommand{\ManifoldTemporalMapDef}[2]{\FuncDef{\ManifoldTemporalMap{#1}{#2}}{#1\otimes\Reals_{+}}{#2}} \newcommand{\ManifoldPartitionMapDef}{\ManifoldMapDef{\ParamDomainOnPartition}{\Manifold}} \newcommand{\ManifoldBezierMapDef}{\ManifoldMapDef{\ParamDomainOnMeshBezier}{\Manifold}} \newcommand{\ManifoldUsplineMapDef}{\ManifoldMapDef{\ParamDomainOnMeshUspline}{\Manifold}} \newcommand{\VolumeEnvMapDef}{\ManifoldMapDef{\ParamDomainEnv}{\VolumeEnv}} \newcommand{\VolumeMapDef}{\ManifoldMapDef{\ParamDomain}{\Volume}} \newcommand{\SurfaceMapDef}{\ManifoldMapDef{\ParamDomainBdry}{\Surface}} \newcommand{\SurfaceToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\Surface}} \newcommand{\ManifoldCoordDetailed}[2]{\QCO{#1}{#2}} \newcommand{\ManifoldCoordVecDetailed}[2]{\QCO{#1}{\Vec{#2}}} \newcommand{\ManifoldCoord}{x} \newcommand{\ManifoldCoordVec}{\Vec{x}} \newcommand{\ManifoldPartitionMapCoord}{\ManifoldCoordDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldPartitionMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoord}{\ManifoldCoordDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\CovariantBasisSurfVec}{\Vec{\SymbolCovariantBasisSurf}} \newcommand{\CovariantBasisVolVec}{\Vec{\SymbolCovariantBasisVol}} \newcommand{\MetricComp}{\SymbolMetric} \newcommand{\MetricTen}{\Mat{\MetricComp}} \newcommand{\CurvatureComp}{\SymbolCurvature} \newcommand{\CurvatureTen}{\Mat{\CurvatureComp}} \newcommand{\CurvCoordIdOne}{\SymbolCurvCoordIdOne} \newcommand{\CurvCoordIdTwo}{\SymbolCurvCoordIdTwo} \newcommand{\CurvCoordIdThree}{\SymbolCurvCoordIdThree} \newcommand{\OrthogonalCoordTransform}{\Mat{\SymbolOrthogonalTransform}} \newcommand{\InversionPointTen}{\Vec{p}} \newcommand{\InversionPointComp}{p} \newcommand{\BoundingVolume}[1]{\QuantityFunctionOf{\Set{bv}}{#1}} \newcommand{\BoundingVolumeSet}[1]{\QuantityFunctionOf{\Set{BV}}{#1}} \newcommand{\BoundingVolumeTree}[1]{\QuantityFunctionOf{\Set{BVH}}{#1}} \newcommand{\AxisAlignedBoundingBox}[1]{\QuantityFunctionOf{\Set{AABB}}{#1}} \newcommand{\AABBCornerLower}{\Vec{c}^l} \newcommand{\AABBCornerLowerComp}{c^l} \newcommand{\AABBCornerUpper}{\Vec{c}^u} \newcommand{\AABBCornerUpperComp}{c^u} \newcommand{\LowerBound}[2]{B^l\left(#1,#2\right)} \newcommand{\UpperBound}[2]{B^u\left(#1,#2\right)} \newcommand{\UpperBoundValue}{U} \newcommand{\UpperBoundValueBV}{U^{\text{BV}}} \newcommand{\UpperBoundValuePoints}{U^{\text{point}}} \newcommand{\GapTolerance}{\varepsilon^{\text{gap}}} \newcommand{\NearestCells}[3][]{\Set{C}_{#1}\left(#2,#3\right)} \newcommand{\BVHNearestGeom}[3][]{c_{#1}\left(#2,#3\right)} \newcommand{\BVHGeomSetOfSets}{\Set{G}} \newcommand{\BVHTessPointSet}{\Set{P}} \newcommand{\BVHBVSet}{\Set{L}} \newcommand{\SimplexMap}[1]{\QuantityFunctionOf{\Mat{L}}{#1}} \newcommand{\ParamCoordVecTarget}{\ParamCoordVecSimple_0} \newcommand{\SpatialCoordVecTarget}{\SpatialCoordVec_0} \newcommand{\SpatialCoordVecToSegmentSetMap}{\SegmentSet^f} \newcommand{\SpatialCoordVecToParamCoordVecSetMap}{\Inverse{\widetilde{\ManifoldMap{\ParamDomainEnv}{\Surface}}}} \newcommand{\HessMatComp}{H} \newcommand{\HessMatTen}{\Mat{\HessMatComp}} \newcommand{\QuadraturePointEnv}[2]{\SymbolEnvModifier{\QuadraturePoint{#1}{#2}}} \newcommand{\QuadraturePoint}[2]{\SymbolQuadraturePoint_{#1}^{#2}} \newcommand{\QuadraturePointToElemIndexMap}[1]{\operatorname{qe}(#1)} \newcommand{\QuadratureWeightEnv}[2]{\SymbolEnvModifier{\QuadratureWeight{#1}{#2}}} \newcommand{\QuadratureWeight}[2]{\SymbolQuadratureWeight_{#1}^{#2}} \newcommand{\QuadratureSet}{\Set{\SymbolQuadratureSet}} \newcommand{\QuadratureSetInside}{\QuadratureSet^{\SymbolInside}} \newcommand{\QuadratureSetOutside}{\QuadratureSet^{\SymbolOutside}} \newcommand{\QuadratureSubdDepth}{k} \newcommand{\ClosestPointMap}[1]{\QuantityChildOf{#1}{\Vec{\SymbolClosestPointMap}}} \newcommand{\ClosestPointMapCAD}{\ClosestPointMap{\SymbolCAD}} \newcommand{\ClosestPointMapCADModified}{\ClosestPointMap{\SymbolCADModified}} \newcommand{\ProjectionInto}[1]{\QuantityRelatedTo{\SymbolProjection}{#1}} \newcommand{\ProjectionIntoBernsteinCell}{\ProjectionInto{\Cell}} \newcommand{\ProjectionIntoBernsteinElem}{\ProjectionInto{\Elem}} \newcommand{\ProjectionIntoMeshBezier}{\ProjectionInto{\MeshBezier}} \newcommand{\ProjectionIntoMeshUspline}{\ProjectionInto{\MeshUspline}} \newcommand{\LinearInterpolationOp}[1]{\QRT{\SymbolLinearInterpolation}{#1}} \newcommand{\Valence}{k} \newcommand{\ArbitraryVector}[1]{\QSB{v}{#1}} \newcommand{\RotationMatrix}[1]{R^{#1}} \newcommand{\RepVecSymbol}{u} \newcommand{\RepVec}[1]{\QSB{\RepVecSymbol}{#1}} \newcommand{\RepVecVec}{\Vec{\RepVecSymbol}} \newcommand{\AlignmentField}{\RepVecVec'} \newcommand{\BiharmonicEnergy}{\QSB{E}{B}} \newcommand{\PrescribedRepVec}[1]{\QSB{d}{#1}} \newcommand{\AlignmentParameter}{\lambda} \newcommand{\SingularityIndex}[1]{\QSB{\chi}{#1}} \newcommand{\AngularDefect}[1]{\QSB{K}{#1}} \newcommand{\ArbitraryAngle}{\theta} \newcommand{\ParallelTransport}[1]{\QSB{\varphi}{#1}} \newcommand{\MinusPiToPi}[1]{\lfloor #1 \rfloor} \newcommand{\AreaOperator}[1]{\QFO{\operatorname{area}}{#1}} \newcommand{\VectorAngle}[1]{\QFO{\operatorname{arg}}{#1}} \newcommand{\DistanceFunction}{\phi} \newcommand{\DistanceGradient}{X} \newcommand{\HeatField}{\eta} \newcommand{\RegionAtZeroDistance}{\gamma}$$\newcommand{\SymbolDisp}{u} \newcommand{\SymbolDispUpper}{U} \newcommand{\SymbolVelocity}{v} \newcommand{\SymbolVelocityUpper}{V} \newcommand{\SymbolAcceleration}{a} \newcommand{\SymbolAccelerationUpper}{A} \newcommand{\SymbolMass}{M} \newcommand{\SymbolLength}{L} \newcommand{\SymbolArea}{A} \newcommand{\SymbolConstraint}{g} \newcommand{\SymbolConstraintUpper}{G} \newcommand{\SymbolPenalty}{\varepsilon} \newcommand{\SymbolLagrangeMultRef}{\Lambda} \newcommand{\SymbolLagrangeMultCurr}{\lambda} \newcommand{\SymbolFict}{f} \newcommand{\SymbolTracForce}{h} \newcommand{\SymbolTracForceUpper}{H} \newcommand{\SymbolBodyForce}{b} \newcommand{\SymbolBodyForceUpper}{B} \newcommand{\SymbolVolumeRef}{\SymbolVolumeUpper} \newcommand{\SymbolSurfaceRef}{\SymbolSurfaceUpper} \newcommand{\SymbolCurveRef}{\SymbolCurveUpper} \newcommand{\SymbolPointRef}{\SymbolPointUpper} \newcommand{\SymbolVolumeCurr}{\SymbolVolume} \newcommand{\SymbolSurfaceCurr}{\SymbolSurface} \newcommand{\SymbolCurveCurr}{\SymbolCurve} \newcommand{\SymbolPointCurr}{\SymbolPoint} \newcommand{\SymbolDeformGradInc}{f} \newcommand{\SymbolDeformGrad}{F} \newcommand{\SymbolStrainGreenLagrange}{E} \newcommand{\SymbolDeformCauchyGreenLeft}{b} \newcommand{\SymbolDeformCauchyGreenRight}{C} \newcommand{\SymbolStrainDisp}{B} \newcommand{\SymbolStrainSymGrad}{\epsilon} \newcommand{\SymbolStrainPlasticEquiv}{\alpha} \newcommand{\SymbolHardeningPlastic}{k} \newcommand{\SymbolYieldFunction}{f} \newcommand{\SymbolConsistencyParameterPlastic}{\gamma} \newcommand{\SymbolPlasticModuliScaling}{\beta} \newcommand{\SymbolYieldSurfaceNormal}{n} \newcommand{\SymbolEnergy}{\Pi} \newcommand{\SymbolEnergyDensityStrain}{\Psi} \newcommand{\SymbolEnergyDensityStrainVol}{U} \newcommand{\SymbolResidual}{R} \newcommand{\SymbolForce}{F} \newcommand{\SymbolStiffness}{K} \newcommand{\SymbolSolution}{d} \newcommand{\ParamDomainBdryDisp}{\ParamDomainBdry^{\SymbolDisp}} \newcommand{\ParamDomainBdryTrac}{\ParamDomainBdry^{\SymbolTracForce}} \newcommand{\VolumeEnvRef}{\Set{\SymbolEnvModifier{\SymbolVolumeRef}}} \newcommand{\VolumeRef}{\Set{\SymbolVolumeRef}} \newcommand{\VolumeRefClosure}{\overline{\VolumeRef}} \newcommand{\VolumeRefFict}{\VolumeEnvRef\setminus\VolumeRef} \newcommand{\dVolumeRef}{\Differential[\VolumeRef]} \newcommand{\VolumeIndicatorDef}{\FuncDef{\VolumeIndicator_{\PenaltyStiffness}}{\VolumeEnvRef}{\Reals_+}} \newcommand{\SurfaceEnvRef}{\Set{\SymbolEnvModifier{\SymbolSurfaceRef}}} \newcommand{\SurfaceRef}{\Set{\SymbolSurfaceRef}} \newcommand{\SurfaceRefWildCard}{\SurfaceRef^{\SymbolWildCard}} \newcommand{\SurfaceRefDisp}{\SurfaceRef^{\SymbolDisp}} \newcommand{\SurfaceRefTrac}{\SurfaceRef^{\SymbolTracForce}} \newcommand{\SurfaceRefFict}{\SurfaceRef^{\SymbolFict}} \newcommand{\SurfaceRefDispExternal}{\SurfaceRefDisp\setminus\SurfaceRefFict} \newcommand{\SurfaceRefTracExternal}{\SurfaceRefTrac\setminus\SurfaceRefFict} \newcommand{\SurfaceRefFictTrac}{\SurfaceRefTrac\cap\SurfaceRefFict} \newcommand{\SurfaceRefFictDisp}{\SurfaceRefDisp\cap\SurfaceRefFict} \newcommand{\SurfaceRefFictExternal}{\SurfaceRefFict\setminus\SurfaceRef} \newcommand{\dSurfaceRef}{\Differential[\SurfaceRef]} \newcommand{\CurveRef}{\Set{\SymbolCurveRef}} \newcommand{\dCurveRef}{\Differential[\CurveRef]} \newcommand{\PointRef}{\Set{\SymbolPointRef}} \newcommand{\PointRefDisp}{\PointRef^{\SymbolDisp}} \newcommand{\PointRefTrac}{\PointRef^{\SymbolTracForce}} \newcommand{\dPointRef}{\Differential[\PointRef]} \newcommand{\dPointRefTrac}{\Differential[\PointRefTrac]} \newcommand{\RefCoord}[1]{\ManifoldCoordDetailed{#1}{X}} \newcommand{\RefCoordVec}[1]{\ManifoldCoordVecDetailed{#1}{X}} \newcommand{\VolumeEnvRefCoord}{\RefCoord{\VolumeEnvRef}} \newcommand{\VolumeEnvRefCoordVec}{\RefCoordVec{\VolumeEnvRef}} \newcommand{\VolumeRefCoord}{\RefCoord{\VolumeRef}} \newcommand{\VolumeRefCoordVec}{\RefCoordVec{\VolumeRef}} \newcommand{\SurfaceRefCoord}{\RefCoord{\SurfaceRef}} \newcommand{\SurfaceRefCoordVec}{\RefCoordVec{\SurfaceRef}} \newcommand{\SurfaceRefDispCoord}{\RefCoord{\SurfaceRefDisp}} \newcommand{\SurfaceRefDispCoordVec}{\RefCoordVec{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracCoord}{\RefCoord{\SurfaceRefTrac}} \newcommand{\SurfaceRefTracCoordVec}{\RefCoordVec{\SurfaceRefTrac}} \newcommand{\CurveRefCoord}{\RefCoord{\CurveRef}} \newcommand{\CurveRefCoordVec}{\RefCoordVec{\CurveRef}} \newcommand{\UsplineBasisFuncOverCurveRef}[1]{\UsplineBasisFuncDetailed{\CurveRef}{#1}} \newcommand{\UsplineBasisFuncOverSurfaceRefDisp}[1]{\UsplineBasisFuncDetailed{\SurfaceRefDisp}{#1}} \newcommand{\VolumeEnvCurr}{\Set{\SymbolEnvModifier{\SymbolVolumeCurr}}} \newcommand{\VolumeCurr}{\Set{\SymbolVolumeCurr}} \newcommand{\VolumeCurrClosure}{\overline{\VolumeCurr}} \newcommand{\dVolumeCurr}{\Differential[\VolumeCurr]} \newcommand{\SurfaceEnvCurr}{\Set{\SymbolEnvModifier{\SymbolSurfaceCurr}}} \newcommand{\SurfaceCurr}{\Set{\SymbolSurfaceCurr}} \newcommand{\SurfaceCurrDisp}{\SurfaceCurr^{\SymbolDisp}} \newcommand{\SurfaceCurrTrac}{\SurfaceCurr^{\SymbolTracForce}} \newcommand{\dSurfaceCurr}{\Differential[\SurfaceCurr]} \newcommand{\CurveCurr}{\Set{\SymbolCurveCurr}} \newcommand{\dCurveCurr}{\Differential[\CurveCurr]} \newcommand{\PointCurr}{\Set{\SymbolPointCurr}} \newcommand{\PointCurrDisp}{\PointCurr^{\SymbolDisp}} \newcommand{\PointCurrTrac}{\PointCurr^{\SymbolTracForce}} \newcommand{\dPointCurr}{\Differential[\PointCurr]} \newcommand{\CurrCoord}[1]{\ManifoldCoordDetailed{#1}{x}} \newcommand{\CurrCoordVec}[1]{\ManifoldCoordVecDetailed{#1}{x}} \newcommand{\VolumeEnvCurrCoord}{\CurrCoord{\VolumeEnvCurr}} \newcommand{\VolumeEnvCurrCoordVec}{\CurrCoordVec{\VolumeEnvCurr}} \newcommand{\VolumeCurrCoord}{\CurrCoord{\VolumeCurr}} \newcommand{\VolumeCurrCoordVec}{\CurrCoordVec{\VolumeCurr}} \newcommand{\SurfaceCurrCoord}{\CurrCoord{\SurfaceCurr}} \newcommand{\SurfaceCurrCoordVec}{\CurrCoordVec{\SurfaceCurr}} \newcommand{\SurfaceCurrDispCoord}{\CurrCoord{\SurfaceCurrDisp}} \newcommand{\SurfaceCurrDispCoordVec}{\CurrCoordVec{\SurfaceCurrDisp}} \newcommand{\SurfaceCurrTracCoord}{\CurrCoord{\SurfaceCurrTrac}} \newcommand{\SurfaceCurrTracCoordVec}{\CurrCoordVec{\SurfaceCurrTrac}} \newcommand{\CurveCurrCoord}{\CurrCoord{\CurveRef}} \newcommand{\CurveCurrCoordVec}{\CurrCoordVec{\CurveRef}} \newcommand{\VolumeEnvRefMap}{\ManifoldMap{\ParamDomainEnv}{\VolumeEnvRef}} \newcommand{\GenericGradOverVolumeEnvRefMap}[1]{\Grad{\VolumeEnvRefMap}{#1}} \newcommand{\VolumeRefMap}{\ManifoldMap{\ParamDomain}{\VolumeRef}} \newcommand{\GenericGradOverVolumeRefMap}[1]{\Grad{\VolumeRefMap}{#1}} \newcommand{\SurfaceRefDispMap}{\ManifoldMap{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMap}{\ManifoldMap{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\CurveRefMap}{\ManifoldMap{\ParamDomain}{\CurveRef}} \newcommand{\GenericGradOverCurveRefMap}[1]{\Grad{\CurveRefMap}{#1}} \newcommand{\VolumeEnvRefMapDef}{\ManifoldMapDef{\ParamDomainEnv}{\VolumeEnvRef}} \newcommand{\SurfaceRefDispMapDef}{\ManifoldMapDef{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMapDef}{\ManifoldMapDef{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\SurfaceRefToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRef}} \newcommand{\SurfaceRefDispToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRefTrac}} \newcommand{\CurveRefMapDef}{\ManifoldMapDef{\ParamDomain}{\CurveRef}} \newcommand{\GenericDeformMap}{\Vec{\varphi}} \newcommand{\VolumeEnvDeformMap}{\ManifoldMap{\VolumeEnvRef}{\VolumeEnvCurr}} \newcommand{\GenericGradOverVolumeEnvDeformMap}[1]{\Grad{\VolumeEnvDeformMap}{#1}} \newcommand{\VolumeDeformMap}{\ManifoldMap{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeDeformTemporalMap}{\ManifoldTemporalMap{\VolumeRef}{\VolumeCurr}} \newcommand{\GradVolumeDeformTemporalMap}{\GenericGradOverVolumeRefMap{\VolumeDeformTemporalMap}} \newcommand{\SurfaceDeformDispMap}{\ManifoldMap{\SurfaceRefDisp}{\SurfaceCurrDisp}} \newcommand{\SurfaceDeformTracMap}{\ManifoldMap{\SurfaceRefTrac}{\SurfaceCurrTrac}} \newcommand{\CurveDeformMap}{\ManifoldMap{\CurveRef}{\CurveCurr}} \newcommand{\CurveDeformTemporalMap}{\ManifoldTemporalMap{\CurveRef}{\CurveCurr}} \newcommand{\VolumeDeformMapDef}{\ManifoldMapDef{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeDeformTemporalMapDef}{\ManifoldTemporalMapDef{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeEnvDeformMapDef}{\ManifoldMapDef{\VolumeEnvRef}{\VolumeEnvCurr}} \newcommand{\CurveDeformMapDef}{\ManifoldMapDef{\CurveRef}{\CurveCurr}} \newcommand{\CurveDeformTemporalMapDef}{\ManifoldTemporalMapDef{\CurveRef}{\CurveCurr}} \newcommand{\DispTrialSpaceOverVolumeEnvRef}{\SpaceHilbert{U}(\VolumeEnvRef)} \newcommand{\DispTestSpaceOverVolumeEnvRef}{\delta \DispTrialSpaceOverVolumeEnvRef} \newcommand{\DispTrialSpaceOverVolumeRef}{\SpaceHilbert{U}(\VolumeRef)} \newcommand{\DispTestSpaceOverVolumeRef}{\delta \DispTrialSpaceOverVolumeRef} \newcommand{\DispTrialSpaceOverCurveRef}{\SpaceHilbert{U}(\CurveRef)} \newcommand{\DispTestSpaceOverCurveRef}{\delta \DispTrialSpaceOverCurveRef} \newcommand{\DispFieldRefComp}{\SymbolDispUpper} \newcommand{\DispFieldRefTen}{\Vec{\DispFieldRefComp}} \newcommand{\DispFieldCurrComp}{\SymbolDisp} \newcommand{\DispFieldCurrTen}{\Vec{\DispFieldCurrComp}} \newcommand{\VelFieldCurrTen}{\Vec{\SymbolVelocity}} \newcommand{\AccFieldCurrTen}{\Vec{\SymbolAcceleration}} \newcommand{\DeformGradComp}{\SymbolDeformGrad} \newcommand{\DeformGradTen}{\Mat{\DeformGradComp}} \newcommand{\DeformGradDet}{\Det{\DeformGradTen}} \newcommand{\KinematicElast}{e} \newcommand{\KinematicPlast}{p} \newcommand{\DivVolumeEnvRef}[1]{\Div{\VolumeEnvRefCoordVec}{#1}} \newcommand{\DivVolumeEnvCurr}[1]{\Div{\VolumeEnvCurrCoordVec}{#1}} \newcommand{\DeformGradIncComp}{\SymbolDeformGradInc} \newcommand{\DeformGradIncTen}{\Mat{\DeformGradIncComp}} \newcommand{\DeformGradIncDevComp}{\bar{\SymbolDeformGradInc}} \newcommand{\DeformGradIncDevTen}{\bar{\Mat{\DeformGradIncComp}}} \newcommand{\JAsDeformGradDet}{J} \newcommand{\StretchTen}{\Mat{V}} \newcommand{\StrainGreenLagrangeComp}{\SymbolStrainGreenLagrange} \newcommand{\StrainGreenLagrangeTen}{\Mat{\StrainGreenLagrangeComp}} \newcommand{\StrainGreenLagrangeVoigt}{\tilde{\StrainGreenLagrangeTen}} \newcommand{\DeformCauchyGreenRightComp}{\SymbolDeformCauchyGreenRight} \newcommand{\DeformCauchyGreenRightTen}{\Mat{\DeformCauchyGreenRightComp}} \newcommand{\DeformCauchyGreenLeftComp}{\SymbolDeformCauchyGreenLeft} \newcommand{\DeformCauchyGreenLeftTen}{\Mat{\DeformCauchyGreenLeftComp}} \newcommand{\DeformCauchyGreenLeftDevComp}{\bar{\SymbolDeformCauchyGreenLeft}} \newcommand{\DeformCauchyGreenLeftDevTen}{\bar{\Mat{\DeformCauchyGreenLeftComp}}} \newcommand{\StrainSymGradComp}{\SymbolStrainSymGrad} \newcommand{\StrainSymGradTen}{\Mat{\StrainSymGradComp}} \newcommand{\StrainDispMat}{\Mat{\SymbolStrainDisp}} \newcommand{\DeformCauchyGreenRightDevComp}{\bar{\SymbolDeformCauchyGreenRight}} \newcommand{\DeformCauchyGreenRightDevTen}{\bar{\Mat{\DeformCauchyGreenRightComp}}} \newcommand{\KinematicElastoplast}{{\rm ep}} \newcommand{\Trial}{{\rm trial}} \newcommand{\DeformCauchyGreenLeftElasticTenDef}{\DeformCauchyGreenLeftTen^\KinematicElast \DefEq \DeformGradTen^\KinematicElast \DeformGradTen^{\KinematicElast T}} \newcommand{\DeformCauchyGreenLeftElasticDevTenDef}{{\DeformCauchyGreenLeftDevTen}^\KinematicElast \DefEq {\JAsDeformGradDet}^{\KinematicElast-\frac{2}{3}} {\DeformCauchyGreenLeftTen}^\KinematicElast} \newcommand{\DeformCauchyGreenRightPlasticTenDef}{\DeformCauchyGreenRightTen^\KinematicPlast \DefEq \DeformGradTen^{\KinematicPlast T} \DeformGradTen^\KinematicPlast} \newcommand{\StrainPlasticEquiv}{\SymbolStrainPlasticEquiv} \newcommand{\ConsistencyParameterPlasticDiscrete}{\Delta \SymbolConsistencyParameterPlastic} \newcommand{\YieldSurfaceNormalComp}{\SymbolYieldSurfaceNormal} \newcommand{\YieldSurfaceNormalTen}{\Mat{\SymbolYieldSurfaceNormal}} \newcommand{\UnitNormalRefComp}{N} \newcommand{\UnitNormalRefTen}{\Vec{\UnitNormalRefComp}} \newcommand{\UnitNormalCurrComp}{\UnitNormalComp} \newcommand{\UnitNormalCurrTen}{\UnitNormal} \newcommand{\DispFieldOverVolumeEnvRefTenDef}{\FuncDef{\DispFieldRefTen}{\VolumeEnvRef}{\SpatialDomain}} \newcommand{\DispFieldOverVolumeEnvCurrTenDef}{\DispFieldCurrTen \DefEq \DispFieldRefTen \circ \Inverse{\VolumeEnvDeformMap}} \newcommand{\DispFieldOverVolumeRefTenDef}{\FuncDef{\DispFieldRefTen}{\VolumeRef}{\SpatialDomain}} \newcommand{\DispFieldOverVolumeRefTemporalTenDef}{\FuncDef{\DispFieldRefTen}{\VolumeRef\otimes\SymbolTime}{\SpatialDomain}} \newcommand{\DispFieldOverVolumeCurrTenDef}{\DispFieldCurrTen \DefEq \DispFieldRefTen \circ \Inverse{\VolumeDeformMap}} \newcommand{\DispFieldOverCurveRefTenDef}{\FuncDef{\DispFieldRefTen}{\CurveRef}{\SpatialDomain}} \newcommand{\DispFieldOverCurveRefTemporalTenDef}{\FuncDef{\DispFieldRefTen}{\CurveRef\otimes\SymbolTime}{\SpatialDomain}} \newcommand{\DeformGradOverVolumeRefTenDef}{\FuncDef{\DeformGradTen}{\VolumeRef}{\VolumeCurr}} \newcommand{\DeformGradOverCurveRefTenDef}{\FuncDef{\DeformGradTen}{\CurveRef}{\CurveCurr}} \newcommand{\StrainGreenLagrangeOverVolumeEnvRefTenDef}{\FuncDef{\StrainGreenLagrangeTen}{\VolumeEnvRef}{\VolumeEnvCurr}} \newcommand{\StrainGreenLagrangeOverVolumeRefTenDef}{\FuncDef{\StrainGreenLagrangeTen}{\VolumeRef}{\VolumeCurr}} \newcommand{\StrainGreenLagrangeOverCurveRefTenDef}{\FuncDef{\StrainGreenLagrangeTen}{\CurveRef}{\CurveCurr}} \newcommand{\DeformCauchyGreenLeftTenDef}{\DeformCauchyGreenLeftTen \DefEq \DeformGradTen \DeformGradTen^T} \newcommand{\DeformCauchyGreenLeftDevTenDef}{\DeformCauchyGreenLeftDevTen \DefEq \DeformGradDet^{-\frac{2}{3}} \DeformCauchyGreenLeftTen} \newcommand{\StressPKOneTen}{\Mat{P}} \newcommand{\StressPKTwoComp}{S} \newcommand{\StressPKTwoTen}{\Mat{\StressPKTwoComp}} \newcommand{\StressPKTwoVoigt}{\tilde{\StressPKTwoTen}} \newcommand{\StressCauchyComp}{\sigma} \newcommand{\StressCauchyTen}{\Mat{\sigma}} \newcommand{\StressCauchyVoigt}{\tilde{\StressCauchyTen}} \newcommand{\StressCauchyMean}{p} \newcommand{\StressCauchyYield}{\StressCauchyComp_Y} \newcommand{\StressKirchhoffComp}{\tau} \newcommand{\StressKirchhoffTen}{\Mat{\tau}} \newcommand{\StressKirchhoffVoigt}{\tilde{\StressKirchhoffTen}} \newcommand{\StressKirchhoffDevComp}{s} \newcommand{\StressKirchhoffDevTen}{\Mat{\StressKirchhoffDevComp}} \newcommand{\ModuliElastRefComp}{C} \newcommand{\ModuliElastRefTen}{\Mat{\ModuliElastRefComp}} \newcommand{\ModuliElastRefVoigt}{\tilde{\ModuliElastRefTen}} \newcommand{\ModuliElastCurrComp}{c} \newcommand{\ModuliElastCurrTen}{\Mat{\ModuliElastCurrComp}} \newcommand{\ModuliElastCurrVoigt}{\tilde{\ModuliElastCurrTen}} \newcommand{\MaterialYoungsModulus}{E} \newcommand{\MaterialPoissonsRatio}{\nu} \newcommand{\MaterialMassDensity}{\rho} \newcommand{\MaterialBulkModulus}{\kappa} \newcommand{\MaterialShearModulus}{\mu} \newcommand{\MaterialShearModulusDev}{\bar{\MaterialShearModulus}} \newcommand{\MaterialThermalExpansion}{\alpha_{\text{thermal}}} \newcommand{\Area}{\SymbolArea} \newcommand{\Length}{\SymbolLength} \newcommand{\Width}{b} \newcommand{\Height}{h} \newcommand{\PenaltyStiffness}{\SymbolPenalty_{\SymbolStiffness}} \newcommand{\PenaltyDisp}{\SymbolPenalty_{\SymbolDisp}} \newcommand{\BodyForceRefComp}{\SymbolBodyForceUpper} \newcommand{\BodyForceRefTen}{\Vec{\BodyForceRefComp}} \newcommand{\BodyForceCurrComp}{\SymbolBodyForce} \newcommand{\BodyForceCurrTen}{\Vec{\BodyForceCurrComp}} \newcommand{\TracForceRefComp}{\SymbolTracForceUpper} \newcommand{\TracForceRefTen}{\Vec{\TracForceRefComp}} \newcommand{\TracForceCurrComp}{\SymbolTracForce} \newcommand{\TracForceCurrTen}{\Vec{\TracForceCurrComp}} \newcommand{\Pressure}{p} \newcommand{\BodyForceOverVolumeEnvRefTenDef}{\FuncDef{\BodyForceRefTen}{\VolumeEnvRef}{\SpatialDomain}} \newcommand{\BodyForceOverVolumeEnvCurrTenDef}{\BodyForceCurrTen \DefEq \BodyForceRefTen \circ \Inverse{\VolumeEnvDeformMap}} \newcommand{\BodyForceOverCurveRefCompDef}{\FuncDef{\BodyForceRefComp}{\CurveRef}{\Reals}} \newcommand{\BodyForceOverCurveRefTenDef}{\FuncDef{\BodyForceRefTen}{\CurveRef}{\SpatialDomain}} \newcommand{\BodyForceOverCurveCurrCompDef}{\BodyForceCurrComp \DefEq \BodyForceRefComp \circ \Inverse{\CurveDeformMap}} \newcommand{\BodyForceOverCurveCurrTenDef}{\BodyForceCurrTen \DefEq \BodyForceRefTen \circ \Inverse{\CurveDeformMap}} \newcommand{\TracForceOverSurfaceRefTracTenDef}{\FuncDef{\TracForceRefTen}{\SurfaceRefTrac}{\SpatialDomain}} \newcommand{\TracForceOverSurfaceCurrTracTenDef}{\TracForceCurrTen \DefEq \TracForceRefTen \circ \Inverse{\SurfaceDeformTracMap}} \newcommand{\TracForceOverCurveRefCompDef}{\FuncDef{\TracForceRefComp}{\PointRefTrac}{\Reals}} \newcommand{\TracForceOverCurveRefTenDef}{\FuncDef{\TracForceRefTen}{\PointRefTrac}{\SpatialDomain}} \newcommand{\TracForceOverCurveCurrCompDef}{\TracForceCurrComp \DefEq \TracForceRefComp \circ \Inverse{\CurveDeformMap}} \newcommand{\TracForceOverCurveCurrTenDef}{\TracForceCurrTen \DefEq \TracForceRefTen \circ \Inverse{\CurveDeformMap}} \newcommand{\ConstraintRefTen}{\Vec{\SymbolConstraintUpper}} \newcommand{\LagrangeMultTestSpaceOverSurfaceRef}{\delta \LagrangeMultTrialSpaceOverSurfaceRef} \newcommand{\LagrangeMultTrialSpaceOverSurfaceRef}{\SpaceHilbert{L}(\SurfaceRefDisp)} \newcommand{\LagrangeMultRefComp}{\SymbolLagrangeMultRef} \newcommand{\LagrangeMultRefTen}{\Vec{\LagrangeMultRefComp}} \newcommand{\LagrangeMultCurrComp}{\SymbolLagrangeMultCurr} \newcommand{\LagrangeMultCurrTen}{\Vec{\LagrangeMultCurrComp}} \newcommand{\ConstraintOverSurfaceRefDispTenDef}{\FuncDef{\ConstraintRefTen}{\SurfaceRefDisp}{\SpatialDomain}} \newcommand{\LagrangeMultOverSurfaceCurrTenDef}{\LagrangeMultCurrTen \DefEq \LagrangeMultRefTen \circ \Inverse{\SurfaceDeformDispMap}} \newcommand{\Energy}{\SymbolEnergy} \newcommand{\EnergyElastic}[1]{\QFO{\Energy}{#1}} \newcommand{\EnergyElasticNoArg}{\QFONA{\Energy}} \newcommand{\EnergyEnv}{\SymbolEnvModifier{\Energy}} \newcommand{\EnergyInside}{\Energy^{\SymbolInside}} \newcommand{\EnergyOutside}{\Energy^{\SymbolOutside}} \newcommand{\EnergyConstraint}{\Energy^{\LagrangeMultCurrComp}} \newcommand{\EnergyDensityStrain}{\SymbolEnergyDensityStrain} \newcommand{\EnergyDensityStrainVol}{\SymbolEnergyDensityStrainVol} \newcommand{\EnergyDensityStrainDev}{\bar{\SymbolEnergyDensityStrain}} \newcommand{\EnergyInsideOverVolumeEnvRefDef}{\FuncDef{\EnergyInside}{\DispTrialSpaceOverVolumeEnvRef}{\Reals}} \newcommand{\EnergyOutsideOverVolumeEnvRefDef}{\FuncDef{\EnergyOutside}{\DispTrialSpaceOverVolumeEnvRef}{\Reals}} \newcommand{\EnergyConstraintOverVolumeEnvRefDef}{\FuncDef{\EnergyConstraint}{\DispTrialSpaceOverVolumeEnvRef\TensorProduct\LagrangeMultTrialSpaceOverSurfaceRef}{\Reals}} \newcommand{\EnergyDensityStrainOverVolumeEnvRefDef}{\FuncDef{\EnergyDensityStrain}{\VolumeEnvRef}{\Reals}} \newcommand{\ResidualComp}{\SymbolResidual} \newcommand{\ResidualVec}{\Vec{\ResidualComp}} \newcommand{\ForceVec}{\Vec{\SymbolForce}} \newcommand{\ForceInternalVec}{\ForceVec^{int}} \newcommand{\ForceExternalVec}{\ForceVec^{ext}} \newcommand{\ForceConstraintPenaltyVec}{\ForceVec^{\PenaltyDisp}} \newcommand{\ForceConstraintLagrangeVec}{\ForceVec^{\lambda1}} \newcommand{\ForceConstraintVec}{\ForceVec^{\lambda2}} \newcommand{\StiffnessMat}{\Mat{\SymbolStiffness}} \newcommand{\StiffnessMaterialMat}{\StiffnessMat^{m}} \newcommand{\StiffnessGeometricMat}{\StiffnessMat^{g}} \newcommand{\StiffnessPenaltyMat}{\StiffnessMat^{\PenaltyDisp}} \newcommand{\StiffnessLagrangeMat}{\StiffnessMat^{\LagrangeMultCurrComp}} \newcommand{\MassMat}{\Mat{\SymbolMass}} \newcommand{\LumpedMassMat}{\tilde{\MassMat}} \newcommand{\SolutionComp}{\SymbolSolution} \newcommand{\Solution}{\Vec{\SymbolSolution}} \newcommand{\SolutionDisp}{\Solution^{\DispFieldCurrComp}} \newcommand{\SolutionLagrange}{\Solution^{\LagrangeMultCurrComp}} \newcommand{\Flex}[1]{\mathcal{F}_{#1}} \newcommand{\FlexIt}{\mathcal{F}} \newcommand{\FlexFEA}{\Flex{\bar{0}}} \newcommand{\FlexFEAModified}{\Flex{0}} \newcommand{\FlexOne}{\Flex{1}} \newcommand{\FlexImmersed}{\Flex{\infty}} \newcommand{\FlexInfty}{\mathcal{F}{\infty}} \newcommand{\FlexSpectrum}{\overleftrightarrow{\mathcal{F}}} \newcommand{\FlexSpectrumId}{i} \newcommand{\TimeStep}{\Delta \SymbolTime} \newcommand{\SpectralRadius}{\rho_{\infty}}$$\newcommand{\SymbolPressureContact}{p} \newcommand{\SymbolContactGap}{g} \newcommand{\NumUsplineBasisFuncsS}{\Size{\UsplineBasisFuncSetOnMeshUspline^s}} \newcommand{\NumUsplineBasisFuncsM}{\Size{\UsplineBasisFuncSetOnMeshUspline^m}} \newcommand{\NumUsplineBasisFuncsG}{\Size{\UsplineBasisFuncSetOnMeshUspline^\alpha}} \newcommand{\NumUsplineBasisFuncsParamDomainBdryContactS}{\Size{\UsplineBasisFuncSetOnMeshUspline^{\ParamDomainBdryContactS}}} \newcommand{\NumUsplineBasisFuncsParamDomainBdryContactM}{\Size{\UsplineBasisFuncSetOnMeshUspline^{\ParamDomainBdryContactM}}} \newcommand{\NumUsplineBasisFuncsParamDomainBdryContactG}{\Size{\UsplineBasisFuncSetOnMeshUspline^{\ParamDomainBdryContactG}}} \newcommand{\ParamDomainEnvS}{\ParamDomainEnv^{s}} \newcommand{\ParamDomainEnvM}{\ParamDomainEnv^{m}} \newcommand{\ParamDomainEnvG}{\ParamDomainEnv^{\alpha}} \newcommand{\ParamDomainS}{\ParamDomain^{s}} \newcommand{\ParamDomainM}{\ParamDomain^{m}} \newcommand{\ParamDomainG}{\ParamDomain^\alpha} \newcommand{\ParamDomainClosureS}{\overline{\ParamDomain}^s} \newcommand{\ParamDomainClosureM}{\overline{\ParamDomain}^m} \newcommand{\ParamDomainClosureG}{\overline{\ParamDomain}^\alpha} \newcommand{\ParamDomainBdryG}{\ParamDomainBdry^\alpha} \newcommand{\ParamDomainBdryContactS}{\ParamDomainBdry^{c,s}} \newcommand{\ParamDomainBdryContactM}{\ParamDomainBdry^{c,m}} \newcommand{\ParamDomainBdryContactG}{\ParamDomainBdry^{c,\alpha}} \newcommand{\ParamDomainBdryTangentComp}{A} \newcommand{\ParamDomainBdryTangentTen}{\Mat{\ParamDomainBdryTangentComp}} \newcommand{\ParamDetJacobianS}{j^s} \newcommand{\ParamDomainGCoordVec}{\ParamCoordVecSimple^{\ParamDomainG}} \newcommand{\ParamDomainGCoord}{\ParamCoordSimple^{\ParamDomainG}} \newcommand{\ParamDomainEnvGCoordVec}{\ParamCoordVecSimple^{\ParamDomainEnvG}} \newcommand{\ParamDomainEnvGCoord}{\ParamCoordSimple^{\ParamDomainEnvG}} \newcommand{\ParamDomainEnvSCoordVec}{\ParamCoordVecSimple^{\ParamDomainEnvS}} \newcommand{\ParamDomainEnvSCoord}{\ParamCoordSimple^{\ParamDomainEnvS}} \newcommand{\ParamDomainEnvMCoordVec}{\ParamCoordVecSimple^{\ParamDomainEnvM}} \newcommand{\ParamDomainEnvMCoord}{\ParamCoordSimple^{\ParamDomainEnvM}} \newcommand{\ParamDomainBdryContactGCoordVec}{\ParamCoordVecSimple^{\ParamDomainBdryContactG}} \newcommand{\ParamDomainBdryContactGCoord}{\ParamCoordSimple^{\ParamDomainBdryContactG}} \newcommand{\ParamDomainBdryContactSCoordVec}{\ParamCoordVecSimple^{\ParamDomainBdryContactS}} \newcommand{\ParamDomainBdryContactSCoord}{\ParamCoordSimple^{\ParamDomainBdryContactS}} \newcommand{\ParamDomainBdryContactMCoordVec}{\ParamCoordVecSimple^{\ParamDomainBdryContactM}} \newcommand{\ParamDomainBdryContactMCoord}{\ParamCoordSimple^{\ParamDomainBdryContactM}} \newcommand{\SegmentParamDomainOfVolumeEnvRefS}{\QuantityRelatedTo{\ParamDomainEnvS}{\SegmentOfVolumeEnvRefS}} \newcommand{\SegmentParamDomainOfVolumeEnvRefM}{\QuantityRelatedTo{\ParamDomainEnvM}{\SegmentOfVolumeEnvRefM}} \newcommand{\SegmentParamDomainOfVolumeEnvCurrM}{\QuantityRelatedTo{\ParamDomainEnvM}{\SegmentOfVolumeEnvCurrM}} \newcommand{\SegmentParamDomainOfSurfaceCurrContactS}{\QuantityRelatedTo{\ParamDomainBdryContactS}{\SegmentOfSurfaceCurrContactS}} \newcommand{\SegmentParamDomainOfSurfaceRefContactM}{\QuantityRelatedTo{\ParamDomainBdryContactM}{\SegmentOfSurfaceRefContactM}} \newcommand{\SegmentParamDomainOfSurfaceCurrContactM}{\QuantityRelatedTo{\ParamDomainBdryContactM}{\SegmentOfSurfaceCurrContactM}} \newcommand{\UsplineBasisFuncS}{\UsplineBasisFunc^{s}} \newcommand{\UsplineBasisFuncM}{\UsplineBasisFunc^{m}} \newcommand{\UsplineBasisFuncG}{\UsplineBasisFunc^{\alpha}} \newcommand{\UsplineBasisFuncParamDomainBdryContactS}{\UsplineBasisFunc^{\ParamDomainBdryContactS}} \newcommand{\UsplineBasisFuncParamDomainBdryContactM}{\UsplineBasisFunc^{\ParamDomainBdryContactM}} \newcommand{\UsplineBasisFuncParamDomainBdryContactG}{\UsplineBasisFunc^{\ParamDomainBdryContactG}} \newcommand{\UsplineBasisSymmSecondOrderComp}{S} \newcommand{\UsplineBasisSymmSecondOrderTen}{\Mat{\UsplineBasisSymmSecondOrderComp}} \newcommand{\UsplineBasisSymmFourthOrderComp}{E} \newcommand{\UsplineBasisSymmSixthOrderComp}{Z} \newcommand{\VolumeEnvRefG}{\VolumeEnvRef^{\alpha}} \newcommand{\VolumeEnvRefS}{\VolumeEnvRef^{s}} \newcommand{\VolumeEnvRefM}{\VolumeEnvRef^{m}} \newcommand{\VolumeRefG}{\VolumeRef^{\alpha}} \newcommand{\VolumeRefS}{\VolumeRef^{s}} \newcommand{\VolumeRefM}{\VolumeRef^{m}} \newcommand{\VolumeRefClosureG}{\VolumeRefClosure^\alpha} \newcommand{\VolumeRefClosureS}{\VolumeRefClosure^s} \newcommand{\VolumeRefClosureM}{\VolumeRefClosure^m} \newcommand{\SurfaceRefG}{\SurfaceRef^\alpha} \newcommand{\SurfaceRefS}{\SurfaceRef^s} \newcommand{\SurfaceRefM}{\SurfaceRef^m} \newcommand{\SurfaceRefTracG}{\SurfaceRef^{\SymbolTracForce,\alpha}} \newcommand{\SurfaceRefDispG}{\SurfaceRef^{\SymbolDisp,\alpha}} \newcommand{\SurfaceRefContactG}{\SurfaceRef^{c,\alpha}} \newcommand{\SurfaceRefContactS}{\SurfaceRef^{c,s}} \newcommand{\SurfaceRefContactM}{\SurfaceRef^{c,m}} \newcommand{\VolumeEnvRefSCoordVec}{\RefCoordVec{\VolumeEnvRefS}} \newcommand{\VolumeEnvRefMCoordVec}{\RefCoordVec{\VolumeEnvRefM}} \newcommand{\VolumeEnvRefGCoordVec}{\RefCoordVec{\VolumeEnvRefG}} \newcommand{\VolumeRefGCoordVec}{\RefCoordVec{\VolumeRefG}} \newcommand{\SurfaceRefContactSCoord}{\RefCoord{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactSCoordVec}{\RefCoordVec{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactMCoord}{\RefCoord{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactMCoordVec}{\RefCoordVec{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactGCoord}{\RefCoord{\SurfaceRefContactG}} \newcommand{\SurfaceRefContactGCoordVec}{\RefCoordVec{\SurfaceRefContactG}} \newcommand{\SurfaceRefDispGCoordVec}{\RefCoordVec{\SurfaceRefDispG}} \newcommand{\SegmentOfVolumeEnvRefS}{\Segment{\VolumeEnvRefS}} \newcommand{\SegmentOfVolumeEnvRefM}{\Segment{\VolumeEnvRefM}} \newcommand{\SegmentOfSurfaceRefContactS}{\Segment{\SurfaceRefContactS}} \newcommand{\SegmentOfSurfaceRefContactM}{\Segment{\SurfaceRefContactM}} \newcommand{\VolumeEnvCurrG}{\VolumeEnvCurr^{\alpha}} \newcommand{\VolumeEnvCurrS}{\VolumeEnvCurr^{s}} \newcommand{\VolumeEnvCurrM}{\VolumeEnvCurr^{m}} \newcommand{\VolumeCurrG}{\VolumeCurr^{\alpha}} \newcommand{\VolumeCurrS}{\VolumeCurr^{s}} \newcommand{\VolumeCurrM}{\VolumeCurr^{m}} \newcommand{\VolumeCurrClosureG}{\VolumeCurrClosure^\alpha} \newcommand{\VolumeCurrClosureS}{\VolumeCurrClosure^s} \newcommand{\VolumeCurrClosureM}{\VolumeCurrClosure^m} \newcommand{\SurfaceCurrG}{\SurfaceCurr^\alpha} \newcommand{\SurfaceCurrS}{\SurfaceCurr^s} \newcommand{\SurfaceCurrM}{\SurfaceCurr^m} \newcommand{\SurfaceCurrContact}{\SurfaceCurr^{c}} \newcommand{\SurfaceCurrContactG}{\SurfaceCurr^{c,\alpha}} \newcommand{\SurfaceCurrContactS}{\SurfaceCurr^{c,s}} \newcommand{\SurfaceCurrContactM}{\SurfaceCurr^{c,m}} \newcommand{\VolumeEnvCurrSCoordVec}{\CurrCoordVec{\VolumeEnvCurrS}} \newcommand{\VolumeEnvCurrMCoordVec}{\CurrCoordVec{\VolumeEnvCurrM}} \newcommand{\VolumeEnvCurrGCoordVec}{\CurrCoordVec{\VolumeEnvCurrG}} \newcommand{\VolumeCurrGCoordVec}{\CurrCoordVec{\VolumeCurrG}} \newcommand{\SurfaceCurrContactSCoord}{\CurrCoord{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactSCoordVec}{\CurrCoordVec{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactMCoord}{\CurrCoord{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactMCoordVec}{\CurrCoordVec{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactGCoord}{\CurrCoord{\SurfaceCurrContactG}} \newcommand{\SurfaceCurrContactGCoordVec}{\CurrCoordVec{\SurfaceCurrContactG}} \newcommand{\SegmentOfVolumeEnvCurrS}{\Segment{\VolumeEnvCurrS}} \newcommand{\SegmentOfVolumeEnvCurrM}{\Segment{\VolumeEnvCurrM}} \newcommand{\SegmentOfSurfaceCurrContactS}{\Segment{\SurfaceCurrContactS}} \newcommand{\SegmentOfSurfaceCurrContactM}{\Segment{\SurfaceCurrContactM}} \newcommand{\VolumeEnvRefSMap}{\ManifoldMap{\ParamDomainEnvS}{\VolumeEnvRefS}} \newcommand{\VolumeEnvRefMMap}{\ManifoldMap{\ParamDomainEnvM}{\VolumeEnvRefM}} \newcommand{\VolumeEnvRefGMap}{\ManifoldMap{\ParamDomainEnvG}{\VolumeEnvRefG}} \newcommand{\VolumeEnvRefSMapInv}{\Inverse{\VolumeEnvRefSMap}} \newcommand{\VolumeEnvRefMMapInv}{\Inverse{\VolumeEnvRefMMap}} \newcommand{\VolumeEnvRefGMapInv}{\Inverse{\VolumeEnvRefGMap}} \newcommand{\VolumeRefClosureSMap}{\ManifoldMap{\ParamDomainClosureS}{\VolumeRefClosureS}} \newcommand{\VolumeRefClosureMMap}{\ManifoldMap{\ParamDomainClosureM}{\VolumeRefClosureM}} \newcommand{\VolumeRefClosureGMap}{\ManifoldMap{\ParamDomainClosureG}{\VolumeRefClosureG}} \newcommand{\VolumeRefSMap}{\ManifoldMap{\ParamDomainS}{\VolumeRefS}} \newcommand{\VolumeRefMMap}{\ManifoldMap{\ParamDomainM}{\VolumeRefM}} \newcommand{\VolumeRefGMap}{\ManifoldMap{\ParamDomainG}{\VolumeRefG}} \newcommand{\VolumeRefClosureGMapRestrictedToBoundary}{\ManifoldMap{\ParamDomainClosureG}{\VolumeRefClosureG}\Big|_{\ParamDomainBdryContactG}} \newcommand{\VolumeRefClosureMMapRestrictedToBoundary}{\ManifoldMap{\ParamDomainClosureM}{\VolumeRefClosureM}\Big|_{\ParamDomainBdryContactM}} \newcommand{\SurfaceRefContactSMap}{\ManifoldMap{\ParamDomainBdryContactS}{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactMMap}{\ManifoldMap{\ParamDomainBdryContactM}{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactGMap}{\ManifoldMap{\ParamDomainBdryContactG}{\SurfaceRefContactG}} \newcommand{\VolumeEnvRefGMapDef}{\ManifoldMapDef{\ParamDomainEnvG}{\VolumeEnvRefG}} \newcommand{\VolumeRefClosureGMapDef}{\ManifoldMapDef{\ParamDomainClosureG}{\VolumeRefClosureG}} \newcommand{\SurfaceRefContactSMapDef}{\ManifoldMapDef{\ParamDomainBdryContactS}{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactMMapDef}{\ManifoldMapDef{\ParamDomainBdryContactM}{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactGMapDef}{\ManifoldMapDef{\ParamDomainBdryContactG}{\SurfaceRefContactG}} \newcommand{\VolumeEnvCurrSMap}{\ManifoldMap{\ParamDomainEnvS}{\VolumeEnvCurrS}} \newcommand{\VolumeEnvCurrMMap}{\ManifoldMap{\ParamDomainEnvM}{\VolumeEnvCurrM}} \newcommand{\VolumeEnvCurrGMap}{\ManifoldMap{\ParamDomainEnvG}{\VolumeEnvCurrG}} \newcommand{\VolumeCurrClosureSMap}{\ManifoldMap{\ParamDomainClosureS}{\VolumeCurrClosureS}} \newcommand{\VolumeCurrClosureMMap}{\ManifoldMap{\ParamDomainClosureM}{\VolumeCurrClosureM}} \newcommand{\VolumeCurrClosureGMap}{\ManifoldMap{\ParamDomainClosureG}{\VolumeCurrClosureG}} \newcommand{\VolumeCurrSMap}{\ManifoldMap{\ParamDomainS}{\VolumeCurrS}} \newcommand{\VolumeCurrMMap}{\ManifoldMap{\ParamDomainM}{\VolumeCurrM}} \newcommand{\VolumeCurrGMap}{\ManifoldMap{\ParamDomainG}{\VolumeCurrG}} \newcommand{\VolumeCurrClosureGMapRestrictedToBoundary}{\ManifoldMap{\ParamDomainClosureG}{\VolumeCurrClosureG}\Big|_{\ParamDomainBdryContactG}} \newcommand{\SurfaceCurrContactSMap}{\ManifoldMap{\ParamDomainBdryContactS}{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactMMap}{\ManifoldMap{\ParamDomainBdryContactM}{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactGMap}{\ManifoldMap{\ParamDomainBdryContactG}{\SurfaceCurrContactG}} \newcommand{\VolumeEnvCurrGMapDef}{\ManifoldMapDef{\ParamDomainEnvG}{\VolumeEnvCurrG}} \newcommand{\VolumeCurrClosureGMapDef}{\ManifoldMapDef{\ParamDomainClosureG}{\VolumeCurrClosureG}} \newcommand{\SurfaceCurrContactSMapDef}{\ManifoldMapDef{\ParamDomainBdryContactS}{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactMMapDef}{\ManifoldMapDef{\ParamDomainBdryContactM}{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactGMapDef}{\ManifoldMapDef{\ParamDomainBdryContactG}{\SurfaceCurrContactG}} \newcommand{\VolumeEnvDeformSMap}{\ManifoldMap{\VolumeEnvRefS}{\VolumeEnvCurrS}} \newcommand{\VolumeEnvDeformMMap}{\ManifoldMap{\VolumeEnvRefM}{\VolumeEnvCurrM}} \newcommand{\VolumeEnvDeformGMap}{\ManifoldMap{\VolumeEnvRefG}{\VolumeEnvCurrG}} \newcommand{\VolumeDeformSMap}{\ManifoldMap{\VolumeRefClosureS}{\VolumeCurrClosureS}} \newcommand{\VolumeDeformMMap}{\ManifoldMap{\VolumeRefClosureM}{\VolumeCurrClosureM}} \newcommand{\VolumeDeformGMap}{\ManifoldMap{\VolumeRefClosureG}{\VolumeCurrClosureG}} \newcommand{\VolumeEnvDeformGMapDef}{\ManifoldMapDef{\VolumeEnvRefG}{\VolumeEnvCurrG}} \newcommand{\VolumeDeformGMapDef}{\ManifoldMapDef{\VolumeRefClosureG}{\VolumeCurrClosureG}} \newcommand{\DispTrialSpaceOverVolumeEnvRefS}{\SpaceHilbert{U}(\VolumeEnvRefS)} \newcommand{\DispTrialSpaceOverVolumeEnvRefM}{\SpaceHilbert{U}(\VolumeEnvRefM)} \newcommand{\DispTrialSpaceOverVolumeEnvRefSAndM}{\SpaceHilbert{U}(\VolumeEnvRefS, \VolumeEnvRefM)} \newcommand{\DispTrialSpaceOverVolumeEnvRefG}{\SpaceHilbert{U}(\VolumeEnvRefG)} \newcommand{\DispTrialSpaceOverVolumeRefS}{\SpaceHilbert{U}(\VolumeRefClosureS)} \newcommand{\DispTrialSpaceOverVolumeRefM}{\SpaceHilbert{U}(\VolumeRefClosureM)} \newcommand{\DispTrialSpaceOverVolumeRefSAndM}{\SpaceHilbert{U}(\VolumeRefClosureS, \VolumeRefClosureM)} \newcommand{\DispTrialSpaceOverVolumeRefG}{\SpaceHilbert{U}(\VolumeRefClosureG)} \newcommand{\DispTestSpaceOverVolumeEnvRefG}{\delta \DispTrialSpaceOverVolumeEnvRefG} \newcommand{\DispTestSpaceOverVolumeRefG}{\delta \DispTrialSpaceOverVolumeRefG} \newcommand{\DispFieldRefSComp}{\DispFieldRefComp^s} \newcommand{\DispFieldRefSTen}{\DispFieldRefTen^s} \newcommand{\DispFieldRefMComp}{\DispFieldRefComp^m} \newcommand{\DispFieldRefMTen}{\DispFieldRefTen^m} \newcommand{\DispFieldRefGTen}{\DispFieldRefTen^\alpha} \newcommand{\DispFieldDiscreteRefGTen}{\DispFieldRefTen^{h,\alpha}} \newcommand{\DispFieldOverVolumeEnvRefGTenDef}{\ManifoldMapDef{\VolumeEnvRefG}{\DispFieldRefGTen}} \newcommand{\DispFieldOverVolumeRefGTenDef}{\ManifoldMapDef{\VolumeRefClosureG}{\DispFieldRefGTen}} \newcommand{\GradVolumeRefG}[1]{\Grad{\RefCoordVec{\VolumeRefClosureG}}{#1}} \newcommand{\GradVolumeEnvRefS}[1]{\Grad{\VolumeEnvRefSCoordVec}{#1}} \newcommand{\GradVolumeEnvRefM}[1]{\Grad{\VolumeEnvRefMCoordVec}{#1}} \newcommand{\GradVolumeEnvRefG}[1]{\Grad{\VolumeEnvRefGCoordVec}{#1}} \newcommand{\DeformGradSComp}{\DeformGradComp^s} \newcommand{\DeformGradSTen}{\DeformGradTen^s} \newcommand{\DeformGradSDet}{\Det{\DeformGradSTen}} \newcommand{\DeformGradSInvTrans}{\InvTrans{\DeformGradSTen}} \newcommand{\DeformGradMComp}{\DeformGradComp^m} \newcommand{\DeformGradMTen}{\DeformGradTen^m} \newcommand{\DeformGradMDet}{\Det{\DeformGradMTen}} \newcommand{\DeformGradMInvTrans}{\InvTrans{\DeformGradMTen}} \newcommand{\DeformGradGTen}{\DeformGradTen^\alpha} \newcommand{\DeformGradOverVolumeEnvRefGTenDef}{\FuncDef{\DeformGradGTen}{\VolumeEnvRefG}{\VolumeEnvCurrG}} \newcommand{\DeformGradOverVolumeRefGTenDef}{\FuncDef{\DeformGradGTen}{\VolumeRefClosureG}{\VolumeCurrClosureG}} \newcommand{\UnitNormalRefSTen}{\UnitNormalRefTen^s} \newcommand{\UnitNormalRefMTen}{\UnitNormalRefTen^m} \newcommand{\UnitNormalCurrSComp}{\UnitNormalCurrComp^s} \newcommand{\UnitNormalCurrSTen}{\UnitNormalCurrTen^s} \newcommand{\UnitNormalCurrMComp}{\UnitNormalCurrComp^m} \newcommand{\UnitNormalCurrMTen}{\UnitNormalCurrTen^m} \newcommand{\AreaRatioS}{r^s} \newcommand{\AreaRatioM}{r^m} \newcommand{\ContraMTen}{\Mat{a}^m} \newcommand{\SymmProdInProjTan}{C} \newcommand{\ProdPBTanInvCurPBTanInv}{D} \newcommand{\ProdPBTanInvCurMetricInv}{M} \newcommand{\ProdPBTanInvCurMetricInvCurPBTanInv}{W} \newcommand{\PenaltyContactGap}{\SymbolPenalty_{\SymbolContactGap}} \newcommand{\BodyForceRefGTen}{\BodyForceRefTen^\alpha} \newcommand{\TracForceRefGTen}{\TracForceRefTen^\alpha} \newcommand{\BodyForceOverVolumeRefGDef}{\FuncDef{\BodyForceRefGTen}{\VolumeRefG}{\SpatialDomain}} \newcommand{\BodyForceOverVolumeEnvRefGDef}{\FuncDef{\BodyForceRefGTen}{\VolumeEnvRefG}{\SpatialDomain}} \newcommand{\TracForceOverSurfaceRefTracGTenDef}{\FuncDef{\TracForceRefGTen}{\SurfaceRefTracG}{\SpatialDomain}} \newcommand{\PressureContact}{\SymbolPressureContact} \newcommand{\PressureContactProjected}{\overline{\SymbolPressureContact}_{\UsplineBasisFuncId}} \newcommand{\CoeffPressureContact}{\SymbolPressureContact_{\UsplineBasisFuncId}} \newcommand{\PressureContactInterpolated}{\hat{\SymbolPressureContact}} \newcommand{\ConstraintRefGTen}{\ConstraintRefTen^\alpha} \newcommand{\GapContact}{\SymbolContactGap} \newcommand{\GapContactProjected}{\overline{\SymbolContactGap}_{\UsplineBasisFuncId}} \newcommand{\GapContactProjectedVariation}{\delta \GapContactProjected} \newcommand{\GapContactMortar}{\GapContact^{m}} \newcommand{\GapContactMortarProjected}{\overline{\GapContact}^{m}_{\UsplineBasisFuncId}} \newcommand{\CoeffGapContactMortar}{\GapContact^{m}_{\UsplineBasisFuncId}} \newcommand{\ConstraintOverSurfaceRefDispGTenDef}{\FuncDef{\ConstraintRefGTen}{\SurfaceRefDispG}{\SpatialDomain}} \newcommand{\EnergyEnvG}{\EnergyEnv^\alpha} \newcommand{\EnergyG}{\Energy^{\alpha}} \newcommand{\EnergyDensityStrainG}{\EnergyDensityStrain^\alpha} \newcommand{\EnergyConstraintG}{\Energy^{\SymbolDisp,\alpha}} \newcommand{\EnergyContact}{\Energy^c} \newcommand{\EnergyOverVolumeRefGDef}{\FuncDef{\EnergyG}{\DispTrialSpaceOverVolumeRefG}{\Reals}} \newcommand{\EnergyEnvOverVolumeEnvRefGDef}{\FuncDef{\EnergyEnvG}{\DispTrialSpaceOverVolumeEnvRefG}{\Reals}} \newcommand{\EnergyDensityStrainOverVolumeRefGDef}{\FuncDef{\EnergyDensityStrainG}{\VolumeRefG}{\Reals}} \newcommand{\EnergyDensityStrainOverVolumeEnvRefGDef}{\FuncDef{\EnergyDensityStrainG}{\VolumeEnvRefG}{\Reals}} \newcommand{\EnergyContactOverVolumeRefSAndMDef}{\FuncDef{\EnergyContact}{\DispTrialSpaceOverVolumeRefSAndM}{\Reals}} \newcommand{\EnergyContactOverVolumeEnvRefSAndMDef}{\FuncDef{\EnergyContact}{\DispTrialSpaceOverVolumeEnvRefSAndM}{\Reals}} \newcommand{\EnergyConstraintOverVolumeRefGDef}{\FuncDef{\EnergyConstraintG}{\DispTrialSpaceOverVolumeRefG}{\Reals}} \newcommand{\EnergyConstraintOverVolumeEnvRefGDef}{\FuncDef{\EnergyConstraintG}{\DispTrialSpaceOverVolumeEnvRefG}{\Reals}} \newcommand{\ResidualMat}{\Mat{N}} \newcommand{\ForceInternalContactVec}{\ForceVec^{c,int,n}} \newcommand{\ForceGapContact}{C^n} \newcommand{\StiffnessMatA}{\hat{\Mat{N}}} \newcommand{\StiffnessMatB}{\Mat{T}} \newcommand{\StiffnessMatC}{\Mat{D}} \newcommand{\StiffnessGeometricContact}{\StiffnessMat^{c,g,n}} \newcommand{\StiffnessContact}{\StiffnessMat^{c,n}} \newcommand{\ElemCount}[1]{\operatorname{count}{(#1)}} \newcommand{\ConvexHull}[1]{\operatorname{ch}{\left(#1\right)}} \newcommand{\Normal}[1]{\operatorname{N}{\left(#1\right)}} \newcommand{\NormalConvexHull}[1]{\Normal{\ConvexHull{#1}}} \newcommand{\DiscretePointSetS}{\Set{SP}} \newcommand{\DiscreteElemSetM}{\Set{ME}} \newcommand{\EnvBoundConMapM}{\operatorname{mc}} \newcommand{\EnvBoundConSetM}{\Set{MC}} \newcommand{\SpatialCoordVecToSegmentSetMapMSensor}{\operatorname{cs}} \newcommand{\SpatialCoordVecToSegmentSetMapMElem}{\operatorname{ce}} \newcommand{\SelfContactMap}{\operatorname{sc}} \newcommand{\ColSetS}{\Set{I}} \newcommand{\PairEnvMapBoundM}{\operatorname{cp}} \newcommand{\ApproximateProjectionCollision}[1]{\widetilde{\Projection}{#1}} \newcommand{\ImageSlaveEnv}{\bar{\ParamCoordVecSimple}^{\ParamDomainEnvM}} \newcommand{\ImageSlaveBound}{\bar{\ParamCoordVecSimple}^{\ParamDomainBdryContactM}} \newcommand{\ActiveSet}{\Set{A}} \newcommand{\DiscretePointSetM}{\Set{MP}} \newcommand{\MortarActiveSet}{\Set{A}^m} \newcommand{\PressureContactAnalytical}{p_a} \newcommand{\TipPressureContactAnalytical}{p_0} \newcommand{\ContactHalfWidth}{b}$$\newcommand{\MidGeometryModifier}[1]{\bar{#1}} \newcommand{\SymbolRotationGlobal}{\omega} \newcommand{\SkewMat}[1]{\Mat{s} \left( #1 \right)} \newcommand{\SkewMatInv}[1]{\Mat{s}^{-1} \left( #1 \right)} \newcommand{\Ident}{\Mat{I}} \newcommand{\Cartesian}{\Vec{e}} \newcommand{\ManifoldDim}{n} \newcommand{\LaminaSymbol}{l} \newcommand{\LaminaSymbolUpper}{L} \newcommand{\LaminaMetricSymbol}{j} \newcommand{\ShellMomentSymbol}{q} \newcommand{\DirectorBilinearFunc}[3]{\left(#2,#3\right)_{#1}} \newcommand{\RotObjectiveFunc}{s} \newcommand{\ParamConfig}{\Omega_\xi} \newcommand{\ParamConfigMid}{\Omega_\xi^m} \newcommand{\ParamConfigSec}{\Omega_\xi^s} \newcommand{\ParamConfigBound}{\Gamma_\xi} \newcommand{\ParamConfigMidBound}{\Gamma_\xi^m} \newcommand{\ParamConfigSecBound}{\Gamma_\xi^s} \newcommand{\ParamConfigMuBound}{\Gamma_\xi^\mu} \newcommand{\ParamConfigSigBound}{\Gamma_\xi^\sigma} \newcommand{\ParamConfigDirichMidBound}{\Gamma_\xi^g} \newcommand{\ParamConfigNeuMidBound}{\Gamma_\xi^h} \newcommand{\ParamConfigDirichBound}{\Gamma_\xi^\gamma} \newcommand{\ParamConfigNeuBound}{\Gamma_\xi^\eta} \newcommand{\ParaParam}[1]{\xi_{#1}} \newcommand{\ParaParamVec}{\boldsymbol{\xi}} \newcommand{\RefConfig}{\Omega_0} \newcommand{\RefConfigMid}{\Omega_0^m} \newcommand{\RefConfigSec}{\Omega_0^s} \newcommand{\SurfaceRefRot}{\SurfaceRef^{\SymbolRotationGlobal}} \newcommand{\RefConfigBound}{\Gamma_0} \newcommand{\RefConfigMidBound}{\Gamma_0^m} \newcommand{\RefConfigSecBound}{\Gamma_0^s} \newcommand{\RefConfigMuBound}{\Gamma_0^\mu} \newcommand{\RefConfigSigBound}{\Gamma_0^\sigma} \newcommand{\RefConfigDirichMidBound}{\Gamma_0^g} \newcommand{\RefConfigNeuMidBound}{\Gamma_0^h} \newcommand{\RefConfigDirichBound}{\Gamma_0^\gamma} \newcommand{\RefConfigNeuBound}{\Gamma_0^\eta} \newcommand{\RefMap}{\Vec{X}} \newcommand{\RefMid}{\MidGeometryModifier{\Vec{X}}} \newcommand{\RefDir}{\Vec{D}} \newcommand{\RefSectionPos}{\Vec{R}} \newcommand{\RefCovar}[1]{\Vec{G}_{#1}} \newcommand{\RefMidCovar}[1]{\MidGeometryModifier{\Vec{G}}_{#1}} \newcommand{\RefContra}[1]{\Vec{G}^{#1}} \newcommand{\RefMidContra}[1]{\MidGeometryModifier{\Vec{G}}^{#1}} \newcommand{\RefLamina}[1]{\Vec{L}_{#1}} \newcommand{\RefLaminaDual}[1]{\Vec{\LaminaSymbolUpper}^{#1}} \newcommand{\RefShellProjectedBasis}[1]{\Vec{P}_{#1}} \newcommand{\CurConfig}{\Omega} \newcommand{\CurConfigMid}{\Omega^m} \newcommand{\CurConfigSec}{\Omega^s} \newcommand{\CurConfigBound}{\Gamma} \newcommand{\CurConfigMidBound}{\Gamma^m} \newcommand{\CurConfigSecBound}{\Gamma^s} \newcommand{\CurConfigMuBound}{\Gamma^\mu} \newcommand{\CurConfigSigBound}{\Gamma^\sigma} \newcommand{\CurConfigDirichMidBound}{\Gamma^g} \newcommand{\CurConfigNeuMidBound}{\Gamma^h} \newcommand{\CurConfigDirichBound}{\Gamma^\gamma} \newcommand{\CurConfigNeuBound}{\Gamma^\eta} \newcommand{\CurMap}{\Vec{x}} \newcommand{\CurMid}{\MidGeometryModifier{\Vec{x}}} \newcommand{\CurDir}{\Vec{d}} \newcommand{\CurSectionPos}{\Vec{r}} \newcommand{\CurCovar}[1]{\Vec{g}_{#1}} \newcommand{\CurMidCovar}[1]{\MidGeometryModifier{\Vec{g}}_{#1}} \newcommand{\CurContra}[1]{\Vec{g}^{#1}} \newcommand{\CurMidContra}[1]{\MidGeometryModifier{\Vec{g}}^{#1}} \newcommand{\CurLamina}[1]{\Vec{\LaminaSymbol}_{#1}} \newcommand{\CurLaminaDual}[1]{\Vec{\LaminaSymbol}^{#1}} \newcommand{\CurModLamina}[1]{\hat{\Vec{\LaminaSymbol}}_{#1}} \newcommand{\CurModLaminaDual}[1]{\hat{\Vec{\LaminaSymbol}}^{#1}} \newcommand{\CurShellProjectedBasis}[1]{\Vec{p}_{#1}} \newcommand{\DeformMap}{\varphi} \newcommand{\DeformMapMid}{\varphi^m} \newcommand{\Disp}{\Vec{u}} \newcommand{\DispMid}{\MidGeometryModifier{\Vec{u}}} \newcommand{\RotVec}{\boldsymbol{\omega}} \newcommand{\RotMat}{\boldsymbol{\Lambda}} \newcommand{\RotMatMembrane}{\Mat{\Psi}} \newcommand{\RotMatDelta}{\boldsymbol{\Lambda}_\Delta} \newcommand{\IncRotMat}{\Delta\RotMat} \newcommand{\EulerVec}{\boldsymbol{\vartheta}} \newcommand{\EulerVecNorm}{\theta} \newcommand{\EulerVecSinc}{\boldsymbol{\Theta}} \newcommand{\EulerRotVec}{\boldsymbol{\theta}} \newcommand{\EulerRotAngle}{\theta} \newcommand{\IncEulerRotVec}{\Delta\boldsymbol{\theta}} \newcommand{\AngularVelocity}{\boldsymbol{\eta}} \newcommand{\IncEulerRotVecVel}{\Delta\dot{\boldsymbol{\theta}}} \newcommand{\AngularAcceleration}{\boldsymbol{\alpha}} \newcommand{\IncEulerRotVecAcc}{\Delta\ddot{\boldsymbol{\theta}}} \newcommand{\DeformGrad}{\Mat{F}} \newcommand{\Strain}[1]{\boldsymbol{\tau}_{#1}} \newcommand{\StrainMid}[1]{\boldsymbol{\varepsilon}_{#1}} \newcommand{\StrainCurve}[1]{\boldsymbol{\kappa}_{#1}} \newcommand{\DecompDeform}{\Mat{U}} \newcommand{\ExtraDeformTen}{\Delta\DeformGradTen} \newcommand{\ExtraDeformComp}{\Delta\DeformGradComp} \newcommand{\GreenLagrange}{\Mat{E}} \newcommand{\ShellStrainCurve}[1]{\boldsymbol{\chi}_{#1}} \newcommand{\SecPK}{\Mat{S}} \newcommand{\FirstPK}{\Mat{P}} \newcommand{\Cauchy}{\boldsymbol{\sigma}} \newcommand{\IntTrac}[1]{\Vec{t}_{#1}} \newcommand{\RefModuli}{\Mat{C}} \newcommand{\CurModuli}{\Mat{c}} \newcommand{\PointModuli}{\Mat{m}} \newcommand{\ResModuli}{\Mat{M}} \newcommand{\RefAreaVec}[1]{\Vec{A}_{#1}} \newcommand{\RefAreaMidVec}[1]{\MidGeometryModifier{\Vec{A}}_{#1}} \newcommand{\RefMeas}{G} \newcommand{\UnitNormalRefVec}[1]{\Vec{N}_{#1}} \newcommand{\CurAreaVec}[1]{\Vec{a}_{#1}} \newcommand{\CurAreaMidVec}[1]{\MidGeometryModifier{\Vec{a}}_{#1}} \newcommand{\CurMeas}{g} \newcommand{\UnitNormalCurrVec}[1]{\Vec{n}_{#1}} \newcommand{\CurLaminaMetricTen}{\Mat{\LaminaMetricSymbol}} \newcommand{\CurLaminaMetricComp}{\LaminaMetricSymbol} \newcommand{\CurToModLaminaTransComp}{M} \newcommand{\IntForce}{\Vec{f}^{\, int}} \newcommand{\IntMoment}{\Vec{m}^{int}} \newcommand{\ExtForceBody}{\Vec{f}^{\, ext}_b} \newcommand{\ExtMomentBody}{\Vec{m}^{ext}_b} \newcommand{\ShellExtMomentBody}{\Vec{\ShellMomentSymbol}^{ext}_b} \newcommand{\ExtForceTrac}{\Vec{f}^{\, ext}_h} \newcommand{\ExtMomentTrac}{\Vec{m}^{ext}_h} \newcommand{\ShellExtMomentTrac}{\Vec{\ShellMomentSymbol}^{ext}_h} \newcommand{\MassForce}{\Vec{f}^{\,\rho}} \newcommand{\MassMoment}{\Vec{m}^{\rho}} \newcommand{\ShellMassMoment}{\Vec{\ShellMomentSymbol}^{\rho}} \newcommand{\ResidualInternal}{\Vec{R}^{int}} \newcommand{\ResidualExternal}{\Vec{R}^{ext}} \newcommand{\ResidualMass}{\Mat{R}^{\rho}} \newcommand{\NodalMass}[1]{\Mat{M}_{#1}} \newcommand{\NodalLinearInertia}[1]{A_{#1}} \newcommand{\NodalAngularInertia}[1]{I_{#1}} \newcommand{\ShellDeltaAngle}{\phi} \newcommand{\BStrainMatrix}[2]{\Mat{B}_{#1#2}} \newcommand{\ShellDrillingStiffness}{k} \newcommand{\DrillConstraint}{C} \newcommand{\IntForceDrilling}{\Vec{f}^{d}} \newcommand{\ModuliDrilling}{\Mat{M}^d} \newcommand{\ResidualDrilling}{\Vec{R}^d} \newcommand{\SymbolTop}{top} \newcommand{\SymbolCentroid}{c} \newcommand{\SymbolLeverArm}{r} \newcommand{\SpatialCoordVecCentroid}{\SpatialCoordVec^{\SymbolCentroid}} \newcommand{\SpatialCoordCentroidX}{\SpatialCoordX^{\SymbolCentroid}} \newcommand{\SpatialCoordCentroidY}{\SpatialCoordY^{\SymbolCentroid}} \newcommand{\SpatialCoordCentroidZ}{\SpatialCoordZ^{\SymbolCentroid}} \newcommand{\LeverArm}{\Vec{\SymbolLeverArm}} \newcommand{\LeverArmX}{\SymbolLeverArm_{\SpatialCoordX}} \newcommand{\LeverArmY}{\SymbolLeverArm_{\SpatialCoordY}} \newcommand{\LeverArmZ}{\SymbolLeverArm_{\SpatialCoordZ}} \newcommand{\MomentFirstMass}{Q} \newcommand{\MomentSecondMass}{I} \newcommand{\MomentSecondMassDetailed}[1]{I_{#1}} \newcommand{\DistributedLoad}{q} \newcommand{\TracForceCurrCompX}{\TracForceCurrComp_{\SpatialCoordX}} \newcommand{\TracForceCurrCompY}{\TracForceCurrComp_{\SpatialCoordY}} \newcommand{\TracForceCurrCompZ}{\TracForceCurrComp_{\SpatialCoordZ}} \newcommand{\TracMomentCurrCompDetailed}[1]{\TracMomentCurrComp_{#1}} \newcommand{\TracForceCurrCompSupportReaction}{r^{\TracForceCurrComp}} \newcommand{\TracForceCurrCompSupportReactionDetailed}[1]{\TracForceCurrCompSupportReaction_{#1}} \newcommand{\TracForceCurrCompDistributedLoad}{\DistributedLoad^{\TracForceCurrComp}} \newcommand{\TracForceCurrCompPointLoad}{p^{\TracForceCurrComp}} \newcommand{\TracMomentCurrVec}{\Vec{\TracMomentCurrComp}} \newcommand{\TracMomentCurrComp}{m} \newcommand{\BodyForceCurrCompX}{\BodyForceCurrComp_{\SpatialCoordX}} \newcommand{\BodyForceCurrCompY}{\BodyForceCurrComp_{\SpatialCoordY}} \newcommand{\BodyForceCurrCompZ}{\BodyForceCurrComp_{\SpatialCoordZ}} \newcommand{\BodyForceCurrCompDistributedLoad}{\DistributedLoad^{\BodyForceCurrComp}} \newcommand{\BodyForceCurrCompAxialLoad}{f^{\BodyForceCurrComp}} \newcommand{\StressCauchyTractionVec}{\Vec{t}} \newcommand{\StressCauchyTractionX}{t_{\SpatialCoordX}} \newcommand{\StressCauchyTractionY}{t_{\SpatialCoordY}} \newcommand{\StressCauchyTractionZ}{t_{\SpatialCoordZ}} \newcommand{\StressCauchyNormal}{\sigma} \newcommand{\StressCauchyNormalDetailed}[1]{\StressCauchyNormal_{#1}} \newcommand{\StressCauchyNormalXX}{\StressCauchyComp_{\SpatialCoordX\SpatialCoordX}} \newcommand{\StressCauchyNormalYY}{\StressCauchyComp_{\SpatialCoordY\SpatialCoordY}} \newcommand{\StressCauchyNormalZZ}{\StressCauchyComp_{\SpatialCoordZ\SpatialCoordZ}} \newcommand{\StressCauchyShear}{\tau} \newcommand{\StressCauchyShearDetailed}[1]{\StressCauchyShear_{#1}} \newcommand{\StressCauchyShearXY}{\StressCauchyShear_{\SpatialCoordX\SpatialCoordY}} \newcommand{\StressCauchyShearYX}{\StressCauchyShear_{\SpatialCoordY\SpatialCoordX}} \newcommand{\StressCauchyShearXZ}{\StressCauchyShear_{\SpatialCoordX\SpatialCoordZ}} \newcommand{\StressCauchyShearZX}{\StressCauchyShear_{\SpatialCoordZ\SpatialCoordX}} \newcommand{\StressCauchyShearYZ}{\StressCauchyShear_{\SpatialCoordY\SpatialCoordZ}} \newcommand{\StressCauchyShearZY}{\StressCauchyShear_{\SpatialCoordZ\SpatialCoordY}} \newcommand{\StressCauchyResultantForce}{F} \newcommand{\StressCauchyResultantForceDetailed}[1]{F_{#1}} \newcommand{\StressCauchyResultantForceVec}{\Vec{\StressCauchyResultantForce}} \newcommand{\StressCauchyResultantMoment}{M} \newcommand{\StressCauchyResultantMomentDetailed}[1]{M_{#1}} \newcommand{\StressCauchyResultantMomentVec}{\Vec{\StressCauchyResultantMoment}} \newcommand{\StressCauchyResultantForceShear}{V} \newcommand{\StressCauchyResultantForceShearDetailed}[1]{V_{#1}} \newcommand{\StressCauchyResultantForceAxial}{\StressCauchyResultantForce} \newcommand{\DispFieldCurrCompX}{\DispFieldCurrComp_{\SpatialCoordX}} \newcommand{\DispFieldCurrCompY}{\DispFieldCurrComp_{\SpatialCoordY}} \newcommand{\DispFieldCurrCompZ}{\DispFieldCurrComp_{\SpatialCoordZ}} \newcommand{\DispFieldMidCurrCompX}{\overline{\DispFieldCurrComp}_{\SpatialCoordX}} \newcommand{\DispFieldMidCurrCompY}{\overline{\DispFieldCurrComp}_{\SpatialCoordY}} \newcommand{\StrainSymGradCompXX}{\StrainSymGradComp_{\SpatialCoordX\SpatialCoordX}} \newcommand{\StrainSymGradCompYY}{\StrainSymGradComp_{\SpatialCoordY\SpatialCoordY}} \newcommand{\StrainSymGradCompZZ}{\StrainSymGradComp_{\SpatialCoordZ\SpatialCoordZ}} \newcommand{\StrainShearComp}{\gamma} \newcommand{\StrainShearCompXY}{\StrainShearComp_{\SpatialCoordX\SpatialCoordY}} \newcommand{\StrainShearCompXZ}{\StrainShearComp_{\SpatialCoordX\SpatialCoordZ}} \newcommand{\StrainShearCompYZ}{\StrainShearComp_{\SpatialCoordY\SpatialCoordZ}} \newcommand{\EquationBeamShearStress}{\frac{\StressCauchyResultantForceShear \MomentFirstMass}{\MomentSecondMassDetailed{\SpatialCoordZ}\Width}} \newcommand{\EquationVecInCoords}{\Vec{v} = v_{\SpatialCoordX} \BasisVecI + v_{\SpatialCoordY} \BasisVecJ + v_{\SpatialCoordZ} \BasisVecK} \newcommand{\EquationMatVecMultiply}{\Mat{M}\Vec{v} = \begin{bmatrix} \DotProduct{\Vec{m}_1}{\Vec{v}} \\ \DotProduct{\Vec{m}_2}{\Vec{v}} \\ \DotProduct{\Vec{m}_3}{\Vec{v}} \end{bmatrix}} \newcommand{\EquationMatMatMultiply}{\Mat{M}\Mat{N} = \begin{bmatrix} \DotProduct{\Vec{m}_1}{\Mat{n}_1} & \DotProduct{\Vec{m}_1}{\Mat{n}_2} & \DotProduct{\Vec{m}_1}{\Mat{n}_3} \\ \DotProduct{\Vec{m}_2}{\Mat{n}_1} & \DotProduct{\Vec{m}_2}{\Mat{n}_2} & \DotProduct{\Vec{m}_2}{\Mat{n}_3} \\ \DotProduct{\Vec{m}_3}{\Mat{n}_1} & \DotProduct{\Vec{m}_3}{\Mat{n}_2} & \DotProduct{\Vec{m}_3}{\Mat{n}_3} \end{bmatrix}} \newcommand{\Force}{F} \newcommand{\ShearFlow}{f}$$\newcommand{\BaseSymbol}{b} \newcommand{\EmbeddedSymbol}{e} \newcommand{\RefinedSymbol}{r} \newcommand{\HierarchicalSymbol}{\textsf{H}} \newcommand{\BlockSymbol}{\textsf{B}} \newcommand{\BaseModifier}[1]{{#1}_{\BaseSymbol}} \newcommand{\EmbeddedModifier}[1]{{#1}_{\EmbeddedSymbol}} \newcommand{\RefinedModifier}[1]{{#1}_{\RefinedSymbol}} \newcommand{\HierarchicalModifier}[1]{{#1}_{\HierarchicalSymbol}} \newcommand{\BlockModifier}[1]{{#1}_{\BlockSymbol}} \newcommand{\RefinementLevelI}{i} \newcommand{\RefinementLevelJ}{j} \newcommand{\RefinementLevelK}{k} \newcommand{\HighestRefinementLevel}{N} \newcommand{\BaseParentDomain}{\BaseModifier{\ParentDomain}} \newcommand{\RefinedDomain}[1]{\ParamDomain_{#1}} \newcommand{\BaseMesh}{\BaseModifier{\MeshTopo}} \newcommand{\BaseBezierMesh}{\BaseModifier{\MeshBezier}} \newcommand{\EmbeddedMesh}{\EmbeddedModifier{\MeshTopo}} \newcommand{\RefinedMesh}{\RefinedModifier{\MeshTopo}} \newcommand{\RefinedBezierMesh}{\RefinedModifier{\MeshBezier}} \newcommand{\HierarchicalBezierMesh}{\HierarchicalModifier{\MeshBezier}} \newcommand{\HierarchicalUsplineMesh}{\HierarchicalModifier{\MeshUspline}} \newcommand{\RefinementLevelMesh}[1]{\MeshBezier_{#1}} \newcommand{\LeafElemSet}[1]{\Set{L}_{#1}} \newcommand{\ActiveElemSet}[1]{\Set{A}_{#1}} \newcommand{\ActiveBasisFuncs}[1]{\Set{UFA}_{#1}} \newcommand{\UnderRefinedBasisFuncs}[1]{\Set{UFU}_{#1}} \newcommand{\HierarchicalBasisFuncs}{\Set{UFH}} \newcommand{\TruncatedBasisFuncs}{\Set{UFT}} \newcommand{\FuncsTruncatedToLevel}[1]{\Set{TK}_{#1}} \newcommand{\FuncsTouchingActiveFuncs}[1]{\Set{T}_{#1}} \newcommand{\FuncsSubsetOfCoarserFuncs}[1]{\Set{S}_{#1}} \newcommand{\RefinementLevelBasis}[1]{\UsplineBasisFuncSetFunctionOf{\RefinementLevelMesh{#1}}} \newcommand{\RefinementLevelSpace}[1]{\QuantityRelatedTo{\UsplineSpace}{\RefinementLevelMesh{#1}}} \newcommand{\BaseAssociated}{\operatorname{\textsf{base}}} \newcommand{\BaseAssociatedFunctionOf}[1]{\QFO{\BaseAssociated}{#1}} \newcommand{\TruncationOp}[2]{\QFO{\operatorname{\textsf{trunc}}_{#1}}{#2}} \newcommand{\EmbeddedToBaseChart}{\EmbeddedModifier{\ParentDomainChart}} \newcommand{\InvEmbeddedToBaseChart}{(\EmbeddedToBaseChart)^{-1}} \newcommand{\RefinementCoefficients}{c^A_B} \newcommand{\RefinementMat}{\Mat{D}} \newcommand{\NthLevelProlongationMat}[1]{\QSB{\ProlongationMat}{#1}} \newcommand{\NthLevelActiveMat}[1]{\QSB{\Mat{A}}{#1}} \newcommand{\NthLevelRefinementMat}[1]{\QSB{\RefinementMat}{#1}} \newcommand{\NthLevelTruncationMat}[1]{\QSB{\Mat{T}}{#1}} \newcommand{\NthLevelBasisMat}[1]{\QSB{\Mat{S}}{#1}} \newcommand{\NthLevelMassMat}[1]{\QSB{\MassMat}{#1}} \newcommand{\FuncIndex}{\operatorname*{\mathsf{ID}}} \newcommand{\MultiLevelRefinementMat}[2]{\QSB{\RefinementMat}{#1 #2}} \newcommand{\BlockRefinementMat}{\BlockModifier{\RefinementMat}} \newcommand{\BlockMassMat}{\BlockModifier{\MassMat}}$

Blend surfaces are common in solid model meshing problems. A blend surface, also known as a fillet or chamfer, is problematic for sweeping algorithms which have trouble assigning vertex types on blend surfaces. While blend surfaces present a challenge for meshing applications, there are many tools within ITEM to help guide the user through possible solutions.

Diagnostic: Blend surfaces are detected by looping over the curves on a surface and examining the angles, surface normals, and curvature of curves and adjacent surfaces.

Solutions: The current solution to blend surfaces is to remove the surface and attempt to extend adjacent surfaces to fill in the gap. An example of blend surfaces that have been removed is shown below. This is useful for models which can be simplified without losing important topology.

Figure 520: A volume which has been simplified by removing blend surfaces.

##### 9.6.3.2Geometry Decomposition

$\newcommand{\QuantityFunctionOf}[2]{{#1}(#2)} \newcommand{\QFO}[2]{\QuantityFunctionOf{#1}{#2}} \newcommand{\QuantityFunctionOfNoArg}[1]{{#1}} \newcommand{\QFONA}[1]{\QuantityFunctionOfNoArg{#1}} \newcommand{\SubscriptedQuantityFunctionOf}[3]{{#1}_{#2}(#3)} \newcommand{\SQFO}[3]{\SubscriptedQuantityFunctionOf{#1}{#2}{#3}} \newcommand{\QuantityChildOf}[2]{{#2}^{#1}} \newcommand{\QCO}[2]{\QuantityChildOf{#1}{#2}} \newcommand{\QuantityRelatedTo}[2]{{#1}[#2]} \newcommand{\QRT}[2]{\QuantityRelatedTo{#1}{#2}} \newcommand{\QuantitySubscriptedBy}[2]{{#1}_{#2}} \newcommand{\QSB}[2]{\QuantitySubscriptedBy{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOfChildOf}[4]{{#1}_{#2}^{#3}(#4)} \newcommand{\SQFOCO}[4]{\SubscriptedQuantityFunctionOfChildOf{#1}{#2}{#3}{#4}} \newcommand{\SubscriptedQuantityChildOf}[3]{{#1}_{#2}^{#3}} \newcommand{\SQCO}[3]{\SubscriptedQuantityChildOf{#1}{#2}{#3}} \newcommand{\overbar}[1]{\mkern 1.5mu\overline{\mkern-1.5mu#1\mkern-1.5mu}\mkern 1.5mu} \newcommand{\bcdot}{\boldsymbol{\cdot}} \newcommand{\SuchThat}{\, : \,} \newcommand{\SuchThatText}{\text{s.t.}} \newcommand{\DefEq}{\overset{\operatorname{def}}{=}} \newcommand{\True}{\textsf{True}} \newcommand{\False}{\textsf{False}} \newcommand{\ArrayRoster}[1]{\left[#1\right]} \newcommand{\ArrayRosterI}[2]{[#1]_{#2}} \newcommand{\ArrayEmpty}{\ArrayRoster{\hspace{1mm}}} \newcommand{\Tuple}[1]{\mathsf{#1}} \newcommand{\TupleRoster}[1]{\left(#1\right)} \newcommand{\PointPair}[2]{\TupleRoster{#1, #2}} \newcommand{\Set}[1]{\mathsf{#1}} \newcommand{\SetRoster}[1]{\left\{ #1 \right\}} \newcommand{\SetRosterIndexed}[3]{\SetRoster{#1}_{#2}^{#3}} \newcommand{\SetRosterPredicate}[2]{\SetRoster{#1 \SuchThat #2}} \newcommand{\SetEmpty}{\varnothing} \newcommand{\SetPower}[1]{\QuantityFunctionOf{\boldsymbol{\Set{P}}}{#1}} \newcommand{\SetNeighborhood}[1]{\QuantityFunctionOf{\boldsymbol{\Set{B}}}{#1}} \newcommand{\Domain}{\Omega} \newcommand{\DomainBdry}{\Gamma} \newcommand{\IntervalClosed}[2]{\left[#1, #2\right]} \newcommand{\IntervalOpen}[2]{\left(#1, #2\right)} \newcommand{\IntervalClosedOpen}[2]{\left[#1, #2\right)} \newcommand{\IntervalOpenClosed}[2]{\left(#1, #2\right]} \newcommand{\Reals}{\mathbb{R}} \newcommand{\Naturals}{\mathbb{N}} \newcommand{\Integers}{\mathbb{Z}} \newcommand{\Field}{\mathbb{F}} \newcommand{\Size}[1]{\left\lvert #1 \right\rvert} \newcommand{\Union}[3]{\bigcup\limits_{#1}^{#2} #3} \newcommand{\UnionInline}[3]{\bigcup_{#1}^{#2} #3} \newcommand{\Intersect}[3]{\bigcap\limits_{#1}^{#2} #3} \newcommand{\ElementWiseGreaterOrEqual}{\succeq} \newcommand{\ElemntWiseGreater}{\succ} \newcommand{\ElementWiseLessOrEqual}{\preceq} \newcommand{\ElementWiseLess}{\prec} \newcommand{\SpaceLinear}[1]{\mathnormal{#1}} \newcommand{\SpaceDual}[1]{\SpaceLinear{#1}^*} \newcommand{\AbsoluteValue}[1]{\Size{#1}} \newcommand{\Norm}[2]{\left\lVert #2 \right\rVert_{#1}} \newcommand{\NormAbstract}[1]{\Norm{}{#1}} \newcommand{\NormSemi}[1]{\Size{#1}} \newcommand{\SpaceLinearNormed}[1]{\left(\SpaceLinear{#1}, \NormAbstract{\bcdot} \right)} \newcommand{\SpaceBanach}[1]{\mathfrak{#1}} % normed and complete \newcommand{\SymmetricBilinear}[2]{\left(#1, #2\right)} \newcommand{\InnerProduct}[2]{\left\langle#1, #2\right\rangle} \newcommand{\DotProduct}[2]{\left(#1 \bcdot #2\right)} \newcommand{\SpaceInnerProduct}[1]{\left(\SpaceLinear{#1}, \InnerProduct{\bcdot}{\bcdot}\right)} \newcommand{\SpaceHilbert}[1]{\mathcal{#1}} \newcommand{\SpaceLTwo}{\SpaceHilbert{L}_2} \newcommand{\SpaceLTwoDef}[2]{\SpaceLTwo\left(#1; #2\right)} \newcommand{\SpaceLInfty}{\SpaceHilbert{L}_\infty} \newcommand{\SpaceLTwoWeighted}{\SpaceLTwo^w} \newcommand{\SpaceSobolevK}[1]{\SpaceHilbert{H}^{#1}} \newcommand{\SpaceSobolevKDef}[3]{\SpaceSobolevK{#1}\left(#2 ; #3\right)} \newcommand{\Cont}{\operatorname{cont}} \newcommand{\SpaceCont}{\SpaceHilbert{C}} \newcommand{\SpaceContDef}[2]{\SpaceCont\left(#1 ; #2\right)} \newcommand{\SpaceContK}[1]{\SpaceCont^{#1}} \newcommand{\SpaceContKDef}[3]{\SpaceContK{#1}\left(#2; #3\right)} \newcommand{\SpaceContZero}{\SpaceContK{0}} \newcommand{\SpaceContInf}{\SpaceContK{\infty}} \newcommand{\SpaceContInfDef}[2]{\SpaceContKDef{\infty}{#1}{#2}} \newcommand{\SpaceContKBounded}[2]{\SpaceContK{#1}_{#2}} \newcommand{\SpaceContKBoundedDef}[3]{\SpaceCont_{b}^{#1}\left(#2 ; #3\right)} \newcommand{\SpaceLinearOperator}[1]{\mathscr{#1}} \newcommand{\SpaceLinearOperatorDef}[2]{\SpaceLinearOperator{L}\left(#1 ; #2\right)} \newcommand{\SpaceLinearOperatorBoundedDef}[2]{\SpaceLinearOperator{B}\left(#1 ; #2\right)} \newcommand{\SpaceLinearN}[1]{\SpaceLinear{#1}^h} \newcommand{\SpaceHilbertN}[1]{\SpaceHilbert{#1}^h} \newcommand{\SpaceVecRealN}[1]{\Reals^{#1}} \newcommand{\SpacePoly}[1]{\SpaceHilbert{P}^{#1}} \newcommand{\SpaceMatrixRealMN}[2]{\Reals^{#1\times#2}} \newcommand{\SpacePolyDef}[3]{\SpacePoly{#1}\left(#2 ; #3\right)} \newcommand{\Func}[1][f]{#1} \newcommand{\FuncAlt}[1][g]{#1} \newcommand{\FuncDef}[3]{#1 \SuchThat #2 \rightarrow #3} \newcommand{\FuncApprox}[1]{#1^h} \newcommand{\LinearOperator}[1]{\SpaceLinearOperator{#1}} \newcommand{\LinearOperatorDef}[3]{\FuncDef{\LinearOperator{#1}}{#2}{#3}} \newcommand{\Functional}[1]{\LinearOperator{#1}} \newcommand{\Projection}{\Pi} \newcommand{\VectorProjection}[2]{\Projection_{#1} {\left(#2\right)}} \newcommand{\Mat}[1]{\boldsymbol{#1}} \newcommand{\MatIJ}[3]{\left[#1\right]_{#2#3}} \newcommand{\MatIdRow}{m} \newcommand{\MatIdCol}{n} \newcommand{\NonZeroIndices}{\operatorname{\mathsf{nzi}}} \newcommand{\ColumnSelector}{\operatorname{\mathrm{col}}} \newcommand{\RowSelector}{\operatorname{\mathrm{row}}} \newcommand{\ColOf}[1]{\ColumnSelector_{#1}} \newcommand{\RowOf}[1]{\RowSelector_{#1}} \newcommand{\DiagonalMatrix}[1]{\QFO{\operatorname*{diag}}{#1}} \newcommand{\Rotation}{\Mat{R}} \newcommand{\Identity}{\Mat{I}} \newcommand{\KroneckerDeltaComp}{\delta} \newcommand{\KroneckerDelta}{\Mat{\delta}} \newcommand{\LeviCivita}{\Mat{\epsilon}} \newcommand{\Jacobian}{\Mat{J}} \renewcommand{\Vec}[1]{\boldsymbol{#1}} \newcommand{\VecChildOf}[2]{\QCO{#2}{#1}} \newcommand{\VecI}[2]{\{#1\}_{#2}} \newcommand{\ZeroVec}{\Vec{0}} \newcommand{\OneVec}{\Vec{1}} \newcommand{\ZeroMat}{\Mat{0}} \newcommand{\UnitNormalComp}{n} \newcommand{\UnitNormal}{\Vec{\UnitNormalComp}} \newcommand{\MacBracket}[1]{\langle#1\rangle} \newcommand{\IdentityTenSym}{\mathbb{I}} \newcommand{\BraKet}[1]{\langle#1\rangle} \newcommand{\FuncObjective}[1]{\QFO{\Func}{#1}} \newcommand{\FuncEqualityConstraints}[1]{\QFO{\Func[\Vec{g}]}{#1}} \newcommand{\VarDesign}{\Vec{\phi}} \newcommand{\VarState}[1]{\QFO{\Vec{u}}{#1}} \newcommand{\FuncLagrangian}[1]{\QFO{\mathscr{L}}{#1}} \newcommand{\FuncAugmentedLagrangian}[1]{\QFO{\mathscr{L}_A}{#1}} \newcommand{\VecLambdaLM}[1]{\QFO{\Vec{\lambda}}{#1}} \newcommand{\LambdaLM}[1]{\QFO{\lambda}{#1}} \newcommand{\SolutionLocalOpt}[1]{\left(#1\right)^*} \newcommand{\ProximalPoint}{\overbar{\VecLambdaLM{}}} \newcommand{\PenaltyParameter}{\rho} \newcommand{\Slacify}[1]{\QSB{#1}{s}} \newcommand{\Prod}[2]{\prod\limits_{#1}^{#2}} \newcommand{\ProdInline}[2]{\prod_{#1}^{#2}} \newcommand{\TensorProduct}{\otimes} \newcommand{\Sum}[2]{\sum\limits_{#1}^{#2}} \newcommand{\SumInline}[2]{\sum_{#1}^{#2}} \newcommand{\Rank}[1]{\operatorname{rank}(#1)} \newcommand{\Nullity}[1]{\operatorname{null}(#1)} \newcommand{\Image}{\operatorname{image}} \newcommand{\Range}{\operatorname{range}} \newcommand{\Inverse}[1]{\left(#1\right)^{-1}} \newcommand{\inverse}[1]{\overline{#1}} \newcommand{\Transpose}[1]{\left(#1\right)^{T}} \newcommand{\TransposeSimple}[1]{#1^{T}} \newcommand{\InvTrans}[1]{\left(#1\right)^{-T}} \newcommand{\Complement}[1]{\overbar{#1}} \newcommand{\Adjoint}[1]{\left(#1\right)^*} \newcommand{\OrthogonalComplement}[1]{\left(#1\right)^\perp} \newcommand{\Det}[1]{\QFO{\operatorname{det}}{#1}} \newcommand{\DCT}{\operatorname{DCT}} \newcommand{\IDCT}{\operatorname{IDCT}} \newcommand{\RealPart}[1]{\QFO{\mathfrak{R}}{#1}} \newcommand{\Trace}[1]{\QFO{\operatorname{tr}}{#1}} \newcommand{\Dev}[1]{\QFO{\operatorname{dev}}{#1}} \newcommand{\DevDef}[1]{\Dev{#1} \DefEq #1 - \frac{1}{3}\Trace{#1}\Identity} \newcommand{\dual}[1]{{\bar{#1}}} \newcommand{\symind}[1]{\textsc{#1}} \newcommand{\symmetrizer}{{S}} \newcommand{\BasisFuncCoeff}[2]{\QSB{#1}{#2}} \newcommand{\BasisVec}[2]{\QSB{#1}{#2}} \newcommand{\BasisVecChildOf}[3]{\SQFOCO{#1}{#2}{#3}{a}} \newcommand{\OrthogonalBasisVec}[2]{\SQFOCO{#1}{#2}{\perp}{a}} \newcommand{\OrthonormalBasisVec}[2]{\SQFOCO{\overbar{#1}}{#2}{\perp}{a}} \newcommand{\PolynomialDegree}{p} \newcommand{\BasisFuncId}{i} \newcommand{\BasisFuncIdAlt}{j} \newcommand{\BasisFuncIdAltAlt}{k} \newcommand{\BasisFunc}[3]{\SQFO{#1}{#2}{#3}} \newcommand{\PowerBasisFunc}[2]{\QCO{#2}{#1}} \newcommand{\LagrangeBasisFunc}[3]{\SQFOCO{\Func[L]}{#1}{#2}{#3}} \newcommand{\LagrangeBasisFuncNoArg}[2]{\SQCO{\Func[L]}{#1}{#2}} \newcommand{\LegendreBasisFunc}[3]{\SQFOCO{\Func[P]}{#1}{#2}{#3}} \newcommand{\LegendreBasisFuncNoArg}[2]{\SQCO{\Func[P]}{#1}{#2}} \newcommand{\PreNormalizedLegendreBasisFunc}[3]{\hat{\LegendreBasisFunc{#1}{#2}{#3}}} \newcommand{\ChebyshevBasisFunc}[2]{\SQFO{\Func[T]}{#1}{#2}} \newcommand{\ChebyshevBasisFuncNoArg}[1]{\SQCO{\Func[T]}{#1}{}} \newcommand{\BasisVecI}{\Vec{i}} \newcommand{\BasisVecJ}{\Vec{j}} \newcommand{\BasisVecK}{\Vec{k}} \newcommand{\Span}{\operatorname{span}} \newcommand{\Dim}[1]{\operatorname{dim}\left({#1}\right)} \newcommand{\Support}[1]{\operatorname{supp}(#1)} \newcommand{\SupportPos}[1]{\operatorname{supp}_{+}(#1)} \newcommand{\SumBasis}[4]{\Sum{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\SumInlineBasis}[4]{\SumInline{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\BasisTransMatrix}[2]{\Mat{R}_{{#1}\rightarrow{#2}}} \newcommand{\ChebyshevZeros}[1]{\QSB{z}{#1}} \newcommand{\ChebyshevExtremizers}[1]{\QSB{t}{#1}} \newcommand{\BernToChebMat}{\Mat{T}} \newcommand{\Chebfun}[3]{\biggl(\, \sum_{#2=0}^{#1}{#3}_{#2}\ChebyshevBasisFuncNoArg{#2}\biggr)} \newcommand{\ChebfunVector}[1]{\left[#1\right]_c} \newcommand{\PowerBasisMat}[1]{\QCO{#1}{\Mat{M}}} \newcommand{\LagrangeBasisMat}[1]{\QCO{#1}{\Mat{L}}} \newcommand{\LegendreBasisMat}[1]{\QCO{#1}{\Mat{P}}} \newcommand{\BernsteinBasisMat}[1]{\QCO{#1}{\Mat{B}}} \newcommand{\ChebyshevBasisMat}[1]{\QCO{#1}{\Mat{T}}} \newcommand{\EvaluateTwoLimits}[3]{#1\biggr\rvert_{#2}^{#3}} \newcommand{\EvaluateOneLimit}[2]{\left.#1\right\rvert_{#2}} \newcommand{\Limit}[2]{\lim\limits_{#1\rightarrow #2}} \newcommand{\LimitInline}[2]{\lim_{#1\rightarrow #2}} \newcommand{\DNE}{\operatorname{DNE}} \newcommand{\TotalDeriv}{D} \newcommand{\LagrangeDeriv}[1]{{#1}'} \newcommand{\KthLagrangeDeriv}[2]{{#1}^{(#2)}} \newcommand{\LeibnizSubDeriv}[2]{{#1}_{,#2}} \newcommand{\LeibnizFracDeriv}[2]{\frac{d}{d#2} #1} \newcommand{\KthLeibnizFracDeriv}[3]{\frac{d^{#2}}{d#3^{#2}}\Func[#1](#3)} \newcommand{\KthLeibnizFracSpecificFunction}[3]{\frac{d^{#2}}{d#3^{#2}}\Func[#1]} \newcommand{\Differential}[1][x]{\, \operatorname{d}{#1}} \newcommand{\FrechetDeriv}[2]{D{#1}\left(#2\right)} \newcommand{\GateauxDirectionBold}[1]{\Vec{\delta}#1} \newcommand{\GateauxDirection}[1]{\delta #1} \newcommand{\GateauxDerivBold}[2]{D#1(#2; \GateauxDirectionBold{#2})} \newcommand{\GateauxDeriv}[2]{D#1(#2; \GateauxDirection{#2})} \newcommand{\GateauxDerivWithDirection}[3]{D#1\left(#2 \ ;\ #3\right)} \newcommand{\GateauxDerivPartial}[2]{\frac{\partial #1}{\partial #2}} \newcommand{\KthGateauxDerivPartial}[3]{\frac{\partial^{#3} #1}{\partial #2^{#3}}} \newcommand{\Grad}[2]{\boldsymbol{\nabla}^{#1} #2} \newcommand{\Jac}{\Mat{J}} \newcommand{\Div}[2]{\boldsymbol{\nabla}^{#1} \bcdot #2} \newcommand{\Laplace}[2]{\boldsymbol{\Delta}^{#1} #2} \newcommand{\TaylorSeries}[2]{\mathcal{T}\left[\Func[#1]\right](#2)} \newcommand{\TruncatedTaylorSeries}[3]{\mathcal{T}_{#1}\left[\Func[#2]\right]\left(#3\right)} \newcommand{\Int}[2]{\int\limits_{#1}^{#2}} \newcommand{\IntDomain}[1]{\int\limits_{#1}} \newcommand{\IntInline}[2]{\int_{#1}^{#2}} \newcommand{\IntDomainInline}[1]{\int_{#1}} \newcommand{\DetJacobian}{\Det{\Jac}} \newcommand{\BigO}[1]{\mathcal{O}\left(#1\right)} \newcommand{\Flops}{\operatorname{flops}} \newcommand{\Interpolant}[2]{\mathcal{#1}^{h}} \newcommand{\ErrorApproxComp}{e} \newcommand{\ErrorApproxTen}{\Vec{\ErrorApproxComp}} \newcommand{\ErrorNewton}{\epsilon} \newcommand{\ApproximateIntegrationError}[1]{\tilde{e}_{#1}} \newcommand{\AnalyticApproximateIntegrationErrorDifference}[1]{\overbar{e}_{#1}} \newcommand{\erf}[1]{\mathrm{erf}\left(#1\right)} \newcommand{\erfc}[1]{\mathrm{erfc}\left(#1\right)} \newcommand{\HeavisideFunc}[1]{\mathit{H}\left(#1\right)} \newcommand{\DiracDelta}[2]{\delta_{D}\left(#1 - #2\right)}$$\newcommand{\SymbolParentModifier}[1]{\overbar{#1}} \newcommand{\SymbolParamModifier}[1]{\hat{#1}} \newcommand{\SymbolSubmeshModifier}{} \newcommand{\SymbolDomain}{\Domain} \newcommand{\SymbolDomainBdry}{\DomainBdry} \newcommand{\SymbolBernstein}{B} \newcommand{\SymbolBasisUspline}{N} \newcommand{\SymbolUspline}{U} \newcommand{\SymbolUsplineLower}{u} \newcommand{\SymbolGrevillePoint}{g} \newcommand{\SymbolDim}{d} \newcommand{\SymbolArbitraryCoeffUspline}{c} \newcommand{\SymbolArbitraryCoeffUsplineAlt}{\beta} \newcommand{\SymbolArbitraryCoeffBernstein}{c} \newcommand{\SymbolDistance}{\operatorname{dist}} \newcommand{\AdjacencyId}{n} \newcommand{\DimId}{k} \newcommand{\DimIdAlt}{n} \newcommand{\ArbDim}{\DimId} \newcommand{\ArbDimAlt}{\DimIdAlt} \newcommand{\DimIdSet}{\Set{\DimId}} \newcommand{\DimIdOne}{\DimId_0} \newcommand{\DimIdTwo}{\DimId_1} \newcommand{\DimIdThree}{\DimId_2} \newcommand{\TopoAlpha}[1]{\alpha_{#1}} \newcommand{\TopoPhi}[1]{\phi_{#1}} \newcommand{\UTopology}{\mathsf{U}} \newcommand{\Map}[1]{\mathsf{#1}} \newcommand{\OMap}[1]{\mathsf{#1}} \newcommand{\UOMap}[1]{\UTopology(#1)} \newcommand{\Topology}{\mathsf{T}} \newcommand{\DartsOf}[1]{\operatorname*{\mathsf{D}}\left(#1\right)} \newcommand{\DartIndex}[1]{\operatorname*{\mathsf{ID}}\left(#1\right)} \newcommand{\OR}{\operatorname{OR}} \newcommand{\AND}{\operatorname{AND}} \newcommand{\XOR}{\operatorname{XOR}} \newcommand{\Decomp}{\operatorname{dec}} \newcommand{\ParentDomain}{\SymbolParentModifier{\SymbolDomain}} \newcommand{\ParentDomainChart}{\SymbolParentModifier{\Vec{\phi}}} \newcommand{\ParentDomainChartFunctionOf}[2]{\QuantityFunctionOf{{\ParentDomainChart}^{#1}}{#2}} \newcommand{\ParentDim}{\SymbolDim} \newcommand{\ParentCoord}{\xi} \newcommand{\ParentCoordVec}{\Vec{\ParentCoord}} \newcommand{\ParentS}{\ParentCoord_0} \newcommand{\ParentT}{\ParentCoord_1} \newcommand{\ParentU}{\ParentCoord_2} \newcommand{\ParentBarycentric}[1]{\ParentCoord_{#1}} \newcommand{\ParentGrevillePoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}} \newcommand{\ParentGrevillePointFunctionOf}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParentGrevillePointSet}[1]{\QuantityFunctionOf{\Set{\SymbolParentModifier{G}}}{#1}} \newcommand{\BernsteinBasisFuncId}{\BasisFuncId} \newcommand{\BernsteinBasisFuncIdAlt}{\BasisFuncIdAlt} \newcommand{\BernsteinBasisFuncIdAltAlt}{\BasisFuncIdAltAlt} \newcommand{\BernsteinBasisFuncIdB}{\BasisFuncIdAltAlt} \newcommand{\BernsteinBasisFuncIdOne}{\BernsteinBasisFuncId_0} \newcommand{\BernsteinBasisFuncIdTwo}{\BernsteinBasisFuncId_1} \newcommand{\BernsteinBasisFuncIdSet}{\Set{\BernsteinBasisFuncId}} \newcommand{\BernsteinBasisFuncIndexTuple}{\BernsteinBasisFuncIdSet} \newcommand{\BernsteinBasisFuncIndexTupleAlt}{\Set{\BernsteinBasisFuncIdAlt}} \newcommand{\BernsteinBasisFuncIndexTupleAltAlt}{\Set{\BernsteinBasisFuncIdAltAlt}} \newcommand{\BernsteinBasisFuncIndexTupleB}{\Set{\BernsteinBasisFuncIdB}} \newcommand{\BernsteinDegree}{\PolynomialDegree} \newcommand{\BernsteinDegreeAlt}{q} \newcommand{\BernsteinDegreeTuple}{\Tuple{\BernsteinDegree}} \newcommand{\BernsteinDegreeElevMatComp}{D} \newcommand{\BernsteinDegreeElevMat}{\Mat{\BernsteinDegreeElevMatComp}} \newcommand{\CompletePolynomial}[1]{\AbsoluteValue{#1}} \newcommand{\BernsteinBasisFunc}{\SymbolBernstein} \newcommand{\BernsteinBasisFuncVec}[1]{\QuantityChildOf{#1}{\Vec{\SymbolBernstein}}} \newcommand{\BernsteinBasisFuncVecFunctionOf}[2]{\QuantityFunctionOf{\BernsteinBasisFuncVec{#1}}{#2}} \newcommand{\BernsteinBasisFuncDetailed}[2]{\BernsteinBasisFunc_{#1}^{#2}} \newcommand{\BernFuncLowerDimCell}[2]{\BernsteinBasisFunc^{#1}_{#2}} \newcommand{\BernFuncInterf}[1]{\BernFuncLowerDimCell{\Interface}{#1}} \newcommand{\BernsteinSpace}{\SpaceHilbert{\SymbolBernstein}} \newcommand{\BernsteinRestriction}[2]{#1\vert_{#2}} \newcommand{\Bezier}{B\'ezier} \newcommand{\MeshTopo}{\boldsymbol{\textsf{M}}} \newcommand{\MeshSize}{h} \newcommand{\MeshBezier}{\boldsymbol{\textsf{B}}} \newcommand{\CellArbitrary}[1]{\Set{#1}} \newcommand{\Cell}{\CellArbitrary{c}} \newcommand{\CellAlpha}{\CellArbitrary{a}} \newcommand{\CellBeta}{\CellArbitrary{b}} \newcommand{\CellGamma}{\CellArbitrary{c}} \newcommand{\CellToTheLeft}{\CellAlpha} \newcommand{\CellToTheRight}{\CellBeta} \newcommand{\CellBoundary}[1]{\partial #1} \newcommand{\CellSet}[1]{\Set{C}^{#1}} \newcommand{\CellSetAdjacent}[1]{\Set{ADJ}^{#1}} \newcommand{\CellSetAdjacentFunctionOf}[2]{\QuantityFunctionOf{\CellSetAdjacent{#1}}{#2}} \newcommand{\NRing}[1]{\QuantitySubscriptedBy{\operatorname{ring}}{#1}} \newcommand{\NRingFunctionOf}[2]{\SQFO{\operatorname{ring}}{#1}{#2}} \newcommand{\CellSetCardinal}[1]{\QuantityFunctionOf{\Set{CRD}}{#1}} \newcommand{\CellSetSupport}[1]{\Support{#1}} \newcommand{\Elem}{\Set{E}} \newcommand{\Interface}{\Set{I}} \newcommand{\Smoothness}{\vartheta} \newcommand{\SmoothnessVar}{\rho} \newcommand{\SmoothnessSet}{\Set{\Smoothness}} \newcommand{\InterfaceSmoothness}[1]{\QuantityChildOf{#1}{\Smoothness}} \newcommand{\MaxPerpCont}[1]{\QuantityFunctionOf{\Smoothness^{\perp}_{\max}}{#1}} \newcommand{\Face}{\Set{f}} \newcommand{\Edge}{\Set{e}} \newcommand{\Vertex}{\Set{v}} \newcommand{\CodimTwoCell}{\Set{w}} \newcommand{\KCell}{\Cell^\ArbDim} \newcommand{\KPlusOneCell}{\Cell^{\ArbDim+1}} \newcommand{\KCellAlpha}{\CellAlpha^\ArbDim} \newcommand{\KPlusOneCellBeta}{\CellBeta^{\ArbDim+1}} \newcommand{\MaxParallelDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\max}}{#1}} \newcommand{\MinParallelDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\min}}{#1}} \newcommand{\MaxPerpDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\max}}{#1}} \newcommand{\MinPerpDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\min}}{#1}} \newcommand{\MinParallelPerpDegree}[2]{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\min}}{#1,#2}} \newcommand{\MaxParallelPerpDegree}[2]{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\max}}{#1,#2}} \newcommand{\DegreeParallel}{\BernsteinDegree^{\parallel}} \newcommand{\DegreeParallelToEdge}[2]{\DegreeParallel_{#1}(#2)} \newcommand{\DegreePerp}{\BernsteinDegree^{\perp}} \newcommand{\DegreePerpToInterface}[2]{\DegreePerp_{#1}(#2)} \newcommand{\DegreeTupleParallelToKCell}[2]{\Tuple{\BernsteinDegree}^{\parallel}_{#1}(#2)} \newcommand{\ChangeInDegree}[2]{\Delta(\BernsteinDegree)_{#1}^{#2}} \newcommand{\IndexSet}{\Set{ID}} \newcommand{\IndexSetFunctionOf}[1]{\QuantityFunctionOf{\IndexSet}{#1}} \newcommand{\CompositeBVUnionIndexSet}[1]{\QuantityFunctionOf{\Set{UID}}{#1}} \newcommand{\IndexSetPosCoeffs}[1]{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\IndexSetSet}{\boldsymbol{\IndexSet}} \newcommand{\IndexSetSetFunctionOf}[1]{\QuantityFunctionOf{\IndexSetSet}{#1}} \newcommand{\IndexSetOnMeshBezier}{\IndexSetFunctionOf{\MeshBezier}} \newcommand{\IndexOnCell}[2]{\QuantityChildOf{#1}{#2}} \newcommand{\IndexOnCellIJ}[3]{\QuantityChildOf{#1}{\TupleRoster{#2,#3}}} \newcommand{\CellFromQuantity}[1]{\QuantityFunctionOf{\operatorname{cell}}{#1}} \newcommand{\ExtractionOp}[1]{\QuantityChildOf{#1}{\Mat{C}}} \newcommand{\ExtractionOpFunctionOf}[2]{\QuantityFunctionOf{\ExtractionOp{#1}}{#2}} \newcommand{\ReconstructOp}[1]{\QuantityChildOf{#1}{\Mat{R}}} \newcommand{\ReconstructOpFunction}[2]{\QuantityFunctionOf{\ReconstructOp{#1}}{#2}} \newcommand{\Gramian}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{G}}{#2}}} \newcommand{\BernsteinSpaceOnMeshBezier}{\QCO{\MeshBezier}{\BernsteinSpace}} \newcommand{\ii}{\IndexOnCell{}{\BernsteinBasisFuncIndexTuple}} \newcommand{\jj}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAlt}} \newcommand{\kk}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAltAlt}} \newcommand{\ParamDomain}{\SymbolParamModifier{\SymbolDomain}} \newcommand{\ParamDomainOnCell}{\QuantityChildOf{\Cell}{\ParamDomain}} \newcommand{\ParamDomainBdry}{\SymbolParamModifier{\SymbolDomainBdry}} \newcommand{\ParamDomainChart}[1]{\Vec{\phi}^{#1}} \newcommand{\ParamDomainChartFunctionOf}[2]{\QuantityFunctionOf{\ParamDomainChart{#1}}{#2}} \newcommand{\ParamDim}{\SymbolDim} \newcommand{\ParamCoordSimple}{s} \newcommand{\ParamCoord}[1]{\QCO{#1}{s}} \newcommand{\ParamCoordVecSimple}{\Vec{s}} \newcommand{\ParamCoordVec}[1]{\QCO{#1}{\Vec{\ParamCoordSimple}}} \newcommand{\ParamDomainBdryParamCoord}{\ParamCoord{\ParamDomainBdry}} \newcommand{\ParamDomainBdryParamCoordVec}{\ParamCoordVec{\ParamDomainBdry}} \newcommand{\ParamCoordVecSet}{\boldsymbol{\Set{S}}} \newcommand{\ParamS}{\ParamCoord{}_0} \newcommand{\ParamT}{\ParamCoord{}_1} \newcommand{\ParamU}{\ParamCoord{}_2} \newcommand{\ParamBarycentric}[1]{\lambda_{#1}} \newcommand{\ParamLength}{\ell} \newcommand{\ParamLengthLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLength}} \newcommand{\ParamLengthRight}{\QuantityChildOf{\CellToTheRight}{\ParamLength}} \newcommand{\ParamLengthInS}{\ParamLength_{0}} \newcommand{\ParamLengthInT}{\ParamLength_{1}} \newcommand{\ParamLengthLeftS}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInS}} \newcommand{\ParamLengthLeftT}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInT}} \newcommand{\ParamLengthRightS}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInS}} \newcommand{\ParamLengthRightT}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInT}} \newcommand{\ParamLengthInSLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInS}} \newcommand{\ParamLengthInTLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInT}} \newcommand{\ParamLengthInSRight}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInS}} \newcommand{\ParamLengthInTRight}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInT}} \newcommand{\BernsteinDegreeInS}{\BernsteinDegree_{0}} \newcommand{\BernsteinDegreeInT}{\BernsteinDegree_{1}} \newcommand{\BernsteinDegreeLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegree}} \newcommand{\BernsteinDegreeRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegree}} \newcommand{\BernsteinDegreeInSLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegreeInS}} \newcommand{\BernsteinDegreeInSRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegreeInS}} \newcommand{\BernsteinDegreeInTLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegreeInT}} \newcommand{\BernsteinDegreeInTRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegreeInT}} \newcommand{\BernsteinDegreeBarycentricLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegree}} \newcommand{\BernsteinDegreeBarycentricRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegree}} \newcommand{\ParamGrevillePoint}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParamModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParamGrevillePointSet}[1]{\QuantityFunctionOf{\Set{\SymbolParamModifier{G}}}{#1}} \newcommand{\ParamDomainOnMeshBezier}{\QuantityChildOf{\MeshBezier}{\ParamDomain}} \newcommand{\BernsteinTraceMappingMat}{\Mat{M}} \newcommand{\NormalParamCoordSet}[2]{\QuantityFunctionOf{\ParamCoordVecSimple^{\perp}_{#1}}{#2}} \newcommand{\ParallelParamCoordSet}[2]{\QuantityFunctionOf{\ParamCoordVecSimple^{\parallel}_{#1}}{#2}} \newcommand{\Submesh}{\boldsymbol{\textsf{K}}} \newcommand{\SubmeshDomain}{\SymbolSubmeshModifier{\SymbolDomain}} \newcommand{\SubmeshDomainBdry}{\SymbolSubmeshModifier{\SymbolDomainBdry}} \newcommand{\SubmeshDomainChart}[1]{\QuantityChildOf{#1}{\Vec{\varphi}}} \newcommand{\SubmeshDomainChartFunctionOf}[2]{\QuantityFunctionOf{\SubmeshDomainChart{#1}}{#2}} \newcommand{\SubmeshDomainParameter}{\mathsf{\alpha}} \newcommand{\SubmeshDomainParameterVec}{\Vec{\SubmeshDomainParameter}} \newcommand{\SubmeshGrevillePoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}} \newcommand{\SubmeshGrevillePointFunctionOf}[2]{\QuantityFunctionOf{\SubmeshGrevillePoint{#1}}{#2}} \newcommand{\SubmeshGrevilleMaxPoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolGrevillePoint}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSet}[1]{\QuantityChildOf{#1}{\Set{G}}_{\max}} \newcommand{\SubmeshGrevilleMinPointSet}[1]{\QuantityChildOf{#1}{\Set{G}}_{\min}} \newcommand{\SubmeshGrevilleMaxPointLeft}{\SubmeshGrevilleMaxPoint{\CellAlpha}} \newcommand{\SubmeshGrevilleMaxPointRight}{\SubmeshGrevilleMaxPoint{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointIntersection}{\SubmeshGrevilleMaxPoint{\Interface}} \newcommand{\SubmeshGrevilleMinPointSetLeft}{\SubmeshGrevilleMinPointSet{\CellAlpha}} \newcommand{\SubmeshGrevilleMinPointSetRight}{\SubmeshGrevilleMinPointSet{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointSetLeft}{\SubmeshGrevilleMaxPointSet{\CellAlpha}} \newcommand{\SubmeshGrevilleMaxPointSetRight}{\SubmeshGrevilleMaxPointSet{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointSetIntersection}{\SubmeshGrevilleMaxPointSet{\Interface}} \newcommand{\SubmeshGrevillePointSet}{\Set{\SymbolSubmeshModifier{G}}} \newcommand{\SubmeshGrevillePointSetFunctionOf}[1]{\QuantityFunctionOf{\SubmeshGrevillePointSet}{#1}} \newcommand{\SubmeshGrevillePointSetLeft}{\Set{\SymbolSubmeshModifier{GA}}} \newcommand{\SubmeshGrevillePointSetRight}{\Set{\SymbolSubmeshModifier{GB}}} \newcommand{\SubmeshGrevillePointSetElement}[1]{\Set{\SymbolSubmeshModifier{GE}}_{#1}} \newcommand{\SubmeshGrevillePointSetIntersect}{\Set{\SymbolSubmeshModifier{GI}}} \newcommand{\SubmeshGrevillePointSetUnion}[1]{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GU}}}{#1}} \newcommand{\SubmeshGrevillePointSetSet}{\boldsymbol{\SubmeshGrevillePointSet}} \newcommand{\SubmeshGrevillePointSetSetFunctionOf}[1]{\QuantityFunctionOf{\SubmeshGrevillePointSetSet}{#1}} \newcommand{\SubmeshGrevillePointSetSetLeft}{\boldsymbol{\SymbolSubmeshModifier{\Set{GA}}}} \newcommand{\SubmeshGrevillePointSetSetRight}{\boldsymbol{\SymbolSubmeshModifier{\Set{GB}}}} \newcommand{\SubmeshGrevillePointSetSetElement}[2]{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1}}{#2}} \newcommand{\SubmeshGrevilleDifferenceVectorsSet}{\Delta \SubmeshGrevillePointSetFunctionOf{a}} \newcommand{\SubmeshGrevilleDifferenceVectorsSetRight}{\Delta\SubmeshGrevilleMaxPointSetRight} \newcommand{\SubmeshGrevilleDifferenceVector}{\Delta\SubmeshGrevilleMaxPoint{a}} \newcommand{\SubmeshGrevilleDifferenceVectorLeft}{\Delta\SubmeshGrevilleMaxPointLeft} \newcommand{\SubmeshGrevilleDifferenceVectorRight}{\Delta\SubmeshGrevilleMaxPointRight} \newcommand{\SubmeshGrevilleDistanceToCell}[2]{\QuantityFunctionOf{\SymbolDistance}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCell}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMin}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\min}}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMax}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\max}}{#1, #2}} \newcommand{\SubmeshPerpProjection}[1]{\Projection^{\perp}_{#1}} \newcommand{\SubmeshPerpProjectionFunctionOf}[2]{\QuantityFunctionOf{\SubmeshPerpProjection{#1}}{#2}} \newcommand{\SubmeshParallelProjection}[1]{\Projection^{\parallel}_{#1}} \newcommand{\SubmeshParallelProjectionFunctionOf}[2]{\QuantityFunctionOf{\SubmeshParallelProjection{#1}}{#2}} \newcommand{\SubmeshStarProjection}[2]{\QuantityFunctionOf{\Projection^{*}_{#1}}{#2}} \newcommand{\SubmeshPerpEquivalence}[1]{\varpi^{\perp}_{#1}} \newcommand{\SubmeshParallelEquivalence}[1]{\varpi^{\parallel}_{#1}} \newcommand{\SubmeshParallelEquivalenceFunctionOf}[2]{\QuantityFunctionOf{\SubmeshParallelEquivalence{#1}}{#2}} \newcommand{\SubmeshStarEquivalence}[1]{\varpi^{*}_{#1}} \newcommand{\AlignedSet}{{\boldsymbol{\textsf{Align}}}} \newcommand{\AlignedSetSet}{{\boldsymbol{\textsf{ALIGN}}}} \newcommand{\AlignmentSetOfSetsLeft}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetOfSetsRight}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetForInterfaceGrevillePoint}{\AlignedSet_{\SubmeshGrevillePoint{\Interface}{}}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRow}{\Set{NZ}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRowFunctionOf}[2]{\QuantityFunctionOf{\IndexSetOfNonZeroEntriesInMapMatOnRow_{#1}}{#2}} \newcommand{\AlignmentSetOfSetsOnLowerDCell}[2]{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1,#2}^{\parallel}} \newcommand{\AlignmentSetOfSetsLeftThreeD}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \ii}^{\parallel}} \newcommand{\AlignmentSetOfSetsRightThreeD}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \ii}^{\parallel}} \newcommand{\KPlusOneCellAdjacentIndexedSubmeshDomain}{\QuantityChildOf{\CellAlpha\CellBeta}{\SubmeshDomain}} \newcommand{\StructuredSymbol}{\square} \newcommand{\StructuredSubmesh}[1]{\Submesh^{\StructuredSymbol}_{#1}} \newcommand{\ToGlobalDartOp}{\operatorname*{\mathsf{G}}} \newcommand{\ProlongationMat}{\Mat{P}} \newcommand{\RestrictionMat}{\Mat{R}} \newcommand{\MeshUspline}{\boldsymbol{\textsf{\SymbolUspline}}} \newcommand{\SetNeighborhoodOfInteraction}[1]{\QuantityFunctionOf{\textsf{NI}}{#1}} \newcommand{\Ray}{\Set{r}} \newcommand{\RayHead}{\Edge^{h}} \newcommand{\RayTail}{\Vec{t}} \newcommand{\RayTailId}{j} \newcommand{\RayTailIdOne}{\RayTailId_0} \newcommand{\RayTailIdTwo}{\RayTailId_1} \newcommand{\RayTailOrigin}{\textsf{o}} \newcommand{\RayTailEdge}{\Edge} \newcommand{\RayTailVertexMaxContinuity}[1]{\Smoothness_{#1}^{\max}} \newcommand{\RayTailEdgeMinDegree}[1]{\BernsteinDegree_{#1}^{\min}} \newcommand{\RaySkeleton}[1]{\operatorname{skel}(#1)} \newcommand{\RaySmoothness}[2]{\Smoothness_{#1}^{#2}} \newcommand{\RayDegree}[2]{\BernsteinDegree_{#1}^{#2}} \newcommand{\RayContinuityTransition}{\Set{cr}} \newcommand{\RayDegreeTransition}{\Set{dr}} \newcommand{\RayTailSize}{\Size{\RayTail}} \newcommand{\RayTailTargetSize}{n} \newcommand{\RayIsTruncated}{\Set{trunc}} \newcommand{\RayAlgBernIndexVariable}{\BernsteinBasisFuncIdSet} \newcommand{\RayStartingBernIndex}{\RayAlgBernIndexVariable_{\RayHead}} \newcommand{\BernIndexOnSpecificRayTailEdge}[1]{\RayAlgBernIndexVariable_{#1}} \newcommand{\Ribbon}{\Set{r}} \newcommand{\RibbonHead}{\Interface^{h}} \newcommand{\RibbonTail}{\Vec{t}} \newcommand{\RibbonTailId}{j} \newcommand{\RibbonTailIdOne}{\RibbonTailId_0} \newcommand{\RibbonTailIdTwo}{\RibbonTailId_1} \newcommand{\RibbonTailOrigin}{\textsf{o}} \newcommand{\RibbonTailInterf}{\Interface} \newcommand{\RibbonTailCodimTwoCellMaxContinuity}[1]{\Smoothness_{#1}^{\max}} \newcommand{\RibbonTailInterfMinDegree}[1]{\BernsteinDegree_{#1}^{\min}} \newcommand{\RibbonSkeleton}[1]{\operatorname{skel}(#1)} \newcommand{\RibbonSmoothness}[2]{\Smoothness_{#1}^{#2}} \newcommand{\RibbonDegree}[2]{\BernsteinDegree_{#1}^{#2}} \newcommand{\RibbonContinuityTransition}{\Set{cr}} \newcommand{\RibbonDegreeTransition}{\Set{dr}} \newcommand{\RibbonTailSize}{\Size{\RibbonTail}} \newcommand{\RibbonTailTargetSize}{n} \newcommand{\RibbonIsTruncated}{\Set{trunc}} \newcommand{\RibbonAlgBernIndexVariable}{\BernsteinBasisFuncIdSet} \newcommand{\RibbonStartingBernIndex}{\RibbonAlgBernIndexVariable_{\RibbonHead}} \newcommand{\BernIndexOnSpecificRibbonTailInterf}[1]{\RibbonAlgBernIndexVariable_{#1}} \newcommand{\ParamDomainOnMeshUspline}{\QuantityChildOf{\MeshUspline}{\ParamDomain}} \newcommand{\UsplineSpace}{\SpaceHilbert{\SymbolUspline}} \newcommand{\UsplineBasisFunc}{\SymbolBasisUspline} \newcommand{\UsplineBasisFuncDetailed}[2]{\UsplineBasisFunc^{#1}_{#2}} \newcommand{\UsplineBasisFuncSet}{\Set{UF}} \newcommand{\UsplineBasisFuncSetFunctionOf}[1]{\QuantityFunctionOf{\UsplineBasisFuncSet}{#1}} \newcommand{\UsplineBasisFuncVec}[1]{\QuantityChildOf{#1}{\Vec{\SymbolBasisUspline}}} \newcommand{\UsplineBasisFuncVecFunctionOf}[2]{\QuantityFunctionOf{\UsplineBasisFuncVec{#1}}{#2}} \newcommand{\UsplineBasisFuncSetOnMeshBezier}{\QuantityFunctionOf{\Set{UF}}{\MeshBezier}} \newcommand{\UsplineBasisFuncSetOnMeshUspline}{\QuantityFunctionOf{\Set{UF}}{\MeshUspline}} \newcommand{\UsplineBasisFuncSetSupport}[1]{\Support{\UsplineBasisFuncSetFunctionOf{#1}}} \newcommand{\UsplineBasisFuncId}{A} \newcommand{\UsplineBasisFuncIdVec}{\Vec{A}} \newcommand{\UsplineBasisFuncIdAlt}{B} \newcommand{\UsplineBasisFuncIdLocal}{a} \newcommand{\UsplineBasisFuncIdOne}{\UsplineBasisFuncId_0} \newcommand{\UsplineBasisFuncIdTwo}{\UsplineBasisFuncId_1} \newcommand{\UsplineBasisFuncNormalized}{\bar{\SymbolBasisUspline}} \newcommand{\UsplineBasisFuncParam}[1]{\UsplineBasisFuncDetailed{\MeshBezier}{#1}} \newcommand{\UsplineDegree}{q} \newcommand{\UsplineNullVectorCoeff}{u} \newcommand{\UsplineNullVector}{\Vec{\UsplineNullVectorCoeff}} \newcommand{\UsplineNullVectorIds}{\Set{id}} \newcommand{\UsplineNullVectorSet}{\boldsymbol{\textsf{UV}}} \newcommand{\UsplineNullVectorSetOfIndexSets}{\boldsymbol{\textsf{UI}}} \newcommand{\UsplineNullVectorSetOnMeshBezier}{\NullVectorSetFunctionOf{\MeshBezier}} \newcommand{\UsplineNullVectorSetOnMeshUspline}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshUspline}} \newcommand{\UsplineSpaceOnMeshUspline}{\QCO{\MeshUspline}{\UsplineSpace}} \newcommand{\UsplineCellToGlobalBasisFuncIndexMap}[1]{\operatorname{ucg}(#1)} \newcommand{\UsplineCellToGlobalBasisFuncIndexMapDef}{\FuncDef{\operatorname{ucg}}{\MeshBezier\times\Integers}{\Integers}} \newcommand{\BernsteinBasisFuncCoeff}{\SymbolArbitraryCoeffBernstein} \newcommand{\BernsteinBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffBernstein}}}{\MeshBezier}} \newcommand{\BernsteinBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffBernstein}}{\MeshBezier}} \newcommand{\UsplineBasisFuncCoeff}{\SymbolArbitraryCoeffUspline} \newcommand{\UsplineBasisFuncCoeffAlt}{\SymbolArbitraryCoeffUsplineAlt} \newcommand{\UsplineBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffUspline}}}{\MeshUspline}} \newcommand{\UsplineBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffUspline}}{\MeshUspline}} \newcommand{\ContiguousIndexMap}[1]{i_{#1}} \newcommand{\Constraint}{R} \newcommand{\ConstraintCoeff}{r} \newcommand{\ConstraintCoeffsSet}{\boldsymbol{\Set{\ConstraintCoeff}}} \newcommand{\ConstraintCoeffsVec}{\Vec{\ConstraintCoeff}} \newcommand{\ConstraintSet}{\Set{\Constraint}} \newcommand{\ConstraintSetFunctionOf}[1]{\QuantityFunctionOf{\ConstraintSet}{#1}} \newcommand{\ConstraintSetOnMeshBezier}{\ConstraintSetFunctionOf{\MeshBezier}} \newcommand{\ConstraintMat}{\Mat{\Constraint}} \newcommand{\ConstraintMatFunctionOf}[1]{\QuantityFunctionOf{\ConstraintMat}{#1}} \newcommand{\ConstraintMatOnMeshBezier}{\ConstraintMatFunctionOf{\MeshBezier}} \newcommand{\SparsestPossibleBasisOnCell}[1]{\QFO{\Set{N}}{#1}} \newcommand{\NullVectorCoeff}[1]{#1} \newcommand{\NullVector}{\Vec{v}} \newcommand{\NullVectorFunctionOf}[1]{\QuantityFunctionOf{\NullVector}{#1}} \newcommand{\NullVectorArbitrary}[1]{\Vec{#1}} \newcommand{\KCellNullVectorForCellAlpha}{\NullVectorArbitrary{n}_{\KCellAlpha}} \newcommand{\KPlusOneCellNullVectorForCellBeta}{\NullVectorArbitrary{n}_{\KPlusOneCellBeta}} \newcommand{\NullVectorSet}{\boldsymbol{\textsf{BV}}}%changed from mathsf \newcommand{\NullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\NullVectorSet}{#1}}%changed from mathsf \newcommand{\CompositeNullVectorSet}{\NullVectorSet^{\prime\prime}} \newcommand{\CompositeNullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\CompositeNullVectorSet}{#1}} \newcommand{\SimpleNullVectorSet}{\NullVectorSet^{\prime}} \newcommand{\SimpleNullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\SimpleNullVectorSet}{#1}} \newcommand{\InterfaceNullVectorSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}}{#1}} \newcommand{\InterfaceNullVectorAlignedSubset}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}_{#1}}{#2}} \newcommand{\NullVectorSetOfIndexSets}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{BI}}}{#1}} \newcommand{\NullVectorSetGrevilleSets}{\boldsymbol{\textsf{BG}}}%changed from mathsf \newcommand{\NullVectorSetGrevilleSetsFunctionOf}[1]{\QuantityFunctionOf{\NullVectorSetGrevilleSets}{#1}}%changed from mathsf \newcommand{\NullVectorSetSubordinateToNullVector}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}}{#1}} \newcommand{\NullVectorSetSubordinateToNullVectorOnCell}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}_{#1}}{#2}} \newcommand{\NullVectorSetOnBdryOfNullVector}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{BD}}_{#1}}{#2}} \newcommand{\NullVectorEquivClass}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{EBV}}}{#1}} \newcommand{\NullVectorIndexEquivClass}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{EBI}}}{#1}} \newcommand{\NullVectorGrevilleEquivClass}{\boldsymbol{\textsf{EBG}}}%changed from mathsf \newcommand{\NullVectorGrevilleEquivClassFunctionOf}[1]{\QuantityFunctionOf{\NullVectorGrevilleEquivClass}{#1}}%changed from mathsf \newcommand{\NullVectorExpansionSet}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{XBV}}}{#1,#2}} \newcommand{\NullSpaceOperatorForm}[1]{\QuantityFunctionOf{\SpaceHilbert{N}}{#1}} \newcommand{\NullSpaceOperatorFormOnMeshBezier}{\NullSpaceOperatorForm{\MeshBezier}} \newcommand{\NullSpaceVectorForm}{\Set{N}} \newcommand{\NullSpaceVectorFormFunctionOf}[1]{\QuantityFunctionOf{\NullSpaceVectorForm}{#1}} \newcommand{\NullVectorGrevillePointSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}} \newcommand{\DegSmoothDiff}[2]{\delta_{#1}^{#2}} \newcommand{\FaceEdgeDiff}{\Set{t}} \newcommand{\FaceEdgeDiffSet}[1]{\Set{T}_{#1}} \newcommand{\PerpTuple}[1]{\QuantityFunctionOf{\FaceEdgeDiff^\perp}{#1}} \newcommand{\ParallelTuple}[1]{\QuantityFunctionOf{\FaceEdgeDiff^\parallel}{#1}} \newcommand{\ElemInterfDiff}{\Set{t}} \newcommand{\ElemInterfDiffSet}[1]{\Set{T}_{#1}} \newcommand{\SpokeSymbol}{\rho} \newcommand{\ElemInterfPairSymbol}{t} \newcommand{\ElemKPlusOneCellPair}{\Set{\SpokeSymbol}} \newcommand{\Spoke}{\ElemKPlusOneCellPair} \newcommand{\ElemInterfPair}{\Set{\ElemInterfPairSymbol}} \newcommand{\EIDPerpTuple}[1]{\QuantityFunctionOf{\ElemInterfDiff^\perp}{#1}} \newcommand{\EIDParallelTuple}[1]{\QuantityFunctionOf{\ElemInterfDiff^\parallel}{#1}} \newcommand{\InclDist}{\textsf{inc}}%changed from mathsf \newcommand{\InclDistFunctionOf}[1]{\QuantityFunctionOf{\InclDist}{#1}}%changed from mathsf \newcommand{\InclDistSet}[2]{\Set{INC}^{#1,#2}} \newcommand{\EdgeInclDist}[3]{\InclDistSet{#2}{#3}_{#1}} \newcommand{\PerpEdgesSet}{\Set{E}^\perp} \newcommand{\PerpInterfacesSet}{\Set{IRF}^\perp} \newcommand{\PerpOfKPlusOneCellInterfSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{PI}}}{#1}} \newcommand{\PerpKPlusOneCellSet}{\boldsymbol{\textsf{PC}}}%changed from mathsf \newcommand{\PerpKPlusOneCellSetFunctionOf}[1]{\QuantityFunctionOf{\PerpKPlusOneCellSet}{#1}}%changed from mathsf \newcommand{\ElemKPlusOneCellPairPerp}[1]{\QuantityFunctionOf{\Set{\SpokeSymbol}^\perp}{#1}} \newcommand{\ElemInterfPairPerp}[1]{\QuantityFunctionOf{\Set{t}^\perp}{#1}} \newcommand{\ElemInterfPairParallel}[1]{\QuantityFunctionOf{\Set{\ElemInterfPairSymbol}^\parallel}{#1}} \newcommand{\ElemKPlusOneCellPairParallelSet}[1]{\QuantityFunctionOf{\Set{\SpokeSymbol}^\parallel}{#1}} \newcommand{\KPlusOneCellNullVectorSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}}{#1}} \newcommand{\KPlusOneCellNullVectorAlignedSubset}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}_{#1}}{#2}} \newcommand{\Graph}{G} \newcommand{\GraphFunctionOf}[1]{\QuantityFunctionOf{\Graph}{#1}} \newcommand{\GraphCore}{K} \newcommand{\GraphDirectedEdge}{\Edge_{i,j}} \newcommand{\GraphDirectedEdgeIJ}[2]{\Edge_{#1,#2}} \newcommand{\GraphCoreToVertex}[1]{\QuantityFunctionOf{\Vertex}{#1}} \newcommand{\GraphCoreChildren}[1]{\QuantityFunctionOf{\operatorname{children}}{#1}} \newcommand{\GraphVertexToCore}[1]{\QuantityFunctionOf{\GraphCore}{#1}} \newcommand{\GraphInteractingEdges}{\Set{IE}} \newcommand{\GraphCoveredEdges}{\Set{CE}} \newcommand{\GraphFailedEdges}{\Set{FE}} \newcommand{\GraphCandidateEdges}{\Set{XE}} \newcommand{\UsplineClass}[1]{\boldsymbol{\mathcal{\SymbolUspline}}^{#1}} \newcommand{\UClassRegular}{R} \newcommand{\UClassIrregular}{r} \newcommand{\UClassContFinite}{H} \newcommand{\UClassContInfinity}{h} \newcommand{\UClassGlobalSmoothness}{K} \newcommand{\UClassLocalSmoothness}{k} \newcommand{\UClassGlobalDegree}{P} \newcommand{\UClassLocalDegree}{p} \newcommand{\SuperscriptRHKP}{\UClassRegular\UClassContFinite\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrHKP}{\UClassIrregular\UClassContFinite\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRhKP}{\UClassRegular\UClassContInfinity\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrhKP}{\UClassIrregular\UClassContInfinity\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRHkP}{\UClassRegular\UClassContFinite\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrHkP}{\UClassIrregular\UClassContFinite\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRhkP}{\UClassRegular\UClassContInfinity\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrhkP}{\UClassIrregular\UClassContInfinity\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRHKp}{\UClassRegular\UClassContFinite\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrHKp}{\UClassIrregular\UClassContFinite\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRhKp}{\UClassRegular\UClassContInfinity\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrhKp}{\UClassIrregular\UClassContInfinity\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRHkp}{\UClassRegular\UClassContFinite\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrHkp}{\UClassIrregular\UClassContFinite\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRhkp}{\UClassRegular\UClassContInfinity\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\Superscriptrhkp}{\UClassIrregular\UClassContInfinity\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\UsplineClassRHKP}{\UsplineClass{\SuperscriptRHKP}} \newcommand{\UsplineClassrHKP}{\UsplineClass{\SuperscriptrHKP}} \newcommand{\UsplineClassRhKP}{\UsplineClass{\SuperscriptRhKP}} \newcommand{\UsplineClassrhKP}{\UsplineClass{\SuperscriptrhKP}} \newcommand{\UsplineClassRHkP}{\UsplineClass{\SuperscriptRHkP}} \newcommand{\UsplineClassrHkP}{\UsplineClass{\SuperscriptrHkP}} \newcommand{\UsplineClassRhkP}{\UsplineClass{\SuperscriptRhkP}} \newcommand{\UsplineClassrhkP}{\UsplineClass{\SuperscriptrhkP}} \newcommand{\UsplineClassRHKp}{\UsplineClass{\SuperscriptRHKp}} \newcommand{\UsplineClassrHKp}{\UsplineClass{\SuperscriptrHKp}} \newcommand{\UsplineClassRhKp}{\UsplineClass{\SuperscriptRhKp}} \newcommand{\UsplineClassrhKp}{\UsplineClass{\SuperscriptrhKp}} \newcommand{\UsplineClassRHkp}{\UsplineClass{\SuperscriptRHkp}} \newcommand{\UsplineClassrHkp}{\UsplineClass{\SuperscriptrHkp}} \newcommand{\UsplineClassRhkp}{\UsplineClass{\SuperscriptRhkp}} \newcommand{\UsplineClassrhkp}{\UsplineClass{\Superscriptrhkp}} \newcommand{\BaseTopoLine}{\mathsf{L}} \newcommand{\BaseTopoLoop}{\mathsf{P}} \newcommand{\BaseTopoOneDGeneric}{\MeshUspline^{\textsf{1D}}} \newcommand{\BaseTopoGrid}{\mathsf{G}} \newcommand{\BaseTopoAnnulus}{\mathsf{A}} \newcommand{\BaseTopoTorus}{\mathsf{T}} \newcommand{\BaseTopoTriangle}{\mathsf{\Delta}} \newcommand{\BaseTopoMixed}{\mathsf{M}} \newcommand{\BaseTopoMultiPatch}{\mathsf{X}} \newcommand{\BaseTopoPatch}{\mathsf{H}} \newcommand{\AlgNameBuildRayOfMaximumCouplingLength}{BuildRayOfMaximumCouplingLength} \newcommand{\AlgNameBuildRibbonOfMaximumCouplingLength}{BuildRibbonOfMaximumCouplingLength} \newcommand{\AlgNameComputeCoreGraph}{ComputeCoreGraph} \newcommand{\UpperDBMat}{\Mat{U}} \newcommand{\LowerWeightDBMat}{\Mat{W}} \newcommand{\RationalSplineWeightSymbol}{w} \newcommand{\NURBSWeight}{\RationalSplineWeightSymbol} \newcommand{\WeightFunc}[1][\RationalSplineWeightSymbol]{#1} \newcommand{\DBParamWeight}{\omega} \newcommand{\DualBCoeff}{d} \newcommand{\NumUsplineBasisFuncsOnMeshBezier}{\Size{\UsplineBasisFuncSetOnMeshBezier}} \newcommand{\NumUsplineBasisFuncsOnMeshUspline}{\Size{\UsplineBasisFuncSetOnMeshUspline}} \newcommand{\NumUsplineBasisFuncsOnElem}{\Size{\UsplineBasisFuncSetFunctionOf{\Elem}}} \newcommand{\NumBernsteinBasisFuncsOnMeshBezier}{\Size{\IndexSetOnMeshBezier}} \newcommand{\NumBernsteinBasisFuncsOnElem}{\Size{\IndexSetFunctionOf{\Elem}}} \newcommand{\NumElemsInMeshBezier}{\Size{\CellSet{\ParamDim}}}$$\newcommand{\SymbolTime}{t} \newcommand{\SymbolEnvModifier}[1]{\star\mspace{-1mu} #1} \newcommand{\SymbolInteriorModifier}[1]{\tilde{#1}} \newcommand{\SymbolClosestPointMap}{\kappa} \newcommand{\SymbolManifold}{m} \newcommand{\SymbolVolume}{v} \newcommand{\SymbolVolumeUpper}{V} \newcommand{\SymbolSurface}{s} \newcommand{\SymbolSurfaceUpper}{S} \newcommand{\SymbolCurve}{c} \newcommand{\SymbolCurveUpper}{C} \newcommand{\SymbolPoint}{p} \newcommand{\SymbolPointUpper}{P} \newcommand{\SymbolIndicator}{\chi} \newcommand{\SymbolSpatialDim}{n} \newcommand{\SymbolWildCard}{*} \newcommand{\SymbolSegment}{\epsilon} \newcommand{\SymbolSpatialCoord}{x} \newcommand{\SymbolSpatialCoordUpper}{x} \newcommand{\SymbolSegmentSet}{\boldsymbol{E}} \newcommand{\SymbolInside}{\bullet} \newcommand{\SymbolOutside}{\circ} \newcommand{\SymbolHybrid}{\circledcirc} \newcommand{\SymbolPartition}{\boldsymbol{\vartriangle}} \newcommand{\SymbolQuadratureWeight}{w} \newcommand{\SymbolQuadratureSet}{Q} \newcommand{\SymbolQuadraturePoint}{\xi} \newcommand{\SymbolIntegrationPoint}{i} \newcommand{\SymbolManifoldCoeff}{x} \newcommand{\SymbolManifoldCoeffUpper}{X} \newcommand{\SymbolManifoldCoeffUspline}{x} \newcommand{\SymbolManifoldCoeffUsplineUpper}{X} \newcommand{\SymbolManifoldCoeffBernstein}{x} \newcommand{\SymbolManifoldCoeffBernsteinUpper}{X} \newcommand{\SymbolCADModified}{\boldsymbol{\circledast}} \newcommand{\SymbolCAD}{\bar{\SymbolCADModified}} \newcommand{\SymbolProjection}{\Projection} \newcommand{\SymbolCovariantBasisSurf}{a} \newcommand{\SymbolCovariantBasisVol}{g} \newcommand{\SymbolMetric}{m} \newcommand{\SymbolCurvature}{k} \newcommand{\SymbolCurvCoordIdOne}{\alpha} \newcommand{\SymbolCurvCoordIdTwo}{\beta} \newcommand{\SymbolCurvCoordIdThree}{\gamma} \newcommand{\SymbolOrthogonalTransform}{Q} \newcommand{\SymbolLinearInterpolation}{\mathscr{l}} \newcommand{\ParamDomainEnv}{\SymbolEnvModifier{\ParamDomain}} \newcommand{\ParamDomainCAD}{\QRT{\ParamDomain}{\SymbolCAD}} \newcommand{\ParamDomainOnCellEnv}{\SymbolEnvModifier{\ParamDomainOnCell}} \newcommand{\ParamDomainOnCAD}{\QCO{\SymbolCAD}{\ParamDomain}} \newcommand{\ParamDomainOnCADModified}{\QCO{\SymbolCADModified}{\ParamDomain}} \newcommand{\ParamDomainOnPartition}{\QCO{\SymbolPartition}{\ParamDomain}} \newcommand{\SpatialDim}{\SymbolSpatialDim} \newcommand{\SpatialDomain}{\Reals^{\SymbolSpatialDim}} \newcommand{\SpatialCoord}{\SymbolSpatialCoord} \newcommand{\SpatialCoordX}{\SymbolSpatialCoord} \newcommand{\SpatialCoordY}{y} \newcommand{\SpatialCoordZ}{z} \newcommand{\SpatialCoordUpper}{\SymbolSpatialCoordUpper} \newcommand{\SpatialCoordVec}{\Vec{\SpatialCoord}} \newcommand{\SpatialCoordVecSet}[1]{\QuantityFunctionOf{\boldsymbol{\Set{X}}}{#1}} \newcommand{\UsplineBasisFuncSpatial}[1]{\UsplineBasisFuncDetailed{\SpatialCoord}{#1}} \newcommand{\Manifold}{\Set{\SymbolManifold}} \newcommand{\ManifoldRelatedTo}[1]{\QuantityRelatedTo{\Manifold}{#1}} \newcommand{\Volume}{\Set{\SymbolVolume}} \newcommand{\VolumeRelatedTo}[1]{\QuantityRelatedTo{\Volume}{#1}} \newcommand{\Surface}{\Set{\SymbolSurface}} \newcommand{\SurfaceRelatedTo}[1]{\QuantityRelatedTo{\Surface}{#1}} \newcommand{\Curve}{\Set{\SymbolCurve}} \newcommand{\CurveRelatedTo}[1]{\QuantityRelatedTo{\Curve}{#1}} \newcommand{\Point}{\Set{\SymbolPoint}} \newcommand{\PointRelatedTo}[1]{\QuantityRelatedTo{\Point}{#1}} \newcommand{\Partition}{\SymbolPartition} \newcommand{\ManifoldCAD}{\ManifoldRelatedTo{\SymbolCAD}} \newcommand{\ManifoldCADModified}{\ManifoldRelatedTo{\SymbolCADModified}} \newcommand{\ManifoldCADEnv}{\SymbolEnvModifier{\ManifoldCAD}} \newcommand{\ManifoldCADModifiedEnv}{\SymbolEnvModifier{\ManifoldCADModified}} \newcommand{\ManifoldPartition}{\ManifoldRelatedTo{\Partition}} \newcommand{\ManifoldBezier}{\ManifoldRelatedTo{\MeshBezier}} \newcommand{\ManifoldUspline}{\ManifoldRelatedTo{\MeshUspline}} \newcommand{\ManifoldUsplineInterior}{\QRT{\SymbolInteriorModifier{\Manifold}}{\MeshUspline}} \newcommand{\ManifoldUsplineEnv}{\SymbolEnvModifier{\ManifoldUspline}} \newcommand{\VolumeEnv}{\SymbolEnvModifier{\Volume}} \newcommand{\dVolume}{\Differential[\Volume]} \newcommand{\VolumeIndicator}{\SymbolIndicator} \newcommand{\SurfaceEnv}{\SymbolEnvModifier{\Surface}} \newcommand{\SurfaceCAD}{\SurfaceRelatedTo{\SymbolCAD}} \newcommand{\SurfaceCADModified}{\SurfaceRelatedTo{\SymbolCADModified}} \newcommand{\SurfaceMesh}{\SurfaceRelatedTo{\Partition}} \newcommand{\SurfaceUspline}{\SurfaceRelatedTo{\MeshUspline}} \newcommand{\SurfaceWildCard}{\Surface^{\SymbolWildCard}} \newcommand{\dSurface}{\Differential[\Surface]} \newcommand{\CurveCAD}{\CurveRelatedTo{\SymbolCAD}} \newcommand{\CurveCADModified}{\CurveRelatedTo{\SymbolCADModified}} \newcommand{\CurveMesh}{\CurveRelatedTo{\Partition}} \newcommand{\CurveUspline}{\CurveRelatedTo{\MeshUspline}} \newcommand{\dCurve}{\Differential[\Curve]} \newcommand{\PointCAD}{\PointRelatedTo{\SymbolCAD}} \newcommand{\PointCADModified}{\PointRelatedTo{\SymbolCADModified}} \newcommand{\PointUspline}{\PointRelatedTo{\MeshUspline}} \newcommand{\Segment}[1]{\QuantityChildOf{#1}{\SymbolSegment}} \newcommand{\SegmentOfVolumeEnv}{\Segment{\VolumeEnv}} \newcommand{\SegmentOfSurface}{\Segment{\Surface}} \newcommand{\Hex}{\Segment{}_{h}} \newcommand{\Tet}{\Segment{}_{t}} \newcommand{\SegmentParamDomain}[1]{\QuantityRelatedTo{\ParamDomain}{#1}} \newcommand{\SegmentParamDomainOfVolumeEnv}{\QuantityRelatedTo{\ParamDomain}{\Segment{\VolumeEnv}}} \newcommand{\SegmentParamDomainOfSurface}{\QuantityRelatedTo{\ParamDomain}{\Segment{\Surface}}} \newcommand{\SegmentSet}{\SymbolSegmentSet} \newcommand{\SegmentSetFunctionOf}[1]{\QuantityFunctionOf{\SegmentSet}{#1}} \newcommand{\SegmentSetOutside}{\SegmentSet^{\SymbolOutside}} \newcommand{\SegmentSetInside}{\SegmentSet^{\SymbolInside}} \newcommand{\SegmentSetHybrid}{\SegmentSet^{\SymbolHybrid}} \newcommand{\PartitionFunctionOf}[1]{\QuantityFunctionOf{\Partition}{#1}} \newcommand{\PartitionBezierExtraction}[1]{\QuantityFunctionOf{\SymbolPartition^{B}}{#1}} \newcommand{\PartitionTessellation}[1]{\QuantityFunctionOf{\SymbolPartition^{T}}{#1}} \newcommand{\PartitionTessellationOfUspline}{\PartitionTessellation{\MeshUspline}} \newcommand{\PartitionTessellationMap}[2]{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldCoeff}{\SymbolManifoldCoeff} \newcommand{\ManifoldCoeffUpper}{\SymbolManifoldCoeffUpper} \newcommand{\ManifoldCoeffUspline}{\QuantityRelatedTo{\SymbolManifoldCoeffUspline}{\MeshUspline}} \newcommand{\ManifoldCoeffBernstein}{\QuantityRelatedTo{\SymbolManifoldCoeffBernstein}{\MeshBezier}} \newcommand{\ManifoldCoeffVec}{\Vec{\SymbolManifoldCoeff}} \newcommand{\ManifoldCoeffVecUspline}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUspline}}{\MeshUspline}} \newcommand{\ManifoldCoeffVecBernstein}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernstein}}{\MeshBezier}} \newcommand{\ManifoldCoeffSet}{\Set{\SymbolManifoldCoeff}} \newcommand{\ManifoldCoeffSetUspline}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUspline}}{\MeshUspline}} \newcommand{\ManifoldCoeffSetBernstein}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernstein}}{\MeshBezier}} \newcommand{\ManifoldCoeffsVec}{\Vec{\ManifoldCoeffUpper}} \newcommand{\ManifoldCoeffsVecUspline}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUsplineUpper}}{\MeshUspline}} \newcommand{\ManifoldCoeffsVecBernstein}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\MeshBezier}} \newcommand{\ManifoldCoeffsVecCell}{\QuantityRelatedTo{\Vec{\ManifoldCoeffUpper}}{\Cell}} \newcommand{\ManifoldCoeffsVecUsplineCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUsplineUpper}}{\QCO{\MeshUspline}{\Cell}}} \newcommand{\ManifoldCoeffsVecBernsteinCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\MeshBezier}{\Cell}}} \newcommand{\ManifoldCoeffsVecSubmeshCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\Submesh}{\Cell}}} \newcommand{\ManifoldCoeffsVecBernsteinSegmentOfVolumeEnv}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\SegmentOfVolumeEnv}} \newcommand{\ManifoldCoeffsSet}{\Set{\ManifoldCoeffUpper}} \newcommand{\ManifoldCoeffsSetUspline}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUsplineUpper}}{\MeshUspline}} \newcommand{\ManifoldCoeffsSetBernstein}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\MeshBezier}} \newcommand{\ManifoldCoeffsSetCell}{\QuantityRelatedTo{\Set{\ManifoldCoeffUpper}}{\Cell}} \newcommand{\ManifoldCoeffsSetUsplineCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUsplineUpper}}{\QCO{\MeshUspline}{\Cell}}} \newcommand{\ManifoldCoeffsSetBernsteinCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\MeshBezier}{\Cell}}} \newcommand{\ManifoldCoeffsSetSubmeshCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\Submesh}{\Cell}}} \newcommand{\ManifoldMap}[2]{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldTemporalMap}[2]{\QuantityRelatedTo{#2}{#1,\SymbolTime}} \newcommand{\ManifoldPartitionMap}{\ManifoldMap{\ParamDomainOnPartition}{\Manifold}} \newcommand{\ManifoldCADMap}{\ManifoldMap{\ParamDomainOnCAD}{\Manifold}} \newcommand{\ManifoldCADMapModified}{\ManifoldMap{\ParamDomainOnCADModified}{\Manifold}} \newcommand{\ManifoldBezierMap}{\ManifoldMap{\ParamDomainOnMeshBezier}{\Manifold}} \newcommand{\ManifoldUsplineMap}{\ManifoldMap{\ParamDomainOnMeshUspline}{\Manifold}} \newcommand{\VolumeEnvMap}{\ManifoldMap{\ParamDomainEnv}{\VolumeEnv}} \newcommand{\VolumeMap}{\ManifoldMap{\ParamDomain}{\Volume}} \newcommand{\SurfaceMap}{\ManifoldMap{\ParamDomainBdry}{\Surface}} \newcommand{\ManifoldMapDef}[2]{\FuncDef{\ManifoldMap{#1}{#2}}{#1}{#2}} \newcommand{\ManifoldMapInverseDef}[2]{\FuncDef{\Inverse{\ManifoldMap{#1}{#2}}}{#2}{#1}} \newcommand{\ManifoldTemporalMapDef}[2]{\FuncDef{\ManifoldTemporalMap{#1}{#2}}{#1\otimes\Reals_{+}}{#2}} \newcommand{\ManifoldPartitionMapDef}{\ManifoldMapDef{\ParamDomainOnPartition}{\Manifold}} \newcommand{\ManifoldBezierMapDef}{\ManifoldMapDef{\ParamDomainOnMeshBezier}{\Manifold}} \newcommand{\ManifoldUsplineMapDef}{\ManifoldMapDef{\ParamDomainOnMeshUspline}{\Manifold}} \newcommand{\VolumeEnvMapDef}{\ManifoldMapDef{\ParamDomainEnv}{\VolumeEnv}} \newcommand{\VolumeMapDef}{\ManifoldMapDef{\ParamDomain}{\Volume}} \newcommand{\SurfaceMapDef}{\ManifoldMapDef{\ParamDomainBdry}{\Surface}} \newcommand{\SurfaceToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\Surface}} \newcommand{\ManifoldCoordDetailed}[2]{\QCO{#1}{#2}} \newcommand{\ManifoldCoordVecDetailed}[2]{\QCO{#1}{\Vec{#2}}} \newcommand{\ManifoldCoord}{x} \newcommand{\ManifoldCoordVec}{\Vec{x}} \newcommand{\ManifoldPartitionMapCoord}{\ManifoldCoordDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldPartitionMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoord}{\ManifoldCoordDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\CovariantBasisSurfVec}{\Vec{\SymbolCovariantBasisSurf}} \newcommand{\CovariantBasisVolVec}{\Vec{\SymbolCovariantBasisVol}} \newcommand{\MetricComp}{\SymbolMetric} \newcommand{\MetricTen}{\Mat{\MetricComp}} \newcommand{\CurvatureComp}{\SymbolCurvature} \newcommand{\CurvatureTen}{\Mat{\CurvatureComp}} \newcommand{\CurvCoordIdOne}{\SymbolCurvCoordIdOne} \newcommand{\CurvCoordIdTwo}{\SymbolCurvCoordIdTwo} \newcommand{\CurvCoordIdThree}{\SymbolCurvCoordIdThree} \newcommand{\OrthogonalCoordTransform}{\Mat{\SymbolOrthogonalTransform}} \newcommand{\InversionPointTen}{\Vec{p}} \newcommand{\InversionPointComp}{p} \newcommand{\BoundingVolume}[1]{\QuantityFunctionOf{\Set{bv}}{#1}} \newcommand{\BoundingVolumeSet}[1]{\QuantityFunctionOf{\Set{BV}}{#1}} \newcommand{\BoundingVolumeTree}[1]{\QuantityFunctionOf{\Set{BVH}}{#1}} \newcommand{\AxisAlignedBoundingBox}[1]{\QuantityFunctionOf{\Set{AABB}}{#1}} \newcommand{\AABBCornerLower}{\Vec{c}^l} \newcommand{\AABBCornerLowerComp}{c^l} \newcommand{\AABBCornerUpper}{\Vec{c}^u} \newcommand{\AABBCornerUpperComp}{c^u} \newcommand{\LowerBound}[2]{B^l\left(#1,#2\right)} \newcommand{\UpperBound}[2]{B^u\left(#1,#2\right)} \newcommand{\UpperBoundValue}{U} \newcommand{\UpperBoundValueBV}{U^{\text{BV}}} \newcommand{\UpperBoundValuePoints}{U^{\text{point}}} \newcommand{\GapTolerance}{\varepsilon^{\text{gap}}} \newcommand{\NearestCells}[3][]{\Set{C}_{#1}\left(#2,#3\right)} \newcommand{\BVHNearestGeom}[3][]{c_{#1}\left(#2,#3\right)} \newcommand{\BVHGeomSetOfSets}{\Set{G}} \newcommand{\BVHTessPointSet}{\Set{P}} \newcommand{\BVHBVSet}{\Set{L}} \newcommand{\SimplexMap}[1]{\QuantityFunctionOf{\Mat{L}}{#1}} \newcommand{\ParamCoordVecTarget}{\ParamCoordVecSimple_0} \newcommand{\SpatialCoordVecTarget}{\SpatialCoordVec_0} \newcommand{\SpatialCoordVecToSegmentSetMap}{\SegmentSet^f} \newcommand{\SpatialCoordVecToParamCoordVecSetMap}{\Inverse{\widetilde{\ManifoldMap{\ParamDomainEnv}{\Surface}}}} \newcommand{\HessMatComp}{H} \newcommand{\HessMatTen}{\Mat{\HessMatComp}} \newcommand{\QuadraturePointEnv}[2]{\SymbolEnvModifier{\QuadraturePoint{#1}{#2}}} \newcommand{\QuadraturePoint}[2]{\SymbolQuadraturePoint_{#1}^{#2}} \newcommand{\QuadraturePointToElemIndexMap}[1]{\operatorname{qe}(#1)} \newcommand{\QuadratureWeightEnv}[2]{\SymbolEnvModifier{\QuadratureWeight{#1}{#2}}} \newcommand{\QuadratureWeight}[2]{\SymbolQuadratureWeight_{#1}^{#2}} \newcommand{\QuadratureSet}{\Set{\SymbolQuadratureSet}} \newcommand{\QuadratureSetInside}{\QuadratureSet^{\SymbolInside}} \newcommand{\QuadratureSetOutside}{\QuadratureSet^{\SymbolOutside}} \newcommand{\QuadratureSubdDepth}{k} \newcommand{\ClosestPointMap}[1]{\QuantityChildOf{#1}{\Vec{\SymbolClosestPointMap}}} \newcommand{\ClosestPointMapCAD}{\ClosestPointMap{\SymbolCAD}} \newcommand{\ClosestPointMapCADModified}{\ClosestPointMap{\SymbolCADModified}} \newcommand{\ProjectionInto}[1]{\QuantityRelatedTo{\SymbolProjection}{#1}} \newcommand{\ProjectionIntoBernsteinCell}{\ProjectionInto{\Cell}} \newcommand{\ProjectionIntoBernsteinElem}{\ProjectionInto{\Elem}} \newcommand{\ProjectionIntoMeshBezier}{\ProjectionInto{\MeshBezier}} \newcommand{\ProjectionIntoMeshUspline}{\ProjectionInto{\MeshUspline}} \newcommand{\LinearInterpolationOp}[1]{\QRT{\SymbolLinearInterpolation}{#1}} \newcommand{\Valence}{k} \newcommand{\ArbitraryVector}[1]{\QSB{v}{#1}} \newcommand{\RotationMatrix}[1]{R^{#1}} \newcommand{\RepVecSymbol}{u} \newcommand{\RepVec}[1]{\QSB{\RepVecSymbol}{#1}} \newcommand{\RepVecVec}{\Vec{\RepVecSymbol}} \newcommand{\AlignmentField}{\RepVecVec'} \newcommand{\BiharmonicEnergy}{\QSB{E}{B}} \newcommand{\PrescribedRepVec}[1]{\QSB{d}{#1}} \newcommand{\AlignmentParameter}{\lambda} \newcommand{\SingularityIndex}[1]{\QSB{\chi}{#1}} \newcommand{\AngularDefect}[1]{\QSB{K}{#1}} \newcommand{\ArbitraryAngle}{\theta} \newcommand{\ParallelTransport}[1]{\QSB{\varphi}{#1}} \newcommand{\MinusPiToPi}[1]{\lfloor #1 \rfloor} \newcommand{\AreaOperator}[1]{\QFO{\operatorname{area}}{#1}} \newcommand{\VectorAngle}[1]{\QFO{\operatorname{arg}}{#1}} \newcommand{\DistanceFunction}{\phi} \newcommand{\DistanceGradient}{X} \newcommand{\HeatField}{\eta} \newcommand{\RegionAtZeroDistance}{\gamma}$$\newcommand{\SymbolDisp}{u} \newcommand{\SymbolDispUpper}{U} \newcommand{\SymbolVelocity}{v} \newcommand{\SymbolVelocityUpper}{V} \newcommand{\SymbolAcceleration}{a} \newcommand{\SymbolAccelerationUpper}{A} \newcommand{\SymbolMass}{M} \newcommand{\SymbolLength}{L} \newcommand{\SymbolArea}{A} \newcommand{\SymbolConstraint}{g} \newcommand{\SymbolConstraintUpper}{G} \newcommand{\SymbolPenalty}{\varepsilon} \newcommand{\SymbolLagrangeMultRef}{\Lambda} \newcommand{\SymbolLagrangeMultCurr}{\lambda} \newcommand{\SymbolFict}{f} \newcommand{\SymbolTracForce}{h} \newcommand{\SymbolTracForceUpper}{H} \newcommand{\SymbolBodyForce}{b} \newcommand{\SymbolBodyForceUpper}{B} \newcommand{\SymbolVolumeRef}{\SymbolVolumeUpper} \newcommand{\SymbolSurfaceRef}{\SymbolSurfaceUpper} \newcommand{\SymbolCurveRef}{\SymbolCurveUpper} \newcommand{\SymbolPointRef}{\SymbolPointUpper} \newcommand{\SymbolVolumeCurr}{\SymbolVolume} \newcommand{\SymbolSurfaceCurr}{\SymbolSurface} \newcommand{\SymbolCurveCurr}{\SymbolCurve} \newcommand{\SymbolPointCurr}{\SymbolPoint} \newcommand{\SymbolDeformGradInc}{f} \newcommand{\SymbolDeformGrad}{F} \newcommand{\SymbolStrainGreenLagrange}{E} \newcommand{\SymbolDeformCauchyGreenLeft}{b} \newcommand{\SymbolDeformCauchyGreenRight}{C} \newcommand{\SymbolStrainDisp}{B} \newcommand{\SymbolStrainSymGrad}{\epsilon} \newcommand{\SymbolStrainPlasticEquiv}{\alpha} \newcommand{\SymbolHardeningPlastic}{k} \newcommand{\SymbolYieldFunction}{f} \newcommand{\SymbolConsistencyParameterPlastic}{\gamma} \newcommand{\SymbolPlasticModuliScaling}{\beta} \newcommand{\SymbolYieldSurfaceNormal}{n} \newcommand{\SymbolEnergy}{\Pi} \newcommand{\SymbolEnergyDensityStrain}{\Psi} \newcommand{\SymbolEnergyDensityStrainVol}{U} \newcommand{\SymbolResidual}{R} \newcommand{\SymbolForce}{F} \newcommand{\SymbolStiffness}{K} \newcommand{\SymbolSolution}{d} \newcommand{\ParamDomainBdryDisp}{\ParamDomainBdry^{\SymbolDisp}} \newcommand{\ParamDomainBdryTrac}{\ParamDomainBdry^{\SymbolTracForce}} \newcommand{\VolumeEnvRef}{\Set{\SymbolEnvModifier{\SymbolVolumeRef}}} \newcommand{\VolumeRef}{\Set{\SymbolVolumeRef}} \newcommand{\VolumeRefClosure}{\overline{\VolumeRef}} \newcommand{\VolumeRefFict}{\VolumeEnvRef\setminus\VolumeRef} \newcommand{\dVolumeRef}{\Differential[\VolumeRef]} \newcommand{\VolumeIndicatorDef}{\FuncDef{\VolumeIndicator_{\PenaltyStiffness}}{\VolumeEnvRef}{\Reals_+}} \newcommand{\SurfaceEnvRef}{\Set{\SymbolEnvModifier{\SymbolSurfaceRef}}} \newcommand{\SurfaceRef}{\Set{\SymbolSurfaceRef}} \newcommand{\SurfaceRefWildCard}{\SurfaceRef^{\SymbolWildCard}} \newcommand{\SurfaceRefDisp}{\SurfaceRef^{\SymbolDisp}} \newcommand{\SurfaceRefTrac}{\SurfaceRef^{\SymbolTracForce}} \newcommand{\SurfaceRefFict}{\SurfaceRef^{\SymbolFict}} \newcommand{\SurfaceRefDispExternal}{\SurfaceRefDisp\setminus\SurfaceRefFict} \newcommand{\SurfaceRefTracExternal}{\SurfaceRefTrac\setminus\SurfaceRefFict} \newcommand{\SurfaceRefFictTrac}{\SurfaceRefTrac\cap\SurfaceRefFict} \newcommand{\SurfaceRefFictDisp}{\SurfaceRefDisp\cap\SurfaceRefFict} \newcommand{\SurfaceRefFictExternal}{\SurfaceRefFict\setminus\SurfaceRef} \newcommand{\dSurfaceRef}{\Differential[\SurfaceRef]} \newcommand{\CurveRef}{\Set{\SymbolCurveRef}} \newcommand{\dCurveRef}{\Differential[\CurveRef]} \newcommand{\PointRef}{\Set{\SymbolPointRef}} \newcommand{\PointRefDisp}{\PointRef^{\SymbolDisp}} \newcommand{\PointRefTrac}{\PointRef^{\SymbolTracForce}} \newcommand{\dPointRef}{\Differential[\PointRef]} \newcommand{\dPointRefTrac}{\Differential[\PointRefTrac]} \newcommand{\RefCoord}[1]{\ManifoldCoordDetailed{#1}{X}} \newcommand{\RefCoordVec}[1]{\ManifoldCoordVecDetailed{#1}{X}} \newcommand{\VolumeEnvRefCoord}{\RefCoord{\VolumeEnvRef}} \newcommand{\VolumeEnvRefCoordVec}{\RefCoordVec{\VolumeEnvRef}} \newcommand{\VolumeRefCoord}{\RefCoord{\VolumeRef}} \newcommand{\VolumeRefCoordVec}{\RefCoordVec{\VolumeRef}} \newcommand{\SurfaceRefCoord}{\RefCoord{\SurfaceRef}} \newcommand{\SurfaceRefCoordVec}{\RefCoordVec{\SurfaceRef}} \newcommand{\SurfaceRefDispCoord}{\RefCoord{\SurfaceRefDisp}} \newcommand{\SurfaceRefDispCoordVec}{\RefCoordVec{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracCoord}{\RefCoord{\SurfaceRefTrac}} \newcommand{\SurfaceRefTracCoordVec}{\RefCoordVec{\SurfaceRefTrac}} \newcommand{\CurveRefCoord}{\RefCoord{\CurveRef}} \newcommand{\CurveRefCoordVec}{\RefCoordVec{\CurveRef}} \newcommand{\UsplineBasisFuncOverCurveRef}[1]{\UsplineBasisFuncDetailed{\CurveRef}{#1}} \newcommand{\UsplineBasisFuncOverSurfaceRefDisp}[1]{\UsplineBasisFuncDetailed{\SurfaceRefDisp}{#1}} \newcommand{\VolumeEnvCurr}{\Set{\SymbolEnvModifier{\SymbolVolumeCurr}}} \newcommand{\VolumeCurr}{\Set{\SymbolVolumeCurr}} \newcommand{\VolumeCurrClosure}{\overline{\VolumeCurr}} \newcommand{\dVolumeCurr}{\Differential[\VolumeCurr]} \newcommand{\SurfaceEnvCurr}{\Set{\SymbolEnvModifier{\SymbolSurfaceCurr}}} \newcommand{\SurfaceCurr}{\Set{\SymbolSurfaceCurr}} \newcommand{\SurfaceCurrDisp}{\SurfaceCurr^{\SymbolDisp}} \newcommand{\SurfaceCurrTrac}{\SurfaceCurr^{\SymbolTracForce}} \newcommand{\dSurfaceCurr}{\Differential[\SurfaceCurr]} \newcommand{\CurveCurr}{\Set{\SymbolCurveCurr}} \newcommand{\dCurveCurr}{\Differential[\CurveCurr]} \newcommand{\PointCurr}{\Set{\SymbolPointCurr}} \newcommand{\PointCurrDisp}{\PointCurr^{\SymbolDisp}} \newcommand{\PointCurrTrac}{\PointCurr^{\SymbolTracForce}} \newcommand{\dPointCurr}{\Differential[\PointCurr]} \newcommand{\CurrCoord}[1]{\ManifoldCoordDetailed{#1}{x}} \newcommand{\CurrCoordVec}[1]{\ManifoldCoordVecDetailed{#1}{x}} \newcommand{\VolumeEnvCurrCoord}{\CurrCoord{\VolumeEnvCurr}} \newcommand{\VolumeEnvCurrCoordVec}{\CurrCoordVec{\VolumeEnvCurr}} \newcommand{\VolumeCurrCoord}{\CurrCoord{\VolumeCurr}} \newcommand{\VolumeCurrCoordVec}{\CurrCoordVec{\VolumeCurr}} \newcommand{\SurfaceCurrCoord}{\CurrCoord{\SurfaceCurr}} \newcommand{\SurfaceCurrCoordVec}{\CurrCoordVec{\SurfaceCurr}} \newcommand{\SurfaceCurrDispCoord}{\CurrCoord{\SurfaceCurrDisp}} \newcommand{\SurfaceCurrDispCoordVec}{\CurrCoordVec{\SurfaceCurrDisp}} \newcommand{\SurfaceCurrTracCoord}{\CurrCoord{\SurfaceCurrTrac}} \newcommand{\SurfaceCurrTracCoordVec}{\CurrCoordVec{\SurfaceCurrTrac}} \newcommand{\CurveCurrCoord}{\CurrCoord{\CurveRef}} \newcommand{\CurveCurrCoordVec}{\CurrCoordVec{\CurveRef}} \newcommand{\VolumeEnvRefMap}{\ManifoldMap{\ParamDomainEnv}{\VolumeEnvRef}} \newcommand{\GenericGradOverVolumeEnvRefMap}[1]{\Grad{\VolumeEnvRefMap}{#1}} \newcommand{\VolumeRefMap}{\ManifoldMap{\ParamDomain}{\VolumeRef}} \newcommand{\GenericGradOverVolumeRefMap}[1]{\Grad{\VolumeRefMap}{#1}} \newcommand{\SurfaceRefDispMap}{\ManifoldMap{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMap}{\ManifoldMap{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\CurveRefMap}{\ManifoldMap{\ParamDomain}{\CurveRef}} \newcommand{\GenericGradOverCurveRefMap}[1]{\Grad{\CurveRefMap}{#1}} \newcommand{\VolumeEnvRefMapDef}{\ManifoldMapDef{\ParamDomainEnv}{\VolumeEnvRef}} \newcommand{\SurfaceRefDispMapDef}{\ManifoldMapDef{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMapDef}{\ManifoldMapDef{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\SurfaceRefToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRef}} \newcommand{\SurfaceRefDispToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRefTrac}} \newcommand{\CurveRefMapDef}{\ManifoldMapDef{\ParamDomain}{\CurveRef}} \newcommand{\GenericDeformMap}{\Vec{\varphi}} \newcommand{\VolumeEnvDeformMap}{\ManifoldMap{\VolumeEnvRef}{\VolumeEnvCurr}} \newcommand{\GenericGradOverVolumeEnvDeformMap}[1]{\Grad{\VolumeEnvDeformMap}{#1}} \newcommand{\VolumeDeformMap}{\ManifoldMap{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeDeformTemporalMap}{\ManifoldTemporalMap{\VolumeRef}{\VolumeCurr}} \newcommand{\GradVolumeDeformTemporalMap}{\GenericGradOverVolumeRefMap{\VolumeDeformTemporalMap}} \newcommand{\SurfaceDeformDispMap}{\ManifoldMap{\SurfaceRefDisp}{\SurfaceCurrDisp}} \newcommand{\SurfaceDeformTracMap}{\ManifoldMap{\SurfaceRefTrac}{\SurfaceCurrTrac}} \newcommand{\CurveDeformMap}{\ManifoldMap{\CurveRef}{\CurveCurr}} \newcommand{\CurveDeformTemporalMap}{\ManifoldTemporalMap{\CurveRef}{\CurveCurr}} \newcommand{\VolumeDeformMapDef}{\ManifoldMapDef{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeDeformTemporalMapDef}{\ManifoldTemporalMapDef{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeEnvDeformMapDef}{\ManifoldMapDef{\VolumeEnvRef}{\VolumeEnvCurr}} \newcommand{\CurveDeformMapDef}{\ManifoldMapDef{\CurveRef}{\CurveCurr}} \newcommand{\CurveDeformTemporalMapDef}{\ManifoldTemporalMapDef{\CurveRef}{\CurveCurr}} \newcommand{\DispTrialSpaceOverVolumeEnvRef}{\SpaceHilbert{U}(\VolumeEnvRef)} \newcommand{\DispTestSpaceOverVolumeEnvRef}{\delta \DispTrialSpaceOverVolumeEnvRef} \newcommand{\DispTrialSpaceOverVolumeRef}{\SpaceHilbert{U}(\VolumeRef)} \newcommand{\DispTestSpaceOverVolumeRef}{\delta \DispTrialSpaceOverVolumeRef} \newcommand{\DispTrialSpaceOverCurveRef}{\SpaceHilbert{U}(\CurveRef)} \newcommand{\DispTestSpaceOverCurveRef}{\delta \DispTrialSpaceOverCurveRef} \newcommand{\DispFieldRefComp}{\SymbolDispUpper} \newcommand{\DispFieldRefTen}{\Vec{\DispFieldRefComp}} \newcommand{\DispFieldCurrComp}{\SymbolDisp} \newcommand{\DispFieldCurrTen}{\Vec{\DispFieldCurrComp}} \newcommand{\VelFieldCurrTen}{\Vec{\SymbolVelocity}} \newcommand{\AccFieldCurrTen}{\Vec{\SymbolAcceleration}} \newcommand{\DeformGradComp}{\SymbolDeformGrad} \newcommand{\DeformGradTen}{\Mat{\DeformGradComp}} \newcommand{\DeformGradDet}{\Det{\DeformGradTen}} \newcommand{\KinematicElast}{e} \newcommand{\KinematicPlast}{p} \newcommand{\DivVolumeEnvRef}[1]{\Div{\VolumeEnvRefCoordVec}{#1}} \newcommand{\DivVolumeEnvCurr}[1]{\Div{\VolumeEnvCurrCoordVec}{#1}} \newcommand{\DeformGradIncComp}{\SymbolDeformGradInc} \newcommand{\DeformGradIncTen}{\Mat{\DeformGradIncComp}} \newcommand{\DeformGradIncDevComp}{\bar{\SymbolDeformGradInc}} \newcommand{\DeformGradIncDevTen}{\bar{\Mat{\DeformGradIncComp}}} \newcommand{\JAsDeformGradDet}{J} \newcommand{\StretchTen}{\Mat{V}} \newcommand{\StrainGreenLagrangeComp}{\SymbolStrainGreenLagrange} \newcommand{\StrainGreenLagrangeTen}{\Mat{\StrainGreenLagrangeComp}} \newcommand{\StrainGreenLagrangeVoigt}{\tilde{\StrainGreenLagrangeTen}} \newcommand{\DeformCauchyGreenRightComp}{\SymbolDeformCauchyGreenRight} \newcommand{\DeformCauchyGreenRightTen}{\Mat{\DeformCauchyGreenRightComp}} \newcommand{\DeformCauchyGreenLeftComp}{\SymbolDeformCauchyGreenLeft} \newcommand{\DeformCauchyGreenLeftTen}{\Mat{\DeformCauchyGreenLeftComp}} \newcommand{\DeformCauchyGreenLeftDevComp}{\bar{\SymbolDeformCauchyGreenLeft}} \newcommand{\DeformCauchyGreenLeftDevTen}{\bar{\Mat{\DeformCauchyGreenLeftComp}}} \newcommand{\StrainSymGradComp}{\SymbolStrainSymGrad} \newcommand{\StrainSymGradTen}{\Mat{\StrainSymGradComp}} \newcommand{\StrainDispMat}{\Mat{\SymbolStrainDisp}} \newcommand{\DeformCauchyGreenRightDevComp}{\bar{\SymbolDeformCauchyGreenRight}} \newcommand{\DeformCauchyGreenRightDevTen}{\bar{\Mat{\DeformCauchyGreenRightComp}}} \newcommand{\KinematicElastoplast}{{\rm ep}} \newcommand{\Trial}{{\rm trial}} \newcommand{\DeformCauchyGreenLeftElasticTenDef}{\DeformCauchyGreenLeftTen^\KinematicElast \DefEq \DeformGradTen^\KinematicElast \DeformGradTen^{\KinematicElast T}} \newcommand{\DeformCauchyGreenLeftElasticDevTenDef}{{\DeformCauchyGreenLeftDevTen}^\KinematicElast \DefEq {\JAsDeformGradDet}^{\KinematicElast-\frac{2}{3}} {\DeformCauchyGreenLeftTen}^\KinematicElast} \newcommand{\DeformCauchyGreenRightPlasticTenDef}{\DeformCauchyGreenRightTen^\KinematicPlast \DefEq \DeformGradTen^{\KinematicPlast T} \DeformGradTen^\KinematicPlast} \newcommand{\StrainPlasticEquiv}{\SymbolStrainPlasticEquiv} \newcommand{\ConsistencyParameterPlasticDiscrete}{\Delta \SymbolConsistencyParameterPlastic} \newcommand{\YieldSurfaceNormalComp}{\SymbolYieldSurfaceNormal} \newcommand{\YieldSurfaceNormalTen}{\Mat{\SymbolYieldSurfaceNormal}} \newcommand{\UnitNormalRefComp}{N} \newcommand{\UnitNormalRefTen}{\Vec{\UnitNormalRefComp}} \newcommand{\UnitNormalCurrComp}{\UnitNormalComp} \newcommand{\UnitNormalCurrTen}{\UnitNormal} \newcommand{\DispFieldOverVolumeEnvRefTenDef}{\FuncDef{\DispFieldRefTen}{\VolumeEnvRef}{\SpatialDomain}} \newcommand{\DispFieldOverVolumeEnvCurrTenDef}{\DispFieldCurrTen \DefEq \DispFieldRefTen \circ \Inverse{\VolumeEnvDeformMap}} \newcommand{\DispFieldOverVolumeRefTenDef}{\FuncDef{\DispFieldRefTen}{\VolumeRef}{\SpatialDomain}} \newcommand{\DispFieldOverVolumeRefTemporalTenDef}{\FuncDef{\DispFieldRefTen}{\VolumeRef\otimes\SymbolTime}{\SpatialDomain}} \newcommand{\DispFieldOverVolumeCurrTenDef}{\DispFieldCurrTen \DefEq \DispFieldRefTen \circ \Inverse{\VolumeDeformMap}} \newcommand{\DispFieldOverCurveRefTenDef}{\FuncDef{\DispFieldRefTen}{\CurveRef}{\SpatialDomain}} \newcommand{\DispFieldOverCurveRefTemporalTenDef}{\FuncDef{\DispFieldRefTen}{\CurveRef\otimes\SymbolTime}{\SpatialDomain}} \newcommand{\DeformGradOverVolumeRefTenDef}{\FuncDef{\DeformGradTen}{\VolumeRef}{\VolumeCurr}} \newcommand{\DeformGradOverCurveRefTenDef}{\FuncDef{\DeformGradTen}{\CurveRef}{\CurveCurr}} \newcommand{\StrainGreenLagrangeOverVolumeEnvRefTenDef}{\FuncDef{\StrainGreenLagrangeTen}{\VolumeEnvRef}{\VolumeEnvCurr}} \newcommand{\StrainGreenLagrangeOverVolumeRefTenDef}{\FuncDef{\StrainGreenLagrangeTen}{\VolumeRef}{\VolumeCurr}} \newcommand{\StrainGreenLagrangeOverCurveRefTenDef}{\FuncDef{\StrainGreenLagrangeTen}{\CurveRef}{\CurveCurr}} \newcommand{\DeformCauchyGreenLeftTenDef}{\DeformCauchyGreenLeftTen \DefEq \DeformGradTen \DeformGradTen^T} \newcommand{\DeformCauchyGreenLeftDevTenDef}{\DeformCauchyGreenLeftDevTen \DefEq \DeformGradDet^{-\frac{2}{3}} \DeformCauchyGreenLeftTen} \newcommand{\StressPKOneTen}{\Mat{P}} \newcommand{\StressPKTwoComp}{S} \newcommand{\StressPKTwoTen}{\Mat{\StressPKTwoComp}} \newcommand{\StressPKTwoVoigt}{\tilde{\StressPKTwoTen}} \newcommand{\StressCauchyComp}{\sigma} \newcommand{\StressCauchyTen}{\Mat{\sigma}} \newcommand{\StressCauchyVoigt}{\tilde{\StressCauchyTen}} \newcommand{\StressCauchyMean}{p} \newcommand{\StressCauchyYield}{\StressCauchyComp_Y} \newcommand{\StressKirchhoffComp}{\tau} \newcommand{\StressKirchhoffTen}{\Mat{\tau}} \newcommand{\StressKirchhoffVoigt}{\tilde{\StressKirchhoffTen}} \newcommand{\StressKirchhoffDevComp}{s} \newcommand{\StressKirchhoffDevTen}{\Mat{\StressKirchhoffDevComp}} \newcommand{\ModuliElastRefComp}{C} \newcommand{\ModuliElastRefTen}{\Mat{\ModuliElastRefComp}} \newcommand{\ModuliElastRefVoigt}{\tilde{\ModuliElastRefTen}} \newcommand{\ModuliElastCurrComp}{c} \newcommand{\ModuliElastCurrTen}{\Mat{\ModuliElastCurrComp}} \newcommand{\ModuliElastCurrVoigt}{\tilde{\ModuliElastCurrTen}} \newcommand{\MaterialYoungsModulus}{E} \newcommand{\MaterialPoissonsRatio}{\nu} \newcommand{\MaterialMassDensity}{\rho} \newcommand{\MaterialBulkModulus}{\kappa} \newcommand{\MaterialShearModulus}{\mu} \newcommand{\MaterialShearModulusDev}{\bar{\MaterialShearModulus}} \newcommand{\MaterialThermalExpansion}{\alpha_{\text{thermal}}} \newcommand{\Area}{\SymbolArea} \newcommand{\Length}{\SymbolLength} \newcommand{\Width}{b} \newcommand{\Height}{h} \newcommand{\PenaltyStiffness}{\SymbolPenalty_{\SymbolStiffness}} \newcommand{\PenaltyDisp}{\SymbolPenalty_{\SymbolDisp}} \newcommand{\BodyForceRefComp}{\SymbolBodyForceUpper} \newcommand{\BodyForceRefTen}{\Vec{\BodyForceRefComp}} \newcommand{\BodyForceCurrComp}{\SymbolBodyForce} \newcommand{\BodyForceCurrTen}{\Vec{\BodyForceCurrComp}} \newcommand{\TracForceRefComp}{\SymbolTracForceUpper} \newcommand{\TracForceRefTen}{\Vec{\TracForceRefComp}} \newcommand{\TracForceCurrComp}{\SymbolTracForce} \newcommand{\TracForceCurrTen}{\Vec{\TracForceCurrComp}} \newcommand{\Pressure}{p} \newcommand{\BodyForceOverVolumeEnvRefTenDef}{\FuncDef{\BodyForceRefTen}{\VolumeEnvRef}{\SpatialDomain}} \newcommand{\BodyForceOverVolumeEnvCurrTenDef}{\BodyForceCurrTen \DefEq \BodyForceRefTen \circ \Inverse{\VolumeEnvDeformMap}} \newcommand{\BodyForceOverCurveRefCompDef}{\FuncDef{\BodyForceRefComp}{\CurveRef}{\Reals}} \newcommand{\BodyForceOverCurveRefTenDef}{\FuncDef{\BodyForceRefTen}{\CurveRef}{\SpatialDomain}} \newcommand{\BodyForceOverCurveCurrCompDef}{\BodyForceCurrComp \DefEq \BodyForceRefComp \circ \Inverse{\CurveDeformMap}} \newcommand{\BodyForceOverCurveCurrTenDef}{\BodyForceCurrTen \DefEq \BodyForceRefTen \circ \Inverse{\CurveDeformMap}} \newcommand{\TracForceOverSurfaceRefTracTenDef}{\FuncDef{\TracForceRefTen}{\SurfaceRefTrac}{\SpatialDomain}} \newcommand{\TracForceOverSurfaceCurrTracTenDef}{\TracForceCurrTen \DefEq \TracForceRefTen \circ \Inverse{\SurfaceDeformTracMap}} \newcommand{\TracForceOverCurveRefCompDef}{\FuncDef{\TracForceRefComp}{\PointRefTrac}{\Reals}} \newcommand{\TracForceOverCurveRefTenDef}{\FuncDef{\TracForceRefTen}{\PointRefTrac}{\SpatialDomain}} \newcommand{\TracForceOverCurveCurrCompDef}{\TracForceCurrComp \DefEq \TracForceRefComp \circ \Inverse{\CurveDeformMap}} \newcommand{\TracForceOverCurveCurrTenDef}{\TracForceCurrTen \DefEq \TracForceRefTen \circ \Inverse{\CurveDeformMap}} \newcommand{\ConstraintRefTen}{\Vec{\SymbolConstraintUpper}} \newcommand{\LagrangeMultTestSpaceOverSurfaceRef}{\delta \LagrangeMultTrialSpaceOverSurfaceRef} \newcommand{\LagrangeMultTrialSpaceOverSurfaceRef}{\SpaceHilbert{L}(\SurfaceRefDisp)} \newcommand{\LagrangeMultRefComp}{\SymbolLagrangeMultRef} \newcommand{\LagrangeMultRefTen}{\Vec{\LagrangeMultRefComp}} \newcommand{\LagrangeMultCurrComp}{\SymbolLagrangeMultCurr} \newcommand{\LagrangeMultCurrTen}{\Vec{\LagrangeMultCurrComp}} \newcommand{\ConstraintOverSurfaceRefDispTenDef}{\FuncDef{\ConstraintRefTen}{\SurfaceRefDisp}{\SpatialDomain}} \newcommand{\LagrangeMultOverSurfaceCurrTenDef}{\LagrangeMultCurrTen \DefEq \LagrangeMultRefTen \circ \Inverse{\SurfaceDeformDispMap}} \newcommand{\Energy}{\SymbolEnergy} \newcommand{\EnergyElastic}[1]{\QFO{\Energy}{#1}} \newcommand{\EnergyElasticNoArg}{\QFONA{\Energy}} \newcommand{\EnergyEnv}{\SymbolEnvModifier{\Energy}} \newcommand{\EnergyInside}{\Energy^{\SymbolInside}} \newcommand{\EnergyOutside}{\Energy^{\SymbolOutside}} \newcommand{\EnergyConstraint}{\Energy^{\LagrangeMultCurrComp}} \newcommand{\EnergyDensityStrain}{\SymbolEnergyDensityStrain} \newcommand{\EnergyDensityStrainVol}{\SymbolEnergyDensityStrainVol} \newcommand{\EnergyDensityStrainDev}{\bar{\SymbolEnergyDensityStrain}} \newcommand{\EnergyInsideOverVolumeEnvRefDef}{\FuncDef{\EnergyInside}{\DispTrialSpaceOverVolumeEnvRef}{\Reals}} \newcommand{\EnergyOutsideOverVolumeEnvRefDef}{\FuncDef{\EnergyOutside}{\DispTrialSpaceOverVolumeEnvRef}{\Reals}} \newcommand{\EnergyConstraintOverVolumeEnvRefDef}{\FuncDef{\EnergyConstraint}{\DispTrialSpaceOverVolumeEnvRef\TensorProduct\LagrangeMultTrialSpaceOverSurfaceRef}{\Reals}} \newcommand{\EnergyDensityStrainOverVolumeEnvRefDef}{\FuncDef{\EnergyDensityStrain}{\VolumeEnvRef}{\Reals}} \newcommand{\ResidualComp}{\SymbolResidual} \newcommand{\ResidualVec}{\Vec{\ResidualComp}} \newcommand{\ForceVec}{\Vec{\SymbolForce}} \newcommand{\ForceInternalVec}{\ForceVec^{int}} \newcommand{\ForceExternalVec}{\ForceVec^{ext}} \newcommand{\ForceConstraintPenaltyVec}{\ForceVec^{\PenaltyDisp}} \newcommand{\ForceConstraintLagrangeVec}{\ForceVec^{\lambda1}} \newcommand{\ForceConstraintVec}{\ForceVec^{\lambda2}} \newcommand{\StiffnessMat}{\Mat{\SymbolStiffness}} \newcommand{\StiffnessMaterialMat}{\StiffnessMat^{m}} \newcommand{\StiffnessGeometricMat}{\StiffnessMat^{g}} \newcommand{\StiffnessPenaltyMat}{\StiffnessMat^{\PenaltyDisp}} \newcommand{\StiffnessLagrangeMat}{\StiffnessMat^{\LagrangeMultCurrComp}} \newcommand{\MassMat}{\Mat{\SymbolMass}} \newcommand{\LumpedMassMat}{\tilde{\MassMat}} \newcommand{\SolutionComp}{\SymbolSolution} \newcommand{\Solution}{\Vec{\SymbolSolution}} \newcommand{\SolutionDisp}{\Solution^{\DispFieldCurrComp}} \newcommand{\SolutionLagrange}{\Solution^{\LagrangeMultCurrComp}} \newcommand{\Flex}[1]{\mathcal{F}_{#1}} \newcommand{\FlexIt}{\mathcal{F}} \newcommand{\FlexFEA}{\Flex{\bar{0}}} \newcommand{\FlexFEAModified}{\Flex{0}} \newcommand{\FlexOne}{\Flex{1}} \newcommand{\FlexImmersed}{\Flex{\infty}} \newcommand{\FlexInfty}{\mathcal{F}{\infty}} \newcommand{\FlexSpectrum}{\overleftrightarrow{\mathcal{F}}} \newcommand{\FlexSpectrumId}{i} \newcommand{\TimeStep}{\Delta \SymbolTime} \newcommand{\SpectralRadius}{\rho_{\infty}}$$\newcommand{\SymbolPressureContact}{p} \newcommand{\SymbolContactGap}{g} \newcommand{\NumUsplineBasisFuncsS}{\Size{\UsplineBasisFuncSetOnMeshUspline^s}} \newcommand{\NumUsplineBasisFuncsM}{\Size{\UsplineBasisFuncSetOnMeshUspline^m}} \newcommand{\NumUsplineBasisFuncsG}{\Size{\UsplineBasisFuncSetOnMeshUspline^\alpha}} \newcommand{\NumUsplineBasisFuncsParamDomainBdryContactS}{\Size{\UsplineBasisFuncSetOnMeshUspline^{\ParamDomainBdryContactS}}} \newcommand{\NumUsplineBasisFuncsParamDomainBdryContactM}{\Size{\UsplineBasisFuncSetOnMeshUspline^{\ParamDomainBdryContactM}}} \newcommand{\NumUsplineBasisFuncsParamDomainBdryContactG}{\Size{\UsplineBasisFuncSetOnMeshUspline^{\ParamDomainBdryContactG}}} \newcommand{\ParamDomainEnvS}{\ParamDomainEnv^{s}} \newcommand{\ParamDomainEnvM}{\ParamDomainEnv^{m}} \newcommand{\ParamDomainEnvG}{\ParamDomainEnv^{\alpha}} \newcommand{\ParamDomainS}{\ParamDomain^{s}} \newcommand{\ParamDomainM}{\ParamDomain^{m}} \newcommand{\ParamDomainG}{\ParamDomain^\alpha} \newcommand{\ParamDomainClosureS}{\overline{\ParamDomain}^s} \newcommand{\ParamDomainClosureM}{\overline{\ParamDomain}^m} \newcommand{\ParamDomainClosureG}{\overline{\ParamDomain}^\alpha} \newcommand{\ParamDomainBdryG}{\ParamDomainBdry^\alpha} \newcommand{\ParamDomainBdryContactS}{\ParamDomainBdry^{c,s}} \newcommand{\ParamDomainBdryContactM}{\ParamDomainBdry^{c,m}} \newcommand{\ParamDomainBdryContactG}{\ParamDomainBdry^{c,\alpha}} \newcommand{\ParamDomainBdryTangentComp}{A} \newcommand{\ParamDomainBdryTangentTen}{\Mat{\ParamDomainBdryTangentComp}} \newcommand{\ParamDetJacobianS}{j^s} \newcommand{\ParamDomainGCoordVec}{\ParamCoordVecSimple^{\ParamDomainG}} \newcommand{\ParamDomainGCoord}{\ParamCoordSimple^{\ParamDomainG}} \newcommand{\ParamDomainEnvGCoordVec}{\ParamCoordVecSimple^{\ParamDomainEnvG}} \newcommand{\ParamDomainEnvGCoord}{\ParamCoordSimple^{\ParamDomainEnvG}} \newcommand{\ParamDomainEnvSCoordVec}{\ParamCoordVecSimple^{\ParamDomainEnvS}} \newcommand{\ParamDomainEnvSCoord}{\ParamCoordSimple^{\ParamDomainEnvS}} \newcommand{\ParamDomainEnvMCoordVec}{\ParamCoordVecSimple^{\ParamDomainEnvM}} \newcommand{\ParamDomainEnvMCoord}{\ParamCoordSimple^{\ParamDomainEnvM}} \newcommand{\ParamDomainBdryContactGCoordVec}{\ParamCoordVecSimple^{\ParamDomainBdryContactG}} \newcommand{\ParamDomainBdryContactGCoord}{\ParamCoordSimple^{\ParamDomainBdryContactG}} \newcommand{\ParamDomainBdryContactSCoordVec}{\ParamCoordVecSimple^{\ParamDomainBdryContactS}} \newcommand{\ParamDomainBdryContactSCoord}{\ParamCoordSimple^{\ParamDomainBdryContactS}} \newcommand{\ParamDomainBdryContactMCoordVec}{\ParamCoordVecSimple^{\ParamDomainBdryContactM}} \newcommand{\ParamDomainBdryContactMCoord}{\ParamCoordSimple^{\ParamDomainBdryContactM}} \newcommand{\SegmentParamDomainOfVolumeEnvRefS}{\QuantityRelatedTo{\ParamDomainEnvS}{\SegmentOfVolumeEnvRefS}} \newcommand{\SegmentParamDomainOfVolumeEnvRefM}{\QuantityRelatedTo{\ParamDomainEnvM}{\SegmentOfVolumeEnvRefM}} \newcommand{\SegmentParamDomainOfVolumeEnvCurrM}{\QuantityRelatedTo{\ParamDomainEnvM}{\SegmentOfVolumeEnvCurrM}} \newcommand{\SegmentParamDomainOfSurfaceCurrContactS}{\QuantityRelatedTo{\ParamDomainBdryContactS}{\SegmentOfSurfaceCurrContactS}} \newcommand{\SegmentParamDomainOfSurfaceRefContactM}{\QuantityRelatedTo{\ParamDomainBdryContactM}{\SegmentOfSurfaceRefContactM}} \newcommand{\SegmentParamDomainOfSurfaceCurrContactM}{\QuantityRelatedTo{\ParamDomainBdryContactM}{\SegmentOfSurfaceCurrContactM}} \newcommand{\UsplineBasisFuncS}{\UsplineBasisFunc^{s}} \newcommand{\UsplineBasisFuncM}{\UsplineBasisFunc^{m}} \newcommand{\UsplineBasisFuncG}{\UsplineBasisFunc^{\alpha}} \newcommand{\UsplineBasisFuncParamDomainBdryContactS}{\UsplineBasisFunc^{\ParamDomainBdryContactS}} \newcommand{\UsplineBasisFuncParamDomainBdryContactM}{\UsplineBasisFunc^{\ParamDomainBdryContactM}} \newcommand{\UsplineBasisFuncParamDomainBdryContactG}{\UsplineBasisFunc^{\ParamDomainBdryContactG}} \newcommand{\UsplineBasisSymmSecondOrderComp}{S} \newcommand{\UsplineBasisSymmSecondOrderTen}{\Mat{\UsplineBasisSymmSecondOrderComp}} \newcommand{\UsplineBasisSymmFourthOrderComp}{E} \newcommand{\UsplineBasisSymmSixthOrderComp}{Z} \newcommand{\VolumeEnvRefG}{\VolumeEnvRef^{\alpha}} \newcommand{\VolumeEnvRefS}{\VolumeEnvRef^{s}} \newcommand{\VolumeEnvRefM}{\VolumeEnvRef^{m}} \newcommand{\VolumeRefG}{\VolumeRef^{\alpha}} \newcommand{\VolumeRefS}{\VolumeRef^{s}} \newcommand{\VolumeRefM}{\VolumeRef^{m}} \newcommand{\VolumeRefClosureG}{\VolumeRefClosure^\alpha} \newcommand{\VolumeRefClosureS}{\VolumeRefClosure^s} \newcommand{\VolumeRefClosureM}{\VolumeRefClosure^m} \newcommand{\SurfaceRefG}{\SurfaceRef^\alpha} \newcommand{\SurfaceRefS}{\SurfaceRef^s} \newcommand{\SurfaceRefM}{\SurfaceRef^m} \newcommand{\SurfaceRefTracG}{\SurfaceRef^{\SymbolTracForce,\alpha}} \newcommand{\SurfaceRefDispG}{\SurfaceRef^{\SymbolDisp,\alpha}} \newcommand{\SurfaceRefContactG}{\SurfaceRef^{c,\alpha}} \newcommand{\SurfaceRefContactS}{\SurfaceRef^{c,s}} \newcommand{\SurfaceRefContactM}{\SurfaceRef^{c,m}} \newcommand{\VolumeEnvRefSCoordVec}{\RefCoordVec{\VolumeEnvRefS}} \newcommand{\VolumeEnvRefMCoordVec}{\RefCoordVec{\VolumeEnvRefM}} \newcommand{\VolumeEnvRefGCoordVec}{\RefCoordVec{\VolumeEnvRefG}} \newcommand{\VolumeRefGCoordVec}{\RefCoordVec{\VolumeRefG}} \newcommand{\SurfaceRefContactSCoord}{\RefCoord{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactSCoordVec}{\RefCoordVec{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactMCoord}{\RefCoord{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactMCoordVec}{\RefCoordVec{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactGCoord}{\RefCoord{\SurfaceRefContactG}} \newcommand{\SurfaceRefContactGCoordVec}{\RefCoordVec{\SurfaceRefContactG}} \newcommand{\SurfaceRefDispGCoordVec}{\RefCoordVec{\SurfaceRefDispG}} \newcommand{\SegmentOfVolumeEnvRefS}{\Segment{\VolumeEnvRefS}} \newcommand{\SegmentOfVolumeEnvRefM}{\Segment{\VolumeEnvRefM}} \newcommand{\SegmentOfSurfaceRefContactS}{\Segment{\SurfaceRefContactS}} \newcommand{\SegmentOfSurfaceRefContactM}{\Segment{\SurfaceRefContactM}} \newcommand{\VolumeEnvCurrG}{\VolumeEnvCurr^{\alpha}} \newcommand{\VolumeEnvCurrS}{\VolumeEnvCurr^{s}} \newcommand{\VolumeEnvCurrM}{\VolumeEnvCurr^{m}} \newcommand{\VolumeCurrG}{\VolumeCurr^{\alpha}} \newcommand{\VolumeCurrS}{\VolumeCurr^{s}} \newcommand{\VolumeCurrM}{\VolumeCurr^{m}} \newcommand{\VolumeCurrClosureG}{\VolumeCurrClosure^\alpha} \newcommand{\VolumeCurrClosureS}{\VolumeCurrClosure^s} \newcommand{\VolumeCurrClosureM}{\VolumeCurrClosure^m} \newcommand{\SurfaceCurrG}{\SurfaceCurr^\alpha} \newcommand{\SurfaceCurrS}{\SurfaceCurr^s} \newcommand{\SurfaceCurrM}{\SurfaceCurr^m} \newcommand{\SurfaceCurrContact}{\SurfaceCurr^{c}} \newcommand{\SurfaceCurrContactG}{\SurfaceCurr^{c,\alpha}} \newcommand{\SurfaceCurrContactS}{\SurfaceCurr^{c,s}} \newcommand{\SurfaceCurrContactM}{\SurfaceCurr^{c,m}} \newcommand{\VolumeEnvCurrSCoordVec}{\CurrCoordVec{\VolumeEnvCurrS}} \newcommand{\VolumeEnvCurrMCoordVec}{\CurrCoordVec{\VolumeEnvCurrM}} \newcommand{\VolumeEnvCurrGCoordVec}{\CurrCoordVec{\VolumeEnvCurrG}} \newcommand{\VolumeCurrGCoordVec}{\CurrCoordVec{\VolumeCurrG}} \newcommand{\SurfaceCurrContactSCoord}{\CurrCoord{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactSCoordVec}{\CurrCoordVec{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactMCoord}{\CurrCoord{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactMCoordVec}{\CurrCoordVec{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactGCoord}{\CurrCoord{\SurfaceCurrContactG}} \newcommand{\SurfaceCurrContactGCoordVec}{\CurrCoordVec{\SurfaceCurrContactG}} \newcommand{\SegmentOfVolumeEnvCurrS}{\Segment{\VolumeEnvCurrS}} \newcommand{\SegmentOfVolumeEnvCurrM}{\Segment{\VolumeEnvCurrM}} \newcommand{\SegmentOfSurfaceCurrContactS}{\Segment{\SurfaceCurrContactS}} \newcommand{\SegmentOfSurfaceCurrContactM}{\Segment{\SurfaceCurrContactM}} \newcommand{\VolumeEnvRefSMap}{\ManifoldMap{\ParamDomainEnvS}{\VolumeEnvRefS}} \newcommand{\VolumeEnvRefMMap}{\ManifoldMap{\ParamDomainEnvM}{\VolumeEnvRefM}} \newcommand{\VolumeEnvRefGMap}{\ManifoldMap{\ParamDomainEnvG}{\VolumeEnvRefG}} \newcommand{\VolumeEnvRefSMapInv}{\Inverse{\VolumeEnvRefSMap}} \newcommand{\VolumeEnvRefMMapInv}{\Inverse{\VolumeEnvRefMMap}} \newcommand{\VolumeEnvRefGMapInv}{\Inverse{\VolumeEnvRefGMap}} \newcommand{\VolumeRefClosureSMap}{\ManifoldMap{\ParamDomainClosureS}{\VolumeRefClosureS}} \newcommand{\VolumeRefClosureMMap}{\ManifoldMap{\ParamDomainClosureM}{\VolumeRefClosureM}} \newcommand{\VolumeRefClosureGMap}{\ManifoldMap{\ParamDomainClosureG}{\VolumeRefClosureG}} \newcommand{\VolumeRefSMap}{\ManifoldMap{\ParamDomainS}{\VolumeRefS}} \newcommand{\VolumeRefMMap}{\ManifoldMap{\ParamDomainM}{\VolumeRefM}} \newcommand{\VolumeRefGMap}{\ManifoldMap{\ParamDomainG}{\VolumeRefG}} \newcommand{\VolumeRefClosureGMapRestrictedToBoundary}{\ManifoldMap{\ParamDomainClosureG}{\VolumeRefClosureG}\Big|_{\ParamDomainBdryContactG}} \newcommand{\VolumeRefClosureMMapRestrictedToBoundary}{\ManifoldMap{\ParamDomainClosureM}{\VolumeRefClosureM}\Big|_{\ParamDomainBdryContactM}} \newcommand{\SurfaceRefContactSMap}{\ManifoldMap{\ParamDomainBdryContactS}{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactMMap}{\ManifoldMap{\ParamDomainBdryContactM}{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactGMap}{\ManifoldMap{\ParamDomainBdryContactG}{\SurfaceRefContactG}} \newcommand{\VolumeEnvRefGMapDef}{\ManifoldMapDef{\ParamDomainEnvG}{\VolumeEnvRefG}} \newcommand{\VolumeRefClosureGMapDef}{\ManifoldMapDef{\ParamDomainClosureG}{\VolumeRefClosureG}} \newcommand{\SurfaceRefContactSMapDef}{\ManifoldMapDef{\ParamDomainBdryContactS}{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactMMapDef}{\ManifoldMapDef{\ParamDomainBdryContactM}{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactGMapDef}{\ManifoldMapDef{\ParamDomainBdryContactG}{\SurfaceRefContactG}} \newcommand{\VolumeEnvCurrSMap}{\ManifoldMap{\ParamDomainEnvS}{\VolumeEnvCurrS}} \newcommand{\VolumeEnvCurrMMap}{\ManifoldMap{\ParamDomainEnvM}{\VolumeEnvCurrM}} \newcommand{\VolumeEnvCurrGMap}{\ManifoldMap{\ParamDomainEnvG}{\VolumeEnvCurrG}} \newcommand{\VolumeCurrClosureSMap}{\ManifoldMap{\ParamDomainClosureS}{\VolumeCurrClosureS}} \newcommand{\VolumeCurrClosureMMap}{\ManifoldMap{\ParamDomainClosureM}{\VolumeCurrClosureM}} \newcommand{\VolumeCurrClosureGMap}{\ManifoldMap{\ParamDomainClosureG}{\VolumeCurrClosureG}} \newcommand{\VolumeCurrSMap}{\ManifoldMap{\ParamDomainS}{\VolumeCurrS}} \newcommand{\VolumeCurrMMap}{\ManifoldMap{\ParamDomainM}{\VolumeCurrM}} \newcommand{\VolumeCurrGMap}{\ManifoldMap{\ParamDomainG}{\VolumeCurrG}} \newcommand{\VolumeCurrClosureGMapRestrictedToBoundary}{\ManifoldMap{\ParamDomainClosureG}{\VolumeCurrClosureG}\Big|_{\ParamDomainBdryContactG}} \newcommand{\SurfaceCurrContactSMap}{\ManifoldMap{\ParamDomainBdryContactS}{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactMMap}{\ManifoldMap{\ParamDomainBdryContactM}{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactGMap}{\ManifoldMap{\ParamDomainBdryContactG}{\SurfaceCurrContactG}} \newcommand{\VolumeEnvCurrGMapDef}{\ManifoldMapDef{\ParamDomainEnvG}{\VolumeEnvCurrG}} \newcommand{\VolumeCurrClosureGMapDef}{\ManifoldMapDef{\ParamDomainClosureG}{\VolumeCurrClosureG}} \newcommand{\SurfaceCurrContactSMapDef}{\ManifoldMapDef{\ParamDomainBdryContactS}{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactMMapDef}{\ManifoldMapDef{\ParamDomainBdryContactM}{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactGMapDef}{\ManifoldMapDef{\ParamDomainBdryContactG}{\SurfaceCurrContactG}} \newcommand{\VolumeEnvDeformSMap}{\ManifoldMap{\VolumeEnvRefS}{\VolumeEnvCurrS}} \newcommand{\VolumeEnvDeformMMap}{\ManifoldMap{\VolumeEnvRefM}{\VolumeEnvCurrM}} \newcommand{\VolumeEnvDeformGMap}{\ManifoldMap{\VolumeEnvRefG}{\VolumeEnvCurrG}} \newcommand{\VolumeDeformSMap}{\ManifoldMap{\VolumeRefClosureS}{\VolumeCurrClosureS}} \newcommand{\VolumeDeformMMap}{\ManifoldMap{\VolumeRefClosureM}{\VolumeCurrClosureM}} \newcommand{\VolumeDeformGMap}{\ManifoldMap{\VolumeRefClosureG}{\VolumeCurrClosureG}} \newcommand{\VolumeEnvDeformGMapDef}{\ManifoldMapDef{\VolumeEnvRefG}{\VolumeEnvCurrG}} \newcommand{\VolumeDeformGMapDef}{\ManifoldMapDef{\VolumeRefClosureG}{\VolumeCurrClosureG}} \newcommand{\DispTrialSpaceOverVolumeEnvRefS}{\SpaceHilbert{U}(\VolumeEnvRefS)} \newcommand{\DispTrialSpaceOverVolumeEnvRefM}{\SpaceHilbert{U}(\VolumeEnvRefM)} \newcommand{\DispTrialSpaceOverVolumeEnvRefSAndM}{\SpaceHilbert{U}(\VolumeEnvRefS, \VolumeEnvRefM)} \newcommand{\DispTrialSpaceOverVolumeEnvRefG}{\SpaceHilbert{U}(\VolumeEnvRefG)} \newcommand{\DispTrialSpaceOverVolumeRefS}{\SpaceHilbert{U}(\VolumeRefClosureS)} \newcommand{\DispTrialSpaceOverVolumeRefM}{\SpaceHilbert{U}(\VolumeRefClosureM)} \newcommand{\DispTrialSpaceOverVolumeRefSAndM}{\SpaceHilbert{U}(\VolumeRefClosureS, \VolumeRefClosureM)} \newcommand{\DispTrialSpaceOverVolumeRefG}{\SpaceHilbert{U}(\VolumeRefClosureG)} \newcommand{\DispTestSpaceOverVolumeEnvRefG}{\delta \DispTrialSpaceOverVolumeEnvRefG} \newcommand{\DispTestSpaceOverVolumeRefG}{\delta \DispTrialSpaceOverVolumeRefG} \newcommand{\DispFieldRefSComp}{\DispFieldRefComp^s} \newcommand{\DispFieldRefSTen}{\DispFieldRefTen^s} \newcommand{\DispFieldRefMComp}{\DispFieldRefComp^m} \newcommand{\DispFieldRefMTen}{\DispFieldRefTen^m} \newcommand{\DispFieldRefGTen}{\DispFieldRefTen^\alpha} \newcommand{\DispFieldDiscreteRefGTen}{\DispFieldRefTen^{h,\alpha}} \newcommand{\DispFieldOverVolumeEnvRefGTenDef}{\ManifoldMapDef{\VolumeEnvRefG}{\DispFieldRefGTen}} \newcommand{\DispFieldOverVolumeRefGTenDef}{\ManifoldMapDef{\VolumeRefClosureG}{\DispFieldRefGTen}} \newcommand{\GradVolumeRefG}[1]{\Grad{\RefCoordVec{\VolumeRefClosureG}}{#1}} \newcommand{\GradVolumeEnvRefS}[1]{\Grad{\VolumeEnvRefSCoordVec}{#1}} \newcommand{\GradVolumeEnvRefM}[1]{\Grad{\VolumeEnvRefMCoordVec}{#1}} \newcommand{\GradVolumeEnvRefG}[1]{\Grad{\VolumeEnvRefGCoordVec}{#1}} \newcommand{\DeformGradSComp}{\DeformGradComp^s} \newcommand{\DeformGradSTen}{\DeformGradTen^s} \newcommand{\DeformGradSDet}{\Det{\DeformGradSTen}} \newcommand{\DeformGradSInvTrans}{\InvTrans{\DeformGradSTen}} \newcommand{\DeformGradMComp}{\DeformGradComp^m} \newcommand{\DeformGradMTen}{\DeformGradTen^m} \newcommand{\DeformGradMDet}{\Det{\DeformGradMTen}} \newcommand{\DeformGradMInvTrans}{\InvTrans{\DeformGradMTen}} \newcommand{\DeformGradGTen}{\DeformGradTen^\alpha} \newcommand{\DeformGradOverVolumeEnvRefGTenDef}{\FuncDef{\DeformGradGTen}{\VolumeEnvRefG}{\VolumeEnvCurrG}} \newcommand{\DeformGradOverVolumeRefGTenDef}{\FuncDef{\DeformGradGTen}{\VolumeRefClosureG}{\VolumeCurrClosureG}} \newcommand{\UnitNormalRefSTen}{\UnitNormalRefTen^s} \newcommand{\UnitNormalRefMTen}{\UnitNormalRefTen^m} \newcommand{\UnitNormalCurrSComp}{\UnitNormalCurrComp^s} \newcommand{\UnitNormalCurrSTen}{\UnitNormalCurrTen^s} \newcommand{\UnitNormalCurrMComp}{\UnitNormalCurrComp^m} \newcommand{\UnitNormalCurrMTen}{\UnitNormalCurrTen^m} \newcommand{\AreaRatioS}{r^s} \newcommand{\AreaRatioM}{r^m} \newcommand{\ContraMTen}{\Mat{a}^m} \newcommand{\SymmProdInProjTan}{C} \newcommand{\ProdPBTanInvCurPBTanInv}{D} \newcommand{\ProdPBTanInvCurMetricInv}{M} \newcommand{\ProdPBTanInvCurMetricInvCurPBTanInv}{W} \newcommand{\PenaltyContactGap}{\SymbolPenalty_{\SymbolContactGap}} \newcommand{\BodyForceRefGTen}{\BodyForceRefTen^\alpha} \newcommand{\TracForceRefGTen}{\TracForceRefTen^\alpha} \newcommand{\BodyForceOverVolumeRefGDef}{\FuncDef{\BodyForceRefGTen}{\VolumeRefG}{\SpatialDomain}} \newcommand{\BodyForceOverVolumeEnvRefGDef}{\FuncDef{\BodyForceRefGTen}{\VolumeEnvRefG}{\SpatialDomain}} \newcommand{\TracForceOverSurfaceRefTracGTenDef}{\FuncDef{\TracForceRefGTen}{\SurfaceRefTracG}{\SpatialDomain}} \newcommand{\PressureContact}{\SymbolPressureContact} \newcommand{\PressureContactProjected}{\overline{\SymbolPressureContact}_{\UsplineBasisFuncId}} \newcommand{\CoeffPressureContact}{\SymbolPressureContact_{\UsplineBasisFuncId}} \newcommand{\PressureContactInterpolated}{\hat{\SymbolPressureContact}} \newcommand{\ConstraintRefGTen}{\ConstraintRefTen^\alpha} \newcommand{\GapContact}{\SymbolContactGap} \newcommand{\GapContactProjected}{\overline{\SymbolContactGap}_{\UsplineBasisFuncId}} \newcommand{\GapContactProjectedVariation}{\delta \GapContactProjected} \newcommand{\GapContactMortar}{\GapContact^{m}} \newcommand{\GapContactMortarProjected}{\overline{\GapContact}^{m}_{\UsplineBasisFuncId}} \newcommand{\CoeffGapContactMortar}{\GapContact^{m}_{\UsplineBasisFuncId}} \newcommand{\ConstraintOverSurfaceRefDispGTenDef}{\FuncDef{\ConstraintRefGTen}{\SurfaceRefDispG}{\SpatialDomain}} \newcommand{\EnergyEnvG}{\EnergyEnv^\alpha} \newcommand{\EnergyG}{\Energy^{\alpha}} \newcommand{\EnergyDensityStrainG}{\EnergyDensityStrain^\alpha} \newcommand{\EnergyConstraintG}{\Energy^{\SymbolDisp,\alpha}} \newcommand{\EnergyContact}{\Energy^c} \newcommand{\EnergyOverVolumeRefGDef}{\FuncDef{\EnergyG}{\DispTrialSpaceOverVolumeRefG}{\Reals}} \newcommand{\EnergyEnvOverVolumeEnvRefGDef}{\FuncDef{\EnergyEnvG}{\DispTrialSpaceOverVolumeEnvRefG}{\Reals}} \newcommand{\EnergyDensityStrainOverVolumeRefGDef}{\FuncDef{\EnergyDensityStrainG}{\VolumeRefG}{\Reals}} \newcommand{\EnergyDensityStrainOverVolumeEnvRefGDef}{\FuncDef{\EnergyDensityStrainG}{\VolumeEnvRefG}{\Reals}} \newcommand{\EnergyContactOverVolumeRefSAndMDef}{\FuncDef{\EnergyContact}{\DispTrialSpaceOverVolumeRefSAndM}{\Reals}} \newcommand{\EnergyContactOverVolumeEnvRefSAndMDef}{\FuncDef{\EnergyContact}{\DispTrialSpaceOverVolumeEnvRefSAndM}{\Reals}} \newcommand{\EnergyConstraintOverVolumeRefGDef}{\FuncDef{\EnergyConstraintG}{\DispTrialSpaceOverVolumeRefG}{\Reals}} \newcommand{\EnergyConstraintOverVolumeEnvRefGDef}{\FuncDef{\EnergyConstraintG}{\DispTrialSpaceOverVolumeEnvRefG}{\Reals}} \newcommand{\ResidualMat}{\Mat{N}} \newcommand{\ForceInternalContactVec}{\ForceVec^{c,int,n}} \newcommand{\ForceGapContact}{C^n} \newcommand{\StiffnessMatA}{\hat{\Mat{N}}} \newcommand{\StiffnessMatB}{\Mat{T}} \newcommand{\StiffnessMatC}{\Mat{D}} \newcommand{\StiffnessGeometricContact}{\StiffnessMat^{c,g,n}} \newcommand{\StiffnessContact}{\StiffnessMat^{c,n}} \newcommand{\ElemCount}[1]{\operatorname{count}{(#1)}} \newcommand{\ConvexHull}[1]{\operatorname{ch}{\left(#1\right)}} \newcommand{\Normal}[1]{\operatorname{N}{\left(#1\right)}} \newcommand{\NormalConvexHull}[1]{\Normal{\ConvexHull{#1}}} \newcommand{\DiscretePointSetS}{\Set{SP}} \newcommand{\DiscreteElemSetM}{\Set{ME}} \newcommand{\EnvBoundConMapM}{\operatorname{mc}} \newcommand{\EnvBoundConSetM}{\Set{MC}} \newcommand{\SpatialCoordVecToSegmentSetMapMSensor}{\operatorname{cs}} \newcommand{\SpatialCoordVecToSegmentSetMapMElem}{\operatorname{ce}} \newcommand{\SelfContactMap}{\operatorname{sc}} \newcommand{\ColSetS}{\Set{I}} \newcommand{\PairEnvMapBoundM}{\operatorname{cp}} \newcommand{\ApproximateProjectionCollision}[1]{\widetilde{\Projection}{#1}} \newcommand{\ImageSlaveEnv}{\bar{\ParamCoordVecSimple}^{\ParamDomainEnvM}} \newcommand{\ImageSlaveBound}{\bar{\ParamCoordVecSimple}^{\ParamDomainBdryContactM}} \newcommand{\ActiveSet}{\Set{A}} \newcommand{\DiscretePointSetM}{\Set{MP}} \newcommand{\MortarActiveSet}{\Set{A}^m} \newcommand{\PressureContactAnalytical}{p_a} \newcommand{\TipPressureContactAnalytical}{p_0} \newcommand{\ContactHalfWidth}{b}$$\newcommand{\MidGeometryModifier}[1]{\bar{#1}} \newcommand{\SymbolRotationGlobal}{\omega} \newcommand{\SkewMat}[1]{\Mat{s} \left( #1 \right)} \newcommand{\SkewMatInv}[1]{\Mat{s}^{-1} \left( #1 \right)} \newcommand{\Ident}{\Mat{I}} \newcommand{\Cartesian}{\Vec{e}} \newcommand{\ManifoldDim}{n} \newcommand{\LaminaSymbol}{l} \newcommand{\LaminaSymbolUpper}{L} \newcommand{\LaminaMetricSymbol}{j} \newcommand{\ShellMomentSymbol}{q} \newcommand{\DirectorBilinearFunc}[3]{\left(#2,#3\right)_{#1}} \newcommand{\RotObjectiveFunc}{s} \newcommand{\ParamConfig}{\Omega_\xi} \newcommand{\ParamConfigMid}{\Omega_\xi^m} \newcommand{\ParamConfigSec}{\Omega_\xi^s} \newcommand{\ParamConfigBound}{\Gamma_\xi} \newcommand{\ParamConfigMidBound}{\Gamma_\xi^m} \newcommand{\ParamConfigSecBound}{\Gamma_\xi^s} \newcommand{\ParamConfigMuBound}{\Gamma_\xi^\mu} \newcommand{\ParamConfigSigBound}{\Gamma_\xi^\sigma} \newcommand{\ParamConfigDirichMidBound}{\Gamma_\xi^g} \newcommand{\ParamConfigNeuMidBound}{\Gamma_\xi^h} \newcommand{\ParamConfigDirichBound}{\Gamma_\xi^\gamma} \newcommand{\ParamConfigNeuBound}{\Gamma_\xi^\eta} \newcommand{\ParaParam}[1]{\xi_{#1}} \newcommand{\ParaParamVec}{\boldsymbol{\xi}} \newcommand{\RefConfig}{\Omega_0} \newcommand{\RefConfigMid}{\Omega_0^m} \newcommand{\RefConfigSec}{\Omega_0^s} \newcommand{\SurfaceRefRot}{\SurfaceRef^{\SymbolRotationGlobal}} \newcommand{\RefConfigBound}{\Gamma_0} \newcommand{\RefConfigMidBound}{\Gamma_0^m} \newcommand{\RefConfigSecBound}{\Gamma_0^s} \newcommand{\RefConfigMuBound}{\Gamma_0^\mu} \newcommand{\RefConfigSigBound}{\Gamma_0^\sigma} \newcommand{\RefConfigDirichMidBound}{\Gamma_0^g} \newcommand{\RefConfigNeuMidBound}{\Gamma_0^h} \newcommand{\RefConfigDirichBound}{\Gamma_0^\gamma} \newcommand{\RefConfigNeuBound}{\Gamma_0^\eta} \newcommand{\RefMap}{\Vec{X}} \newcommand{\RefMid}{\MidGeometryModifier{\Vec{X}}} \newcommand{\RefDir}{\Vec{D}} \newcommand{\RefSectionPos}{\Vec{R}} \newcommand{\RefCovar}[1]{\Vec{G}_{#1}} \newcommand{\RefMidCovar}[1]{\MidGeometryModifier{\Vec{G}}_{#1}} \newcommand{\RefContra}[1]{\Vec{G}^{#1}} \newcommand{\RefMidContra}[1]{\MidGeometryModifier{\Vec{G}}^{#1}} \newcommand{\RefLamina}[1]{\Vec{L}_{#1}} \newcommand{\RefLaminaDual}[1]{\Vec{\LaminaSymbolUpper}^{#1}} \newcommand{\RefShellProjectedBasis}[1]{\Vec{P}_{#1}} \newcommand{\CurConfig}{\Omega} \newcommand{\CurConfigMid}{\Omega^m} \newcommand{\CurConfigSec}{\Omega^s} \newcommand{\CurConfigBound}{\Gamma} \newcommand{\CurConfigMidBound}{\Gamma^m} \newcommand{\CurConfigSecBound}{\Gamma^s} \newcommand{\CurConfigMuBound}{\Gamma^\mu} \newcommand{\CurConfigSigBound}{\Gamma^\sigma} \newcommand{\CurConfigDirichMidBound}{\Gamma^g} \newcommand{\CurConfigNeuMidBound}{\Gamma^h} \newcommand{\CurConfigDirichBound}{\Gamma^\gamma} \newcommand{\CurConfigNeuBound}{\Gamma^\eta} \newcommand{\CurMap}{\Vec{x}} \newcommand{\CurMid}{\MidGeometryModifier{\Vec{x}}} \newcommand{\CurDir}{\Vec{d}} \newcommand{\CurSectionPos}{\Vec{r}} \newcommand{\CurCovar}[1]{\Vec{g}_{#1}} \newcommand{\CurMidCovar}[1]{\MidGeometryModifier{\Vec{g}}_{#1}} \newcommand{\CurContra}[1]{\Vec{g}^{#1}} \newcommand{\CurMidContra}[1]{\MidGeometryModifier{\Vec{g}}^{#1}} \newcommand{\CurLamina}[1]{\Vec{\LaminaSymbol}_{#1}} \newcommand{\CurLaminaDual}[1]{\Vec{\LaminaSymbol}^{#1}} \newcommand{\CurModLamina}[1]{\hat{\Vec{\LaminaSymbol}}_{#1}} \newcommand{\CurModLaminaDual}[1]{\hat{\Vec{\LaminaSymbol}}^{#1}} \newcommand{\CurShellProjectedBasis}[1]{\Vec{p}_{#1}} \newcommand{\DeformMap}{\varphi} \newcommand{\DeformMapMid}{\varphi^m} \newcommand{\Disp}{\Vec{u}} \newcommand{\DispMid}{\MidGeometryModifier{\Vec{u}}} \newcommand{\RotVec}{\boldsymbol{\omega}} \newcommand{\RotMat}{\boldsymbol{\Lambda}} \newcommand{\RotMatMembrane}{\Mat{\Psi}} \newcommand{\RotMatDelta}{\boldsymbol{\Lambda}_\Delta} \newcommand{\IncRotMat}{\Delta\RotMat} \newcommand{\EulerVec}{\boldsymbol{\vartheta}} \newcommand{\EulerVecNorm}{\theta} \newcommand{\EulerVecSinc}{\boldsymbol{\Theta}} \newcommand{\EulerRotVec}{\boldsymbol{\theta}} \newcommand{\EulerRotAngle}{\theta} \newcommand{\IncEulerRotVec}{\Delta\boldsymbol{\theta}} \newcommand{\AngularVelocity}{\boldsymbol{\eta}} \newcommand{\IncEulerRotVecVel}{\Delta\dot{\boldsymbol{\theta}}} \newcommand{\AngularAcceleration}{\boldsymbol{\alpha}} \newcommand{\IncEulerRotVecAcc}{\Delta\ddot{\boldsymbol{\theta}}} \newcommand{\DeformGrad}{\Mat{F}} \newcommand{\Strain}[1]{\boldsymbol{\tau}_{#1}} \newcommand{\StrainMid}[1]{\boldsymbol{\varepsilon}_{#1}} \newcommand{\StrainCurve}[1]{\boldsymbol{\kappa}_{#1}} \newcommand{\DecompDeform}{\Mat{U}} \newcommand{\ExtraDeformTen}{\Delta\DeformGradTen} \newcommand{\ExtraDeformComp}{\Delta\DeformGradComp} \newcommand{\GreenLagrange}{\Mat{E}} \newcommand{\ShellStrainCurve}[1]{\boldsymbol{\chi}_{#1}} \newcommand{\SecPK}{\Mat{S}} \newcommand{\FirstPK}{\Mat{P}} \newcommand{\Cauchy}{\boldsymbol{\sigma}} \newcommand{\IntTrac}[1]{\Vec{t}_{#1}} \newcommand{\RefModuli}{\Mat{C}} \newcommand{\CurModuli}{\Mat{c}} \newcommand{\PointModuli}{\Mat{m}} \newcommand{\ResModuli}{\Mat{M}} \newcommand{\RefAreaVec}[1]{\Vec{A}_{#1}} \newcommand{\RefAreaMidVec}[1]{\MidGeometryModifier{\Vec{A}}_{#1}} \newcommand{\RefMeas}{G} \newcommand{\UnitNormalRefVec}[1]{\Vec{N}_{#1}} \newcommand{\CurAreaVec}[1]{\Vec{a}_{#1}} \newcommand{\CurAreaMidVec}[1]{\MidGeometryModifier{\Vec{a}}_{#1}} \newcommand{\CurMeas}{g} \newcommand{\UnitNormalCurrVec}[1]{\Vec{n}_{#1}} \newcommand{\CurLaminaMetricTen}{\Mat{\LaminaMetricSymbol}} \newcommand{\CurLaminaMetricComp}{\LaminaMetricSymbol} \newcommand{\CurToModLaminaTransComp}{M} \newcommand{\IntForce}{\Vec{f}^{\, int}} \newcommand{\IntMoment}{\Vec{m}^{int}} \newcommand{\ExtForceBody}{\Vec{f}^{\, ext}_b} \newcommand{\ExtMomentBody}{\Vec{m}^{ext}_b} \newcommand{\ShellExtMomentBody}{\Vec{\ShellMomentSymbol}^{ext}_b} \newcommand{\ExtForceTrac}{\Vec{f}^{\, ext}_h} \newcommand{\ExtMomentTrac}{\Vec{m}^{ext}_h} \newcommand{\ShellExtMomentTrac}{\Vec{\ShellMomentSymbol}^{ext}_h} \newcommand{\MassForce}{\Vec{f}^{\,\rho}} \newcommand{\MassMoment}{\Vec{m}^{\rho}} \newcommand{\ShellMassMoment}{\Vec{\ShellMomentSymbol}^{\rho}} \newcommand{\ResidualInternal}{\Vec{R}^{int}} \newcommand{\ResidualExternal}{\Vec{R}^{ext}} \newcommand{\ResidualMass}{\Mat{R}^{\rho}} \newcommand{\NodalMass}[1]{\Mat{M}_{#1}} \newcommand{\NodalLinearInertia}[1]{A_{#1}} \newcommand{\NodalAngularInertia}[1]{I_{#1}} \newcommand{\ShellDeltaAngle}{\phi} \newcommand{\BStrainMatrix}[2]{\Mat{B}_{#1#2}} \newcommand{\ShellDrillingStiffness}{k} \newcommand{\DrillConstraint}{C} \newcommand{\IntForceDrilling}{\Vec{f}^{d}} \newcommand{\ModuliDrilling}{\Mat{M}^d} \newcommand{\ResidualDrilling}{\Vec{R}^d} \newcommand{\SymbolTop}{top} \newcommand{\SymbolCentroid}{c} \newcommand{\SymbolLeverArm}{r} \newcommand{\SpatialCoordVecCentroid}{\SpatialCoordVec^{\SymbolCentroid}} \newcommand{\SpatialCoordCentroidX}{\SpatialCoordX^{\SymbolCentroid}} \newcommand{\SpatialCoordCentroidY}{\SpatialCoordY^{\SymbolCentroid}} \newcommand{\SpatialCoordCentroidZ}{\SpatialCoordZ^{\SymbolCentroid}} \newcommand{\LeverArm}{\Vec{\SymbolLeverArm}} \newcommand{\LeverArmX}{\SymbolLeverArm_{\SpatialCoordX}} \newcommand{\LeverArmY}{\SymbolLeverArm_{\SpatialCoordY}} \newcommand{\LeverArmZ}{\SymbolLeverArm_{\SpatialCoordZ}} \newcommand{\MomentFirstMass}{Q} \newcommand{\MomentSecondMass}{I} \newcommand{\MomentSecondMassDetailed}[1]{I_{#1}} \newcommand{\DistributedLoad}{q} \newcommand{\TracForceCurrCompX}{\TracForceCurrComp_{\SpatialCoordX}} \newcommand{\TracForceCurrCompY}{\TracForceCurrComp_{\SpatialCoordY}} \newcommand{\TracForceCurrCompZ}{\TracForceCurrComp_{\SpatialCoordZ}} \newcommand{\TracMomentCurrCompDetailed}[1]{\TracMomentCurrComp_{#1}} \newcommand{\TracForceCurrCompSupportReaction}{r^{\TracForceCurrComp}} \newcommand{\TracForceCurrCompSupportReactionDetailed}[1]{\TracForceCurrCompSupportReaction_{#1}} \newcommand{\TracForceCurrCompDistributedLoad}{\DistributedLoad^{\TracForceCurrComp}} \newcommand{\TracForceCurrCompPointLoad}{p^{\TracForceCurrComp}} \newcommand{\TracMomentCurrVec}{\Vec{\TracMomentCurrComp}} \newcommand{\TracMomentCurrComp}{m} \newcommand{\BodyForceCurrCompX}{\BodyForceCurrComp_{\SpatialCoordX}} \newcommand{\BodyForceCurrCompY}{\BodyForceCurrComp_{\SpatialCoordY}} \newcommand{\BodyForceCurrCompZ}{\BodyForceCurrComp_{\SpatialCoordZ}} \newcommand{\BodyForceCurrCompDistributedLoad}{\DistributedLoad^{\BodyForceCurrComp}} \newcommand{\BodyForceCurrCompAxialLoad}{f^{\BodyForceCurrComp}} \newcommand{\StressCauchyTractionVec}{\Vec{t}} \newcommand{\StressCauchyTractionX}{t_{\SpatialCoordX}} \newcommand{\StressCauchyTractionY}{t_{\SpatialCoordY}} \newcommand{\StressCauchyTractionZ}{t_{\SpatialCoordZ}} \newcommand{\StressCauchyNormal}{\sigma} \newcommand{\StressCauchyNormalDetailed}[1]{\StressCauchyNormal_{#1}} \newcommand{\StressCauchyNormalXX}{\StressCauchyComp_{\SpatialCoordX\SpatialCoordX}} \newcommand{\StressCauchyNormalYY}{\StressCauchyComp_{\SpatialCoordY\SpatialCoordY}} \newcommand{\StressCauchyNormalZZ}{\StressCauchyComp_{\SpatialCoordZ\SpatialCoordZ}} \newcommand{\StressCauchyShear}{\tau} \newcommand{\StressCauchyShearDetailed}[1]{\StressCauchyShear_{#1}} \newcommand{\StressCauchyShearXY}{\StressCauchyShear_{\SpatialCoordX\SpatialCoordY}} \newcommand{\StressCauchyShearYX}{\StressCauchyShear_{\SpatialCoordY\SpatialCoordX}} \newcommand{\StressCauchyShearXZ}{\StressCauchyShear_{\SpatialCoordX\SpatialCoordZ}} \newcommand{\StressCauchyShearZX}{\StressCauchyShear_{\SpatialCoordZ\SpatialCoordX}} \newcommand{\StressCauchyShearYZ}{\StressCauchyShear_{\SpatialCoordY\SpatialCoordZ}} \newcommand{\StressCauchyShearZY}{\StressCauchyShear_{\SpatialCoordZ\SpatialCoordY}} \newcommand{\StressCauchyResultantForce}{F} \newcommand{\StressCauchyResultantForceDetailed}[1]{F_{#1}} \newcommand{\StressCauchyResultantForceVec}{\Vec{\StressCauchyResultantForce}} \newcommand{\StressCauchyResultantMoment}{M} \newcommand{\StressCauchyResultantMomentDetailed}[1]{M_{#1}} \newcommand{\StressCauchyResultantMomentVec}{\Vec{\StressCauchyResultantMoment}} \newcommand{\StressCauchyResultantForceShear}{V} \newcommand{\StressCauchyResultantForceShearDetailed}[1]{V_{#1}} \newcommand{\StressCauchyResultantForceAxial}{\StressCauchyResultantForce} \newcommand{\DispFieldCurrCompX}{\DispFieldCurrComp_{\SpatialCoordX}} \newcommand{\DispFieldCurrCompY}{\DispFieldCurrComp_{\SpatialCoordY}} \newcommand{\DispFieldCurrCompZ}{\DispFieldCurrComp_{\SpatialCoordZ}} \newcommand{\DispFieldMidCurrCompX}{\overline{\DispFieldCurrComp}_{\SpatialCoordX}} \newcommand{\DispFieldMidCurrCompY}{\overline{\DispFieldCurrComp}_{\SpatialCoordY}} \newcommand{\StrainSymGradCompXX}{\StrainSymGradComp_{\SpatialCoordX\SpatialCoordX}} \newcommand{\StrainSymGradCompYY}{\StrainSymGradComp_{\SpatialCoordY\SpatialCoordY}} \newcommand{\StrainSymGradCompZZ}{\StrainSymGradComp_{\SpatialCoordZ\SpatialCoordZ}} \newcommand{\StrainShearComp}{\gamma} \newcommand{\StrainShearCompXY}{\StrainShearComp_{\SpatialCoordX\SpatialCoordY}} \newcommand{\StrainShearCompXZ}{\StrainShearComp_{\SpatialCoordX\SpatialCoordZ}} \newcommand{\StrainShearCompYZ}{\StrainShearComp_{\SpatialCoordY\SpatialCoordZ}} \newcommand{\EquationBeamShearStress}{\frac{\StressCauchyResultantForceShear \MomentFirstMass}{\MomentSecondMassDetailed{\SpatialCoordZ}\Width}} \newcommand{\EquationVecInCoords}{\Vec{v} = v_{\SpatialCoordX} \BasisVecI + v_{\SpatialCoordY} \BasisVecJ + v_{\SpatialCoordZ} \BasisVecK} \newcommand{\EquationMatVecMultiply}{\Mat{M}\Vec{v} = \begin{bmatrix} \DotProduct{\Vec{m}_1}{\Vec{v}} \\ \DotProduct{\Vec{m}_2}{\Vec{v}} \\ \DotProduct{\Vec{m}_3}{\Vec{v}} \end{bmatrix}} \newcommand{\EquationMatMatMultiply}{\Mat{M}\Mat{N} = \begin{bmatrix} \DotProduct{\Vec{m}_1}{\Mat{n}_1} & \DotProduct{\Vec{m}_1}{\Mat{n}_2} & \DotProduct{\Vec{m}_1}{\Mat{n}_3} \\ \DotProduct{\Vec{m}_2}{\Mat{n}_1} & \DotProduct{\Vec{m}_2}{\Mat{n}_2} & \DotProduct{\Vec{m}_2}{\Mat{n}_3} \\ \DotProduct{\Vec{m}_3}{\Mat{n}_1} & \DotProduct{\Vec{m}_3}{\Mat{n}_2} & \DotProduct{\Vec{m}_3}{\Mat{n}_3} \end{bmatrix}} \newcommand{\Force}{F} \newcommand{\ShearFlow}{f}$$\newcommand{\BaseSymbol}{b} \newcommand{\EmbeddedSymbol}{e} \newcommand{\RefinedSymbol}{r} \newcommand{\HierarchicalSymbol}{\textsf{H}} \newcommand{\BlockSymbol}{\textsf{B}} \newcommand{\BaseModifier}[1]{{#1}_{\BaseSymbol}} \newcommand{\EmbeddedModifier}[1]{{#1}_{\EmbeddedSymbol}} \newcommand{\RefinedModifier}[1]{{#1}_{\RefinedSymbol}} \newcommand{\HierarchicalModifier}[1]{{#1}_{\HierarchicalSymbol}} \newcommand{\BlockModifier}[1]{{#1}_{\BlockSymbol}} \newcommand{\RefinementLevelI}{i} \newcommand{\RefinementLevelJ}{j} \newcommand{\RefinementLevelK}{k} \newcommand{\HighestRefinementLevel}{N} \newcommand{\BaseParentDomain}{\BaseModifier{\ParentDomain}} \newcommand{\RefinedDomain}[1]{\ParamDomain_{#1}} \newcommand{\BaseMesh}{\BaseModifier{\MeshTopo}} \newcommand{\BaseBezierMesh}{\BaseModifier{\MeshBezier}} \newcommand{\EmbeddedMesh}{\EmbeddedModifier{\MeshTopo}} \newcommand{\RefinedMesh}{\RefinedModifier{\MeshTopo}} \newcommand{\RefinedBezierMesh}{\RefinedModifier{\MeshBezier}} \newcommand{\HierarchicalBezierMesh}{\HierarchicalModifier{\MeshBezier}} \newcommand{\HierarchicalUsplineMesh}{\HierarchicalModifier{\MeshUspline}} \newcommand{\RefinementLevelMesh}[1]{\MeshBezier_{#1}} \newcommand{\LeafElemSet}[1]{\Set{L}_{#1}} \newcommand{\ActiveElemSet}[1]{\Set{A}_{#1}} \newcommand{\ActiveBasisFuncs}[1]{\Set{UFA}_{#1}} \newcommand{\UnderRefinedBasisFuncs}[1]{\Set{UFU}_{#1}} \newcommand{\HierarchicalBasisFuncs}{\Set{UFH}} \newcommand{\TruncatedBasisFuncs}{\Set{UFT}} \newcommand{\FuncsTruncatedToLevel}[1]{\Set{TK}_{#1}} \newcommand{\FuncsTouchingActiveFuncs}[1]{\Set{T}_{#1}} \newcommand{\FuncsSubsetOfCoarserFuncs}[1]{\Set{S}_{#1}} \newcommand{\RefinementLevelBasis}[1]{\UsplineBasisFuncSetFunctionOf{\RefinementLevelMesh{#1}}} \newcommand{\RefinementLevelSpace}[1]{\QuantityRelatedTo{\UsplineSpace}{\RefinementLevelMesh{#1}}} \newcommand{\BaseAssociated}{\operatorname{\textsf{base}}} \newcommand{\BaseAssociatedFunctionOf}[1]{\QFO{\BaseAssociated}{#1}} \newcommand{\TruncationOp}[2]{\QFO{\operatorname{\textsf{trunc}}_{#1}}{#2}} \newcommand{\EmbeddedToBaseChart}{\EmbeddedModifier{\ParentDomainChart}} \newcommand{\InvEmbeddedToBaseChart}{(\EmbeddedToBaseChart)^{-1}} \newcommand{\RefinementCoefficients}{c^A_B} \newcommand{\RefinementMat}{\Mat{D}} \newcommand{\NthLevelProlongationMat}[1]{\QSB{\ProlongationMat}{#1}} \newcommand{\NthLevelActiveMat}[1]{\QSB{\Mat{A}}{#1}} \newcommand{\NthLevelRefinementMat}[1]{\QSB{\RefinementMat}{#1}} \newcommand{\NthLevelTruncationMat}[1]{\QSB{\Mat{T}}{#1}} \newcommand{\NthLevelBasisMat}[1]{\QSB{\Mat{S}}{#1}} \newcommand{\NthLevelMassMat}[1]{\QSB{\MassMat}{#1}} \newcommand{\FuncIndex}{\operatorname*{\mathsf{ID}}} \newcommand{\MultiLevelRefinementMat}[2]{\QSB{\RefinementMat}{#1 #2}} \newcommand{\BlockRefinementMat}{\BlockModifier{\RefinementMat}} \newcommand{\BlockMassMat}{\BlockModifier{\MassMat}}$

Automatic decomposition has been researched and tools have been developed which have met with some limited success [Lu,99 , Staten,05]. Automatic decomposition requires complex feature detection and sub-division algorithms. The decomposition problem is at least on the same order of difficulty as the auto-hex meshing problem. Fully automatic methods for quality hexahedral meshing have been under research and development for many years [Blacker,93 , Folwell,98 , Price,95]. However, a method that can reliably generate hexahedral meshes for arbitrary volumes, without user intervention and that will build meshes of an equivalent quality to mapping and sweeping techniques, has yet to be realized. Although fully automatic techniques continue to progress [Staten,06], the objective of the proposed environment is to reduce the amount of user intervention required while utilizing the tried and true mapping and sweeping techniques as its underlying meshing engine.

Instead of trying to solve the all-hex meshing problem automatically, the ITEM approach to this problem is to maintain user interaction. The ITEM algorithms determine possible decompositions and suggest these to the user. The user can then make the decision as to whether a particular cut is actually useful. This process helps guide new users by demonstrating the types of decompositions that may be useful. It also aids experienced users by reducing the amount of time required to set up decomposition commands.

Diagnostics: The current diagnostic for determining whether a volume is mappable or sweepable is based upon the autoscheme tool described in [White,00]. Given a volume, the autoscheme tool will determine if the topology will admit a mapping, sub-mapping or sweeping meshing scheme. For volumes where a scheme cannot be adequately determined, a set of decomposition solutions are generated and presented to the user.

Solutions: The current algorithm for determining possible cut locations is based on the algorithm outlined in [Lu,99] and is described here for clarity:

• Find all curves that form a dihedral angle less than an input value (currently 135)

• Build a graph of these curves to determine connectivity

• Find all curves that form closed loops

• For each closed loop:

• Find the surfaces that bound the closed loop

• Save the surface

• Remove the curves in the closed loop from the processing list

• For each remaining curve:

• Find the open loops that terminates at a boundary

• For each open loop:

• Find the surfaces that bound the open loop

• Save the surfaces

• For each saved surface:

• Create an extension of the surface

• Present the extended surface to the user as a possible decomposition location.

This relatively simple algorithm detects many cases that are useful in decomposing a volume. Future work will include determining symmetry, sweep, and cylindrical core decompositions. These additional decomposition options should increase the likelihood of properly decomposing a volume for hexahedral meshing.

Figure 521 shows an example scenario for using this tool. The simple model at the top is analyzed using the above algorithm. This results in several different solutions being offered to the user, three of which are illustrated here. As each of the options is selected, the extended cutting surface is displayed providing rapid feedback to the user as to the utility of the given option. Note that all solutions may not result in a volume that is closer to being successfully hex-meshed. Instead the system relies on some user understanding of the topology required for sweeping. Each time a decomposition solution is selected and performed, additional volumes may be added, which will in turn be analyzed by the autoscheme diagnostic tool. This interactive process continues until the volume is successfully decomposed into a set of volumes which are recognized as either mappable or sweepable.

Figure 521: ITEM decomposition tool shows 3 of the several solutions generated that can be selected to decompose the model for hex meshing

##### 9.6.3.3Recognizing Nearly Sweepable Regions

$\newcommand{\QuantityFunctionOf}[2]{{#1}(#2)} \newcommand{\QFO}[2]{\QuantityFunctionOf{#1}{#2}} \newcommand{\QuantityFunctionOfNoArg}[1]{{#1}} \newcommand{\QFONA}[1]{\QuantityFunctionOfNoArg{#1}} \newcommand{\SubscriptedQuantityFunctionOf}[3]{{#1}_{#2}(#3)} \newcommand{\SQFO}[3]{\SubscriptedQuantityFunctionOf{#1}{#2}{#3}} \newcommand{\QuantityChildOf}[2]{{#2}^{#1}} \newcommand{\QCO}[2]{\QuantityChildOf{#1}{#2}} \newcommand{\QuantityRelatedTo}[2]{{#1}[#2]} \newcommand{\QRT}[2]{\QuantityRelatedTo{#1}{#2}} \newcommand{\QuantitySubscriptedBy}[2]{{#1}_{#2}} \newcommand{\QSB}[2]{\QuantitySubscriptedBy{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOfChildOf}[4]{{#1}_{#2}^{#3}(#4)} \newcommand{\SQFOCO}[4]{\SubscriptedQuantityFunctionOfChildOf{#1}{#2}{#3}{#4}} \newcommand{\SubscriptedQuantityChildOf}[3]{{#1}_{#2}^{#3}} \newcommand{\SQCO}[3]{\SubscriptedQuantityChildOf{#1}{#2}{#3}} \newcommand{\overbar}[1]{\mkern 1.5mu\overline{\mkern-1.5mu#1\mkern-1.5mu}\mkern 1.5mu} \newcommand{\bcdot}{\boldsymbol{\cdot}} \newcommand{\SuchThat}{\, : \,} \newcommand{\SuchThatText}{\text{s.t.}} \newcommand{\DefEq}{\overset{\operatorname{def}}{=}} \newcommand{\True}{\textsf{True}} \newcommand{\False}{\textsf{False}} \newcommand{\ArrayRoster}[1]{\left[#1\right]} \newcommand{\ArrayRosterI}[2]{[#1]_{#2}} \newcommand{\ArrayEmpty}{\ArrayRoster{\hspace{1mm}}} \newcommand{\Tuple}[1]{\mathsf{#1}} \newcommand{\TupleRoster}[1]{\left(#1\right)} \newcommand{\PointPair}[2]{\TupleRoster{#1, #2}} \newcommand{\Set}[1]{\mathsf{#1}} \newcommand{\SetRoster}[1]{\left\{ #1 \right\}} \newcommand{\SetRosterIndexed}[3]{\SetRoster{#1}_{#2}^{#3}} \newcommand{\SetRosterPredicate}[2]{\SetRoster{#1 \SuchThat #2}} \newcommand{\SetEmpty}{\varnothing} \newcommand{\SetPower}[1]{\QuantityFunctionOf{\boldsymbol{\Set{P}}}{#1}} \newcommand{\SetNeighborhood}[1]{\QuantityFunctionOf{\boldsymbol{\Set{B}}}{#1}} \newcommand{\Domain}{\Omega} \newcommand{\DomainBdry}{\Gamma} \newcommand{\IntervalClosed}[2]{\left[#1, #2\right]} \newcommand{\IntervalOpen}[2]{\left(#1, #2\right)} \newcommand{\IntervalClosedOpen}[2]{\left[#1, #2\right)} \newcommand{\IntervalOpenClosed}[2]{\left(#1, #2\right]} \newcommand{\Reals}{\mathbb{R}} \newcommand{\Naturals}{\mathbb{N}} \newcommand{\Integers}{\mathbb{Z}} \newcommand{\Field}{\mathbb{F}} \newcommand{\Size}[1]{\left\lvert #1 \right\rvert} \newcommand{\Union}[3]{\bigcup\limits_{#1}^{#2} #3} \newcommand{\UnionInline}[3]{\bigcup_{#1}^{#2} #3} \newcommand{\Intersect}[3]{\bigcap\limits_{#1}^{#2} #3} \newcommand{\ElementWiseGreaterOrEqual}{\succeq} \newcommand{\ElemntWiseGreater}{\succ} \newcommand{\ElementWiseLessOrEqual}{\preceq} \newcommand{\ElementWiseLess}{\prec} \newcommand{\SpaceLinear}[1]{\mathnormal{#1}} \newcommand{\SpaceDual}[1]{\SpaceLinear{#1}^*} \newcommand{\AbsoluteValue}[1]{\Size{#1}} \newcommand{\Norm}[2]{\left\lVert #2 \right\rVert_{#1}} \newcommand{\NormAbstract}[1]{\Norm{}{#1}} \newcommand{\NormSemi}[1]{\Size{#1}} \newcommand{\SpaceLinearNormed}[1]{\left(\SpaceLinear{#1}, \NormAbstract{\bcdot} \right)} \newcommand{\SpaceBanach}[1]{\mathfrak{#1}} % normed and complete \newcommand{\SymmetricBilinear}[2]{\left(#1, #2\right)} \newcommand{\InnerProduct}[2]{\left\langle#1, #2\right\rangle} \newcommand{\DotProduct}[2]{\left(#1 \bcdot #2\right)} \newcommand{\SpaceInnerProduct}[1]{\left(\SpaceLinear{#1}, \InnerProduct{\bcdot}{\bcdot}\right)} \newcommand{\SpaceHilbert}[1]{\mathcal{#1}} \newcommand{\SpaceLTwo}{\SpaceHilbert{L}_2} \newcommand{\SpaceLTwoDef}[2]{\SpaceLTwo\left(#1; #2\right)} \newcommand{\SpaceLInfty}{\SpaceHilbert{L}_\infty} \newcommand{\SpaceLTwoWeighted}{\SpaceLTwo^w} \newcommand{\SpaceSobolevK}[1]{\SpaceHilbert{H}^{#1}} \newcommand{\SpaceSobolevKDef}[3]{\SpaceSobolevK{#1}\left(#2 ; #3\right)} \newcommand{\Cont}{\operatorname{cont}} \newcommand{\SpaceCont}{\SpaceHilbert{C}} \newcommand{\SpaceContDef}[2]{\SpaceCont\left(#1 ; #2\right)} \newcommand{\SpaceContK}[1]{\SpaceCont^{#1}} \newcommand{\SpaceContKDef}[3]{\SpaceContK{#1}\left(#2; #3\right)} \newcommand{\SpaceContZero}{\SpaceContK{0}} \newcommand{\SpaceContInf}{\SpaceContK{\infty}} \newcommand{\SpaceContInfDef}[2]{\SpaceContKDef{\infty}{#1}{#2}} \newcommand{\SpaceContKBounded}[2]{\SpaceContK{#1}_{#2}} \newcommand{\SpaceContKBoundedDef}[3]{\SpaceCont_{b}^{#1}\left(#2 ; #3\right)} \newcommand{\SpaceLinearOperator}[1]{\mathscr{#1}} \newcommand{\SpaceLinearOperatorDef}[2]{\SpaceLinearOperator{L}\left(#1 ; #2\right)} \newcommand{\SpaceLinearOperatorBoundedDef}[2]{\SpaceLinearOperator{B}\left(#1 ; #2\right)} \newcommand{\SpaceLinearN}[1]{\SpaceLinear{#1}^h} \newcommand{\SpaceHilbertN}[1]{\SpaceHilbert{#1}^h} \newcommand{\SpaceVecRealN}[1]{\Reals^{#1}} \newcommand{\SpacePoly}[1]{\SpaceHilbert{P}^{#1}} \newcommand{\SpaceMatrixRealMN}[2]{\Reals^{#1\times#2}} \newcommand{\SpacePolyDef}[3]{\SpacePoly{#1}\left(#2 ; #3\right)} \newcommand{\Func}[1][f]{#1} \newcommand{\FuncAlt}[1][g]{#1} \newcommand{\FuncDef}[3]{#1 \SuchThat #2 \rightarrow #3} \newcommand{\FuncApprox}[1]{#1^h} \newcommand{\LinearOperator}[1]{\SpaceLinearOperator{#1}} \newcommand{\LinearOperatorDef}[3]{\FuncDef{\LinearOperator{#1}}{#2}{#3}} \newcommand{\Functional}[1]{\LinearOperator{#1}} \newcommand{\Projection}{\Pi} \newcommand{\VectorProjection}[2]{\Projection_{#1} {\left(#2\right)}} \newcommand{\Mat}[1]{\boldsymbol{#1}} \newcommand{\MatIJ}[3]{\left[#1\right]_{#2#3}} \newcommand{\MatIdRow}{m} \newcommand{\MatIdCol}{n} \newcommand{\NonZeroIndices}{\operatorname{\mathsf{nzi}}} \newcommand{\ColumnSelector}{\operatorname{\mathrm{col}}} \newcommand{\RowSelector}{\operatorname{\mathrm{row}}} \newcommand{\ColOf}[1]{\ColumnSelector_{#1}} \newcommand{\RowOf}[1]{\RowSelector_{#1}} \newcommand{\DiagonalMatrix}[1]{\QFO{\operatorname*{diag}}{#1}} \newcommand{\Rotation}{\Mat{R}} \newcommand{\Identity}{\Mat{I}} \newcommand{\KroneckerDeltaComp}{\delta} \newcommand{\KroneckerDelta}{\Mat{\delta}} \newcommand{\LeviCivita}{\Mat{\epsilon}} \newcommand{\Jacobian}{\Mat{J}} \renewcommand{\Vec}[1]{\boldsymbol{#1}} \newcommand{\VecChildOf}[2]{\QCO{#2}{#1}} \newcommand{\VecI}[2]{\{#1\}_{#2}} \newcommand{\ZeroVec}{\Vec{0}} \newcommand{\OneVec}{\Vec{1}} \newcommand{\ZeroMat}{\Mat{0}} \newcommand{\UnitNormalComp}{n} \newcommand{\UnitNormal}{\Vec{\UnitNormalComp}} \newcommand{\MacBracket}[1]{\langle#1\rangle} \newcommand{\IdentityTenSym}{\mathbb{I}} \newcommand{\BraKet}[1]{\langle#1\rangle} \newcommand{\FuncObjective}[1]{\QFO{\Func}{#1}} \newcommand{\FuncEqualityConstraints}[1]{\QFO{\Func[\Vec{g}]}{#1}} \newcommand{\VarDesign}{\Vec{\phi}} \newcommand{\VarState}[1]{\QFO{\Vec{u}}{#1}} \newcommand{\FuncLagrangian}[1]{\QFO{\mathscr{L}}{#1}} \newcommand{\FuncAugmentedLagrangian}[1]{\QFO{\mathscr{L}_A}{#1}} \newcommand{\VecLambdaLM}[1]{\QFO{\Vec{\lambda}}{#1}} \newcommand{\LambdaLM}[1]{\QFO{\lambda}{#1}} \newcommand{\SolutionLocalOpt}[1]{\left(#1\right)^*} \newcommand{\ProximalPoint}{\overbar{\VecLambdaLM{}}} \newcommand{\PenaltyParameter}{\rho} \newcommand{\Slacify}[1]{\QSB{#1}{s}} \newcommand{\Prod}[2]{\prod\limits_{#1}^{#2}} \newcommand{\ProdInline}[2]{\prod_{#1}^{#2}} \newcommand{\TensorProduct}{\otimes} \newcommand{\Sum}[2]{\sum\limits_{#1}^{#2}} \newcommand{\SumInline}[2]{\sum_{#1}^{#2}} \newcommand{\Rank}[1]{\operatorname{rank}(#1)} \newcommand{\Nullity}[1]{\operatorname{null}(#1)} \newcommand{\Image}{\operatorname{image}} \newcommand{\Range}{\operatorname{range}} \newcommand{\Inverse}[1]{\left(#1\right)^{-1}} \newcommand{\inverse}[1]{\overline{#1}} \newcommand{\Transpose}[1]{\left(#1\right)^{T}} \newcommand{\TransposeSimple}[1]{#1^{T}} \newcommand{\InvTrans}[1]{\left(#1\right)^{-T}} \newcommand{\Complement}[1]{\overbar{#1}} \newcommand{\Adjoint}[1]{\left(#1\right)^*} \newcommand{\OrthogonalComplement}[1]{\left(#1\right)^\perp} \newcommand{\Det}[1]{\QFO{\operatorname{det}}{#1}} \newcommand{\DCT}{\operatorname{DCT}} \newcommand{\IDCT}{\operatorname{IDCT}} \newcommand{\RealPart}[1]{\QFO{\mathfrak{R}}{#1}} \newcommand{\Trace}[1]{\QFO{\operatorname{tr}}{#1}} \newcommand{\Dev}[1]{\QFO{\operatorname{dev}}{#1}} \newcommand{\DevDef}[1]{\Dev{#1} \DefEq #1 - \frac{1}{3}\Trace{#1}\Identity} \newcommand{\dual}[1]{{\bar{#1}}} \newcommand{\symind}[1]{\textsc{#1}} \newcommand{\symmetrizer}{{S}} \newcommand{\BasisFuncCoeff}[2]{\QSB{#1}{#2}} \newcommand{\BasisVec}[2]{\QSB{#1}{#2}} \newcommand{\BasisVecChildOf}[3]{\SQFOCO{#1}{#2}{#3}{a}} \newcommand{\OrthogonalBasisVec}[2]{\SQFOCO{#1}{#2}{\perp}{a}} \newcommand{\OrthonormalBasisVec}[2]{\SQFOCO{\overbar{#1}}{#2}{\perp}{a}} \newcommand{\PolynomialDegree}{p} \newcommand{\BasisFuncId}{i} \newcommand{\BasisFuncIdAlt}{j} \newcommand{\BasisFuncIdAltAlt}{k} \newcommand{\BasisFunc}[3]{\SQFO{#1}{#2}{#3}} \newcommand{\PowerBasisFunc}[2]{\QCO{#2}{#1}} \newcommand{\LagrangeBasisFunc}[3]{\SQFOCO{\Func[L]}{#1}{#2}{#3}} \newcommand{\LagrangeBasisFuncNoArg}[2]{\SQCO{\Func[L]}{#1}{#2}} \newcommand{\LegendreBasisFunc}[3]{\SQFOCO{\Func[P]}{#1}{#2}{#3}} \newcommand{\LegendreBasisFuncNoArg}[2]{\SQCO{\Func[P]}{#1}{#2}} \newcommand{\PreNormalizedLegendreBasisFunc}[3]{\hat{\LegendreBasisFunc{#1}{#2}{#3}}} \newcommand{\ChebyshevBasisFunc}[2]{\SQFO{\Func[T]}{#1}{#2}} \newcommand{\ChebyshevBasisFuncNoArg}[1]{\SQCO{\Func[T]}{#1}{}} \newcommand{\BasisVecI}{\Vec{i}} \newcommand{\BasisVecJ}{\Vec{j}} \newcommand{\BasisVecK}{\Vec{k}} \newcommand{\Span}{\operatorname{span}} \newcommand{\Dim}[1]{\operatorname{dim}\left({#1}\right)} \newcommand{\Support}[1]{\operatorname{supp}(#1)} \newcommand{\SupportPos}[1]{\operatorname{supp}_{+}(#1)} \newcommand{\SumBasis}[4]{\Sum{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\SumInlineBasis}[4]{\SumInline{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\BasisTransMatrix}[2]{\Mat{R}_{{#1}\rightarrow{#2}}} \newcommand{\ChebyshevZeros}[1]{\QSB{z}{#1}} \newcommand{\ChebyshevExtremizers}[1]{\QSB{t}{#1}} \newcommand{\BernToChebMat}{\Mat{T}} \newcommand{\Chebfun}[3]{\biggl(\, \sum_{#2=0}^{#1}{#3}_{#2}\ChebyshevBasisFuncNoArg{#2}\biggr)} \newcommand{\ChebfunVector}[1]{\left[#1\right]_c} \newcommand{\PowerBasisMat}[1]{\QCO{#1}{\Mat{M}}} \newcommand{\LagrangeBasisMat}[1]{\QCO{#1}{\Mat{L}}} \newcommand{\LegendreBasisMat}[1]{\QCO{#1}{\Mat{P}}} \newcommand{\BernsteinBasisMat}[1]{\QCO{#1}{\Mat{B}}} \newcommand{\ChebyshevBasisMat}[1]{\QCO{#1}{\Mat{T}}} \newcommand{\EvaluateTwoLimits}[3]{#1\biggr\rvert_{#2}^{#3}} \newcommand{\EvaluateOneLimit}[2]{\left.#1\right\rvert_{#2}} \newcommand{\Limit}[2]{\lim\limits_{#1\rightarrow #2}} \newcommand{\LimitInline}[2]{\lim_{#1\rightarrow #2}} \newcommand{\DNE}{\operatorname{DNE}} \newcommand{\TotalDeriv}{D} \newcommand{\LagrangeDeriv}[1]{{#1}'} \newcommand{\KthLagrangeDeriv}[2]{{#1}^{(#2)}} \newcommand{\LeibnizSubDeriv}[2]{{#1}_{,#2}} \newcommand{\LeibnizFracDeriv}[2]{\frac{d}{d#2} #1} \newcommand{\KthLeibnizFracDeriv}[3]{\frac{d^{#2}}{d#3^{#2}}\Func[#1](#3)} \newcommand{\KthLeibnizFracSpecificFunction}[3]{\frac{d^{#2}}{d#3^{#2}}\Func[#1]} \newcommand{\Differential}[1][x]{\, \operatorname{d}{#1}} \newcommand{\FrechetDeriv}[2]{D{#1}\left(#2\right)} \newcommand{\GateauxDirectionBold}[1]{\Vec{\delta}#1} \newcommand{\GateauxDirection}[1]{\delta #1} \newcommand{\GateauxDerivBold}[2]{D#1(#2; \GateauxDirectionBold{#2})} \newcommand{\GateauxDeriv}[2]{D#1(#2; \GateauxDirection{#2})} \newcommand{\GateauxDerivWithDirection}[3]{D#1\left(#2 \ ;\ #3\right)} \newcommand{\GateauxDerivPartial}[2]{\frac{\partial #1}{\partial #2}} \newcommand{\KthGateauxDerivPartial}[3]{\frac{\partial^{#3} #1}{\partial #2^{#3}}} \newcommand{\Grad}[2]{\boldsymbol{\nabla}^{#1} #2} \newcommand{\Jac}{\Mat{J}} \newcommand{\Div}[2]{\boldsymbol{\nabla}^{#1} \bcdot #2} \newcommand{\Laplace}[2]{\boldsymbol{\Delta}^{#1} #2} \newcommand{\TaylorSeries}[2]{\mathcal{T}\left[\Func[#1]\right](#2)} \newcommand{\TruncatedTaylorSeries}[3]{\mathcal{T}_{#1}\left[\Func[#2]\right]\left(#3\right)} \newcommand{\Int}[2]{\int\limits_{#1}^{#2}} \newcommand{\IntDomain}[1]{\int\limits_{#1}} \newcommand{\IntInline}[2]{\int_{#1}^{#2}} \newcommand{\IntDomainInline}[1]{\int_{#1}} \newcommand{\DetJacobian}{\Det{\Jac}} \newcommand{\BigO}[1]{\mathcal{O}\left(#1\right)} \newcommand{\Flops}{\operatorname{flops}} \newcommand{\Interpolant}[2]{\mathcal{#1}^{h}} \newcommand{\ErrorApproxComp}{e} \newcommand{\ErrorApproxTen}{\Vec{\ErrorApproxComp}} \newcommand{\ErrorNewton}{\epsilon} \newcommand{\ApproximateIntegrationError}[1]{\tilde{e}_{#1}} \newcommand{\AnalyticApproximateIntegrationErrorDifference}[1]{\overbar{e}_{#1}} \newcommand{\erf}[1]{\mathrm{erf}\left(#1\right)} \newcommand{\erfc}[1]{\mathrm{erfc}\left(#1\right)} \newcommand{\HeavisideFunc}[1]{\mathit{H}\left(#1\right)} \newcommand{\DiracDelta}[2]{\delta_{D}\left(#1 - #2\right)}$$\newcommand{\SymbolParentModifier}[1]{\overbar{#1}} \newcommand{\SymbolParamModifier}[1]{\hat{#1}} \newcommand{\SymbolSubmeshModifier}{} \newcommand{\SymbolDomain}{\Domain} \newcommand{\SymbolDomainBdry}{\DomainBdry} \newcommand{\SymbolBernstein}{B} \newcommand{\SymbolBasisUspline}{N} \newcommand{\SymbolUspline}{U} \newcommand{\SymbolUsplineLower}{u} \newcommand{\SymbolGrevillePoint}{g} \newcommand{\SymbolDim}{d} \newcommand{\SymbolArbitraryCoeffUspline}{c} \newcommand{\SymbolArbitraryCoeffUsplineAlt}{\beta} \newcommand{\SymbolArbitraryCoeffBernstein}{c} \newcommand{\SymbolDistance}{\operatorname{dist}} \newcommand{\AdjacencyId}{n} \newcommand{\DimId}{k} \newcommand{\DimIdAlt}{n} \newcommand{\ArbDim}{\DimId} \newcommand{\ArbDimAlt}{\DimIdAlt} \newcommand{\DimIdSet}{\Set{\DimId}} \newcommand{\DimIdOne}{\DimId_0} \newcommand{\DimIdTwo}{\DimId_1} \newcommand{\DimIdThree}{\DimId_2} \newcommand{\TopoAlpha}[1]{\alpha_{#1}} \newcommand{\TopoPhi}[1]{\phi_{#1}} \newcommand{\UTopology}{\mathsf{U}} \newcommand{\Map}[1]{\mathsf{#1}} \newcommand{\OMap}[1]{\mathsf{#1}} \newcommand{\UOMap}[1]{\UTopology(#1)} \newcommand{\Topology}{\mathsf{T}} \newcommand{\DartsOf}[1]{\operatorname*{\mathsf{D}}\left(#1\right)} \newcommand{\DartIndex}[1]{\operatorname*{\mathsf{ID}}\left(#1\right)} \newcommand{\OR}{\operatorname{OR}} \newcommand{\AND}{\operatorname{AND}} \newcommand{\XOR}{\operatorname{XOR}} \newcommand{\Decomp}{\operatorname{dec}} \newcommand{\ParentDomain}{\SymbolParentModifier{\SymbolDomain}} \newcommand{\ParentDomainChart}{\SymbolParentModifier{\Vec{\phi}}} \newcommand{\ParentDomainChartFunctionOf}[2]{\QuantityFunctionOf{{\ParentDomainChart}^{#1}}{#2}} \newcommand{\ParentDim}{\SymbolDim} \newcommand{\ParentCoord}{\xi} \newcommand{\ParentCoordVec}{\Vec{\ParentCoord}} \newcommand{\ParentS}{\ParentCoord_0} \newcommand{\ParentT}{\ParentCoord_1} \newcommand{\ParentU}{\ParentCoord_2} \newcommand{\ParentBarycentric}[1]{\ParentCoord_{#1}} \newcommand{\ParentGrevillePoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}} \newcommand{\ParentGrevillePointFunctionOf}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParentGrevillePointSet}[1]{\QuantityFunctionOf{\Set{\SymbolParentModifier{G}}}{#1}} \newcommand{\BernsteinBasisFuncId}{\BasisFuncId} \newcommand{\BernsteinBasisFuncIdAlt}{\BasisFuncIdAlt} \newcommand{\BernsteinBasisFuncIdAltAlt}{\BasisFuncIdAltAlt} \newcommand{\BernsteinBasisFuncIdB}{\BasisFuncIdAltAlt} \newcommand{\BernsteinBasisFuncIdOne}{\BernsteinBasisFuncId_0} \newcommand{\BernsteinBasisFuncIdTwo}{\BernsteinBasisFuncId_1} \newcommand{\BernsteinBasisFuncIdSet}{\Set{\BernsteinBasisFuncId}} \newcommand{\BernsteinBasisFuncIndexTuple}{\BernsteinBasisFuncIdSet} \newcommand{\BernsteinBasisFuncIndexTupleAlt}{\Set{\BernsteinBasisFuncIdAlt}} \newcommand{\BernsteinBasisFuncIndexTupleAltAlt}{\Set{\BernsteinBasisFuncIdAltAlt}} \newcommand{\BernsteinBasisFuncIndexTupleB}{\Set{\BernsteinBasisFuncIdB}} \newcommand{\BernsteinDegree}{\PolynomialDegree} \newcommand{\BernsteinDegreeAlt}{q} \newcommand{\BernsteinDegreeTuple}{\Tuple{\BernsteinDegree}} \newcommand{\BernsteinDegreeElevMatComp}{D} \newcommand{\BernsteinDegreeElevMat}{\Mat{\BernsteinDegreeElevMatComp}} \newcommand{\CompletePolynomial}[1]{\AbsoluteValue{#1}} \newcommand{\BernsteinBasisFunc}{\SymbolBernstein} \newcommand{\BernsteinBasisFuncVec}[1]{\QuantityChildOf{#1}{\Vec{\SymbolBernstein}}} \newcommand{\BernsteinBasisFuncVecFunctionOf}[2]{\QuantityFunctionOf{\BernsteinBasisFuncVec{#1}}{#2}} \newcommand{\BernsteinBasisFuncDetailed}[2]{\BernsteinBasisFunc_{#1}^{#2}} \newcommand{\BernFuncLowerDimCell}[2]{\BernsteinBasisFunc^{#1}_{#2}} \newcommand{\BernFuncInterf}[1]{\BernFuncLowerDimCell{\Interface}{#1}} \newcommand{\BernsteinSpace}{\SpaceHilbert{\SymbolBernstein}} \newcommand{\BernsteinRestriction}[2]{#1\vert_{#2}} \newcommand{\Bezier}{B\'ezier} \newcommand{\MeshTopo}{\boldsymbol{\textsf{M}}} \newcommand{\MeshSize}{h} \newcommand{\MeshBezier}{\boldsymbol{\textsf{B}}} \newcommand{\CellArbitrary}[1]{\Set{#1}} \newcommand{\Cell}{\CellArbitrary{c}} \newcommand{\CellAlpha}{\CellArbitrary{a}} \newcommand{\CellBeta}{\CellArbitrary{b}} \newcommand{\CellGamma}{\CellArbitrary{c}} \newcommand{\CellToTheLeft}{\CellAlpha} \newcommand{\CellToTheRight}{\CellBeta} \newcommand{\CellBoundary}[1]{\partial #1} \newcommand{\CellSet}[1]{\Set{C}^{#1}} \newcommand{\CellSetAdjacent}[1]{\Set{ADJ}^{#1}} \newcommand{\CellSetAdjacentFunctionOf}[2]{\QuantityFunctionOf{\CellSetAdjacent{#1}}{#2}} \newcommand{\NRing}[1]{\QuantitySubscriptedBy{\operatorname{ring}}{#1}} \newcommand{\NRingFunctionOf}[2]{\SQFO{\operatorname{ring}}{#1}{#2}} \newcommand{\CellSetCardinal}[1]{\QuantityFunctionOf{\Set{CRD}}{#1}} \newcommand{\CellSetSupport}[1]{\Support{#1}} \newcommand{\Elem}{\Set{E}} \newcommand{\Interface}{\Set{I}} \newcommand{\Smoothness}{\vartheta} \newcommand{\SmoothnessVar}{\rho} \newcommand{\SmoothnessSet}{\Set{\Smoothness}} \newcommand{\InterfaceSmoothness}[1]{\QuantityChildOf{#1}{\Smoothness}} \newcommand{\MaxPerpCont}[1]{\QuantityFunctionOf{\Smoothness^{\perp}_{\max}}{#1}} \newcommand{\Face}{\Set{f}} \newcommand{\Edge}{\Set{e}} \newcommand{\Vertex}{\Set{v}} \newcommand{\CodimTwoCell}{\Set{w}} \newcommand{\KCell}{\Cell^\ArbDim} \newcommand{\KPlusOneCell}{\Cell^{\ArbDim+1}} \newcommand{\KCellAlpha}{\CellAlpha^\ArbDim} \newcommand{\KPlusOneCellBeta}{\CellBeta^{\ArbDim+1}} \newcommand{\MaxParallelDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\max}}{#1}} \newcommand{\MinParallelDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\min}}{#1}} \newcommand{\MaxPerpDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\max}}{#1}} \newcommand{\MinPerpDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\min}}{#1}} \newcommand{\MinParallelPerpDegree}[2]{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\min}}{#1,#2}} \newcommand{\MaxParallelPerpDegree}[2]{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\max}}{#1,#2}} \newcommand{\DegreeParallel}{\BernsteinDegree^{\parallel}} \newcommand{\DegreeParallelToEdge}[2]{\DegreeParallel_{#1}(#2)} \newcommand{\DegreePerp}{\BernsteinDegree^{\perp}} \newcommand{\DegreePerpToInterface}[2]{\DegreePerp_{#1}(#2)} \newcommand{\DegreeTupleParallelToKCell}[2]{\Tuple{\BernsteinDegree}^{\parallel}_{#1}(#2)} \newcommand{\ChangeInDegree}[2]{\Delta(\BernsteinDegree)_{#1}^{#2}} \newcommand{\IndexSet}{\Set{ID}} \newcommand{\IndexSetFunctionOf}[1]{\QuantityFunctionOf{\IndexSet}{#1}} \newcommand{\CompositeBVUnionIndexSet}[1]{\QuantityFunctionOf{\Set{UID}}{#1}} \newcommand{\IndexSetPosCoeffs}[1]{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\IndexSetSet}{\boldsymbol{\IndexSet}} \newcommand{\IndexSetSetFunctionOf}[1]{\QuantityFunctionOf{\IndexSetSet}{#1}} \newcommand{\IndexSetOnMeshBezier}{\IndexSetFunctionOf{\MeshBezier}} \newcommand{\IndexOnCell}[2]{\QuantityChildOf{#1}{#2}} \newcommand{\IndexOnCellIJ}[3]{\QuantityChildOf{#1}{\TupleRoster{#2,#3}}} \newcommand{\CellFromQuantity}[1]{\QuantityFunctionOf{\operatorname{cell}}{#1}} \newcommand{\ExtractionOp}[1]{\QuantityChildOf{#1}{\Mat{C}}} \newcommand{\ExtractionOpFunctionOf}[2]{\QuantityFunctionOf{\ExtractionOp{#1}}{#2}} \newcommand{\ReconstructOp}[1]{\QuantityChildOf{#1}{\Mat{R}}} \newcommand{\ReconstructOpFunction}[2]{\QuantityFunctionOf{\ReconstructOp{#1}}{#2}} \newcommand{\Gramian}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{G}}{#2}}} \newcommand{\BernsteinSpaceOnMeshBezier}{\QCO{\MeshBezier}{\BernsteinSpace}} \newcommand{\ii}{\IndexOnCell{}{\BernsteinBasisFuncIndexTuple}} \newcommand{\jj}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAlt}} \newcommand{\kk}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAltAlt}} \newcommand{\ParamDomain}{\SymbolParamModifier{\SymbolDomain}} \newcommand{\ParamDomainOnCell}{\QuantityChildOf{\Cell}{\ParamDomain}} \newcommand{\ParamDomainBdry}{\SymbolParamModifier{\SymbolDomainBdry}} \newcommand{\ParamDomainChart}[1]{\Vec{\phi}^{#1}} \newcommand{\ParamDomainChartFunctionOf}[2]{\QuantityFunctionOf{\ParamDomainChart{#1}}{#2}} \newcommand{\ParamDim}{\SymbolDim} \newcommand{\ParamCoordSimple}{s} \newcommand{\ParamCoord}[1]{\QCO{#1}{s}} \newcommand{\ParamCoordVecSimple}{\Vec{s}} \newcommand{\ParamCoordVec}[1]{\QCO{#1}{\Vec{\ParamCoordSimple}}} \newcommand{\ParamDomainBdryParamCoord}{\ParamCoord{\ParamDomainBdry}} \newcommand{\ParamDomainBdryParamCoordVec}{\ParamCoordVec{\ParamDomainBdry}} \newcommand{\ParamCoordVecSet}{\boldsymbol{\Set{S}}} \newcommand{\ParamS}{\ParamCoord{}_0} \newcommand{\ParamT}{\ParamCoord{}_1} \newcommand{\ParamU}{\ParamCoord{}_2} \newcommand{\ParamBarycentric}[1]{\lambda_{#1}} \newcommand{\ParamLength}{\ell} \newcommand{\ParamLengthLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLength}} \newcommand{\ParamLengthRight}{\QuantityChildOf{\CellToTheRight}{\ParamLength}} \newcommand{\ParamLengthInS}{\ParamLength_{0}} \newcommand{\ParamLengthInT}{\ParamLength_{1}} \newcommand{\ParamLengthLeftS}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInS}} \newcommand{\ParamLengthLeftT}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInT}} \newcommand{\ParamLengthRightS}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInS}} \newcommand{\ParamLengthRightT}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInT}} \newcommand{\ParamLengthInSLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInS}} \newcommand{\ParamLengthInTLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInT}} \newcommand{\ParamLengthInSRight}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInS}} \newcommand{\ParamLengthInTRight}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInT}} \newcommand{\BernsteinDegreeInS}{\BernsteinDegree_{0}} \newcommand{\BernsteinDegreeInT}{\BernsteinDegree_{1}} \newcommand{\BernsteinDegreeLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegree}} \newcommand{\BernsteinDegreeRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegree}} \newcommand{\BernsteinDegreeInSLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegreeInS}} \newcommand{\BernsteinDegreeInSRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegreeInS}} \newcommand{\BernsteinDegreeInTLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegreeInT}} \newcommand{\BernsteinDegreeInTRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegreeInT}} \newcommand{\BernsteinDegreeBarycentricLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegree}} \newcommand{\BernsteinDegreeBarycentricRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegree}} \newcommand{\ParamGrevillePoint}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParamModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParamGrevillePointSet}[1]{\QuantityFunctionOf{\Set{\SymbolParamModifier{G}}}{#1}} \newcommand{\ParamDomainOnMeshBezier}{\QuantityChildOf{\MeshBezier}{\ParamDomain}} \newcommand{\BernsteinTraceMappingMat}{\Mat{M}} \newcommand{\NormalParamCoordSet}[2]{\QuantityFunctionOf{\ParamCoordVecSimple^{\perp}_{#1}}{#2}} \newcommand{\ParallelParamCoordSet}[2]{\QuantityFunctionOf{\ParamCoordVecSimple^{\parallel}_{#1}}{#2}} \newcommand{\Submesh}{\boldsymbol{\textsf{K}}} \newcommand{\SubmeshDomain}{\SymbolSubmeshModifier{\SymbolDomain}} \newcommand{\SubmeshDomainBdry}{\SymbolSubmeshModifier{\SymbolDomainBdry}} \newcommand{\SubmeshDomainChart}[1]{\QuantityChildOf{#1}{\Vec{\varphi}}} \newcommand{\SubmeshDomainChartFunctionOf}[2]{\QuantityFunctionOf{\SubmeshDomainChart{#1}}{#2}} \newcommand{\SubmeshDomainParameter}{\mathsf{\alpha}} \newcommand{\SubmeshDomainParameterVec}{\Vec{\SubmeshDomainParameter}} \newcommand{\SubmeshGrevillePoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}} \newcommand{\SubmeshGrevillePointFunctionOf}[2]{\QuantityFunctionOf{\SubmeshGrevillePoint{#1}}{#2}} \newcommand{\SubmeshGrevilleMaxPoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolGrevillePoint}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSet}[1]{\QuantityChildOf{#1}{\Set{G}}_{\max}} \newcommand{\SubmeshGrevilleMinPointSet}[1]{\QuantityChildOf{#1}{\Set{G}}_{\min}} \newcommand{\SubmeshGrevilleMaxPointLeft}{\SubmeshGrevilleMaxPoint{\CellAlpha}} \newcommand{\SubmeshGrevilleMaxPointRight}{\SubmeshGrevilleMaxPoint{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointIntersection}{\SubmeshGrevilleMaxPoint{\Interface}} \newcommand{\SubmeshGrevilleMinPointSetLeft}{\SubmeshGrevilleMinPointSet{\CellAlpha}} \newcommand{\SubmeshGrevilleMinPointSetRight}{\SubmeshGrevilleMinPointSet{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointSetLeft}{\SubmeshGrevilleMaxPointSet{\CellAlpha}} \newcommand{\SubmeshGrevilleMaxPointSetRight}{\SubmeshGrevilleMaxPointSet{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointSetIntersection}{\SubmeshGrevilleMaxPointSet{\Interface}} \newcommand{\SubmeshGrevillePointSet}{\Set{\SymbolSubmeshModifier{G}}} \newcommand{\SubmeshGrevillePointSetFunctionOf}[1]{\QuantityFunctionOf{\SubmeshGrevillePointSet}{#1}} \newcommand{\SubmeshGrevillePointSetLeft}{\Set{\SymbolSubmeshModifier{GA}}} \newcommand{\SubmeshGrevillePointSetRight}{\Set{\SymbolSubmeshModifier{GB}}} \newcommand{\SubmeshGrevillePointSetElement}[1]{\Set{\SymbolSubmeshModifier{GE}}_{#1}} \newcommand{\SubmeshGrevillePointSetIntersect}{\Set{\SymbolSubmeshModifier{GI}}} \newcommand{\SubmeshGrevillePointSetUnion}[1]{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GU}}}{#1}} \newcommand{\SubmeshGrevillePointSetSet}{\boldsymbol{\SubmeshGrevillePointSet}} \newcommand{\SubmeshGrevillePointSetSetFunctionOf}[1]{\QuantityFunctionOf{\SubmeshGrevillePointSetSet}{#1}} \newcommand{\SubmeshGrevillePointSetSetLeft}{\boldsymbol{\SymbolSubmeshModifier{\Set{GA}}}} \newcommand{\SubmeshGrevillePointSetSetRight}{\boldsymbol{\SymbolSubmeshModifier{\Set{GB}}}} \newcommand{\SubmeshGrevillePointSetSetElement}[2]{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1}}{#2}} \newcommand{\SubmeshGrevilleDifferenceVectorsSet}{\Delta \SubmeshGrevillePointSetFunctionOf{a}} \newcommand{\SubmeshGrevilleDifferenceVectorsSetRight}{\Delta\SubmeshGrevilleMaxPointSetRight} \newcommand{\SubmeshGrevilleDifferenceVector}{\Delta\SubmeshGrevilleMaxPoint{a}} \newcommand{\SubmeshGrevilleDifferenceVectorLeft}{\Delta\SubmeshGrevilleMaxPointLeft} \newcommand{\SubmeshGrevilleDifferenceVectorRight}{\Delta\SubmeshGrevilleMaxPointRight} \newcommand{\SubmeshGrevilleDistanceToCell}[2]{\QuantityFunctionOf{\SymbolDistance}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCell}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMin}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\min}}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMax}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\max}}{#1, #2}} \newcommand{\SubmeshPerpProjection}[1]{\Projection^{\perp}_{#1}} \newcommand{\SubmeshPerpProjectionFunctionOf}[2]{\QuantityFunctionOf{\SubmeshPerpProjection{#1}}{#2}} \newcommand{\SubmeshParallelProjection}[1]{\Projection^{\parallel}_{#1}} \newcommand{\SubmeshParallelProjectionFunctionOf}[2]{\QuantityFunctionOf{\SubmeshParallelProjection{#1}}{#2}} \newcommand{\SubmeshStarProjection}[2]{\QuantityFunctionOf{\Projection^{*}_{#1}}{#2}} \newcommand{\SubmeshPerpEquivalence}[1]{\varpi^{\perp}_{#1}} \newcommand{\SubmeshParallelEquivalence}[1]{\varpi^{\parallel}_{#1}} \newcommand{\SubmeshParallelEquivalenceFunctionOf}[2]{\QuantityFunctionOf{\SubmeshParallelEquivalence{#1}}{#2}} \newcommand{\SubmeshStarEquivalence}[1]{\varpi^{*}_{#1}} \newcommand{\AlignedSet}{{\boldsymbol{\textsf{Align}}}} \newcommand{\AlignedSetSet}{{\boldsymbol{\textsf{ALIGN}}}} \newcommand{\AlignmentSetOfSetsLeft}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetOfSetsRight}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetForInterfaceGrevillePoint}{\AlignedSet_{\SubmeshGrevillePoint{\Interface}{}}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRow}{\Set{NZ}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRowFunctionOf}[2]{\QuantityFunctionOf{\IndexSetOfNonZeroEntriesInMapMatOnRow_{#1}}{#2}} \newcommand{\AlignmentSetOfSetsOnLowerDCell}[2]{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1,#2}^{\parallel}} \newcommand{\AlignmentSetOfSetsLeftThreeD}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \ii}^{\parallel}} \newcommand{\AlignmentSetOfSetsRightThreeD}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \ii}^{\parallel}} \newcommand{\KPlusOneCellAdjacentIndexedSubmeshDomain}{\QuantityChildOf{\CellAlpha\CellBeta}{\SubmeshDomain}} \newcommand{\StructuredSymbol}{\square} \newcommand{\StructuredSubmesh}[1]{\Submesh^{\StructuredSymbol}_{#1}} \newcommand{\ToGlobalDartOp}{\operatorname*{\mathsf{G}}} \newcommand{\ProlongationMat}{\Mat{P}} \newcommand{\RestrictionMat}{\Mat{R}} \newcommand{\MeshUspline}{\boldsymbol{\textsf{\SymbolUspline}}} \newcommand{\SetNeighborhoodOfInteraction}[1]{\QuantityFunctionOf{\textsf{NI}}{#1}} \newcommand{\Ray}{\Set{r}} \newcommand{\RayHead}{\Edge^{h}} \newcommand{\RayTail}{\Vec{t}} \newcommand{\RayTailId}{j} \newcommand{\RayTailIdOne}{\RayTailId_0} \newcommand{\RayTailIdTwo}{\RayTailId_1} \newcommand{\RayTailOrigin}{\textsf{o}} \newcommand{\RayTailEdge}{\Edge} \newcommand{\RayTailVertexMaxContinuity}[1]{\Smoothness_{#1}^{\max}} \newcommand{\RayTailEdgeMinDegree}[1]{\BernsteinDegree_{#1}^{\min}} \newcommand{\RaySkeleton}[1]{\operatorname{skel}(#1)} \newcommand{\RaySmoothness}[2]{\Smoothness_{#1}^{#2}} \newcommand{\RayDegree}[2]{\BernsteinDegree_{#1}^{#2}} \newcommand{\RayContinuityTransition}{\Set{cr}} \newcommand{\RayDegreeTransition}{\Set{dr}} \newcommand{\RayTailSize}{\Size{\RayTail}} \newcommand{\RayTailTargetSize}{n} \newcommand{\RayIsTruncated}{\Set{trunc}} \newcommand{\RayAlgBernIndexVariable}{\BernsteinBasisFuncIdSet} \newcommand{\RayStartingBernIndex}{\RayAlgBernIndexVariable_{\RayHead}} \newcommand{\BernIndexOnSpecificRayTailEdge}[1]{\RayAlgBernIndexVariable_{#1}} \newcommand{\Ribbon}{\Set{r}} \newcommand{\RibbonHead}{\Interface^{h}} \newcommand{\RibbonTail}{\Vec{t}} \newcommand{\RibbonTailId}{j} \newcommand{\RibbonTailIdOne}{\RibbonTailId_0} \newcommand{\RibbonTailIdTwo}{\RibbonTailId_1} \newcommand{\RibbonTailOrigin}{\textsf{o}} \newcommand{\RibbonTailInterf}{\Interface} \newcommand{\RibbonTailCodimTwoCellMaxContinuity}[1]{\Smoothness_{#1}^{\max}} \newcommand{\RibbonTailInterfMinDegree}[1]{\BernsteinDegree_{#1}^{\min}} \newcommand{\RibbonSkeleton}[1]{\operatorname{skel}(#1)} \newcommand{\RibbonSmoothness}[2]{\Smoothness_{#1}^{#2}} \newcommand{\RibbonDegree}[2]{\BernsteinDegree_{#1}^{#2}} \newcommand{\RibbonContinuityTransition}{\Set{cr}} \newcommand{\RibbonDegreeTransition}{\Set{dr}} \newcommand{\RibbonTailSize}{\Size{\RibbonTail}} \newcommand{\RibbonTailTargetSize}{n} \newcommand{\RibbonIsTruncated}{\Set{trunc}} \newcommand{\RibbonAlgBernIndexVariable}{\BernsteinBasisFuncIdSet} \newcommand{\RibbonStartingBernIndex}{\RibbonAlgBernIndexVariable_{\RibbonHead}} \newcommand{\BernIndexOnSpecificRibbonTailInterf}[1]{\RibbonAlgBernIndexVariable_{#1}} \newcommand{\ParamDomainOnMeshUspline}{\QuantityChildOf{\MeshUspline}{\ParamDomain}} \newcommand{\UsplineSpace}{\SpaceHilbert{\SymbolUspline}} \newcommand{\UsplineBasisFunc}{\SymbolBasisUspline} \newcommand{\UsplineBasisFuncDetailed}[2]{\UsplineBasisFunc^{#1}_{#2}} \newcommand{\UsplineBasisFuncSet}{\Set{UF}} \newcommand{\UsplineBasisFuncSetFunctionOf}[1]{\QuantityFunctionOf{\UsplineBasisFuncSet}{#1}} \newcommand{\UsplineBasisFuncVec}[1]{\QuantityChildOf{#1}{\Vec{\SymbolBasisUspline}}} \newcommand{\UsplineBasisFuncVecFunctionOf}[2]{\QuantityFunctionOf{\UsplineBasisFuncVec{#1}}{#2}} \newcommand{\UsplineBasisFuncSetOnMeshBezier}{\QuantityFunctionOf{\Set{UF}}{\MeshBezier}} \newcommand{\UsplineBasisFuncSetOnMeshUspline}{\QuantityFunctionOf{\Set{UF}}{\MeshUspline}} \newcommand{\UsplineBasisFuncSetSupport}[1]{\Support{\UsplineBasisFuncSetFunctionOf{#1}}} \newcommand{\UsplineBasisFuncId}{A} \newcommand{\UsplineBasisFuncIdVec}{\Vec{A}} \newcommand{\UsplineBasisFuncIdAlt}{B} \newcommand{\UsplineBasisFuncIdLocal}{a} \newcommand{\UsplineBasisFuncIdOne}{\UsplineBasisFuncId_0} \newcommand{\UsplineBasisFuncIdTwo}{\UsplineBasisFuncId_1} \newcommand{\UsplineBasisFuncNormalized}{\bar{\SymbolBasisUspline}} \newcommand{\UsplineBasisFuncParam}[1]{\UsplineBasisFuncDetailed{\MeshBezier}{#1}} \newcommand{\UsplineDegree}{q} \newcommand{\UsplineNullVectorCoeff}{u} \newcommand{\UsplineNullVector}{\Vec{\UsplineNullVectorCoeff}} \newcommand{\UsplineNullVectorIds}{\Set{id}} \newcommand{\UsplineNullVectorSet}{\boldsymbol{\textsf{UV}}} \newcommand{\UsplineNullVectorSetOfIndexSets}{\boldsymbol{\textsf{UI}}} \newcommand{\UsplineNullVectorSetOnMeshBezier}{\NullVectorSetFunctionOf{\MeshBezier}} \newcommand{\UsplineNullVectorSetOnMeshUspline}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshUspline}} \newcommand{\UsplineSpaceOnMeshUspline}{\QCO{\MeshUspline}{\UsplineSpace}} \newcommand{\UsplineCellToGlobalBasisFuncIndexMap}[1]{\operatorname{ucg}(#1)} \newcommand{\UsplineCellToGlobalBasisFuncIndexMapDef}{\FuncDef{\operatorname{ucg}}{\MeshBezier\times\Integers}{\Integers}} \newcommand{\BernsteinBasisFuncCoeff}{\SymbolArbitraryCoeffBernstein} \newcommand{\BernsteinBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffBernstein}}}{\MeshBezier}} \newcommand{\BernsteinBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffBernstein}}{\MeshBezier}} \newcommand{\UsplineBasisFuncCoeff}{\SymbolArbitraryCoeffUspline} \newcommand{\UsplineBasisFuncCoeffAlt}{\SymbolArbitraryCoeffUsplineAlt} \newcommand{\UsplineBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffUspline}}}{\MeshUspline}} \newcommand{\UsplineBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffUspline}}{\MeshUspline}} \newcommand{\ContiguousIndexMap}[1]{i_{#1}} \newcommand{\Constraint}{R} \newcommand{\ConstraintCoeff}{r} \newcommand{\ConstraintCoeffsSet}{\boldsymbol{\Set{\ConstraintCoeff}}} \newcommand{\ConstraintCoeffsVec}{\Vec{\ConstraintCoeff}} \newcommand{\ConstraintSet}{\Set{\Constraint}} \newcommand{\ConstraintSetFunctionOf}[1]{\QuantityFunctionOf{\ConstraintSet}{#1}} \newcommand{\ConstraintSetOnMeshBezier}{\ConstraintSetFunctionOf{\MeshBezier}} \newcommand{\ConstraintMat}{\Mat{\Constraint}} \newcommand{\ConstraintMatFunctionOf}[1]{\QuantityFunctionOf{\ConstraintMat}{#1}} \newcommand{\ConstraintMatOnMeshBezier}{\ConstraintMatFunctionOf{\MeshBezier}} \newcommand{\SparsestPossibleBasisOnCell}[1]{\QFO{\Set{N}}{#1}} \newcommand{\NullVectorCoeff}[1]{#1} \newcommand{\NullVector}{\Vec{v}} \newcommand{\NullVectorFunctionOf}[1]{\QuantityFunctionOf{\NullVector}{#1}} \newcommand{\NullVectorArbitrary}[1]{\Vec{#1}} \newcommand{\KCellNullVectorForCellAlpha}{\NullVectorArbitrary{n}_{\KCellAlpha}} \newcommand{\KPlusOneCellNullVectorForCellBeta}{\NullVectorArbitrary{n}_{\KPlusOneCellBeta}} \newcommand{\NullVectorSet}{\boldsymbol{\textsf{BV}}}%changed from mathsf \newcommand{\NullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\NullVectorSet}{#1}}%changed from mathsf \newcommand{\CompositeNullVectorSet}{\NullVectorSet^{\prime\prime}} \newcommand{\CompositeNullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\CompositeNullVectorSet}{#1}} \newcommand{\SimpleNullVectorSet}{\NullVectorSet^{\prime}} \newcommand{\SimpleNullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\SimpleNullVectorSet}{#1}} \newcommand{\InterfaceNullVectorSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}}{#1}} \newcommand{\InterfaceNullVectorAlignedSubset}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}_{#1}}{#2}} \newcommand{\NullVectorSetOfIndexSets}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{BI}}}{#1}} \newcommand{\NullVectorSetGrevilleSets}{\boldsymbol{\textsf{BG}}}%changed from mathsf \newcommand{\NullVectorSetGrevilleSetsFunctionOf}[1]{\QuantityFunctionOf{\NullVectorSetGrevilleSets}{#1}}%changed from mathsf \newcommand{\NullVectorSetSubordinateToNullVector}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}}{#1}} \newcommand{\NullVectorSetSubordinateToNullVectorOnCell}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}_{#1}}{#2}} \newcommand{\NullVectorSetOnBdryOfNullVector}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{BD}}_{#1}}{#2}} \newcommand{\NullVectorEquivClass}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{EBV}}}{#1}} \newcommand{\NullVectorIndexEquivClass}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{EBI}}}{#1}} \newcommand{\NullVectorGrevilleEquivClass}{\boldsymbol{\textsf{EBG}}}%changed from mathsf \newcommand{\NullVectorGrevilleEquivClassFunctionOf}[1]{\QuantityFunctionOf{\NullVectorGrevilleEquivClass}{#1}}%changed from mathsf \newcommand{\NullVectorExpansionSet}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{XBV}}}{#1,#2}} \newcommand{\NullSpaceOperatorForm}[1]{\QuantityFunctionOf{\SpaceHilbert{N}}{#1}} \newcommand{\NullSpaceOperatorFormOnMeshBezier}{\NullSpaceOperatorForm{\MeshBezier}} \newcommand{\NullSpaceVectorForm}{\Set{N}} \newcommand{\NullSpaceVectorFormFunctionOf}[1]{\QuantityFunctionOf{\NullSpaceVectorForm}{#1}} \newcommand{\NullVectorGrevillePointSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}} \newcommand{\DegSmoothDiff}[2]{\delta_{#1}^{#2}} \newcommand{\FaceEdgeDiff}{\Set{t}} \newcommand{\FaceEdgeDiffSet}[1]{\Set{T}_{#1}} \newcommand{\PerpTuple}[1]{\QuantityFunctionOf{\FaceEdgeDiff^\perp}{#1}} \newcommand{\ParallelTuple}[1]{\QuantityFunctionOf{\FaceEdgeDiff^\parallel}{#1}} \newcommand{\ElemInterfDiff}{\Set{t}} \newcommand{\ElemInterfDiffSet}[1]{\Set{T}_{#1}} \newcommand{\SpokeSymbol}{\rho} \newcommand{\ElemInterfPairSymbol}{t} \newcommand{\ElemKPlusOneCellPair}{\Set{\SpokeSymbol}} \newcommand{\Spoke}{\ElemKPlusOneCellPair} \newcommand{\ElemInterfPair}{\Set{\ElemInterfPairSymbol}} \newcommand{\EIDPerpTuple}[1]{\QuantityFunctionOf{\ElemInterfDiff^\perp}{#1}} \newcommand{\EIDParallelTuple}[1]{\QuantityFunctionOf{\ElemInterfDiff^\parallel}{#1}} \newcommand{\InclDist}{\textsf{inc}}%changed from mathsf \newcommand{\InclDistFunctionOf}[1]{\QuantityFunctionOf{\InclDist}{#1}}%changed from mathsf \newcommand{\InclDistSet}[2]{\Set{INC}^{#1,#2}} \newcommand{\EdgeInclDist}[3]{\InclDistSet{#2}{#3}_{#1}} \newcommand{\PerpEdgesSet}{\Set{E}^\perp} \newcommand{\PerpInterfacesSet}{\Set{IRF}^\perp} \newcommand{\PerpOfKPlusOneCellInterfSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{PI}}}{#1}} \newcommand{\PerpKPlusOneCellSet}{\boldsymbol{\textsf{PC}}}%changed from mathsf \newcommand{\PerpKPlusOneCellSetFunctionOf}[1]{\QuantityFunctionOf{\PerpKPlusOneCellSet}{#1}}%changed from mathsf \newcommand{\ElemKPlusOneCellPairPerp}[1]{\QuantityFunctionOf{\Set{\SpokeSymbol}^\perp}{#1}} \newcommand{\ElemInterfPairPerp}[1]{\QuantityFunctionOf{\Set{t}^\perp}{#1}} \newcommand{\ElemInterfPairParallel}[1]{\QuantityFunctionOf{\Set{\ElemInterfPairSymbol}^\parallel}{#1}} \newcommand{\ElemKPlusOneCellPairParallelSet}[1]{\QuantityFunctionOf{\Set{\SpokeSymbol}^\parallel}{#1}} \newcommand{\KPlusOneCellNullVectorSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}}{#1}} \newcommand{\KPlusOneCellNullVectorAlignedSubset}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}_{#1}}{#2}} \newcommand{\Graph}{G} \newcommand{\GraphFunctionOf}[1]{\QuantityFunctionOf{\Graph}{#1}} \newcommand{\GraphCore}{K} \newcommand{\GraphDirectedEdge}{\Edge_{i,j}} \newcommand{\GraphDirectedEdgeIJ}[2]{\Edge_{#1,#2}} \newcommand{\GraphCoreToVertex}[1]{\QuantityFunctionOf{\Vertex}{#1}} \newcommand{\GraphCoreChildren}[1]{\QuantityFunctionOf{\operatorname{children}}{#1}} \newcommand{\GraphVertexToCore}[1]{\QuantityFunctionOf{\GraphCore}{#1}} \newcommand{\GraphInteractingEdges}{\Set{IE}} \newcommand{\GraphCoveredEdges}{\Set{CE}} \newcommand{\GraphFailedEdges}{\Set{FE}} \newcommand{\GraphCandidateEdges}{\Set{XE}} \newcommand{\UsplineClass}[1]{\boldsymbol{\mathcal{\SymbolUspline}}^{#1}} \newcommand{\UClassRegular}{R} \newcommand{\UClassIrregular}{r} \newcommand{\UClassContFinite}{H} \newcommand{\UClassContInfinity}{h} \newcommand{\UClassGlobalSmoothness}{K} \newcommand{\UClassLocalSmoothness}{k} \newcommand{\UClassGlobalDegree}{P} \newcommand{\UClassLocalDegree}{p} \newcommand{\SuperscriptRHKP}{\UClassRegular\UClassContFinite\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrHKP}{\UClassIrregular\UClassContFinite\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRhKP}{\UClassRegular\UClassContInfinity\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrhKP}{\UClassIrregular\UClassContInfinity\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRHkP}{\UClassRegular\UClassContFinite\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrHkP}{\UClassIrregular\UClassContFinite\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRhkP}{\UClassRegular\UClassContInfinity\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrhkP}{\UClassIrregular\UClassContInfinity\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRHKp}{\UClassRegular\UClassContFinite\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrHKp}{\UClassIrregular\UClassContFinite\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRhKp}{\UClassRegular\UClassContInfinity\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrhKp}{\UClassIrregular\UClassContInfinity\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRHkp}{\UClassRegular\UClassContFinite\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrHkp}{\UClassIrregular\UClassContFinite\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRhkp}{\UClassRegular\UClassContInfinity\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\Superscriptrhkp}{\UClassIrregular\UClassContInfinity\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\UsplineClassRHKP}{\UsplineClass{\SuperscriptRHKP}} \newcommand{\UsplineClassrHKP}{\UsplineClass{\SuperscriptrHKP}} \newcommand{\UsplineClassRhKP}{\UsplineClass{\SuperscriptRhKP}} \newcommand{\UsplineClassrhKP}{\UsplineClass{\SuperscriptrhKP}} \newcommand{\UsplineClassRHkP}{\UsplineClass{\SuperscriptRHkP}} \newcommand{\UsplineClassrHkP}{\UsplineClass{\SuperscriptrHkP}} \newcommand{\UsplineClassRhkP}{\UsplineClass{\SuperscriptRhkP}} \newcommand{\UsplineClassrhkP}{\UsplineClass{\SuperscriptrhkP}} \newcommand{\UsplineClassRHKp}{\UsplineClass{\SuperscriptRHKp}} \newcommand{\UsplineClassrHKp}{\UsplineClass{\SuperscriptrHKp}} \newcommand{\UsplineClassRhKp}{\UsplineClass{\SuperscriptRhKp}} \newcommand{\UsplineClassrhKp}{\UsplineClass{\SuperscriptrhKp}} \newcommand{\UsplineClassRHkp}{\UsplineClass{\SuperscriptRHkp}} \newcommand{\UsplineClassrHkp}{\UsplineClass{\SuperscriptrHkp}} \newcommand{\UsplineClassRhkp}{\UsplineClass{\SuperscriptRhkp}} \newcommand{\UsplineClassrhkp}{\UsplineClass{\Superscriptrhkp}} \newcommand{\BaseTopoLine}{\mathsf{L}} \newcommand{\BaseTopoLoop}{\mathsf{P}} \newcommand{\BaseTopoOneDGeneric}{\MeshUspline^{\textsf{1D}}} \newcommand{\BaseTopoGrid}{\mathsf{G}} \newcommand{\BaseTopoAnnulus}{\mathsf{A}} \newcommand{\BaseTopoTorus}{\mathsf{T}} \newcommand{\BaseTopoTriangle}{\mathsf{\Delta}} \newcommand{\BaseTopoMixed}{\mathsf{M}} \newcommand{\BaseTopoMultiPatch}{\mathsf{X}} \newcommand{\BaseTopoPatch}{\mathsf{H}} \newcommand{\AlgNameBuildRayOfMaximumCouplingLength}{BuildRayOfMaximumCouplingLength} \newcommand{\AlgNameBuildRibbonOfMaximumCouplingLength}{BuildRibbonOfMaximumCouplingLength} \newcommand{\AlgNameComputeCoreGraph}{ComputeCoreGraph} \newcommand{\UpperDBMat}{\Mat{U}} \newcommand{\LowerWeightDBMat}{\Mat{W}} \newcommand{\RationalSplineWeightSymbol}{w} \newcommand{\NURBSWeight}{\RationalSplineWeightSymbol} \newcommand{\WeightFunc}[1][\RationalSplineWeightSymbol]{#1} \newcommand{\DBParamWeight}{\omega} \newcommand{\DualBCoeff}{d} \newcommand{\NumUsplineBasisFuncsOnMeshBezier}{\Size{\UsplineBasisFuncSetOnMeshBezier}} \newcommand{\NumUsplineBasisFuncsOnMeshUspline}{\Size{\UsplineBasisFuncSetOnMeshUspline}} \newcommand{\NumUsplineBasisFuncsOnElem}{\Size{\UsplineBasisFuncSetFunctionOf{\Elem}}} \newcommand{\NumBernsteinBasisFuncsOnMeshBezier}{\Size{\IndexSetOnMeshBezier}} \newcommand{\NumBernsteinBasisFuncsOnElem}{\Size{\IndexSetFunctionOf{\Elem}}} \newcommand{\NumElemsInMeshBezier}{\Size{\CellSet{\ParamDim}}}$$\newcommand{\SymbolTime}{t} \newcommand{\SymbolEnvModifier}[1]{\star\mspace{-1mu} #1} \newcommand{\SymbolInteriorModifier}[1]{\tilde{#1}} \newcommand{\SymbolClosestPointMap}{\kappa} \newcommand{\SymbolManifold}{m} \newcommand{\SymbolVolume}{v} \newcommand{\SymbolVolumeUpper}{V} \newcommand{\SymbolSurface}{s} \newcommand{\SymbolSurfaceUpper}{S} \newcommand{\SymbolCurve}{c} \newcommand{\SymbolCurveUpper}{C} \newcommand{\SymbolPoint}{p} \newcommand{\SymbolPointUpper}{P} \newcommand{\SymbolIndicator}{\chi} \newcommand{\SymbolSpatialDim}{n} \newcommand{\SymbolWildCard}{*} \newcommand{\SymbolSegment}{\epsilon} \newcommand{\SymbolSpatialCoord}{x} \newcommand{\SymbolSpatialCoordUpper}{x} \newcommand{\SymbolSegmentSet}{\boldsymbol{E}} \newcommand{\SymbolInside}{\bullet} \newcommand{\SymbolOutside}{\circ} \newcommand{\SymbolHybrid}{\circledcirc} \newcommand{\SymbolPartition}{\boldsymbol{\vartriangle}} \newcommand{\SymbolQuadratureWeight}{w} \newcommand{\SymbolQuadratureSet}{Q} \newcommand{\SymbolQuadraturePoint}{\xi} \newcommand{\SymbolIntegrationPoint}{i} \newcommand{\SymbolManifoldCoeff}{x} \newcommand{\SymbolManifoldCoeffUpper}{X} \newcommand{\SymbolManifoldCoeffUspline}{x} \newcommand{\SymbolManifoldCoeffUsplineUpper}{X} \newcommand{\SymbolManifoldCoeffBernstein}{x} \newcommand{\SymbolManifoldCoeffBernsteinUpper}{X} \newcommand{\SymbolCADModified}{\boldsymbol{\circledast}} \newcommand{\SymbolCAD}{\bar{\SymbolCADModified}} \newcommand{\SymbolProjection}{\Projection} \newcommand{\SymbolCovariantBasisSurf}{a} \newcommand{\SymbolCovariantBasisVol}{g} \newcommand{\SymbolMetric}{m} \newcommand{\SymbolCurvature}{k} \newcommand{\SymbolCurvCoordIdOne}{\alpha} \newcommand{\SymbolCurvCoordIdTwo}{\beta} \newcommand{\SymbolCurvCoordIdThree}{\gamma} \newcommand{\SymbolOrthogonalTransform}{Q} \newcommand{\SymbolLinearInterpolation}{\mathscr{l}} \newcommand{\ParamDomainEnv}{\SymbolEnvModifier{\ParamDomain}} \newcommand{\ParamDomainCAD}{\QRT{\ParamDomain}{\SymbolCAD}} \newcommand{\ParamDomainOnCellEnv}{\SymbolEnvModifier{\ParamDomainOnCell}} \newcommand{\ParamDomainOnCAD}{\QCO{\SymbolCAD}{\ParamDomain}} \newcommand{\ParamDomainOnCADModified}{\QCO{\SymbolCADModified}{\ParamDomain}} \newcommand{\ParamDomainOnPartition}{\QCO{\SymbolPartition}{\ParamDomain}} \newcommand{\SpatialDim}{\SymbolSpatialDim} \newcommand{\SpatialDomain}{\Reals^{\SymbolSpatialDim}} \newcommand{\SpatialCoord}{\SymbolSpatialCoord} \newcommand{\SpatialCoordX}{\SymbolSpatialCoord} \newcommand{\SpatialCoordY}{y} \newcommand{\SpatialCoordZ}{z} \newcommand{\SpatialCoordUpper}{\SymbolSpatialCoordUpper} \newcommand{\SpatialCoordVec}{\Vec{\SpatialCoord}} \newcommand{\SpatialCoordVecSet}[1]{\QuantityFunctionOf{\boldsymbol{\Set{X}}}{#1}} \newcommand{\UsplineBasisFuncSpatial}[1]{\UsplineBasisFuncDetailed{\SpatialCoord}{#1}} \newcommand{\Manifold}{\Set{\SymbolManifold}} \newcommand{\ManifoldRelatedTo}[1]{\QuantityRelatedTo{\Manifold}{#1}} \newcommand{\Volume}{\Set{\SymbolVolume}} \newcommand{\VolumeRelatedTo}[1]{\QuantityRelatedTo{\Volume}{#1}} \newcommand{\Surface}{\Set{\SymbolSurface}} \newcommand{\SurfaceRelatedTo}[1]{\QuantityRelatedTo{\Surface}{#1}} \newcommand{\Curve}{\Set{\SymbolCurve}} \newcommand{\CurveRelatedTo}[1]{\QuantityRelatedTo{\Curve}{#1}} \newcommand{\Point}{\Set{\SymbolPoint}} \newcommand{\PointRelatedTo}[1]{\QuantityRelatedTo{\Point}{#1}} \newcommand{\Partition}{\SymbolPartition} \newcommand{\ManifoldCAD}{\ManifoldRelatedTo{\SymbolCAD}} \newcommand{\ManifoldCADModified}{\ManifoldRelatedTo{\SymbolCADModified}} \newcommand{\ManifoldCADEnv}{\SymbolEnvModifier{\ManifoldCAD}} \newcommand{\ManifoldCADModifiedEnv}{\SymbolEnvModifier{\ManifoldCADModified}} \newcommand{\ManifoldPartition}{\ManifoldRelatedTo{\Partition}} \newcommand{\ManifoldBezier}{\ManifoldRelatedTo{\MeshBezier}} \newcommand{\ManifoldUspline}{\ManifoldRelatedTo{\MeshUspline}} \newcommand{\ManifoldUsplineInterior}{\QRT{\SymbolInteriorModifier{\Manifold}}{\MeshUspline}} \newcommand{\ManifoldUsplineEnv}{\SymbolEnvModifier{\ManifoldUspline}} \newcommand{\VolumeEnv}{\SymbolEnvModifier{\Volume}} \newcommand{\dVolume}{\Differential[\Volume]} \newcommand{\VolumeIndicator}{\SymbolIndicator} \newcommand{\SurfaceEnv}{\SymbolEnvModifier{\Surface}} \newcommand{\SurfaceCAD}{\SurfaceRelatedTo{\SymbolCAD}} \newcommand{\SurfaceCADModified}{\SurfaceRelatedTo{\SymbolCADModified}} \newcommand{\SurfaceMesh}{\SurfaceRelatedTo{\Partition}} \newcommand{\SurfaceUspline}{\SurfaceRelatedTo{\MeshUspline}} \newcommand{\SurfaceWildCard}{\Surface^{\SymbolWildCard}} \newcommand{\dSurface}{\Differential[\Surface]} \newcommand{\CurveCAD}{\CurveRelatedTo{\SymbolCAD}} \newcommand{\CurveCADModified}{\CurveRelatedTo{\SymbolCADModified}} \newcommand{\CurveMesh}{\CurveRelatedTo{\Partition}} \newcommand{\CurveUspline}{\CurveRelatedTo{\MeshUspline}} \newcommand{\dCurve}{\Differential[\Curve]} \newcommand{\PointCAD}{\PointRelatedTo{\SymbolCAD}} \newcommand{\PointCADModified}{\PointRelatedTo{\SymbolCADModified}} \newcommand{\PointUspline}{\PointRelatedTo{\MeshUspline}} \newcommand{\Segment}[1]{\QuantityChildOf{#1}{\SymbolSegment}} \newcommand{\SegmentOfVolumeEnv}{\Segment{\VolumeEnv}} \newcommand{\SegmentOfSurface}{\Segment{\Surface}} \newcommand{\Hex}{\Segment{}_{h}} \newcommand{\Tet}{\Segment{}_{t}} \newcommand{\SegmentParamDomain}[1]{\QuantityRelatedTo{\ParamDomain}{#1}} \newcommand{\SegmentParamDomainOfVolumeEnv}{\QuantityRelatedTo{\ParamDomain}{\Segment{\VolumeEnv}}} \newcommand{\SegmentParamDomainOfSurface}{\QuantityRelatedTo{\ParamDomain}{\Segment{\Surface}}} \newcommand{\SegmentSet}{\SymbolSegmentSet} \newcommand{\SegmentSetFunctionOf}[1]{\QuantityFunctionOf{\SegmentSet}{#1}} \newcommand{\SegmentSetOutside}{\SegmentSet^{\SymbolOutside}} \newcommand{\SegmentSetInside}{\SegmentSet^{\SymbolInside}} \newcommand{\SegmentSetHybrid}{\SegmentSet^{\SymbolHybrid}} \newcommand{\PartitionFunctionOf}[1]{\QuantityFunctionOf{\Partition}{#1}} \newcommand{\PartitionBezierExtraction}[1]{\QuantityFunctionOf{\SymbolPartition^{B}}{#1}} \newcommand{\PartitionTessellation}[1]{\QuantityFunctionOf{\SymbolPartition^{T}}{#1}} \newcommand{\PartitionTessellationOfUspline}{\PartitionTessellation{\MeshUspline}} \newcommand{\PartitionTessellationMap}[2]{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldCoeff}{\SymbolManifoldCoeff} \newcommand{\ManifoldCoeffUpper}{\SymbolManifoldCoeffUpper} \newcommand{\ManifoldCoeffUspline}{\QuantityRelatedTo{\SymbolManifoldCoeffUspline}{\MeshUspline}} \newcommand{\ManifoldCoeffBernstein}{\QuantityRelatedTo{\SymbolManifoldCoeffBernstein}{\MeshBezier}} \newcommand{\ManifoldCoeffVec}{\Vec{\SymbolManifoldCoeff}} \newcommand{\ManifoldCoeffVecUspline}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUspline}}{\MeshUspline}} \newcommand{\ManifoldCoeffVecBernstein}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernstein}}{\MeshBezier}} \newcommand{\ManifoldCoeffSet}{\Set{\SymbolManifoldCoeff}} \newcommand{\ManifoldCoeffSetUspline}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUspline}}{\MeshUspline}} \newcommand{\ManifoldCoeffSetBernstein}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernstein}}{\MeshBezier}} \newcommand{\ManifoldCoeffsVec}{\Vec{\ManifoldCoeffUpper}} \newcommand{\ManifoldCoeffsVecUspline}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUsplineUpper}}{\MeshUspline}} \newcommand{\ManifoldCoeffsVecBernstein}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\MeshBezier}} \newcommand{\ManifoldCoeffsVecCell}{\QuantityRelatedTo{\Vec{\ManifoldCoeffUpper}}{\Cell}} \newcommand{\ManifoldCoeffsVecUsplineCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUsplineUpper}}{\QCO{\MeshUspline}{\Cell}}} \newcommand{\ManifoldCoeffsVecBernsteinCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\MeshBezier}{\Cell}}} \newcommand{\ManifoldCoeffsVecSubmeshCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\Submesh}{\Cell}}} \newcommand{\ManifoldCoeffsVecBernsteinSegmentOfVolumeEnv}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\SegmentOfVolumeEnv}} \newcommand{\ManifoldCoeffsSet}{\Set{\ManifoldCoeffUpper}} \newcommand{\ManifoldCoeffsSetUspline}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUsplineUpper}}{\MeshUspline}} \newcommand{\ManifoldCoeffsSetBernstein}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\MeshBezier}} \newcommand{\ManifoldCoeffsSetCell}{\QuantityRelatedTo{\Set{\ManifoldCoeffUpper}}{\Cell}} \newcommand{\ManifoldCoeffsSetUsplineCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUsplineUpper}}{\QCO{\MeshUspline}{\Cell}}} \newcommand{\ManifoldCoeffsSetBernsteinCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\MeshBezier}{\Cell}}} \newcommand{\ManifoldCoeffsSetSubmeshCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\Submesh}{\Cell}}} \newcommand{\ManifoldMap}[2]{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldTemporalMap}[2]{\QuantityRelatedTo{#2}{#1,\SymbolTime}} \newcommand{\ManifoldPartitionMap}{\ManifoldMap{\ParamDomainOnPartition}{\Manifold}} \newcommand{\ManifoldCADMap}{\ManifoldMap{\ParamDomainOnCAD}{\Manifold}} \newcommand{\ManifoldCADMapModified}{\ManifoldMap{\ParamDomainOnCADModified}{\Manifold}} \newcommand{\ManifoldBezierMap}{\ManifoldMap{\ParamDomainOnMeshBezier}{\Manifold}} \newcommand{\ManifoldUsplineMap}{\ManifoldMap{\ParamDomainOnMeshUspline}{\Manifold}} \newcommand{\VolumeEnvMap}{\ManifoldMap{\ParamDomainEnv}{\VolumeEnv}} \newcommand{\VolumeMap}{\ManifoldMap{\ParamDomain}{\Volume}} \newcommand{\SurfaceMap}{\ManifoldMap{\ParamDomainBdry}{\Surface}} \newcommand{\ManifoldMapDef}[2]{\FuncDef{\ManifoldMap{#1}{#2}}{#1}{#2}} \newcommand{\ManifoldMapInverseDef}[2]{\FuncDef{\Inverse{\ManifoldMap{#1}{#2}}}{#2}{#1}} \newcommand{\ManifoldTemporalMapDef}[2]{\FuncDef{\ManifoldTemporalMap{#1}{#2}}{#1\otimes\Reals_{+}}{#2}} \newcommand{\ManifoldPartitionMapDef}{\ManifoldMapDef{\ParamDomainOnPartition}{\Manifold}} \newcommand{\ManifoldBezierMapDef}{\ManifoldMapDef{\ParamDomainOnMeshBezier}{\Manifold}} \newcommand{\ManifoldUsplineMapDef}{\ManifoldMapDef{\ParamDomainOnMeshUspline}{\Manifold}} \newcommand{\VolumeEnvMapDef}{\ManifoldMapDef{\ParamDomainEnv}{\VolumeEnv}} \newcommand{\VolumeMapDef}{\ManifoldMapDef{\ParamDomain}{\Volume}} \newcommand{\SurfaceMapDef}{\ManifoldMapDef{\ParamDomainBdry}{\Surface}} \newcommand{\SurfaceToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\Surface}} \newcommand{\ManifoldCoordDetailed}[2]{\QCO{#1}{#2}} \newcommand{\ManifoldCoordVecDetailed}[2]{\QCO{#1}{\Vec{#2}}} \newcommand{\ManifoldCoord}{x} \newcommand{\ManifoldCoordVec}{\Vec{x}} \newcommand{\ManifoldPartitionMapCoord}{\ManifoldCoordDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldPartitionMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoord}{\ManifoldCoordDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\CovariantBasisSurfVec}{\Vec{\SymbolCovariantBasisSurf}} \newcommand{\CovariantBasisVolVec}{\Vec{\SymbolCovariantBasisVol}} \newcommand{\MetricComp}{\SymbolMetric} \newcommand{\MetricTen}{\Mat{\MetricComp}} \newcommand{\CurvatureComp}{\SymbolCurvature} \newcommand{\CurvatureTen}{\Mat{\CurvatureComp}} \newcommand{\CurvCoordIdOne}{\SymbolCurvCoordIdOne} \newcommand{\CurvCoordIdTwo}{\SymbolCurvCoordIdTwo} \newcommand{\CurvCoordIdThree}{\SymbolCurvCoordIdThree} \newcommand{\OrthogonalCoordTransform}{\Mat{\SymbolOrthogonalTransform}} \newcommand{\InversionPointTen}{\Vec{p}} \newcommand{\InversionPointComp}{p} \newcommand{\BoundingVolume}[1]{\QuantityFunctionOf{\Set{bv}}{#1}} \newcommand{\BoundingVolumeSet}[1]{\QuantityFunctionOf{\Set{BV}}{#1}} \newcommand{\BoundingVolumeTree}[1]{\QuantityFunctionOf{\Set{BVH}}{#1}} \newcommand{\AxisAlignedBoundingBox}[1]{\QuantityFunctionOf{\Set{AABB}}{#1}} \newcommand{\AABBCornerLower}{\Vec{c}^l} \newcommand{\AABBCornerLowerComp}{c^l} \newcommand{\AABBCornerUpper}{\Vec{c}^u} \newcommand{\AABBCornerUpperComp}{c^u} \newcommand{\LowerBound}[2]{B^l\left(#1,#2\right)} \newcommand{\UpperBound}[2]{B^u\left(#1,#2\right)} \newcommand{\UpperBoundValue}{U} \newcommand{\UpperBoundValueBV}{U^{\text{BV}}} \newcommand{\UpperBoundValuePoints}{U^{\text{point}}} \newcommand{\GapTolerance}{\varepsilon^{\text{gap}}} \newcommand{\NearestCells}[3][]{\Set{C}_{#1}\left(#2,#3\right)} \newcommand{\BVHNearestGeom}[3][]{c_{#1}\left(#2,#3\right)} \newcommand{\BVHGeomSetOfSets}{\Set{G}} \newcommand{\BVHTessPointSet}{\Set{P}} \newcommand{\BVHBVSet}{\Set{L}} \newcommand{\SimplexMap}[1]{\QuantityFunctionOf{\Mat{L}}{#1}} \newcommand{\ParamCoordVecTarget}{\ParamCoordVecSimple_0} \newcommand{\SpatialCoordVecTarget}{\SpatialCoordVec_0} \newcommand{\SpatialCoordVecToSegmentSetMap}{\SegmentSet^f} \newcommand{\SpatialCoordVecToParamCoordVecSetMap}{\Inverse{\widetilde{\ManifoldMap{\ParamDomainEnv}{\Surface}}}} \newcommand{\HessMatComp}{H} \newcommand{\HessMatTen}{\Mat{\HessMatComp}} \newcommand{\QuadraturePointEnv}[2]{\SymbolEnvModifier{\QuadraturePoint{#1}{#2}}} \newcommand{\QuadraturePoint}[2]{\SymbolQuadraturePoint_{#1}^{#2}} \newcommand{\QuadraturePointToElemIndexMap}[1]{\operatorname{qe}(#1)} \newcommand{\QuadratureWeightEnv}[2]{\SymbolEnvModifier{\QuadratureWeight{#1}{#2}}} \newcommand{\QuadratureWeight}[2]{\SymbolQuadratureWeight_{#1}^{#2}} \newcommand{\QuadratureSet}{\Set{\SymbolQuadratureSet}} \newcommand{\QuadratureSetInside}{\QuadratureSet^{\SymbolInside}} \newcommand{\QuadratureSetOutside}{\QuadratureSet^{\SymbolOutside}} \newcommand{\QuadratureSubdDepth}{k} \newcommand{\ClosestPointMap}[1]{\QuantityChildOf{#1}{\Vec{\SymbolClosestPointMap}}} \newcommand{\ClosestPointMapCAD}{\ClosestPointMap{\SymbolCAD}} \newcommand{\ClosestPointMapCADModified}{\ClosestPointMap{\SymbolCADModified}} \newcommand{\ProjectionInto}[1]{\QuantityRelatedTo{\SymbolProjection}{#1}} \newcommand{\ProjectionIntoBernsteinCell}{\ProjectionInto{\Cell}} \newcommand{\ProjectionIntoBernsteinElem}{\ProjectionInto{\Elem}} \newcommand{\ProjectionIntoMeshBezier}{\ProjectionInto{\MeshBezier}} \newcommand{\ProjectionIntoMeshUspline}{\ProjectionInto{\MeshUspline}} \newcommand{\LinearInterpolationOp}[1]{\QRT{\SymbolLinearInterpolation}{#1}} \newcommand{\Valence}{k} \newcommand{\ArbitraryVector}[1]{\QSB{v}{#1}} \newcommand{\RotationMatrix}[1]{R^{#1}} \newcommand{\RepVecSymbol}{u} \newcommand{\RepVec}[1]{\QSB{\RepVecSymbol}{#1}} \newcommand{\RepVecVec}{\Vec{\RepVecSymbol}} \newcommand{\AlignmentField}{\RepVecVec'} \newcommand{\BiharmonicEnergy}{\QSB{E}{B}} \newcommand{\PrescribedRepVec}[1]{\QSB{d}{#1}} \newcommand{\AlignmentParameter}{\lambda} \newcommand{\SingularityIndex}[1]{\QSB{\chi}{#1}} \newcommand{\AngularDefect}[1]{\QSB{K}{#1}} \newcommand{\ArbitraryAngle}{\theta} \newcommand{\ParallelTransport}[1]{\QSB{\varphi}{#1}} \newcommand{\MinusPiToPi}[1]{\lfloor #1 \rfloor} \newcommand{\AreaOperator}[1]{\QFO{\operatorname{area}}{#1}} \newcommand{\VectorAngle}[1]{\QFO{\operatorname{arg}}{#1}} \newcommand{\DistanceFunction}{\phi} \newcommand{\DistanceGradient}{X} \newcommand{\HeatField}{\eta} \newcommand{\RegionAtZeroDistance}{\gamma}$$\newcommand{\SymbolDisp}{u} \newcommand{\SymbolDispUpper}{U} \newcommand{\SymbolVelocity}{v} \newcommand{\SymbolVelocityUpper}{V} \newcommand{\SymbolAcceleration}{a} \newcommand{\SymbolAccelerationUpper}{A} \newcommand{\SymbolMass}{M} \newcommand{\SymbolLength}{L} \newcommand{\SymbolArea}{A} \newcommand{\SymbolConstraint}{g} \newcommand{\SymbolConstraintUpper}{G} \newcommand{\SymbolPenalty}{\varepsilon} \newcommand{\SymbolLagrangeMultRef}{\Lambda} \newcommand{\SymbolLagrangeMultCurr}{\lambda} \newcommand{\SymbolFict}{f} \newcommand{\SymbolTracForce}{h} \newcommand{\SymbolTracForceUpper}{H} \newcommand{\SymbolBodyForce}{b} \newcommand{\SymbolBodyForceUpper}{B} \newcommand{\SymbolVolumeRef}{\SymbolVolumeUpper} \newcommand{\SymbolSurfaceRef}{\SymbolSurfaceUpper} \newcommand{\SymbolCurveRef}{\SymbolCurveUpper} \newcommand{\SymbolPointRef}{\SymbolPointUpper} \newcommand{\SymbolVolumeCurr}{\SymbolVolume} \newcommand{\SymbolSurfaceCurr}{\SymbolSurface} \newcommand{\SymbolCurveCurr}{\SymbolCurve} \newcommand{\SymbolPointCurr}{\SymbolPoint} \newcommand{\SymbolDeformGradInc}{f} \newcommand{\SymbolDeformGrad}{F} \newcommand{\SymbolStrainGreenLagrange}{E} \newcommand{\SymbolDeformCauchyGreenLeft}{b} \newcommand{\SymbolDeformCauchyGreenRight}{C} \newcommand{\SymbolStrainDisp}{B} \newcommand{\SymbolStrainSymGrad}{\epsilon} \newcommand{\SymbolStrainPlasticEquiv}{\alpha} \newcommand{\SymbolHardeningPlastic}{k} \newcommand{\SymbolYieldFunction}{f} \newcommand{\SymbolConsistencyParameterPlastic}{\gamma} \newcommand{\SymbolPlasticModuliScaling}{\beta} \newcommand{\SymbolYieldSurfaceNormal}{n} \newcommand{\SymbolEnergy}{\Pi} \newcommand{\SymbolEnergyDensityStrain}{\Psi} \newcommand{\SymbolEnergyDensityStrainVol}{U} \newcommand{\SymbolResidual}{R} \newcommand{\SymbolForce}{F} \newcommand{\SymbolStiffness}{K} \newcommand{\SymbolSolution}{d} \newcommand{\ParamDomainBdryDisp}{\ParamDomainBdry^{\SymbolDisp}} \newcommand{\ParamDomainBdryTrac}{\ParamDomainBdry^{\SymbolTracForce}} \newcommand{\VolumeEnvRef}{\Set{\SymbolEnvModifier{\SymbolVolumeRef}}} \newcommand{\VolumeRef}{\Set{\SymbolVolumeRef}} \newcommand{\VolumeRefClosure}{\overline{\VolumeRef}} \newcommand{\VolumeRefFict}{\VolumeEnvRef\setminus\VolumeRef} \newcommand{\dVolumeRef}{\Differential[\VolumeRef]} \newcommand{\VolumeIndicatorDef}{\FuncDef{\VolumeIndicator_{\PenaltyStiffness}}{\VolumeEnvRef}{\Reals_+}} \newcommand{\SurfaceEnvRef}{\Set{\SymbolEnvModifier{\SymbolSurfaceRef}}} \newcommand{\SurfaceRef}{\Set{\SymbolSurfaceRef}} \newcommand{\SurfaceRefWildCard}{\SurfaceRef^{\SymbolWildCard}} \newcommand{\SurfaceRefDisp}{\SurfaceRef^{\SymbolDisp}} \newcommand{\SurfaceRefTrac}{\SurfaceRef^{\SymbolTracForce}} \newcommand{\SurfaceRefFict}{\SurfaceRef^{\SymbolFict}} \newcommand{\SurfaceRefDispExternal}{\SurfaceRefDisp\setminus\SurfaceRefFict} \newcommand{\SurfaceRefTracExternal}{\SurfaceRefTrac\setminus\SurfaceRefFict} \newcommand{\SurfaceRefFictTrac}{\SurfaceRefTrac\cap\SurfaceRefFict} \newcommand{\SurfaceRefFictDisp}{\SurfaceRefDisp\cap\SurfaceRefFict} \newcommand{\SurfaceRefFictExternal}{\SurfaceRefFict\setminus\SurfaceRef} \newcommand{\dSurfaceRef}{\Differential[\SurfaceRef]} \newcommand{\CurveRef}{\Set{\SymbolCurveRef}} \newcommand{\dCurveRef}{\Differential[\CurveRef]} \newcommand{\PointRef}{\Set{\SymbolPointRef}} \newcommand{\PointRefDisp}{\PointRef^{\SymbolDisp}} \newcommand{\PointRefTrac}{\PointRef^{\SymbolTracForce}} \newcommand{\dPointRef}{\Differential[\PointRef]} \newcommand{\dPointRefTrac}{\Differential[\PointRefTrac]} \newcommand{\RefCoord}[1]{\ManifoldCoordDetailed{#1}{X}} \newcommand{\RefCoordVec}[1]{\ManifoldCoordVecDetailed{#1}{X}} \newcommand{\VolumeEnvRefCoord}{\RefCoord{\VolumeEnvRef}} \newcommand{\VolumeEnvRefCoordVec}{\RefCoordVec{\VolumeEnvRef}} \newcommand{\VolumeRefCoord}{\RefCoord{\VolumeRef}} \newcommand{\VolumeRefCoordVec}{\RefCoordVec{\VolumeRef}} \newcommand{\SurfaceRefCoord}{\RefCoord{\SurfaceRef}} \newcommand{\SurfaceRefCoordVec}{\RefCoordVec{\SurfaceRef}} \newcommand{\SurfaceRefDispCoord}{\RefCoord{\SurfaceRefDisp}} \newcommand{\SurfaceRefDispCoordVec}{\RefCoordVec{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracCoord}{\RefCoord{\SurfaceRefTrac}} \newcommand{\SurfaceRefTracCoordVec}{\RefCoordVec{\SurfaceRefTrac}} \newcommand{\CurveRefCoord}{\RefCoord{\CurveRef}} \newcommand{\CurveRefCoordVec}{\RefCoordVec{\CurveRef}} \newcommand{\UsplineBasisFuncOverCurveRef}[1]{\UsplineBasisFuncDetailed{\CurveRef}{#1}} \newcommand{\UsplineBasisFuncOverSurfaceRefDisp}[1]{\UsplineBasisFuncDetailed{\SurfaceRefDisp}{#1}} \newcommand{\VolumeEnvCurr}{\Set{\SymbolEnvModifier{\SymbolVolumeCurr}}} \newcommand{\VolumeCurr}{\Set{\SymbolVolumeCurr}} \newcommand{\VolumeCurrClosure}{\overline{\VolumeCurr}} \newcommand{\dVolumeCurr}{\Differential[\VolumeCurr]} \newcommand{\SurfaceEnvCurr}{\Set{\SymbolEnvModifier{\SymbolSurfaceCurr}}} \newcommand{\SurfaceCurr}{\Set{\SymbolSurfaceCurr}} \newcommand{\SurfaceCurrDisp}{\SurfaceCurr^{\SymbolDisp}} \newcommand{\SurfaceCurrTrac}{\SurfaceCurr^{\SymbolTracForce}} \newcommand{\dSurfaceCurr}{\Differential[\SurfaceCurr]} \newcommand{\CurveCurr}{\Set{\SymbolCurveCurr}} \newcommand{\dCurveCurr}{\Differential[\CurveCurr]} \newcommand{\PointCurr}{\Set{\SymbolPointCurr}} \newcommand{\PointCurrDisp}{\PointCurr^{\SymbolDisp}} \newcommand{\PointCurrTrac}{\PointCurr^{\SymbolTracForce}} \newcommand{\dPointCurr}{\Differential[\PointCurr]} \newcommand{\CurrCoord}[1]{\ManifoldCoordDetailed{#1}{x}} \newcommand{\CurrCoordVec}[1]{\ManifoldCoordVecDetailed{#1}{x}} \newcommand{\VolumeEnvCurrCoord}{\CurrCoord{\VolumeEnvCurr}} \newcommand{\VolumeEnvCurrCoordVec}{\CurrCoordVec{\VolumeEnvCurr}} \newcommand{\VolumeCurrCoord}{\CurrCoord{\VolumeCurr}} \newcommand{\VolumeCurrCoordVec}{\CurrCoordVec{\VolumeCurr}} \newcommand{\SurfaceCurrCoord}{\CurrCoord{\SurfaceCurr}} \newcommand{\SurfaceCurrCoordVec}{\CurrCoordVec{\SurfaceCurr}} \newcommand{\SurfaceCurrDispCoord}{\CurrCoord{\SurfaceCurrDisp}} \newcommand{\SurfaceCurrDispCoordVec}{\CurrCoordVec{\SurfaceCurrDisp}} \newcommand{\SurfaceCurrTracCoord}{\CurrCoord{\SurfaceCurrTrac}} \newcommand{\SurfaceCurrTracCoordVec}{\CurrCoordVec{\SurfaceCurrTrac}} \newcommand{\CurveCurrCoord}{\CurrCoord{\CurveRef}} \newcommand{\CurveCurrCoordVec}{\CurrCoordVec{\CurveRef}} \newcommand{\VolumeEnvRefMap}{\ManifoldMap{\ParamDomainEnv}{\VolumeEnvRef}} \newcommand{\GenericGradOverVolumeEnvRefMap}[1]{\Grad{\VolumeEnvRefMap}{#1}} \newcommand{\VolumeRefMap}{\ManifoldMap{\ParamDomain}{\VolumeRef}} \newcommand{\GenericGradOverVolumeRefMap}[1]{\Grad{\VolumeRefMap}{#1}} \newcommand{\SurfaceRefDispMap}{\ManifoldMap{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMap}{\ManifoldMap{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\CurveRefMap}{\ManifoldMap{\ParamDomain}{\CurveRef}} \newcommand{\GenericGradOverCurveRefMap}[1]{\Grad{\CurveRefMap}{#1}} \newcommand{\VolumeEnvRefMapDef}{\ManifoldMapDef{\ParamDomainEnv}{\VolumeEnvRef}} \newcommand{\SurfaceRefDispMapDef}{\ManifoldMapDef{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMapDef}{\ManifoldMapDef{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\SurfaceRefToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRef}} \newcommand{\SurfaceRefDispToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRefTrac}} \newcommand{\CurveRefMapDef}{\ManifoldMapDef{\ParamDomain}{\CurveRef}} \newcommand{\GenericDeformMap}{\Vec{\varphi}} \newcommand{\VolumeEnvDeformMap}{\ManifoldMap{\VolumeEnvRef}{\VolumeEnvCurr}} \newcommand{\GenericGradOverVolumeEnvDeformMap}[1]{\Grad{\VolumeEnvDeformMap}{#1}} \newcommand{\VolumeDeformMap}{\ManifoldMap{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeDeformTemporalMap}{\ManifoldTemporalMap{\VolumeRef}{\VolumeCurr}} \newcommand{\GradVolumeDeformTemporalMap}{\GenericGradOverVolumeRefMap{\VolumeDeformTemporalMap}} \newcommand{\SurfaceDeformDispMap}{\ManifoldMap{\SurfaceRefDisp}{\SurfaceCurrDisp}} \newcommand{\SurfaceDeformTracMap}{\ManifoldMap{\SurfaceRefTrac}{\SurfaceCurrTrac}} \newcommand{\CurveDeformMap}{\ManifoldMap{\CurveRef}{\CurveCurr}} \newcommand{\CurveDeformTemporalMap}{\ManifoldTemporalMap{\CurveRef}{\CurveCurr}} \newcommand{\VolumeDeformMapDef}{\ManifoldMapDef{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeDeformTemporalMapDef}{\ManifoldTemporalMapDef{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeEnvDeformMapDef}{\ManifoldMapDef{\VolumeEnvRef}{\VolumeEnvCurr}} \newcommand{\CurveDeformMapDef}{\ManifoldMapDef{\CurveRef}{\CurveCurr}} \newcommand{\CurveDeformTemporalMapDef}{\ManifoldTemporalMapDef{\CurveRef}{\CurveCurr}} \newcommand{\DispTrialSpaceOverVolumeEnvRef}{\SpaceHilbert{U}(\VolumeEnvRef)} \newcommand{\DispTestSpaceOverVolumeEnvRef}{\delta \DispTrialSpaceOverVolumeEnvRef} \newcommand{\DispTrialSpaceOverVolumeRef}{\SpaceHilbert{U}(\VolumeRef)} \newcommand{\DispTestSpaceOverVolumeRef}{\delta \DispTrialSpaceOverVolumeRef} \newcommand{\DispTrialSpaceOverCurveRef}{\SpaceHilbert{U}(\CurveRef)} \newcommand{\DispTestSpaceOverCurveRef}{\delta \DispTrialSpaceOverCurveRef} \newcommand{\DispFieldRefComp}{\SymbolDispUpper} \newcommand{\DispFieldRefTen}{\Vec{\DispFieldRefComp}} \newcommand{\DispFieldCurrComp}{\SymbolDisp} \newcommand{\DispFieldCurrTen}{\Vec{\DispFieldCurrComp}} \newcommand{\VelFieldCurrTen}{\Vec{\SymbolVelocity}} \newcommand{\AccFieldCurrTen}{\Vec{\SymbolAcceleration}} \newcommand{\DeformGradComp}{\SymbolDeformGrad} \newcommand{\DeformGradTen}{\Mat{\DeformGradComp}} \newcommand{\DeformGradDet}{\Det{\DeformGradTen}} \newcommand{\KinematicElast}{e} \newcommand{\KinematicPlast}{p} \newcommand{\DivVolumeEnvRef}[1]{\Div{\VolumeEnvRefCoordVec}{#1}} \newcommand{\DivVolumeEnvCurr}[1]{\Div{\VolumeEnvCurrCoordVec}{#1}} \newcommand{\DeformGradIncComp}{\SymbolDeformGradInc} \newcommand{\DeformGradIncTen}{\Mat{\DeformGradIncComp}} \newcommand{\DeformGradIncDevComp}{\bar{\SymbolDeformGradInc}} \newcommand{\DeformGradIncDevTen}{\bar{\Mat{\DeformGradIncComp}}} \newcommand{\JAsDeformGradDet}{J} \newcommand{\StretchTen}{\Mat{V}} \newcommand{\StrainGreenLagrangeComp}{\SymbolStrainGreenLagrange} \newcommand{\StrainGreenLagrangeTen}{\Mat{\StrainGreenLagrangeComp}} \newcommand{\StrainGreenLagrangeVoigt}{\tilde{\StrainGreenLagrangeTen}} \newcommand{\DeformCauchyGreenRightComp}{\SymbolDeformCauchyGreenRight} \newcommand{\DeformCauchyGreenRightTen}{\Mat{\DeformCauchyGreenRightComp}} \newcommand{\DeformCauchyGreenLeftComp}{\SymbolDeformCauchyGreenLeft} \newcommand{\DeformCauchyGreenLeftTen}{\Mat{\DeformCauchyGreenLeftComp}} \newcommand{\DeformCauchyGreenLeftDevComp}{\bar{\SymbolDeformCauchyGreenLeft}} \newcommand{\DeformCauchyGreenLeftDevTen}{\bar{\Mat{\DeformCauchyGreenLeftComp}}} \newcommand{\StrainSymGradComp}{\SymbolStrainSymGrad} \newcommand{\StrainSymGradTen}{\Mat{\StrainSymGradComp}} \newcommand{\StrainDispMat}{\Mat{\SymbolStrainDisp}} \newcommand{\DeformCauchyGreenRightDevComp}{\bar{\SymbolDeformCauchyGreenRight}} \newcommand{\DeformCauchyGreenRightDevTen}{\bar{\Mat{\DeformCauchyGreenRightComp}}} \newcommand{\KinematicElastoplast}{{\rm ep}} \newcommand{\Trial}{{\rm trial}} \newcommand{\DeformCauchyGreenLeftElasticTenDef}{\DeformCauchyGreenLeftTen^\KinematicElast \DefEq \DeformGradTen^\KinematicElast \DeformGradTen^{\KinematicElast T}} \newcommand{\DeformCauchyGreenLeftElasticDevTenDef}{{\DeformCauchyGreenLeftDevTen}^\KinematicElast \DefEq {\JAsDeformGradDet}^{\KinematicElast-\frac{2}{3}} {\DeformCauchyGreenLeftTen}^\KinematicElast} \newcommand{\DeformCauchyGreenRightPlasticTenDef}{\DeformCauchyGreenRightTen^\KinematicPlast \DefEq \DeformGradTen^{\KinematicPlast T} \DeformGradTen^\KinematicPlast} \newcommand{\StrainPlasticEquiv}{\SymbolStrainPlasticEquiv} \newcommand{\ConsistencyParameterPlasticDiscrete}{\Delta \SymbolConsistencyParameterPlastic} \newcommand{\YieldSurfaceNormalComp}{\SymbolYieldSurfaceNormal} \newcommand{\YieldSurfaceNormalTen}{\Mat{\SymbolYieldSurfaceNormal}} \newcommand{\UnitNormalRefComp}{N} \newcommand{\UnitNormalRefTen}{\Vec{\UnitNormalRefComp}} \newcommand{\UnitNormalCurrComp}{\UnitNormalComp} \newcommand{\UnitNormalCurrTen}{\UnitNormal} \newcommand{\DispFieldOverVolumeEnvRefTenDef}{\FuncDef{\DispFieldRefTen}{\VolumeEnvRef}{\SpatialDomain}} \newcommand{\DispFieldOverVolumeEnvCurrTenDef}{\DispFieldCurrTen \DefEq \DispFieldRefTen \circ \Inverse{\VolumeEnvDeformMap}} \newcommand{\DispFieldOverVolumeRefTenDef}{\FuncDef{\DispFieldRefTen}{\VolumeRef}{\SpatialDomain}} \newcommand{\DispFieldOverVolumeRefTemporalTenDef}{\FuncDef{\DispFieldRefTen}{\VolumeRef\otimes\SymbolTime}{\SpatialDomain}} \newcommand{\DispFieldOverVolumeCurrTenDef}{\DispFieldCurrTen \DefEq \DispFieldRefTen \circ \Inverse{\VolumeDeformMap}} \newcommand{\DispFieldOverCurveRefTenDef}{\FuncDef{\DispFieldRefTen}{\CurveRef}{\SpatialDomain}} \newcommand{\DispFieldOverCurveRefTemporalTenDef}{\FuncDef{\DispFieldRefTen}{\CurveRef\otimes\SymbolTime}{\SpatialDomain}} \newcommand{\DeformGradOverVolumeRefTenDef}{\FuncDef{\DeformGradTen}{\VolumeRef}{\VolumeCurr}} \newcommand{\DeformGradOverCurveRefTenDef}{\FuncDef{\DeformGradTen}{\CurveRef}{\CurveCurr}} \newcommand{\StrainGreenLagrangeOverVolumeEnvRefTenDef}{\FuncDef{\StrainGreenLagrangeTen}{\VolumeEnvRef}{\VolumeEnvCurr}} \newcommand{\StrainGreenLagrangeOverVolumeRefTenDef}{\FuncDef{\StrainGreenLagrangeTen}{\VolumeRef}{\VolumeCurr}} \newcommand{\StrainGreenLagrangeOverCurveRefTenDef}{\FuncDef{\StrainGreenLagrangeTen}{\CurveRef}{\CurveCurr}} \newcommand{\DeformCauchyGreenLeftTenDef}{\DeformCauchyGreenLeftTen \DefEq \DeformGradTen \DeformGradTen^T} \newcommand{\DeformCauchyGreenLeftDevTenDef}{\DeformCauchyGreenLeftDevTen \DefEq \DeformGradDet^{-\frac{2}{3}} \DeformCauchyGreenLeftTen} \newcommand{\StressPKOneTen}{\Mat{P}} \newcommand{\StressPKTwoComp}{S} \newcommand{\StressPKTwoTen}{\Mat{\StressPKTwoComp}} \newcommand{\StressPKTwoVoigt}{\tilde{\StressPKTwoTen}} \newcommand{\StressCauchyComp}{\sigma} \newcommand{\StressCauchyTen}{\Mat{\sigma}} \newcommand{\StressCauchyVoigt}{\tilde{\StressCauchyTen}} \newcommand{\StressCauchyMean}{p} \newcommand{\StressCauchyYield}{\StressCauchyComp_Y} \newcommand{\StressKirchhoffComp}{\tau} \newcommand{\StressKirchhoffTen}{\Mat{\tau}} \newcommand{\StressKirchhoffVoigt}{\tilde{\StressKirchhoffTen}} \newcommand{\StressKirchhoffDevComp}{s} \newcommand{\StressKirchhoffDevTen}{\Mat{\StressKirchhoffDevComp}} \newcommand{\ModuliElastRefComp}{C} \newcommand{\ModuliElastRefTen}{\Mat{\ModuliElastRefComp}} \newcommand{\ModuliElastRefVoigt}{\tilde{\ModuliElastRefTen}} \newcommand{\ModuliElastCurrComp}{c} \newcommand{\ModuliElastCurrTen}{\Mat{\ModuliElastCurrComp}} \newcommand{\ModuliElastCurrVoigt}{\tilde{\ModuliElastCurrTen}} \newcommand{\MaterialYoungsModulus}{E} \newcommand{\MaterialPoissonsRatio}{\nu} \newcommand{\MaterialMassDensity}{\rho} \newcommand{\MaterialBulkModulus}{\kappa} \newcommand{\MaterialShearModulus}{\mu} \newcommand{\MaterialShearModulusDev}{\bar{\MaterialShearModulus}} \newcommand{\MaterialThermalExpansion}{\alpha_{\text{thermal}}} \newcommand{\Area}{\SymbolArea} \newcommand{\Length}{\SymbolLength} \newcommand{\Width}{b} \newcommand{\Height}{h} \newcommand{\PenaltyStiffness}{\SymbolPenalty_{\SymbolStiffness}} \newcommand{\PenaltyDisp}{\SymbolPenalty_{\SymbolDisp}} \newcommand{\BodyForceRefComp}{\SymbolBodyForceUpper} \newcommand{\BodyForceRefTen}{\Vec{\BodyForceRefComp}} \newcommand{\BodyForceCurrComp}{\SymbolBodyForce} \newcommand{\BodyForceCurrTen}{\Vec{\BodyForceCurrComp}} \newcommand{\TracForceRefComp}{\SymbolTracForceUpper} \newcommand{\TracForceRefTen}{\Vec{\TracForceRefComp}} \newcommand{\TracForceCurrComp}{\SymbolTracForce} \newcommand{\TracForceCurrTen}{\Vec{\TracForceCurrComp}} \newcommand{\Pressure}{p} \newcommand{\BodyForceOverVolumeEnvRefTenDef}{\FuncDef{\BodyForceRefTen}{\VolumeEnvRef}{\SpatialDomain}} \newcommand{\BodyForceOverVolumeEnvCurrTenDef}{\BodyForceCurrTen \DefEq \BodyForceRefTen \circ \Inverse{\VolumeEnvDeformMap}} \newcommand{\BodyForceOverCurveRefCompDef}{\FuncDef{\BodyForceRefComp}{\CurveRef}{\Reals}} \newcommand{\BodyForceOverCurveRefTenDef}{\FuncDef{\BodyForceRefTen}{\CurveRef}{\SpatialDomain}} \newcommand{\BodyForceOverCurveCurrCompDef}{\BodyForceCurrComp \DefEq \BodyForceRefComp \circ \Inverse{\CurveDeformMap}} \newcommand{\BodyForceOverCurveCurrTenDef}{\BodyForceCurrTen \DefEq \BodyForceRefTen \circ \Inverse{\CurveDeformMap}} \newcommand{\TracForceOverSurfaceRefTracTenDef}{\FuncDef{\TracForceRefTen}{\SurfaceRefTrac}{\SpatialDomain}} \newcommand{\TracForceOverSurfaceCurrTracTenDef}{\TracForceCurrTen \DefEq \TracForceRefTen \circ \Inverse{\SurfaceDeformTracMap}} \newcommand{\TracForceOverCurveRefCompDef}{\FuncDef{\TracForceRefComp}{\PointRefTrac}{\Reals}} \newcommand{\TracForceOverCurveRefTenDef}{\FuncDef{\TracForceRefTen}{\PointRefTrac}{\SpatialDomain}} \newcommand{\TracForceOverCurveCurrCompDef}{\TracForceCurrComp \DefEq \TracForceRefComp \circ \Inverse{\CurveDeformMap}} \newcommand{\TracForceOverCurveCurrTenDef}{\TracForceCurrTen \DefEq \TracForceRefTen \circ \Inverse{\CurveDeformMap}} \newcommand{\ConstraintRefTen}{\Vec{\SymbolConstraintUpper}} \newcommand{\LagrangeMultTestSpaceOverSurfaceRef}{\delta \LagrangeMultTrialSpaceOverSurfaceRef} \newcommand{\LagrangeMultTrialSpaceOverSurfaceRef}{\SpaceHilbert{L}(\SurfaceRefDisp)} \newcommand{\LagrangeMultRefComp}{\SymbolLagrangeMultRef} \newcommand{\LagrangeMultRefTen}{\Vec{\LagrangeMultRefComp}} \newcommand{\LagrangeMultCurrComp}{\SymbolLagrangeMultCurr} \newcommand{\LagrangeMultCurrTen}{\Vec{\LagrangeMultCurrComp}} \newcommand{\ConstraintOverSurfaceRefDispTenDef}{\FuncDef{\ConstraintRefTen}{\SurfaceRefDisp}{\SpatialDomain}} \newcommand{\LagrangeMultOverSurfaceCurrTenDef}{\LagrangeMultCurrTen \DefEq \LagrangeMultRefTen \circ \Inverse{\SurfaceDeformDispMap}} \newcommand{\Energy}{\SymbolEnergy} \newcommand{\EnergyElastic}[1]{\QFO{\Energy}{#1}} \newcommand{\EnergyElasticNoArg}{\QFONA{\Energy}} \newcommand{\EnergyEnv}{\SymbolEnvModifier{\Energy}} \newcommand{\EnergyInside}{\Energy^{\SymbolInside}} \newcommand{\EnergyOutside}{\Energy^{\SymbolOutside}} \newcommand{\EnergyConstraint}{\Energy^{\LagrangeMultCurrComp}} \newcommand{\EnergyDensityStrain}{\SymbolEnergyDensityStrain} \newcommand{\EnergyDensityStrainVol}{\SymbolEnergyDensityStrainVol} \newcommand{\EnergyDensityStrainDev}{\bar{\SymbolEnergyDensityStrain}} \newcommand{\EnergyInsideOverVolumeEnvRefDef}{\FuncDef{\EnergyInside}{\DispTrialSpaceOverVolumeEnvRef}{\Reals}} \newcommand{\EnergyOutsideOverVolumeEnvRefDef}{\FuncDef{\EnergyOutside}{\DispTrialSpaceOverVolumeEnvRef}{\Reals}} \newcommand{\EnergyConstraintOverVolumeEnvRefDef}{\FuncDef{\EnergyConstraint}{\DispTrialSpaceOverVolumeEnvRef\TensorProduct\LagrangeMultTrialSpaceOverSurfaceRef}{\Reals}} \newcommand{\EnergyDensityStrainOverVolumeEnvRefDef}{\FuncDef{\EnergyDensityStrain}{\VolumeEnvRef}{\Reals}} \newcommand{\ResidualComp}{\SymbolResidual} \newcommand{\ResidualVec}{\Vec{\ResidualComp}} \newcommand{\ForceVec}{\Vec{\SymbolForce}} \newcommand{\ForceInternalVec}{\ForceVec^{int}} \newcommand{\ForceExternalVec}{\ForceVec^{ext}} \newcommand{\ForceConstraintPenaltyVec}{\ForceVec^{\PenaltyDisp}} \newcommand{\ForceConstraintLagrangeVec}{\ForceVec^{\lambda1}} \newcommand{\ForceConstraintVec}{\ForceVec^{\lambda2}} \newcommand{\StiffnessMat}{\Mat{\SymbolStiffness}} \newcommand{\StiffnessMaterialMat}{\StiffnessMat^{m}} \newcommand{\StiffnessGeometricMat}{\StiffnessMat^{g}} \newcommand{\StiffnessPenaltyMat}{\StiffnessMat^{\PenaltyDisp}} \newcommand{\StiffnessLagrangeMat}{\StiffnessMat^{\LagrangeMultCurrComp}} \newcommand{\MassMat}{\Mat{\SymbolMass}} \newcommand{\LumpedMassMat}{\tilde{\MassMat}} \newcommand{\SolutionComp}{\SymbolSolution} \newcommand{\Solution}{\Vec{\SymbolSolution}} \newcommand{\SolutionDisp}{\Solution^{\DispFieldCurrComp}} \newcommand{\SolutionLagrange}{\Solution^{\LagrangeMultCurrComp}} \newcommand{\Flex}[1]{\mathcal{F}_{#1}} \newcommand{\FlexIt}{\mathcal{F}} \newcommand{\FlexFEA}{\Flex{\bar{0}}} \newcommand{\FlexFEAModified}{\Flex{0}} \newcommand{\FlexOne}{\Flex{1}} \newcommand{\FlexImmersed}{\Flex{\infty}} \newcommand{\FlexInfty}{\mathcal{F}{\infty}} \newcommand{\FlexSpectrum}{\overleftrightarrow{\mathcal{F}}} \newcommand{\FlexSpectrumId}{i} \newcommand{\TimeStep}{\Delta \SymbolTime} \newcommand{\SpectralRadius}{\rho_{\infty}}$$\newcommand{\SymbolPressureContact}{p} \newcommand{\SymbolContactGap}{g} \newcommand{\NumUsplineBasisFuncsS}{\Size{\UsplineBasisFuncSetOnMeshUspline^s}} \newcommand{\NumUsplineBasisFuncsM}{\Size{\UsplineBasisFuncSetOnMeshUspline^m}} \newcommand{\NumUsplineBasisFuncsG}{\Size{\UsplineBasisFuncSetOnMeshUspline^\alpha}} \newcommand{\NumUsplineBasisFuncsParamDomainBdryContactS}{\Size{\UsplineBasisFuncSetOnMeshUspline^{\ParamDomainBdryContactS}}} \newcommand{\NumUsplineBasisFuncsParamDomainBdryContactM}{\Size{\UsplineBasisFuncSetOnMeshUspline^{\ParamDomainBdryContactM}}} \newcommand{\NumUsplineBasisFuncsParamDomainBdryContactG}{\Size{\UsplineBasisFuncSetOnMeshUspline^{\ParamDomainBdryContactG}}} \newcommand{\ParamDomainEnvS}{\ParamDomainEnv^{s}} \newcommand{\ParamDomainEnvM}{\ParamDomainEnv^{m}} \newcommand{\ParamDomainEnvG}{\ParamDomainEnv^{\alpha}} \newcommand{\ParamDomainS}{\ParamDomain^{s}} \newcommand{\ParamDomainM}{\ParamDomain^{m}} \newcommand{\ParamDomainG}{\ParamDomain^\alpha} \newcommand{\ParamDomainClosureS}{\overline{\ParamDomain}^s} \newcommand{\ParamDomainClosureM}{\overline{\ParamDomain}^m} \newcommand{\ParamDomainClosureG}{\overline{\ParamDomain}^\alpha} \newcommand{\ParamDomainBdryG}{\ParamDomainBdry^\alpha} \newcommand{\ParamDomainBdryContactS}{\ParamDomainBdry^{c,s}} \newcommand{\ParamDomainBdryContactM}{\ParamDomainBdry^{c,m}} \newcommand{\ParamDomainBdryContactG}{\ParamDomainBdry^{c,\alpha}} \newcommand{\ParamDomainBdryTangentComp}{A} \newcommand{\ParamDomainBdryTangentTen}{\Mat{\ParamDomainBdryTangentComp}} \newcommand{\ParamDetJacobianS}{j^s} \newcommand{\ParamDomainGCoordVec}{\ParamCoordVecSimple^{\ParamDomainG}} \newcommand{\ParamDomainGCoord}{\ParamCoordSimple^{\ParamDomainG}} \newcommand{\ParamDomainEnvGCoordVec}{\ParamCoordVecSimple^{\ParamDomainEnvG}} \newcommand{\ParamDomainEnvGCoord}{\ParamCoordSimple^{\ParamDomainEnvG}} \newcommand{\ParamDomainEnvSCoordVec}{\ParamCoordVecSimple^{\ParamDomainEnvS}} \newcommand{\ParamDomainEnvSCoord}{\ParamCoordSimple^{\ParamDomainEnvS}} \newcommand{\ParamDomainEnvMCoordVec}{\ParamCoordVecSimple^{\ParamDomainEnvM}} \newcommand{\ParamDomainEnvMCoord}{\ParamCoordSimple^{\ParamDomainEnvM}} \newcommand{\ParamDomainBdryContactGCoordVec}{\ParamCoordVecSimple^{\ParamDomainBdryContactG}} \newcommand{\ParamDomainBdryContactGCoord}{\ParamCoordSimple^{\ParamDomainBdryContactG}} \newcommand{\ParamDomainBdryContactSCoordVec}{\ParamCoordVecSimple^{\ParamDomainBdryContactS}} \newcommand{\ParamDomainBdryContactSCoord}{\ParamCoordSimple^{\ParamDomainBdryContactS}} \newcommand{\ParamDomainBdryContactMCoordVec}{\ParamCoordVecSimple^{\ParamDomainBdryContactM}} \newcommand{\ParamDomainBdryContactMCoord}{\ParamCoordSimple^{\ParamDomainBdryContactM}} \newcommand{\SegmentParamDomainOfVolumeEnvRefS}{\QuantityRelatedTo{\ParamDomainEnvS}{\SegmentOfVolumeEnvRefS}} \newcommand{\SegmentParamDomainOfVolumeEnvRefM}{\QuantityRelatedTo{\ParamDomainEnvM}{\SegmentOfVolumeEnvRefM}} \newcommand{\SegmentParamDomainOfVolumeEnvCurrM}{\QuantityRelatedTo{\ParamDomainEnvM}{\SegmentOfVolumeEnvCurrM}} \newcommand{\SegmentParamDomainOfSurfaceCurrContactS}{\QuantityRelatedTo{\ParamDomainBdryContactS}{\SegmentOfSurfaceCurrContactS}} \newcommand{\SegmentParamDomainOfSurfaceRefContactM}{\QuantityRelatedTo{\ParamDomainBdryContactM}{\SegmentOfSurfaceRefContactM}} \newcommand{\SegmentParamDomainOfSurfaceCurrContactM}{\QuantityRelatedTo{\ParamDomainBdryContactM}{\SegmentOfSurfaceCurrContactM}} \newcommand{\UsplineBasisFuncS}{\UsplineBasisFunc^{s}} \newcommand{\UsplineBasisFuncM}{\UsplineBasisFunc^{m}} \newcommand{\UsplineBasisFuncG}{\UsplineBasisFunc^{\alpha}} \newcommand{\UsplineBasisFuncParamDomainBdryContactS}{\UsplineBasisFunc^{\ParamDomainBdryContactS}} \newcommand{\UsplineBasisFuncParamDomainBdryContactM}{\UsplineBasisFunc^{\ParamDomainBdryContactM}} \newcommand{\UsplineBasisFuncParamDomainBdryContactG}{\UsplineBasisFunc^{\ParamDomainBdryContactG}} \newcommand{\UsplineBasisSymmSecondOrderComp}{S} \newcommand{\UsplineBasisSymmSecondOrderTen}{\Mat{\UsplineBasisSymmSecondOrderComp}} \newcommand{\UsplineBasisSymmFourthOrderComp}{E} \newcommand{\UsplineBasisSymmSixthOrderComp}{Z} \newcommand{\VolumeEnvRefG}{\VolumeEnvRef^{\alpha}} \newcommand{\VolumeEnvRefS}{\VolumeEnvRef^{s}} \newcommand{\VolumeEnvRefM}{\VolumeEnvRef^{m}} \newcommand{\VolumeRefG}{\VolumeRef^{\alpha}} \newcommand{\VolumeRefS}{\VolumeRef^{s}} \newcommand{\VolumeRefM}{\VolumeRef^{m}} \newcommand{\VolumeRefClosureG}{\VolumeRefClosure^\alpha} \newcommand{\VolumeRefClosureS}{\VolumeRefClosure^s} \newcommand{\VolumeRefClosureM}{\VolumeRefClosure^m} \newcommand{\SurfaceRefG}{\SurfaceRef^\alpha} \newcommand{\SurfaceRefS}{\SurfaceRef^s} \newcommand{\SurfaceRefM}{\SurfaceRef^m} \newcommand{\SurfaceRefTracG}{\SurfaceRef^{\SymbolTracForce,\alpha}} \newcommand{\SurfaceRefDispG}{\SurfaceRef^{\SymbolDisp,\alpha}} \newcommand{\SurfaceRefContactG}{\SurfaceRef^{c,\alpha}} \newcommand{\SurfaceRefContactS}{\SurfaceRef^{c,s}} \newcommand{\SurfaceRefContactM}{\SurfaceRef^{c,m}} \newcommand{\VolumeEnvRefSCoordVec}{\RefCoordVec{\VolumeEnvRefS}} \newcommand{\VolumeEnvRefMCoordVec}{\RefCoordVec{\VolumeEnvRefM}} \newcommand{\VolumeEnvRefGCoordVec}{\RefCoordVec{\VolumeEnvRefG}} \newcommand{\VolumeRefGCoordVec}{\RefCoordVec{\VolumeRefG}} \newcommand{\SurfaceRefContactSCoord}{\RefCoord{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactSCoordVec}{\RefCoordVec{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactMCoord}{\RefCoord{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactMCoordVec}{\RefCoordVec{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactGCoord}{\RefCoord{\SurfaceRefContactG}} \newcommand{\SurfaceRefContactGCoordVec}{\RefCoordVec{\SurfaceRefContactG}} \newcommand{\SurfaceRefDispGCoordVec}{\RefCoordVec{\SurfaceRefDispG}} \newcommand{\SegmentOfVolumeEnvRefS}{\Segment{\VolumeEnvRefS}} \newcommand{\SegmentOfVolumeEnvRefM}{\Segment{\VolumeEnvRefM}} \newcommand{\SegmentOfSurfaceRefContactS}{\Segment{\SurfaceRefContactS}} \newcommand{\SegmentOfSurfaceRefContactM}{\Segment{\SurfaceRefContactM}} \newcommand{\VolumeEnvCurrG}{\VolumeEnvCurr^{\alpha}} \newcommand{\VolumeEnvCurrS}{\VolumeEnvCurr^{s}} \newcommand{\VolumeEnvCurrM}{\VolumeEnvCurr^{m}} \newcommand{\VolumeCurrG}{\VolumeCurr^{\alpha}} \newcommand{\VolumeCurrS}{\VolumeCurr^{s}} \newcommand{\VolumeCurrM}{\VolumeCurr^{m}} \newcommand{\VolumeCurrClosureG}{\VolumeCurrClosure^\alpha} \newcommand{\VolumeCurrClosureS}{\VolumeCurrClosure^s} \newcommand{\VolumeCurrClosureM}{\VolumeCurrClosure^m} \newcommand{\SurfaceCurrG}{\SurfaceCurr^\alpha} \newcommand{\SurfaceCurrS}{\SurfaceCurr^s} \newcommand{\SurfaceCurrM}{\SurfaceCurr^m} \newcommand{\SurfaceCurrContact}{\SurfaceCurr^{c}} \newcommand{\SurfaceCurrContactG}{\SurfaceCurr^{c,\alpha}} \newcommand{\SurfaceCurrContactS}{\SurfaceCurr^{c,s}} \newcommand{\SurfaceCurrContactM}{\SurfaceCurr^{c,m}} \newcommand{\VolumeEnvCurrSCoordVec}{\CurrCoordVec{\VolumeEnvCurrS}} \newcommand{\VolumeEnvCurrMCoordVec}{\CurrCoordVec{\VolumeEnvCurrM}} \newcommand{\VolumeEnvCurrGCoordVec}{\CurrCoordVec{\VolumeEnvCurrG}} \newcommand{\VolumeCurrGCoordVec}{\CurrCoordVec{\VolumeCurrG}} \newcommand{\SurfaceCurrContactSCoord}{\CurrCoord{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactSCoordVec}{\CurrCoordVec{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactMCoord}{\CurrCoord{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactMCoordVec}{\CurrCoordVec{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactGCoord}{\CurrCoord{\SurfaceCurrContactG}} \newcommand{\SurfaceCurrContactGCoordVec}{\CurrCoordVec{\SurfaceCurrContactG}} \newcommand{\SegmentOfVolumeEnvCurrS}{\Segment{\VolumeEnvCurrS}} \newcommand{\SegmentOfVolumeEnvCurrM}{\Segment{\VolumeEnvCurrM}} \newcommand{\SegmentOfSurfaceCurrContactS}{\Segment{\SurfaceCurrContactS}} \newcommand{\SegmentOfSurfaceCurrContactM}{\Segment{\SurfaceCurrContactM}} \newcommand{\VolumeEnvRefSMap}{\ManifoldMap{\ParamDomainEnvS}{\VolumeEnvRefS}} \newcommand{\VolumeEnvRefMMap}{\ManifoldMap{\ParamDomainEnvM}{\VolumeEnvRefM}} \newcommand{\VolumeEnvRefGMap}{\ManifoldMap{\ParamDomainEnvG}{\VolumeEnvRefG}} \newcommand{\VolumeEnvRefSMapInv}{\Inverse{\VolumeEnvRefSMap}} \newcommand{\VolumeEnvRefMMapInv}{\Inverse{\VolumeEnvRefMMap}} \newcommand{\VolumeEnvRefGMapInv}{\Inverse{\VolumeEnvRefGMap}} \newcommand{\VolumeRefClosureSMap}{\ManifoldMap{\ParamDomainClosureS}{\VolumeRefClosureS}} \newcommand{\VolumeRefClosureMMap}{\ManifoldMap{\ParamDomainClosureM}{\VolumeRefClosureM}} \newcommand{\VolumeRefClosureGMap}{\ManifoldMap{\ParamDomainClosureG}{\VolumeRefClosureG}} \newcommand{\VolumeRefSMap}{\ManifoldMap{\ParamDomainS}{\VolumeRefS}} \newcommand{\VolumeRefMMap}{\ManifoldMap{\ParamDomainM}{\VolumeRefM}} \newcommand{\VolumeRefGMap}{\ManifoldMap{\ParamDomainG}{\VolumeRefG}} \newcommand{\VolumeRefClosureGMapRestrictedToBoundary}{\ManifoldMap{\ParamDomainClosureG}{\VolumeRefClosureG}\Big|_{\ParamDomainBdryContactG}} \newcommand{\VolumeRefClosureMMapRestrictedToBoundary}{\ManifoldMap{\ParamDomainClosureM}{\VolumeRefClosureM}\Big|_{\ParamDomainBdryContactM}} \newcommand{\SurfaceRefContactSMap}{\ManifoldMap{\ParamDomainBdryContactS}{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactMMap}{\ManifoldMap{\ParamDomainBdryContactM}{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactGMap}{\ManifoldMap{\ParamDomainBdryContactG}{\SurfaceRefContactG}} \newcommand{\VolumeEnvRefGMapDef}{\ManifoldMapDef{\ParamDomainEnvG}{\VolumeEnvRefG}} \newcommand{\VolumeRefClosureGMapDef}{\ManifoldMapDef{\ParamDomainClosureG}{\VolumeRefClosureG}} \newcommand{\SurfaceRefContactSMapDef}{\ManifoldMapDef{\ParamDomainBdryContactS}{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactMMapDef}{\ManifoldMapDef{\ParamDomainBdryContactM}{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactGMapDef}{\ManifoldMapDef{\ParamDomainBdryContactG}{\SurfaceRefContactG}} \newcommand{\VolumeEnvCurrSMap}{\ManifoldMap{\ParamDomainEnvS}{\VolumeEnvCurrS}} \newcommand{\VolumeEnvCurrMMap}{\ManifoldMap{\ParamDomainEnvM}{\VolumeEnvCurrM}} \newcommand{\VolumeEnvCurrGMap}{\ManifoldMap{\ParamDomainEnvG}{\VolumeEnvCurrG}} \newcommand{\VolumeCurrClosureSMap}{\ManifoldMap{\ParamDomainClosureS}{\VolumeCurrClosureS}} \newcommand{\VolumeCurrClosureMMap}{\ManifoldMap{\ParamDomainClosureM}{\VolumeCurrClosureM}} \newcommand{\VolumeCurrClosureGMap}{\ManifoldMap{\ParamDomainClosureG}{\VolumeCurrClosureG}} \newcommand{\VolumeCurrSMap}{\ManifoldMap{\ParamDomainS}{\VolumeCurrS}} \newcommand{\VolumeCurrMMap}{\ManifoldMap{\ParamDomainM}{\VolumeCurrM}} \newcommand{\VolumeCurrGMap}{\ManifoldMap{\ParamDomainG}{\VolumeCurrG}} \newcommand{\VolumeCurrClosureGMapRestrictedToBoundary}{\ManifoldMap{\ParamDomainClosureG}{\VolumeCurrClosureG}\Big|_{\ParamDomainBdryContactG}} \newcommand{\SurfaceCurrContactSMap}{\ManifoldMap{\ParamDomainBdryContactS}{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactMMap}{\ManifoldMap{\ParamDomainBdryContactM}{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactGMap}{\ManifoldMap{\ParamDomainBdryContactG}{\SurfaceCurrContactG}} \newcommand{\VolumeEnvCurrGMapDef}{\ManifoldMapDef{\ParamDomainEnvG}{\VolumeEnvCurrG}} \newcommand{\VolumeCurrClosureGMapDef}{\ManifoldMapDef{\ParamDomainClosureG}{\VolumeCurrClosureG}} \newcommand{\SurfaceCurrContactSMapDef}{\ManifoldMapDef{\ParamDomainBdryContactS}{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactMMapDef}{\ManifoldMapDef{\ParamDomainBdryContactM}{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactGMapDef}{\ManifoldMapDef{\ParamDomainBdryContactG}{\SurfaceCurrContactG}} \newcommand{\VolumeEnvDeformSMap}{\ManifoldMap{\VolumeEnvRefS}{\VolumeEnvCurrS}} \newcommand{\VolumeEnvDeformMMap}{\ManifoldMap{\VolumeEnvRefM}{\VolumeEnvCurrM}} \newcommand{\VolumeEnvDeformGMap}{\ManifoldMap{\VolumeEnvRefG}{\VolumeEnvCurrG}} \newcommand{\VolumeDeformSMap}{\ManifoldMap{\VolumeRefClosureS}{\VolumeCurrClosureS}} \newcommand{\VolumeDeformMMap}{\ManifoldMap{\VolumeRefClosureM}{\VolumeCurrClosureM}} \newcommand{\VolumeDeformGMap}{\ManifoldMap{\VolumeRefClosureG}{\VolumeCurrClosureG}} \newcommand{\VolumeEnvDeformGMapDef}{\ManifoldMapDef{\VolumeEnvRefG}{\VolumeEnvCurrG}} \newcommand{\VolumeDeformGMapDef}{\ManifoldMapDef{\VolumeRefClosureG}{\VolumeCurrClosureG}} \newcommand{\DispTrialSpaceOverVolumeEnvRefS}{\SpaceHilbert{U}(\VolumeEnvRefS)} \newcommand{\DispTrialSpaceOverVolumeEnvRefM}{\SpaceHilbert{U}(\VolumeEnvRefM)} \newcommand{\DispTrialSpaceOverVolumeEnvRefSAndM}{\SpaceHilbert{U}(\VolumeEnvRefS, \VolumeEnvRefM)} \newcommand{\DispTrialSpaceOverVolumeEnvRefG}{\SpaceHilbert{U}(\VolumeEnvRefG)} \newcommand{\DispTrialSpaceOverVolumeRefS}{\SpaceHilbert{U}(\VolumeRefClosureS)} \newcommand{\DispTrialSpaceOverVolumeRefM}{\SpaceHilbert{U}(\VolumeRefClosureM)} \newcommand{\DispTrialSpaceOverVolumeRefSAndM}{\SpaceHilbert{U}(\VolumeRefClosureS, \VolumeRefClosureM)} \newcommand{\DispTrialSpaceOverVolumeRefG}{\SpaceHilbert{U}(\VolumeRefClosureG)} \newcommand{\DispTestSpaceOverVolumeEnvRefG}{\delta \DispTrialSpaceOverVolumeEnvRefG} \newcommand{\DispTestSpaceOverVolumeRefG}{\delta \DispTrialSpaceOverVolumeRefG} \newcommand{\DispFieldRefSComp}{\DispFieldRefComp^s} \newcommand{\DispFieldRefSTen}{\DispFieldRefTen^s} \newcommand{\DispFieldRefMComp}{\DispFieldRefComp^m} \newcommand{\DispFieldRefMTen}{\DispFieldRefTen^m} \newcommand{\DispFieldRefGTen}{\DispFieldRefTen^\alpha} \newcommand{\DispFieldDiscreteRefGTen}{\DispFieldRefTen^{h,\alpha}} \newcommand{\DispFieldOverVolumeEnvRefGTenDef}{\ManifoldMapDef{\VolumeEnvRefG}{\DispFieldRefGTen}} \newcommand{\DispFieldOverVolumeRefGTenDef}{\ManifoldMapDef{\VolumeRefClosureG}{\DispFieldRefGTen}} \newcommand{\GradVolumeRefG}[1]{\Grad{\RefCoordVec{\VolumeRefClosureG}}{#1}} \newcommand{\GradVolumeEnvRefS}[1]{\Grad{\VolumeEnvRefSCoordVec}{#1}} \newcommand{\GradVolumeEnvRefM}[1]{\Grad{\VolumeEnvRefMCoordVec}{#1}} \newcommand{\GradVolumeEnvRefG}[1]{\Grad{\VolumeEnvRefGCoordVec}{#1}} \newcommand{\DeformGradSComp}{\DeformGradComp^s} \newcommand{\DeformGradSTen}{\DeformGradTen^s} \newcommand{\DeformGradSDet}{\Det{\DeformGradSTen}} \newcommand{\DeformGradSInvTrans}{\InvTrans{\DeformGradSTen}} \newcommand{\DeformGradMComp}{\DeformGradComp^m} \newcommand{\DeformGradMTen}{\DeformGradTen^m} \newcommand{\DeformGradMDet}{\Det{\DeformGradMTen}} \newcommand{\DeformGradMInvTrans}{\InvTrans{\DeformGradMTen}} \newcommand{\DeformGradGTen}{\DeformGradTen^\alpha} \newcommand{\DeformGradOverVolumeEnvRefGTenDef}{\FuncDef{\DeformGradGTen}{\VolumeEnvRefG}{\VolumeEnvCurrG}} \newcommand{\DeformGradOverVolumeRefGTenDef}{\FuncDef{\DeformGradGTen}{\VolumeRefClosureG}{\VolumeCurrClosureG}} \newcommand{\UnitNormalRefSTen}{\UnitNormalRefTen^s} \newcommand{\UnitNormalRefMTen}{\UnitNormalRefTen^m} \newcommand{\UnitNormalCurrSComp}{\UnitNormalCurrComp^s} \newcommand{\UnitNormalCurrSTen}{\UnitNormalCurrTen^s} \newcommand{\UnitNormalCurrMComp}{\UnitNormalCurrComp^m} \newcommand{\UnitNormalCurrMTen}{\UnitNormalCurrTen^m} \newcommand{\AreaRatioS}{r^s} \newcommand{\AreaRatioM}{r^m} \newcommand{\ContraMTen}{\Mat{a}^m} \newcommand{\SymmProdInProjTan}{C} \newcommand{\ProdPBTanInvCurPBTanInv}{D} \newcommand{\ProdPBTanInvCurMetricInv}{M} \newcommand{\ProdPBTanInvCurMetricInvCurPBTanInv}{W} \newcommand{\PenaltyContactGap}{\SymbolPenalty_{\SymbolContactGap}} \newcommand{\BodyForceRefGTen}{\BodyForceRefTen^\alpha} \newcommand{\TracForceRefGTen}{\TracForceRefTen^\alpha} \newcommand{\BodyForceOverVolumeRefGDef}{\FuncDef{\BodyForceRefGTen}{\VolumeRefG}{\SpatialDomain}} \newcommand{\BodyForceOverVolumeEnvRefGDef}{\FuncDef{\BodyForceRefGTen}{\VolumeEnvRefG}{\SpatialDomain}} \newcommand{\TracForceOverSurfaceRefTracGTenDef}{\FuncDef{\TracForceRefGTen}{\SurfaceRefTracG}{\SpatialDomain}} \newcommand{\PressureContact}{\SymbolPressureContact} \newcommand{\PressureContactProjected}{\overline{\SymbolPressureContact}_{\UsplineBasisFuncId}} \newcommand{\CoeffPressureContact}{\SymbolPressureContact_{\UsplineBasisFuncId}} \newcommand{\PressureContactInterpolated}{\hat{\SymbolPressureContact}} \newcommand{\ConstraintRefGTen}{\ConstraintRefTen^\alpha} \newcommand{\GapContact}{\SymbolContactGap} \newcommand{\GapContactProjected}{\overline{\SymbolContactGap}_{\UsplineBasisFuncId}} \newcommand{\GapContactProjectedVariation}{\delta \GapContactProjected} \newcommand{\GapContactMortar}{\GapContact^{m}} \newcommand{\GapContactMortarProjected}{\overline{\GapContact}^{m}_{\UsplineBasisFuncId}} \newcommand{\CoeffGapContactMortar}{\GapContact^{m}_{\UsplineBasisFuncId}} \newcommand{\ConstraintOverSurfaceRefDispGTenDef}{\FuncDef{\ConstraintRefGTen}{\SurfaceRefDispG}{\SpatialDomain}} \newcommand{\EnergyEnvG}{\EnergyEnv^\alpha} \newcommand{\EnergyG}{\Energy^{\alpha}} \newcommand{\EnergyDensityStrainG}{\EnergyDensityStrain^\alpha} \newcommand{\EnergyConstraintG}{\Energy^{\SymbolDisp,\alpha}} \newcommand{\EnergyContact}{\Energy^c} \newcommand{\EnergyOverVolumeRefGDef}{\FuncDef{\EnergyG}{\DispTrialSpaceOverVolumeRefG}{\Reals}} \newcommand{\EnergyEnvOverVolumeEnvRefGDef}{\FuncDef{\EnergyEnvG}{\DispTrialSpaceOverVolumeEnvRefG}{\Reals}} \newcommand{\EnergyDensityStrainOverVolumeRefGDef}{\FuncDef{\EnergyDensityStrainG}{\VolumeRefG}{\Reals}} \newcommand{\EnergyDensityStrainOverVolumeEnvRefGDef}{\FuncDef{\EnergyDensityStrainG}{\VolumeEnvRefG}{\Reals}} \newcommand{\EnergyContactOverVolumeRefSAndMDef}{\FuncDef{\EnergyContact}{\DispTrialSpaceOverVolumeRefSAndM}{\Reals}} \newcommand{\EnergyContactOverVolumeEnvRefSAndMDef}{\FuncDef{\EnergyContact}{\DispTrialSpaceOverVolumeEnvRefSAndM}{\Reals}} \newcommand{\EnergyConstraintOverVolumeRefGDef}{\FuncDef{\EnergyConstraintG}{\DispTrialSpaceOverVolumeRefG}{\Reals}} \newcommand{\EnergyConstraintOverVolumeEnvRefGDef}{\FuncDef{\EnergyConstraintG}{\DispTrialSpaceOverVolumeEnvRefG}{\Reals}} \newcommand{\ResidualMat}{\Mat{N}} \newcommand{\ForceInternalContactVec}{\ForceVec^{c,int,n}} \newcommand{\ForceGapContact}{C^n} \newcommand{\StiffnessMatA}{\hat{\Mat{N}}} \newcommand{\StiffnessMatB}{\Mat{T}} \newcommand{\StiffnessMatC}{\Mat{D}} \newcommand{\StiffnessGeometricContact}{\StiffnessMat^{c,g,n}} \newcommand{\StiffnessContact}{\StiffnessMat^{c,n}} \newcommand{\ElemCount}[1]{\operatorname{count}{(#1)}} \newcommand{\ConvexHull}[1]{\operatorname{ch}{\left(#1\right)}} \newcommand{\Normal}[1]{\operatorname{N}{\left(#1\right)}} \newcommand{\NormalConvexHull}[1]{\Normal{\ConvexHull{#1}}} \newcommand{\DiscretePointSetS}{\Set{SP}} \newcommand{\DiscreteElemSetM}{\Set{ME}} \newcommand{\EnvBoundConMapM}{\operatorname{mc}} \newcommand{\EnvBoundConSetM}{\Set{MC}} \newcommand{\SpatialCoordVecToSegmentSetMapMSensor}{\operatorname{cs}} \newcommand{\SpatialCoordVecToSegmentSetMapMElem}{\operatorname{ce}} \newcommand{\SelfContactMap}{\operatorname{sc}} \newcommand{\ColSetS}{\Set{I}} \newcommand{\PairEnvMapBoundM}{\operatorname{cp}} \newcommand{\ApproximateProjectionCollision}[1]{\widetilde{\Projection}{#1}} \newcommand{\ImageSlaveEnv}{\bar{\ParamCoordVecSimple}^{\ParamDomainEnvM}} \newcommand{\ImageSlaveBound}{\bar{\ParamCoordVecSimple}^{\ParamDomainBdryContactM}} \newcommand{\ActiveSet}{\Set{A}} \newcommand{\DiscretePointSetM}{\Set{MP}} \newcommand{\MortarActiveSet}{\Set{A}^m} \newcommand{\PressureContactAnalytical}{p_a} \newcommand{\TipPressureContactAnalytical}{p_0} \newcommand{\ContactHalfWidth}{b}$$\newcommand{\MidGeometryModifier}[1]{\bar{#1}} \newcommand{\SymbolRotationGlobal}{\omega} \newcommand{\SkewMat}[1]{\Mat{s} \left( #1 \right)} \newcommand{\SkewMatInv}[1]{\Mat{s}^{-1} \left( #1 \right)} \newcommand{\Ident}{\Mat{I}} \newcommand{\Cartesian}{\Vec{e}} \newcommand{\ManifoldDim}{n} \newcommand{\LaminaSymbol}{l} \newcommand{\LaminaSymbolUpper}{L} \newcommand{\LaminaMetricSymbol}{j} \newcommand{\ShellMomentSymbol}{q} \newcommand{\DirectorBilinearFunc}[3]{\left(#2,#3\right)_{#1}} \newcommand{\RotObjectiveFunc}{s} \newcommand{\ParamConfig}{\Omega_\xi} \newcommand{\ParamConfigMid}{\Omega_\xi^m} \newcommand{\ParamConfigSec}{\Omega_\xi^s} \newcommand{\ParamConfigBound}{\Gamma_\xi} \newcommand{\ParamConfigMidBound}{\Gamma_\xi^m} \newcommand{\ParamConfigSecBound}{\Gamma_\xi^s} \newcommand{\ParamConfigMuBound}{\Gamma_\xi^\mu} \newcommand{\ParamConfigSigBound}{\Gamma_\xi^\sigma} \newcommand{\ParamConfigDirichMidBound}{\Gamma_\xi^g} \newcommand{\ParamConfigNeuMidBound}{\Gamma_\xi^h} \newcommand{\ParamConfigDirichBound}{\Gamma_\xi^\gamma} \newcommand{\ParamConfigNeuBound}{\Gamma_\xi^\eta} \newcommand{\ParaParam}[1]{\xi_{#1}} \newcommand{\ParaParamVec}{\boldsymbol{\xi}} \newcommand{\RefConfig}{\Omega_0} \newcommand{\RefConfigMid}{\Omega_0^m} \newcommand{\RefConfigSec}{\Omega_0^s} \newcommand{\SurfaceRefRot}{\SurfaceRef^{\SymbolRotationGlobal}} \newcommand{\RefConfigBound}{\Gamma_0} \newcommand{\RefConfigMidBound}{\Gamma_0^m} \newcommand{\RefConfigSecBound}{\Gamma_0^s} \newcommand{\RefConfigMuBound}{\Gamma_0^\mu} \newcommand{\RefConfigSigBound}{\Gamma_0^\sigma} \newcommand{\RefConfigDirichMidBound}{\Gamma_0^g} \newcommand{\RefConfigNeuMidBound}{\Gamma_0^h} \newcommand{\RefConfigDirichBound}{\Gamma_0^\gamma} \newcommand{\RefConfigNeuBound}{\Gamma_0^\eta} \newcommand{\RefMap}{\Vec{X}} \newcommand{\RefMid}{\MidGeometryModifier{\Vec{X}}} \newcommand{\RefDir}{\Vec{D}} \newcommand{\RefSectionPos}{\Vec{R}} \newcommand{\RefCovar}[1]{\Vec{G}_{#1}} \newcommand{\RefMidCovar}[1]{\MidGeometryModifier{\Vec{G}}_{#1}} \newcommand{\RefContra}[1]{\Vec{G}^{#1}} \newcommand{\RefMidContra}[1]{\MidGeometryModifier{\Vec{G}}^{#1}} \newcommand{\RefLamina}[1]{\Vec{L}_{#1}} \newcommand{\RefLaminaDual}[1]{\Vec{\LaminaSymbolUpper}^{#1}} \newcommand{\RefShellProjectedBasis}[1]{\Vec{P}_{#1}} \newcommand{\CurConfig}{\Omega} \newcommand{\CurConfigMid}{\Omega^m} \newcommand{\CurConfigSec}{\Omega^s} \newcommand{\CurConfigBound}{\Gamma} \newcommand{\CurConfigMidBound}{\Gamma^m} \newcommand{\CurConfigSecBound}{\Gamma^s} \newcommand{\CurConfigMuBound}{\Gamma^\mu} \newcommand{\CurConfigSigBound}{\Gamma^\sigma} \newcommand{\CurConfigDirichMidBound}{\Gamma^g} \newcommand{\CurConfigNeuMidBound}{\Gamma^h} \newcommand{\CurConfigDirichBound}{\Gamma^\gamma} \newcommand{\CurConfigNeuBound}{\Gamma^\eta} \newcommand{\CurMap}{\Vec{x}} \newcommand{\CurMid}{\MidGeometryModifier{\Vec{x}}} \newcommand{\CurDir}{\Vec{d}} \newcommand{\CurSectionPos}{\Vec{r}} \newcommand{\CurCovar}[1]{\Vec{g}_{#1}} \newcommand{\CurMidCovar}[1]{\MidGeometryModifier{\Vec{g}}_{#1}} \newcommand{\CurContra}[1]{\Vec{g}^{#1}} \newcommand{\CurMidContra}[1]{\MidGeometryModifier{\Vec{g}}^{#1}} \newcommand{\CurLamina}[1]{\Vec{\LaminaSymbol}_{#1}} \newcommand{\CurLaminaDual}[1]{\Vec{\LaminaSymbol}^{#1}} \newcommand{\CurModLamina}[1]{\hat{\Vec{\LaminaSymbol}}_{#1}} \newcommand{\CurModLaminaDual}[1]{\hat{\Vec{\LaminaSymbol}}^{#1}} \newcommand{\CurShellProjectedBasis}[1]{\Vec{p}_{#1}} \newcommand{\DeformMap}{\varphi} \newcommand{\DeformMapMid}{\varphi^m} \newcommand{\Disp}{\Vec{u}} \newcommand{\DispMid}{\MidGeometryModifier{\Vec{u}}} \newcommand{\RotVec}{\boldsymbol{\omega}} \newcommand{\RotMat}{\boldsymbol{\Lambda}} \newcommand{\RotMatMembrane}{\Mat{\Psi}} \newcommand{\RotMatDelta}{\boldsymbol{\Lambda}_\Delta} \newcommand{\IncRotMat}{\Delta\RotMat} \newcommand{\EulerVec}{\boldsymbol{\vartheta}} \newcommand{\EulerVecNorm}{\theta} \newcommand{\EulerVecSinc}{\boldsymbol{\Theta}} \newcommand{\EulerRotVec}{\boldsymbol{\theta}} \newcommand{\EulerRotAngle}{\theta} \newcommand{\IncEulerRotVec}{\Delta\boldsymbol{\theta}} \newcommand{\AngularVelocity}{\boldsymbol{\eta}} \newcommand{\IncEulerRotVecVel}{\Delta\dot{\boldsymbol{\theta}}} \newcommand{\AngularAcceleration}{\boldsymbol{\alpha}} \newcommand{\IncEulerRotVecAcc}{\Delta\ddot{\boldsymbol{\theta}}} \newcommand{\DeformGrad}{\Mat{F}} \newcommand{\Strain}[1]{\boldsymbol{\tau}_{#1}} \newcommand{\StrainMid}[1]{\boldsymbol{\varepsilon}_{#1}} \newcommand{\StrainCurve}[1]{\boldsymbol{\kappa}_{#1}} \newcommand{\DecompDeform}{\Mat{U}} \newcommand{\ExtraDeformTen}{\Delta\DeformGradTen} \newcommand{\ExtraDeformComp}{\Delta\DeformGradComp} \newcommand{\GreenLagrange}{\Mat{E}} \newcommand{\ShellStrainCurve}[1]{\boldsymbol{\chi}_{#1}} \newcommand{\SecPK}{\Mat{S}} \newcommand{\FirstPK}{\Mat{P}} \newcommand{\Cauchy}{\boldsymbol{\sigma}} \newcommand{\IntTrac}[1]{\Vec{t}_{#1}} \newcommand{\RefModuli}{\Mat{C}} \newcommand{\CurModuli}{\Mat{c}} \newcommand{\PointModuli}{\Mat{m}} \newcommand{\ResModuli}{\Mat{M}} \newcommand{\RefAreaVec}[1]{\Vec{A}_{#1}} \newcommand{\RefAreaMidVec}[1]{\MidGeometryModifier{\Vec{A}}_{#1}} \newcommand{\RefMeas}{G} \newcommand{\UnitNormalRefVec}[1]{\Vec{N}_{#1}} \newcommand{\CurAreaVec}[1]{\Vec{a}_{#1}} \newcommand{\CurAreaMidVec}[1]{\MidGeometryModifier{\Vec{a}}_{#1}} \newcommand{\CurMeas}{g} \newcommand{\UnitNormalCurrVec}[1]{\Vec{n}_{#1}} \newcommand{\CurLaminaMetricTen}{\Mat{\LaminaMetricSymbol}} \newcommand{\CurLaminaMetricComp}{\LaminaMetricSymbol} \newcommand{\CurToModLaminaTransComp}{M} \newcommand{\IntForce}{\Vec{f}^{\, int}} \newcommand{\IntMoment}{\Vec{m}^{int}} \newcommand{\ExtForceBody}{\Vec{f}^{\, ext}_b} \newcommand{\ExtMomentBody}{\Vec{m}^{ext}_b} \newcommand{\ShellExtMomentBody}{\Vec{\ShellMomentSymbol}^{ext}_b} \newcommand{\ExtForceTrac}{\Vec{f}^{\, ext}_h} \newcommand{\ExtMomentTrac}{\Vec{m}^{ext}_h} \newcommand{\ShellExtMomentTrac}{\Vec{\ShellMomentSymbol}^{ext}_h} \newcommand{\MassForce}{\Vec{f}^{\,\rho}} \newcommand{\MassMoment}{\Vec{m}^{\rho}} \newcommand{\ShellMassMoment}{\Vec{\ShellMomentSymbol}^{\rho}} \newcommand{\ResidualInternal}{\Vec{R}^{int}} \newcommand{\ResidualExternal}{\Vec{R}^{ext}} \newcommand{\ResidualMass}{\Mat{R}^{\rho}} \newcommand{\NodalMass}[1]{\Mat{M}_{#1}} \newcommand{\NodalLinearInertia}[1]{A_{#1}} \newcommand{\NodalAngularInertia}[1]{I_{#1}} \newcommand{\ShellDeltaAngle}{\phi} \newcommand{\BStrainMatrix}[2]{\Mat{B}_{#1#2}} \newcommand{\ShellDrillingStiffness}{k} \newcommand{\DrillConstraint}{C} \newcommand{\IntForceDrilling}{\Vec{f}^{d}} \newcommand{\ModuliDrilling}{\Mat{M}^d} \newcommand{\ResidualDrilling}{\Vec{R}^d} \newcommand{\SymbolTop}{top} \newcommand{\SymbolCentroid}{c} \newcommand{\SymbolLeverArm}{r} \newcommand{\SpatialCoordVecCentroid}{\SpatialCoordVec^{\SymbolCentroid}} \newcommand{\SpatialCoordCentroidX}{\SpatialCoordX^{\SymbolCentroid}} \newcommand{\SpatialCoordCentroidY}{\SpatialCoordY^{\SymbolCentroid}} \newcommand{\SpatialCoordCentroidZ}{\SpatialCoordZ^{\SymbolCentroid}} \newcommand{\LeverArm}{\Vec{\SymbolLeverArm}} \newcommand{\LeverArmX}{\SymbolLeverArm_{\SpatialCoordX}} \newcommand{\LeverArmY}{\SymbolLeverArm_{\SpatialCoordY}} \newcommand{\LeverArmZ}{\SymbolLeverArm_{\SpatialCoordZ}} \newcommand{\MomentFirstMass}{Q} \newcommand{\MomentSecondMass}{I} \newcommand{\MomentSecondMassDetailed}[1]{I_{#1}} \newcommand{\DistributedLoad}{q} \newcommand{\TracForceCurrCompX}{\TracForceCurrComp_{\SpatialCoordX}} \newcommand{\TracForceCurrCompY}{\TracForceCurrComp_{\SpatialCoordY}} \newcommand{\TracForceCurrCompZ}{\TracForceCurrComp_{\SpatialCoordZ}} \newcommand{\TracMomentCurrCompDetailed}[1]{\TracMomentCurrComp_{#1}} \newcommand{\TracForceCurrCompSupportReaction}{r^{\TracForceCurrComp}} \newcommand{\TracForceCurrCompSupportReactionDetailed}[1]{\TracForceCurrCompSupportReaction_{#1}} \newcommand{\TracForceCurrCompDistributedLoad}{\DistributedLoad^{\TracForceCurrComp}} \newcommand{\TracForceCurrCompPointLoad}{p^{\TracForceCurrComp}} \newcommand{\TracMomentCurrVec}{\Vec{\TracMomentCurrComp}} \newcommand{\TracMomentCurrComp}{m} \newcommand{\BodyForceCurrCompX}{\BodyForceCurrComp_{\SpatialCoordX}} \newcommand{\BodyForceCurrCompY}{\BodyForceCurrComp_{\SpatialCoordY}} \newcommand{\BodyForceCurrCompZ}{\BodyForceCurrComp_{\SpatialCoordZ}} \newcommand{\BodyForceCurrCompDistributedLoad}{\DistributedLoad^{\BodyForceCurrComp}} \newcommand{\BodyForceCurrCompAxialLoad}{f^{\BodyForceCurrComp}} \newcommand{\StressCauchyTractionVec}{\Vec{t}} \newcommand{\StressCauchyTractionX}{t_{\SpatialCoordX}} \newcommand{\StressCauchyTractionY}{t_{\SpatialCoordY}} \newcommand{\StressCauchyTractionZ}{t_{\SpatialCoordZ}} \newcommand{\StressCauchyNormal}{\sigma} \newcommand{\StressCauchyNormalDetailed}[1]{\StressCauchyNormal_{#1}} \newcommand{\StressCauchyNormalXX}{\StressCauchyComp_{\SpatialCoordX\SpatialCoordX}} \newcommand{\StressCauchyNormalYY}{\StressCauchyComp_{\SpatialCoordY\SpatialCoordY}} \newcommand{\StressCauchyNormalZZ}{\StressCauchyComp_{\SpatialCoordZ\SpatialCoordZ}} \newcommand{\StressCauchyShear}{\tau} \newcommand{\StressCauchyShearDetailed}[1]{\StressCauchyShear_{#1}} \newcommand{\StressCauchyShearXY}{\StressCauchyShear_{\SpatialCoordX\SpatialCoordY}} \newcommand{\StressCauchyShearYX}{\StressCauchyShear_{\SpatialCoordY\SpatialCoordX}} \newcommand{\StressCauchyShearXZ}{\StressCauchyShear_{\SpatialCoordX\SpatialCoordZ}} \newcommand{\StressCauchyShearZX}{\StressCauchyShear_{\SpatialCoordZ\SpatialCoordX}} \newcommand{\StressCauchyShearYZ}{\StressCauchyShear_{\SpatialCoordY\SpatialCoordZ}} \newcommand{\StressCauchyShearZY}{\StressCauchyShear_{\SpatialCoordZ\SpatialCoordY}} \newcommand{\StressCauchyResultantForce}{F} \newcommand{\StressCauchyResultantForceDetailed}[1]{F_{#1}} \newcommand{\StressCauchyResultantForceVec}{\Vec{\StressCauchyResultantForce}} \newcommand{\StressCauchyResultantMoment}{M} \newcommand{\StressCauchyResultantMomentDetailed}[1]{M_{#1}} \newcommand{\StressCauchyResultantMomentVec}{\Vec{\StressCauchyResultantMoment}} \newcommand{\StressCauchyResultantForceShear}{V} \newcommand{\StressCauchyResultantForceShearDetailed}[1]{V_{#1}} \newcommand{\StressCauchyResultantForceAxial}{\StressCauchyResultantForce} \newcommand{\DispFieldCurrCompX}{\DispFieldCurrComp_{\SpatialCoordX}} \newcommand{\DispFieldCurrCompY}{\DispFieldCurrComp_{\SpatialCoordY}} \newcommand{\DispFieldCurrCompZ}{\DispFieldCurrComp_{\SpatialCoordZ}} \newcommand{\DispFieldMidCurrCompX}{\overline{\DispFieldCurrComp}_{\SpatialCoordX}} \newcommand{\DispFieldMidCurrCompY}{\overline{\DispFieldCurrComp}_{\SpatialCoordY}} \newcommand{\StrainSymGradCompXX}{\StrainSymGradComp_{\SpatialCoordX\SpatialCoordX}} \newcommand{\StrainSymGradCompYY}{\StrainSymGradComp_{\SpatialCoordY\SpatialCoordY}} \newcommand{\StrainSymGradCompZZ}{\StrainSymGradComp_{\SpatialCoordZ\SpatialCoordZ}} \newcommand{\StrainShearComp}{\gamma} \newcommand{\StrainShearCompXY}{\StrainShearComp_{\SpatialCoordX\SpatialCoordY}} \newcommand{\StrainShearCompXZ}{\StrainShearComp_{\SpatialCoordX\SpatialCoordZ}} \newcommand{\StrainShearCompYZ}{\StrainShearComp_{\SpatialCoordY\SpatialCoordZ}} \newcommand{\EquationBeamShearStress}{\frac{\StressCauchyResultantForceShear \MomentFirstMass}{\MomentSecondMassDetailed{\SpatialCoordZ}\Width}} \newcommand{\EquationVecInCoords}{\Vec{v} = v_{\SpatialCoordX} \BasisVecI + v_{\SpatialCoordY} \BasisVecJ + v_{\SpatialCoordZ} \BasisVecK} \newcommand{\EquationMatVecMultiply}{\Mat{M}\Vec{v} = \begin{bmatrix} \DotProduct{\Vec{m}_1}{\Vec{v}} \\ \DotProduct{\Vec{m}_2}{\Vec{v}} \\ \DotProduct{\Vec{m}_3}{\Vec{v}} \end{bmatrix}} \newcommand{\EquationMatMatMultiply}{\Mat{M}\Mat{N} = \begin{bmatrix} \DotProduct{\Vec{m}_1}{\Mat{n}_1} & \DotProduct{\Vec{m}_1}{\Mat{n}_2} & \DotProduct{\Vec{m}_1}{\Mat{n}_3} \\ \DotProduct{\Vec{m}_2}{\Mat{n}_1} & \DotProduct{\Vec{m}_2}{\Mat{n}_2} & \DotProduct{\Vec{m}_2}{\Mat{n}_3} \\ \DotProduct{\Vec{m}_3}{\Mat{n}_1} & \DotProduct{\Vec{m}_3}{\Mat{n}_2} & \DotProduct{\Vec{m}_3}{\Mat{n}_3} \end{bmatrix}} \newcommand{\Force}{F} \newcommand{\ShearFlow}{f}$$\newcommand{\BaseSymbol}{b} \newcommand{\EmbeddedSymbol}{e} \newcommand{\RefinedSymbol}{r} \newcommand{\HierarchicalSymbol}{\textsf{H}} \newcommand{\BlockSymbol}{\textsf{B}} \newcommand{\BaseModifier}[1]{{#1}_{\BaseSymbol}} \newcommand{\EmbeddedModifier}[1]{{#1}_{\EmbeddedSymbol}} \newcommand{\RefinedModifier}[1]{{#1}_{\RefinedSymbol}} \newcommand{\HierarchicalModifier}[1]{{#1}_{\HierarchicalSymbol}} \newcommand{\BlockModifier}[1]{{#1}_{\BlockSymbol}} \newcommand{\RefinementLevelI}{i} \newcommand{\RefinementLevelJ}{j} \newcommand{\RefinementLevelK}{k} \newcommand{\HighestRefinementLevel}{N} \newcommand{\BaseParentDomain}{\BaseModifier{\ParentDomain}} \newcommand{\RefinedDomain}[1]{\ParamDomain_{#1}} \newcommand{\BaseMesh}{\BaseModifier{\MeshTopo}} \newcommand{\BaseBezierMesh}{\BaseModifier{\MeshBezier}} \newcommand{\EmbeddedMesh}{\EmbeddedModifier{\MeshTopo}} \newcommand{\RefinedMesh}{\RefinedModifier{\MeshTopo}} \newcommand{\RefinedBezierMesh}{\RefinedModifier{\MeshBezier}} \newcommand{\HierarchicalBezierMesh}{\HierarchicalModifier{\MeshBezier}} \newcommand{\HierarchicalUsplineMesh}{\HierarchicalModifier{\MeshUspline}} \newcommand{\RefinementLevelMesh}[1]{\MeshBezier_{#1}} \newcommand{\LeafElemSet}[1]{\Set{L}_{#1}} \newcommand{\ActiveElemSet}[1]{\Set{A}_{#1}} \newcommand{\ActiveBasisFuncs}[1]{\Set{UFA}_{#1}} \newcommand{\UnderRefinedBasisFuncs}[1]{\Set{UFU}_{#1}} \newcommand{\HierarchicalBasisFuncs}{\Set{UFH}} \newcommand{\TruncatedBasisFuncs}{\Set{UFT}} \newcommand{\FuncsTruncatedToLevel}[1]{\Set{TK}_{#1}} \newcommand{\FuncsTouchingActiveFuncs}[1]{\Set{T}_{#1}} \newcommand{\FuncsSubsetOfCoarserFuncs}[1]{\Set{S}_{#1}} \newcommand{\RefinementLevelBasis}[1]{\UsplineBasisFuncSetFunctionOf{\RefinementLevelMesh{#1}}} \newcommand{\RefinementLevelSpace}[1]{\QuantityRelatedTo{\UsplineSpace}{\RefinementLevelMesh{#1}}} \newcommand{\BaseAssociated}{\operatorname{\textsf{base}}} \newcommand{\BaseAssociatedFunctionOf}[1]{\QFO{\BaseAssociated}{#1}} \newcommand{\TruncationOp}[2]{\QFO{\operatorname{\textsf{trunc}}_{#1}}{#2}} \newcommand{\EmbeddedToBaseChart}{\EmbeddedModifier{\ParentDomainChart}} \newcommand{\InvEmbeddedToBaseChart}{(\EmbeddedToBaseChart)^{-1}} \newcommand{\RefinementCoefficients}{c^A_B} \newcommand{\RefinementMat}{\Mat{D}} \newcommand{\NthLevelProlongationMat}[1]{\QSB{\ProlongationMat}{#1}} \newcommand{\NthLevelActiveMat}[1]{\QSB{\Mat{A}}{#1}} \newcommand{\NthLevelRefinementMat}[1]{\QSB{\RefinementMat}{#1}} \newcommand{\NthLevelTruncationMat}[1]{\QSB{\Mat{T}}{#1}} \newcommand{\NthLevelBasisMat}[1]{\QSB{\Mat{S}}{#1}} \newcommand{\NthLevelMassMat}[1]{\QSB{\MassMat}{#1}} \newcommand{\FuncIndex}{\operatorname*{\mathsf{ID}}} \newcommand{\MultiLevelRefinementMat}[2]{\QSB{\RefinementMat}{#1 #2}} \newcommand{\BlockRefinementMat}{\BlockModifier{\RefinementMat}} \newcommand{\BlockMassMat}{\BlockModifier{\MassMat}}$

The purpose of geometry operations such as decomposition is to transform an unmeshable region into one or more meshable regions. However, even the operations suggested by the decomposition tool can degenerate into guesswork if they are not performed with a specific purpose in mind. Without a geometric goal to work toward, it can be difficult to recognize whether a particular operation will be useful.

Incorporated within the proposed ITEM environment are algorithms that are able to detect geometry that is nearly sweepable, but which are not fully sweepable due to some geometric feature or due to incompatible constraints between adjacent sections of geometry. By presenting potential sweeping configurations to the user, ITEM provides suggested goals to work towards, enabling the user to make informed decisions while preparing geometry for meshing.

Unlike the decomposition solutions presented in the previous section, the purpose of recognizing nearly sweepable regions is to show potential alternative source-target pairs for sweeping even when the autoscheme tool does not recognize the topology as strictly sweepable. When combined with the decomposition solutions and the forced sweepability capability described later, it provides the user with an additional powerful strategy for building a hexahedral mesh topology.

Diagnostics: In recognizing nearly sweepable regions, the diagnostic tool employed is once again the autoscheme tool described in [White, 00]. Volumes that do not meet the criteria defined for mapping or sweeping are presented to the user. The user may then select from these volume for which potential source-target pairs are computed.

Solutions: The current algorithm for determining possible sweep configurations is an extension of the autoscheme algorithm described in [White, 00]. Instead of rejecting a configuration which does not meet the required sweeping constraints, the sweep suggestion algorithm ignores certain sweeping roadblocks until it has identified a nearly feasible sweeping configuration. The suggestions are presented graphically, as seen in figure 522. In most cases, the source-target pairs presented by the sweep suggestion algorithm are not yet feasible for sweeping given the current topology. The user may use this information for further decomposition or to apply solutions identified by the forced sweepability capability described next. The sweep suggest algorithm also provides the user with alternative feasible sweep direction solutions as shown in figure 522. This is particularly useful when dealing with interconnected volumes where sweep directions are dependent on neighboring volumes.

Figure 522: (a) ITEM displays the source and target of a geometry that is nearly sweepable The region is not currently sweepable due to circular imprints on the side of the cylinder (b) Alternative feasible sweep directions are also computed.

##### 9.6.3.4Forced Sweepability

$\newcommand{\QuantityFunctionOf}[2]{{#1}(#2)} \newcommand{\QFO}[2]{\QuantityFunctionOf{#1}{#2}} \newcommand{\QuantityFunctionOfNoArg}[1]{{#1}} \newcommand{\QFONA}[1]{\QuantityFunctionOfNoArg{#1}} \newcommand{\SubscriptedQuantityFunctionOf}[3]{{#1}_{#2}(#3)} \newcommand{\SQFO}[3]{\SubscriptedQuantityFunctionOf{#1}{#2}{#3}} \newcommand{\QuantityChildOf}[2]{{#2}^{#1}} \newcommand{\QCO}[2]{\QuantityChildOf{#1}{#2}} \newcommand{\QuantityRelatedTo}[2]{{#1}[#2]} \newcommand{\QRT}[2]{\QuantityRelatedTo{#1}{#2}} \newcommand{\QuantitySubscriptedBy}[2]{{#1}_{#2}} \newcommand{\QSB}[2]{\QuantitySubscriptedBy{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOfChildOf}[4]{{#1}_{#2}^{#3}(#4)} \newcommand{\SQFOCO}[4]{\SubscriptedQuantityFunctionOfChildOf{#1}{#2}{#3}{#4}} \newcommand{\SubscriptedQuantityChildOf}[3]{{#1}_{#2}^{#3}} \newcommand{\SQCO}[3]{\SubscriptedQuantityChildOf{#1}{#2}{#3}} \newcommand{\overbar}[1]{\mkern 1.5mu\overline{\mkern-1.5mu#1\mkern-1.5mu}\mkern 1.5mu} \newcommand{\bcdot}{\boldsymbol{\cdot}} \newcommand{\SuchThat}{\, : \,} \newcommand{\SuchThatText}{\text{s.t.}} \newcommand{\DefEq}{\overset{\operatorname{def}}{=}} \newcommand{\True}{\textsf{True}} \newcommand{\False}{\textsf{False}} \newcommand{\ArrayRoster}[1]{\left[#1\right]} \newcommand{\ArrayRosterI}[2]{[#1]_{#2}} \newcommand{\ArrayEmpty}{\ArrayRoster{\hspace{1mm}}} \newcommand{\Tuple}[1]{\mathsf{#1}} \newcommand{\TupleRoster}[1]{\left(#1\right)} \newcommand{\PointPair}[2]{\TupleRoster{#1, #2}} \newcommand{\Set}[1]{\mathsf{#1}} \newcommand{\SetRoster}[1]{\left\{ #1 \right\}} \newcommand{\SetRosterIndexed}[3]{\SetRoster{#1}_{#2}^{#3}} \newcommand{\SetRosterPredicate}[2]{\SetRoster{#1 \SuchThat #2}} \newcommand{\SetEmpty}{\varnothing} \newcommand{\SetPower}[1]{\QuantityFunctionOf{\boldsymbol{\Set{P}}}{#1}} \newcommand{\SetNeighborhood}[1]{\QuantityFunctionOf{\boldsymbol{\Set{B}}}{#1}} \newcommand{\Domain}{\Omega} \newcommand{\DomainBdry}{\Gamma} \newcommand{\IntervalClosed}[2]{\left[#1, #2\right]} \newcommand{\IntervalOpen}[2]{\left(#1, #2\right)} \newcommand{\IntervalClosedOpen}[2]{\left[#1, #2\right)} \newcommand{\IntervalOpenClosed}[2]{\left(#1, #2\right]} \newcommand{\Reals}{\mathbb{R}} \newcommand{\Naturals}{\mathbb{N}} \newcommand{\Integers}{\mathbb{Z}} \newcommand{\Field}{\mathbb{F}} \newcommand{\Size}[1]{\left\lvert #1 \right\rvert} \newcommand{\Union}[3]{\bigcup\limits_{#1}^{#2} #3} \newcommand{\UnionInline}[3]{\bigcup_{#1}^{#2} #3} \newcommand{\Intersect}[3]{\bigcap\limits_{#1}^{#2} #3} \newcommand{\ElementWiseGreaterOrEqual}{\succeq} \newcommand{\ElemntWiseGreater}{\succ} \newcommand{\ElementWiseLessOrEqual}{\preceq} \newcommand{\ElementWiseLess}{\prec} \newcommand{\SpaceLinear}[1]{\mathnormal{#1}} \newcommand{\SpaceDual}[1]{\SpaceLinear{#1}^*} \newcommand{\AbsoluteValue}[1]{\Size{#1}} \newcommand{\Norm}[2]{\left\lVert #2 \right\rVert_{#1}} \newcommand{\NormAbstract}[1]{\Norm{}{#1}} \newcommand{\NormSemi}[1]{\Size{#1}} \newcommand{\SpaceLinearNormed}[1]{\left(\SpaceLinear{#1}, \NormAbstract{\bcdot} \right)} \newcommand{\SpaceBanach}[1]{\mathfrak{#1}} % normed and complete \newcommand{\SymmetricBilinear}[2]{\left(#1, #2\right)} \newcommand{\InnerProduct}[2]{\left\langle#1, #2\right\rangle} \newcommand{\DotProduct}[2]{\left(#1 \bcdot #2\right)} \newcommand{\SpaceInnerProduct}[1]{\left(\SpaceLinear{#1}, \InnerProduct{\bcdot}{\bcdot}\right)} \newcommand{\SpaceHilbert}[1]{\mathcal{#1}} \newcommand{\SpaceLTwo}{\SpaceHilbert{L}_2} \newcommand{\SpaceLTwoDef}[2]{\SpaceLTwo\left(#1; #2\right)} \newcommand{\SpaceLInfty}{\SpaceHilbert{L}_\infty} \newcommand{\SpaceLTwoWeighted}{\SpaceLTwo^w} \newcommand{\SpaceSobolevK}[1]{\SpaceHilbert{H}^{#1}} \newcommand{\SpaceSobolevKDef}[3]{\SpaceSobolevK{#1}\left(#2 ; #3\right)} \newcommand{\Cont}{\operatorname{cont}} \newcommand{\SpaceCont}{\SpaceHilbert{C}} \newcommand{\SpaceContDef}[2]{\SpaceCont\left(#1 ; #2\right)} \newcommand{\SpaceContK}[1]{\SpaceCont^{#1}} \newcommand{\SpaceContKDef}[3]{\SpaceContK{#1}\left(#2; #3\right)} \newcommand{\SpaceContZero}{\SpaceContK{0}} \newcommand{\SpaceContInf}{\SpaceContK{\infty}} \newcommand{\SpaceContInfDef}[2]{\SpaceContKDef{\infty}{#1}{#2}} \newcommand{\SpaceContKBounded}[2]{\SpaceContK{#1}_{#2}} \newcommand{\SpaceContKBoundedDef}[3]{\SpaceCont_{b}^{#1}\left(#2 ; #3\right)} \newcommand{\SpaceLinearOperator}[1]{\mathscr{#1}} \newcommand{\SpaceLinearOperatorDef}[2]{\SpaceLinearOperator{L}\left(#1 ; #2\right)} \newcommand{\SpaceLinearOperatorBoundedDef}[2]{\SpaceLinearOperator{B}\left(#1 ; #2\right)} \newcommand{\SpaceLinearN}[1]{\SpaceLinear{#1}^h} \newcommand{\SpaceHilbertN}[1]{\SpaceHilbert{#1}^h} \newcommand{\SpaceVecRealN}[1]{\Reals^{#1}} \newcommand{\SpacePoly}[1]{\SpaceHilbert{P}^{#1}} \newcommand{\SpaceMatrixRealMN}[2]{\Reals^{#1\times#2}} \newcommand{\SpacePolyDef}[3]{\SpacePoly{#1}\left(#2 ; #3\right)} \newcommand{\Func}[1][f]{#1} \newcommand{\FuncAlt}[1][g]{#1} \newcommand{\FuncDef}[3]{#1 \SuchThat #2 \rightarrow #3} \newcommand{\FuncApprox}[1]{#1^h} \newcommand{\LinearOperator}[1]{\SpaceLinearOperator{#1}} \newcommand{\LinearOperatorDef}[3]{\FuncDef{\LinearOperator{#1}}{#2}{#3}} \newcommand{\Functional}[1]{\LinearOperator{#1}} \newcommand{\Projection}{\Pi} \newcommand{\VectorProjection}[2]{\Projection_{#1} {\left(#2\right)}} \newcommand{\Mat}[1]{\boldsymbol{#1}} \newcommand{\MatIJ}[3]{\left[#1\right]_{#2#3}} \newcommand{\MatIdRow}{m} \newcommand{\MatIdCol}{n} \newcommand{\NonZeroIndices}{\operatorname{\mathsf{nzi}}} \newcommand{\ColumnSelector}{\operatorname{\mathrm{col}}} \newcommand{\RowSelector}{\operatorname{\mathrm{row}}} \newcommand{\ColOf}[1]{\ColumnSelector_{#1}} \newcommand{\RowOf}[1]{\RowSelector_{#1}} \newcommand{\DiagonalMatrix}[1]{\QFO{\operatorname*{diag}}{#1}} \newcommand{\Rotation}{\Mat{R}} \newcommand{\Identity}{\Mat{I}} \newcommand{\KroneckerDeltaComp}{\delta} \newcommand{\KroneckerDelta}{\Mat{\delta}} \newcommand{\LeviCivita}{\Mat{\epsilon}} \newcommand{\Jacobian}{\Mat{J}} \renewcommand{\Vec}[1]{\boldsymbol{#1}} \newcommand{\VecChildOf}[2]{\QCO{#2}{#1}} \newcommand{\VecI}[2]{\{#1\}_{#2}} \newcommand{\ZeroVec}{\Vec{0}} \newcommand{\OneVec}{\Vec{1}} \newcommand{\ZeroMat}{\Mat{0}} \newcommand{\UnitNormalComp}{n} \newcommand{\UnitNormal}{\Vec{\UnitNormalComp}} \newcommand{\MacBracket}[1]{\langle#1\rangle} \newcommand{\IdentityTenSym}{\mathbb{I}} \newcommand{\BraKet}[1]{\langle#1\rangle} \newcommand{\FuncObjective}[1]{\QFO{\Func}{#1}} \newcommand{\FuncEqualityConstraints}[1]{\QFO{\Func[\Vec{g}]}{#1}} \newcommand{\VarDesign}{\Vec{\phi}} \newcommand{\VarState}[1]{\QFO{\Vec{u}}{#1}} \newcommand{\FuncLagrangian}[1]{\QFO{\mathscr{L}}{#1}} \newcommand{\FuncAugmentedLagrangian}[1]{\QFO{\mathscr{L}_A}{#1}} \newcommand{\VecLambdaLM}[1]{\QFO{\Vec{\lambda}}{#1}} \newcommand{\LambdaLM}[1]{\QFO{\lambda}{#1}} \newcommand{\SolutionLocalOpt}[1]{\left(#1\right)^*} \newcommand{\ProximalPoint}{\overbar{\VecLambdaLM{}}} \newcommand{\PenaltyParameter}{\rho} \newcommand{\Slacify}[1]{\QSB{#1}{s}} \newcommand{\Prod}[2]{\prod\limits_{#1}^{#2}} \newcommand{\ProdInline}[2]{\prod_{#1}^{#2}} \newcommand{\TensorProduct}{\otimes} \newcommand{\Sum}[2]{\sum\limits_{#1}^{#2}} \newcommand{\SumInline}[2]{\sum_{#1}^{#2}} \newcommand{\Rank}[1]{\operatorname{rank}(#1)} \newcommand{\Nullity}[1]{\operatorname{null}(#1)} \newcommand{\Image}{\operatorname{image}} \newcommand{\Range}{\operatorname{range}} \newcommand{\Inverse}[1]{\left(#1\right)^{-1}} \newcommand{\inverse}[1]{\overline{#1}} \newcommand{\Transpose}[1]{\left(#1\right)^{T}} \newcommand{\TransposeSimple}[1]{#1^{T}} \newcommand{\InvTrans}[1]{\left(#1\right)^{-T}} \newcommand{\Complement}[1]{\overbar{#1}} \newcommand{\Adjoint}[1]{\left(#1\right)^*} \newcommand{\OrthogonalComplement}[1]{\left(#1\right)^\perp} \newcommand{\Det}[1]{\QFO{\operatorname{det}}{#1}} \newcommand{\DCT}{\operatorname{DCT}} \newcommand{\IDCT}{\operatorname{IDCT}} \newcommand{\RealPart}[1]{\QFO{\mathfrak{R}}{#1}} \newcommand{\Trace}[1]{\QFO{\operatorname{tr}}{#1}} \newcommand{\Dev}[1]{\QFO{\operatorname{dev}}{#1}} \newcommand{\DevDef}[1]{\Dev{#1} \DefEq #1 - \frac{1}{3}\Trace{#1}\Identity} \newcommand{\dual}[1]{{\bar{#1}}} \newcommand{\symind}[1]{\textsc{#1}} \newcommand{\symmetrizer}{{S}} \newcommand{\BasisFuncCoeff}[2]{\QSB{#1}{#2}} \newcommand{\BasisVec}[2]{\QSB{#1}{#2}} \newcommand{\BasisVecChildOf}[3]{\SQFOCO{#1}{#2}{#3}{a}} \newcommand{\OrthogonalBasisVec}[2]{\SQFOCO{#1}{#2}{\perp}{a}} \newcommand{\OrthonormalBasisVec}[2]{\SQFOCO{\overbar{#1}}{#2}{\perp}{a}} \newcommand{\PolynomialDegree}{p} \newcommand{\BasisFuncId}{i} \newcommand{\BasisFuncIdAlt}{j} \newcommand{\BasisFuncIdAltAlt}{k} \newcommand{\BasisFunc}[3]{\SQFO{#1}{#2}{#3}} \newcommand{\PowerBasisFunc}[2]{\QCO{#2}{#1}} \newcommand{\LagrangeBasisFunc}[3]{\SQFOCO{\Func[L]}{#1}{#2}{#3}} \newcommand{\LagrangeBasisFuncNoArg}[2]{\SQCO{\Func[L]}{#1}{#2}} \newcommand{\LegendreBasisFunc}[3]{\SQFOCO{\Func[P]}{#1}{#2}{#3}} \newcommand{\LegendreBasisFuncNoArg}[2]{\SQCO{\Func[P]}{#1}{#2}} \newcommand{\PreNormalizedLegendreBasisFunc}[3]{\hat{\LegendreBasisFunc{#1}{#2}{#3}}} \newcommand{\ChebyshevBasisFunc}[2]{\SQFO{\Func[T]}{#1}{#2}} \newcommand{\ChebyshevBasisFuncNoArg}[1]{\SQCO{\Func[T]}{#1}{}} \newcommand{\BasisVecI}{\Vec{i}} \newcommand{\BasisVecJ}{\Vec{j}} \newcommand{\BasisVecK}{\Vec{k}} \newcommand{\Span}{\operatorname{span}} \newcommand{\Dim}[1]{\operatorname{dim}\left({#1}\right)} \newcommand{\Support}[1]{\operatorname{supp}(#1)} \newcommand{\SupportPos}[1]{\operatorname{supp}_{+}(#1)} \newcommand{\SumBasis}[4]{\Sum{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\SumInlineBasis}[4]{\SumInline{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\BasisTransMatrix}[2]{\Mat{R}_{{#1}\rightarrow{#2}}} \newcommand{\ChebyshevZeros}[1]{\QSB{z}{#1}} \newcommand{\ChebyshevExtremizers}[1]{\QSB{t}{#1}} \newcommand{\BernToChebMat}{\Mat{T}} \newcommand{\Chebfun}[3]{\biggl(\, \sum_{#2=0}^{#1}{#3}_{#2}\ChebyshevBasisFuncNoArg{#2}\biggr)} \newcommand{\ChebfunVector}[1]{\left[#1\right]_c} \newcommand{\PowerBasisMat}[1]{\QCO{#1}{\Mat{M}}} \newcommand{\LagrangeBasisMat}[1]{\QCO{#1}{\Mat{L}}} \newcommand{\LegendreBasisMat}[1]{\QCO{#1}{\Mat{P}}} \newcommand{\BernsteinBasisMat}[1]{\QCO{#1}{\Mat{B}}} \newcommand{\ChebyshevBasisMat}[1]{\QCO{#1}{\Mat{T}}} \newcommand{\EvaluateTwoLimits}[3]{#1\biggr\rvert_{#2}^{#3}} \newcommand{\EvaluateOneLimit}[2]{\left.#1\right\rvert_{#2}} \newcommand{\Limit}[2]{\lim\limits_{#1\rightarrow #2}} \newcommand{\LimitInline}[2]{\lim_{#1\rightarrow #2}} \newcommand{\DNE}{\operatorname{DNE}} \newcommand{\TotalDeriv}{D} \newcommand{\LagrangeDeriv}[1]{{#1}'} \newcommand{\KthLagrangeDeriv}[2]{{#1}^{(#2)}} \newcommand{\LeibnizSubDeriv}[2]{{#1}_{,#2}} \newcommand{\LeibnizFracDeriv}[2]{\frac{d}{d#2} #1} \newcommand{\KthLeibnizFracDeriv}[3]{\frac{d^{#2}}{d#3^{#2}}\Func[#1](#3)} \newcommand{\KthLeibnizFracSpecificFunction}[3]{\frac{d^{#2}}{d#3^{#2}}\Func[#1]} \newcommand{\Differential}[1][x]{\, \operatorname{d}{#1}} \newcommand{\FrechetDeriv}[2]{D{#1}\left(#2\right)} \newcommand{\GateauxDirectionBold}[1]{\Vec{\delta}#1} \newcommand{\GateauxDirection}[1]{\delta #1} \newcommand{\GateauxDerivBold}[2]{D#1(#2; \GateauxDirectionBold{#2})} \newcommand{\GateauxDeriv}[2]{D#1(#2; \GateauxDirection{#2})} \newcommand{\GateauxDerivWithDirection}[3]{D#1\left(#2 \ ;\ #3\right)} \newcommand{\GateauxDerivPartial}[2]{\frac{\partial #1}{\partial #2}} \newcommand{\KthGateauxDerivPartial}[3]{\frac{\partial^{#3} #1}{\partial #2^{#3}}} \newcommand{\Grad}[2]{\boldsymbol{\nabla}^{#1} #2} \newcommand{\Jac}{\Mat{J}} \newcommand{\Div}[2]{\boldsymbol{\nabla}^{#1} \bcdot #2} \newcommand{\Laplace}[2]{\boldsymbol{\Delta}^{#1} #2} \newcommand{\TaylorSeries}[2]{\mathcal{T}\left[\Func[#1]\right](#2)} \newcommand{\TruncatedTaylorSeries}[3]{\mathcal{T}_{#1}\left[\Func[#2]\right]\left(#3\right)} \newcommand{\Int}[2]{\int\limits_{#1}^{#2}} \newcommand{\IntDomain}[1]{\int\limits_{#1}} \newcommand{\IntInline}[2]{\int_{#1}^{#2}} \newcommand{\IntDomainInline}[1]{\int_{#1}} \newcommand{\DetJacobian}{\Det{\Jac}} \newcommand{\BigO}[1]{\mathcal{O}\left(#1\right)} \newcommand{\Flops}{\operatorname{flops}} \newcommand{\Interpolant}[2]{\mathcal{#1}^{h}} \newcommand{\ErrorApproxComp}{e} \newcommand{\ErrorApproxTen}{\Vec{\ErrorApproxComp}} \newcommand{\ErrorNewton}{\epsilon} \newcommand{\ApproximateIntegrationError}[1]{\tilde{e}_{#1}} \newcommand{\AnalyticApproximateIntegrationErrorDifference}[1]{\overbar{e}_{#1}} \newcommand{\erf}[1]{\mathrm{erf}\left(#1\right)} \newcommand{\erfc}[1]{\mathrm{erfc}\left(#1\right)} \newcommand{\HeavisideFunc}[1]{\mathit{H}\left(#1\right)} \newcommand{\DiracDelta}[2]{\delta_{D}\left(#1 - #2\right)}$$\newcommand{\SymbolParentModifier}[1]{\overbar{#1}} \newcommand{\SymbolParamModifier}[1]{\hat{#1}} \newcommand{\SymbolSubmeshModifier}{} \newcommand{\SymbolDomain}{\Domain} \newcommand{\SymbolDomainBdry}{\DomainBdry} \newcommand{\SymbolBernstein}{B} \newcommand{\SymbolBasisUspline}{N} \newcommand{\SymbolUspline}{U} \newcommand{\SymbolUsplineLower}{u} \newcommand{\SymbolGrevillePoint}{g} \newcommand{\SymbolDim}{d} \newcommand{\SymbolArbitraryCoeffUspline}{c} \newcommand{\SymbolArbitraryCoeffUsplineAlt}{\beta} \newcommand{\SymbolArbitraryCoeffBernstein}{c} \newcommand{\SymbolDistance}{\operatorname{dist}} \newcommand{\AdjacencyId}{n} \newcommand{\DimId}{k} \newcommand{\DimIdAlt}{n} \newcommand{\ArbDim}{\DimId} \newcommand{\ArbDimAlt}{\DimIdAlt} \newcommand{\DimIdSet}{\Set{\DimId}} \newcommand{\DimIdOne}{\DimId_0} \newcommand{\DimIdTwo}{\DimId_1} \newcommand{\DimIdThree}{\DimId_2} \newcommand{\TopoAlpha}[1]{\alpha_{#1}} \newcommand{\TopoPhi}[1]{\phi_{#1}} \newcommand{\UTopology}{\mathsf{U}} \newcommand{\Map}[1]{\mathsf{#1}} \newcommand{\OMap}[1]{\mathsf{#1}} \newcommand{\UOMap}[1]{\UTopology(#1)} \newcommand{\Topology}{\mathsf{T}} \newcommand{\DartsOf}[1]{\operatorname*{\mathsf{D}}\left(#1\right)} \newcommand{\DartIndex}[1]{\operatorname*{\mathsf{ID}}\left(#1\right)} \newcommand{\OR}{\operatorname{OR}} \newcommand{\AND}{\operatorname{AND}} \newcommand{\XOR}{\operatorname{XOR}} \newcommand{\Decomp}{\operatorname{dec}} \newcommand{\ParentDomain}{\SymbolParentModifier{\SymbolDomain}} \newcommand{\ParentDomainChart}{\SymbolParentModifier{\Vec{\phi}}} \newcommand{\ParentDomainChartFunctionOf}[2]{\QuantityFunctionOf{{\ParentDomainChart}^{#1}}{#2}} \newcommand{\ParentDim}{\SymbolDim} \newcommand{\ParentCoord}{\xi} \newcommand{\ParentCoordVec}{\Vec{\ParentCoord}} \newcommand{\ParentS}{\ParentCoord_0} \newcommand{\ParentT}{\ParentCoord_1} \newcommand{\ParentU}{\ParentCoord_2} \newcommand{\ParentBarycentric}[1]{\ParentCoord_{#1}} \newcommand{\ParentGrevillePoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}} \newcommand{\ParentGrevillePointFunctionOf}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParentGrevillePointSet}[1]{\QuantityFunctionOf{\Set{\SymbolParentModifier{G}}}{#1}} \newcommand{\BernsteinBasisFuncId}{\BasisFuncId} \newcommand{\BernsteinBasisFuncIdAlt}{\BasisFuncIdAlt} \newcommand{\BernsteinBasisFuncIdAltAlt}{\BasisFuncIdAltAlt} \newcommand{\BernsteinBasisFuncIdB}{\BasisFuncIdAltAlt} \newcommand{\BernsteinBasisFuncIdOne}{\BernsteinBasisFuncId_0} \newcommand{\BernsteinBasisFuncIdTwo}{\BernsteinBasisFuncId_1} \newcommand{\BernsteinBasisFuncIdSet}{\Set{\BernsteinBasisFuncId}} \newcommand{\BernsteinBasisFuncIndexTuple}{\BernsteinBasisFuncIdSet} \newcommand{\BernsteinBasisFuncIndexTupleAlt}{\Set{\BernsteinBasisFuncIdAlt}} \newcommand{\BernsteinBasisFuncIndexTupleAltAlt}{\Set{\BernsteinBasisFuncIdAltAlt}} \newcommand{\BernsteinBasisFuncIndexTupleB}{\Set{\BernsteinBasisFuncIdB}} \newcommand{\BernsteinDegree}{\PolynomialDegree} \newcommand{\BernsteinDegreeAlt}{q} \newcommand{\BernsteinDegreeTuple}{\Tuple{\BernsteinDegree}} \newcommand{\BernsteinDegreeElevMatComp}{D} \newcommand{\BernsteinDegreeElevMat}{\Mat{\BernsteinDegreeElevMatComp}} \newcommand{\CompletePolynomial}[1]{\AbsoluteValue{#1}} \newcommand{\BernsteinBasisFunc}{\SymbolBernstein} \newcommand{\BernsteinBasisFuncVec}[1]{\QuantityChildOf{#1}{\Vec{\SymbolBernstein}}} \newcommand{\BernsteinBasisFuncVecFunctionOf}[2]{\QuantityFunctionOf{\BernsteinBasisFuncVec{#1}}{#2}} \newcommand{\BernsteinBasisFuncDetailed}[2]{\BernsteinBasisFunc_{#1}^{#2}} \newcommand{\BernFuncLowerDimCell}[2]{\BernsteinBasisFunc^{#1}_{#2}} \newcommand{\BernFuncInterf}[1]{\BernFuncLowerDimCell{\Interface}{#1}} \newcommand{\BernsteinSpace}{\SpaceHilbert{\SymbolBernstein}} \newcommand{\BernsteinRestriction}[2]{#1\vert_{#2}} \newcommand{\Bezier}{B\'ezier} \newcommand{\MeshTopo}{\boldsymbol{\textsf{M}}} \newcommand{\MeshSize}{h} \newcommand{\MeshBezier}{\boldsymbol{\textsf{B}}} \newcommand{\CellArbitrary}[1]{\Set{#1}} \newcommand{\Cell}{\CellArbitrary{c}} \newcommand{\CellAlpha}{\CellArbitrary{a}} \newcommand{\CellBeta}{\CellArbitrary{b}} \newcommand{\CellGamma}{\CellArbitrary{c}} \newcommand{\CellToTheLeft}{\CellAlpha} \newcommand{\CellToTheRight}{\CellBeta} \newcommand{\CellBoundary}[1]{\partial #1} \newcommand{\CellSet}[1]{\Set{C}^{#1}} \newcommand{\CellSetAdjacent}[1]{\Set{ADJ}^{#1}} \newcommand{\CellSetAdjacentFunctionOf}[2]{\QuantityFunctionOf{\CellSetAdjacent{#1}}{#2}} \newcommand{\NRing}[1]{\QuantitySubscriptedBy{\operatorname{ring}}{#1}} \newcommand{\NRingFunctionOf}[2]{\SQFO{\operatorname{ring}}{#1}{#2}} \newcommand{\CellSetCardinal}[1]{\QuantityFunctionOf{\Set{CRD}}{#1}} \newcommand{\CellSetSupport}[1]{\Support{#1}} \newcommand{\Elem}{\Set{E}} \newcommand{\Interface}{\Set{I}} \newcommand{\Smoothness}{\vartheta} \newcommand{\SmoothnessVar}{\rho} \newcommand{\SmoothnessSet}{\Set{\Smoothness}} \newcommand{\InterfaceSmoothness}[1]{\QuantityChildOf{#1}{\Smoothness}} \newcommand{\MaxPerpCont}[1]{\QuantityFunctionOf{\Smoothness^{\perp}_{\max}}{#1}} \newcommand{\Face}{\Set{f}} \newcommand{\Edge}{\Set{e}} \newcommand{\Vertex}{\Set{v}} \newcommand{\CodimTwoCell}{\Set{w}} \newcommand{\KCell}{\Cell^\ArbDim} \newcommand{\KPlusOneCell}{\Cell^{\ArbDim+1}} \newcommand{\KCellAlpha}{\CellAlpha^\ArbDim} \newcommand{\KPlusOneCellBeta}{\CellBeta^{\ArbDim+1}} \newcommand{\MaxParallelDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\max}}{#1}} \newcommand{\MinParallelDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\min}}{#1}} \newcommand{\MaxPerpDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\max}}{#1}} \newcommand{\MinPerpDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\min}}{#1}} \newcommand{\MinParallelPerpDegree}[2]{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\min}}{#1,#2}} \newcommand{\MaxParallelPerpDegree}[2]{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\max}}{#1,#2}} \newcommand{\DegreeParallel}{\BernsteinDegree^{\parallel}} \newcommand{\DegreeParallelToEdge}[2]{\DegreeParallel_{#1}(#2)} \newcommand{\DegreePerp}{\BernsteinDegree^{\perp}} \newcommand{\DegreePerpToInterface}[2]{\DegreePerp_{#1}(#2)} \newcommand{\DegreeTupleParallelToKCell}[2]{\Tuple{\BernsteinDegree}^{\parallel}_{#1}(#2)} \newcommand{\ChangeInDegree}[2]{\Delta(\BernsteinDegree)_{#1}^{#2}} \newcommand{\IndexSet}{\Set{ID}} \newcommand{\IndexSetFunctionOf}[1]{\QuantityFunctionOf{\IndexSet}{#1}} \newcommand{\CompositeBVUnionIndexSet}[1]{\QuantityFunctionOf{\Set{UID}}{#1}} \newcommand{\IndexSetPosCoeffs}[1]{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\IndexSetSet}{\boldsymbol{\IndexSet}} \newcommand{\IndexSetSetFunctionOf}[1]{\QuantityFunctionOf{\IndexSetSet}{#1}} \newcommand{\IndexSetOnMeshBezier}{\IndexSetFunctionOf{\MeshBezier}} \newcommand{\IndexOnCell}[2]{\QuantityChildOf{#1}{#2}} \newcommand{\IndexOnCellIJ}[3]{\QuantityChildOf{#1}{\TupleRoster{#2,#3}}} \newcommand{\CellFromQuantity}[1]{\QuantityFunctionOf{\operatorname{cell}}{#1}} \newcommand{\ExtractionOp}[1]{\QuantityChildOf{#1}{\Mat{C}}} \newcommand{\ExtractionOpFunctionOf}[2]{\QuantityFunctionOf{\ExtractionOp{#1}}{#2}} \newcommand{\ReconstructOp}[1]{\QuantityChildOf{#1}{\Mat{R}}} \newcommand{\ReconstructOpFunction}[2]{\QuantityFunctionOf{\ReconstructOp{#1}}{#2}} \newcommand{\Gramian}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{G}}{#2}}} \newcommand{\BernsteinSpaceOnMeshBezier}{\QCO{\MeshBezier}{\BernsteinSpace}} \newcommand{\ii}{\IndexOnCell{}{\BernsteinBasisFuncIndexTuple}} \newcommand{\jj}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAlt}} \newcommand{\kk}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAltAlt}} \newcommand{\ParamDomain}{\SymbolParamModifier{\SymbolDomain}} \newcommand{\ParamDomainOnCell}{\QuantityChildOf{\Cell}{\ParamDomain}} \newcommand{\ParamDomainBdry}{\SymbolParamModifier{\SymbolDomainBdry}} \newcommand{\ParamDomainChart}[1]{\Vec{\phi}^{#1}} \newcommand{\ParamDomainChartFunctionOf}[2]{\QuantityFunctionOf{\ParamDomainChart{#1}}{#2}} \newcommand{\ParamDim}{\SymbolDim} \newcommand{\ParamCoordSimple}{s} \newcommand{\ParamCoord}[1]{\QCO{#1}{s}} \newcommand{\ParamCoordVecSimple}{\Vec{s}} \newcommand{\ParamCoordVec}[1]{\QCO{#1}{\Vec{\ParamCoordSimple}}} \newcommand{\ParamDomainBdryParamCoord}{\ParamCoord{\ParamDomainBdry}} \newcommand{\ParamDomainBdryParamCoordVec}{\ParamCoordVec{\ParamDomainBdry}} \newcommand{\ParamCoordVecSet}{\boldsymbol{\Set{S}}} \newcommand{\ParamS}{\ParamCoord{}_0} \newcommand{\ParamT}{\ParamCoord{}_1} \newcommand{\ParamU}{\ParamCoord{}_2} \newcommand{\ParamBarycentric}[1]{\lambda_{#1}} \newcommand{\ParamLength}{\ell} \newcommand{\ParamLengthLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLength}} \newcommand{\ParamLengthRight}{\QuantityChildOf{\CellToTheRight}{\ParamLength}} \newcommand{\ParamLengthInS}{\ParamLength_{0}} \newcommand{\ParamLengthInT}{\ParamLength_{1}} \newcommand{\ParamLengthLeftS}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInS}} \newcommand{\ParamLengthLeftT}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInT}} \newcommand{\ParamLengthRightS}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInS}} \newcommand{\ParamLengthRightT}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInT}} \newcommand{\ParamLengthInSLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInS}} \newcommand{\ParamLengthInTLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInT}} \newcommand{\ParamLengthInSRight}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInS}} \newcommand{\ParamLengthInTRight}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInT}} \newcommand{\BernsteinDegreeInS}{\BernsteinDegree_{0}} \newcommand{\BernsteinDegreeInT}{\BernsteinDegree_{1}} \newcommand{\BernsteinDegreeLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegree}} \newcommand{\BernsteinDegreeRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegree}} \newcommand{\BernsteinDegreeInSLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegreeInS}} \newcommand{\BernsteinDegreeInSRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegreeInS}} \newcommand{\BernsteinDegreeInTLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegreeInT}} \newcommand{\BernsteinDegreeInTRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegreeInT}} \newcommand{\BernsteinDegreeBarycentricLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegree}} \newcommand{\BernsteinDegreeBarycentricRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegree}} \newcommand{\ParamGrevillePoint}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParamModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParamGrevillePointSet}[1]{\QuantityFunctionOf{\Set{\SymbolParamModifier{G}}}{#1}} \newcommand{\ParamDomainOnMeshBezier}{\QuantityChildOf{\MeshBezier}{\ParamDomain}} \newcommand{\BernsteinTraceMappingMat}{\Mat{M}} \newcommand{\NormalParamCoordSet}[2]{\QuantityFunctionOf{\ParamCoordVecSimple^{\perp}_{#1}}{#2}} \newcommand{\ParallelParamCoordSet}[2]{\QuantityFunctionOf{\ParamCoordVecSimple^{\parallel}_{#1}}{#2}} \newcommand{\Submesh}{\boldsymbol{\textsf{K}}} \newcommand{\SubmeshDomain}{\SymbolSubmeshModifier{\SymbolDomain}} \newcommand{\SubmeshDomainBdry}{\SymbolSubmeshModifier{\SymbolDomainBdry}} \newcommand{\SubmeshDomainChart}[1]{\QuantityChildOf{#1}{\Vec{\varphi}}} \newcommand{\SubmeshDomainChartFunctionOf}[2]{\QuantityFunctionOf{\SubmeshDomainChart{#1}}{#2}} \newcommand{\SubmeshDomainParameter}{\mathsf{\alpha}} \newcommand{\SubmeshDomainParameterVec}{\Vec{\SubmeshDomainParameter}} \newcommand{\SubmeshGrevillePoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}} \newcommand{\SubmeshGrevillePointFunctionOf}[2]{\QuantityFunctionOf{\SubmeshGrevillePoint{#1}}{#2}} \newcommand{\SubmeshGrevilleMaxPoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolGrevillePoint}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSet}[1]{\QuantityChildOf{#1}{\Set{G}}_{\max}} \newcommand{\SubmeshGrevilleMinPointSet}[1]{\QuantityChildOf{#1}{\Set{G}}_{\min}} \newcommand{\SubmeshGrevilleMaxPointLeft}{\SubmeshGrevilleMaxPoint{\CellAlpha}} \newcommand{\SubmeshGrevilleMaxPointRight}{\SubmeshGrevilleMaxPoint{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointIntersection}{\SubmeshGrevilleMaxPoint{\Interface}} \newcommand{\SubmeshGrevilleMinPointSetLeft}{\SubmeshGrevilleMinPointSet{\CellAlpha}} \newcommand{\SubmeshGrevilleMinPointSetRight}{\SubmeshGrevilleMinPointSet{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointSetLeft}{\SubmeshGrevilleMaxPointSet{\CellAlpha}} \newcommand{\SubmeshGrevilleMaxPointSetRight}{\SubmeshGrevilleMaxPointSet{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointSetIntersection}{\SubmeshGrevilleMaxPointSet{\Interface}} \newcommand{\SubmeshGrevillePointSet}{\Set{\SymbolSubmeshModifier{G}}} \newcommand{\SubmeshGrevillePointSetFunctionOf}[1]{\QuantityFunctionOf{\SubmeshGrevillePointSet}{#1}} \newcommand{\SubmeshGrevillePointSetLeft}{\Set{\SymbolSubmeshModifier{GA}}} \newcommand{\SubmeshGrevillePointSetRight}{\Set{\SymbolSubmeshModifier{GB}}} \newcommand{\SubmeshGrevillePointSetElement}[1]{\Set{\SymbolSubmeshModifier{GE}}_{#1}} \newcommand{\SubmeshGrevillePointSetIntersect}{\Set{\SymbolSubmeshModifier{GI}}} \newcommand{\SubmeshGrevillePointSetUnion}[1]{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GU}}}{#1}} \newcommand{\SubmeshGrevillePointSetSet}{\boldsymbol{\SubmeshGrevillePointSet}} \newcommand{\SubmeshGrevillePointSetSetFunctionOf}[1]{\QuantityFunctionOf{\SubmeshGrevillePointSetSet}{#1}} \newcommand{\SubmeshGrevillePointSetSetLeft}{\boldsymbol{\SymbolSubmeshModifier{\Set{GA}}}} \newcommand{\SubmeshGrevillePointSetSetRight}{\boldsymbol{\SymbolSubmeshModifier{\Set{GB}}}} \newcommand{\SubmeshGrevillePointSetSetElement}[2]{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1}}{#2}} \newcommand{\SubmeshGrevilleDifferenceVectorsSet}{\Delta \SubmeshGrevillePointSetFunctionOf{a}} \newcommand{\SubmeshGrevilleDifferenceVectorsSetRight}{\Delta\SubmeshGrevilleMaxPointSetRight} \newcommand{\SubmeshGrevilleDifferenceVector}{\Delta\SubmeshGrevilleMaxPoint{a}} \newcommand{\SubmeshGrevilleDifferenceVectorLeft}{\Delta\SubmeshGrevilleMaxPointLeft} \newcommand{\SubmeshGrevilleDifferenceVectorRight}{\Delta\SubmeshGrevilleMaxPointRight} \newcommand{\SubmeshGrevilleDistanceToCell}[2]{\QuantityFunctionOf{\SymbolDistance}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCell}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMin}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\min}}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMax}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\max}}{#1, #2}} \newcommand{\SubmeshPerpProjection}[1]{\Projection^{\perp}_{#1}} \newcommand{\SubmeshPerpProjectionFunctionOf}[2]{\QuantityFunctionOf{\SubmeshPerpProjection{#1}}{#2}} \newcommand{\SubmeshParallelProjection}[1]{\Projection^{\parallel}_{#1}} \newcommand{\SubmeshParallelProjectionFunctionOf}[2]{\QuantityFunctionOf{\SubmeshParallelProjection{#1}}{#2}} \newcommand{\SubmeshStarProjection}[2]{\QuantityFunctionOf{\Projection^{*}_{#1}}{#2}} \newcommand{\SubmeshPerpEquivalence}[1]{\varpi^{\perp}_{#1}} \newcommand{\SubmeshParallelEquivalence}[1]{\varpi^{\parallel}_{#1}} \newcommand{\SubmeshParallelEquivalenceFunctionOf}[2]{\QuantityFunctionOf{\SubmeshParallelEquivalence{#1}}{#2}} \newcommand{\SubmeshStarEquivalence}[1]{\varpi^{*}_{#1}} \newcommand{\AlignedSet}{{\boldsymbol{\textsf{Align}}}} \newcommand{\AlignedSetSet}{{\boldsymbol{\textsf{ALIGN}}}} \newcommand{\AlignmentSetOfSetsLeft}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetOfSetsRight}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetForInterfaceGrevillePoint}{\AlignedSet_{\SubmeshGrevillePoint{\Interface}{}}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRow}{\Set{NZ}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRowFunctionOf}[2]{\QuantityFunctionOf{\IndexSetOfNonZeroEntriesInMapMatOnRow_{#1}}{#2}} \newcommand{\AlignmentSetOfSetsOnLowerDCell}[2]{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1,#2}^{\parallel}} \newcommand{\AlignmentSetOfSetsLeftThreeD}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \ii}^{\parallel}} \newcommand{\AlignmentSetOfSetsRightThreeD}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \ii}^{\parallel}} \newcommand{\KPlusOneCellAdjacentIndexedSubmeshDomain}{\QuantityChildOf{\CellAlpha\CellBeta}{\SubmeshDomain}} \newcommand{\StructuredSymbol}{\square} \newcommand{\StructuredSubmesh}[1]{\Submesh^{\StructuredSymbol}_{#1}} \newcommand{\ToGlobalDartOp}{\operatorname*{\mathsf{G}}} \newcommand{\ProlongationMat}{\Mat{P}} \newcommand{\RestrictionMat}{\Mat{R}} \newcommand{\MeshUspline}{\boldsymbol{\textsf{\SymbolUspline}}} \newcommand{\SetNeighborhoodOfInteraction}[1]{\QuantityFunctionOf{\textsf{NI}}{#1}} \newcommand{\Ray}{\Set{r}} \newcommand{\RayHead}{\Edge^{h}} \newcommand{\RayTail}{\Vec{t}} \newcommand{\RayTailId}{j} \newcommand{\RayTailIdOne}{\RayTailId_0} \newcommand{\RayTailIdTwo}{\RayTailId_1} \newcommand{\RayTailOrigin}{\textsf{o}} \newcommand{\RayTailEdge}{\Edge} \newcommand{\RayTailVertexMaxContinuity}[1]{\Smoothness_{#1}^{\max}} \newcommand{\RayTailEdgeMinDegree}[1]{\BernsteinDegree_{#1}^{\min}} \newcommand{\RaySkeleton}[1]{\operatorname{skel}(#1)} \newcommand{\RaySmoothness}[2]{\Smoothness_{#1}^{#2}} \newcommand{\RayDegree}[2]{\BernsteinDegree_{#1}^{#2}} \newcommand{\RayContinuityTransition}{\Set{cr}} \newcommand{\RayDegreeTransition}{\Set{dr}} \newcommand{\RayTailSize}{\Size{\RayTail}} \newcommand{\RayTailTargetSize}{n} \newcommand{\RayIsTruncated}{\Set{trunc}} \newcommand{\RayAlgBernIndexVariable}{\BernsteinBasisFuncIdSet} \newcommand{\RayStartingBernIndex}{\RayAlgBernIndexVariable_{\RayHead}} \newcommand{\BernIndexOnSpecificRayTailEdge}[1]{\RayAlgBernIndexVariable_{#1}} \newcommand{\Ribbon}{\Set{r}} \newcommand{\RibbonHead}{\Interface^{h}} \newcommand{\RibbonTail}{\Vec{t}} \newcommand{\RibbonTailId}{j} \newcommand{\RibbonTailIdOne}{\RibbonTailId_0} \newcommand{\RibbonTailIdTwo}{\RibbonTailId_1} \newcommand{\RibbonTailOrigin}{\textsf{o}} \newcommand{\RibbonTailInterf}{\Interface} \newcommand{\RibbonTailCodimTwoCellMaxContinuity}[1]{\Smoothness_{#1}^{\max}} \newcommand{\RibbonTailInterfMinDegree}[1]{\BernsteinDegree_{#1}^{\min}} \newcommand{\RibbonSkeleton}[1]{\operatorname{skel}(#1)} \newcommand{\RibbonSmoothness}[2]{\Smoothness_{#1}^{#2}} \newcommand{\RibbonDegree}[2]{\BernsteinDegree_{#1}^{#2}} \newcommand{\RibbonContinuityTransition}{\Set{cr}} \newcommand{\RibbonDegreeTransition}{\Set{dr}} \newcommand{\RibbonTailSize}{\Size{\RibbonTail}} \newcommand{\RibbonTailTargetSize}{n} \newcommand{\RibbonIsTruncated}{\Set{trunc}} \newcommand{\RibbonAlgBernIndexVariable}{\BernsteinBasisFuncIdSet} \newcommand{\RibbonStartingBernIndex}{\RibbonAlgBernIndexVariable_{\RibbonHead}} \newcommand{\BernIndexOnSpecificRibbonTailInterf}[1]{\RibbonAlgBernIndexVariable_{#1}} \newcommand{\ParamDomainOnMeshUspline}{\QuantityChildOf{\MeshUspline}{\ParamDomain}} \newcommand{\UsplineSpace}{\SpaceHilbert{\SymbolUspline}} \newcommand{\UsplineBasisFunc}{\SymbolBasisUspline} \newcommand{\UsplineBasisFuncDetailed}[2]{\UsplineBasisFunc^{#1}_{#2}} \newcommand{\UsplineBasisFuncSet}{\Set{UF}} \newcommand{\UsplineBasisFuncSetFunctionOf}[1]{\QuantityFunctionOf{\UsplineBasisFuncSet}{#1}} \newcommand{\UsplineBasisFuncVec}[1]{\QuantityChildOf{#1}{\Vec{\SymbolBasisUspline}}} \newcommand{\UsplineBasisFuncVecFunctionOf}[2]{\QuantityFunctionOf{\UsplineBasisFuncVec{#1}}{#2}} \newcommand{\UsplineBasisFuncSetOnMeshBezier}{\QuantityFunctionOf{\Set{UF}}{\MeshBezier}} \newcommand{\UsplineBasisFuncSetOnMeshUspline}{\QuantityFunctionOf{\Set{UF}}{\MeshUspline}} \newcommand{\UsplineBasisFuncSetSupport}[1]{\Support{\UsplineBasisFuncSetFunctionOf{#1}}} \newcommand{\UsplineBasisFuncId}{A} \newcommand{\UsplineBasisFuncIdVec}{\Vec{A}} \newcommand{\UsplineBasisFuncIdAlt}{B} \newcommand{\UsplineBasisFuncIdLocal}{a} \newcommand{\UsplineBasisFuncIdOne}{\UsplineBasisFuncId_0} \newcommand{\UsplineBasisFuncIdTwo}{\UsplineBasisFuncId_1} \newcommand{\UsplineBasisFuncNormalized}{\bar{\SymbolBasisUspline}} \newcommand{\UsplineBasisFuncParam}[1]{\UsplineBasisFuncDetailed{\MeshBezier}{#1}} \newcommand{\UsplineDegree}{q} \newcommand{\UsplineNullVectorCoeff}{u} \newcommand{\UsplineNullVector}{\Vec{\UsplineNullVectorCoeff}} \newcommand{\UsplineNullVectorIds}{\Set{id}} \newcommand{\UsplineNullVectorSet}{\boldsymbol{\textsf{UV}}} \newcommand{\UsplineNullVectorSetOfIndexSets}{\boldsymbol{\textsf{UI}}} \newcommand{\UsplineNullVectorSetOnMeshBezier}{\NullVectorSetFunctionOf{\MeshBezier}} \newcommand{\UsplineNullVectorSetOnMeshUspline}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshUspline}} \newcommand{\UsplineSpaceOnMeshUspline}{\QCO{\MeshUspline}{\UsplineSpace}} \newcommand{\UsplineCellToGlobalBasisFuncIndexMap}[1]{\operatorname{ucg}(#1)} \newcommand{\UsplineCellToGlobalBasisFuncIndexMapDef}{\FuncDef{\operatorname{ucg}}{\MeshBezier\times\Integers}{\Integers}} \newcommand{\BernsteinBasisFuncCoeff}{\SymbolArbitraryCoeffBernstein} \newcommand{\BernsteinBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffBernstein}}}{\MeshBezier}} \newcommand{\BernsteinBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffBernstein}}{\MeshBezier}} \newcommand{\UsplineBasisFuncCoeff}{\SymbolArbitraryCoeffUspline} \newcommand{\UsplineBasisFuncCoeffAlt}{\SymbolArbitraryCoeffUsplineAlt} \newcommand{\UsplineBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffUspline}}}{\MeshUspline}} \newcommand{\UsplineBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffUspline}}{\MeshUspline}} \newcommand{\ContiguousIndexMap}[1]{i_{#1}} \newcommand{\Constraint}{R} \newcommand{\ConstraintCoeff}{r} \newcommand{\ConstraintCoeffsSet}{\boldsymbol{\Set{\ConstraintCoeff}}} \newcommand{\ConstraintCoeffsVec}{\Vec{\ConstraintCoeff}} \newcommand{\ConstraintSet}{\Set{\Constraint}} \newcommand{\ConstraintSetFunctionOf}[1]{\QuantityFunctionOf{\ConstraintSet}{#1}} \newcommand{\ConstraintSetOnMeshBezier}{\ConstraintSetFunctionOf{\MeshBezier}} \newcommand{\ConstraintMat}{\Mat{\Constraint}} \newcommand{\ConstraintMatFunctionOf}[1]{\QuantityFunctionOf{\ConstraintMat}{#1}} \newcommand{\ConstraintMatOnMeshBezier}{\ConstraintMatFunctionOf{\MeshBezier}} \newcommand{\SparsestPossibleBasisOnCell}[1]{\QFO{\Set{N}}{#1}} \newcommand{\NullVectorCoeff}[1]{#1} \newcommand{\NullVector}{\Vec{v}} \newcommand{\NullVectorFunctionOf}[1]{\QuantityFunctionOf{\NullVector}{#1}} \newcommand{\NullVectorArbitrary}[1]{\Vec{#1}} \newcommand{\KCellNullVectorForCellAlpha}{\NullVectorArbitrary{n}_{\KCellAlpha}} \newcommand{\KPlusOneCellNullVectorForCellBeta}{\NullVectorArbitrary{n}_{\KPlusOneCellBeta}} \newcommand{\NullVectorSet}{\boldsymbol{\textsf{BV}}}%changed from mathsf \newcommand{\NullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\NullVectorSet}{#1}}%changed from mathsf \newcommand{\CompositeNullVectorSet}{\NullVectorSet^{\prime\prime}} \newcommand{\CompositeNullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\CompositeNullVectorSet}{#1}} \newcommand{\SimpleNullVectorSet}{\NullVectorSet^{\prime}} \newcommand{\SimpleNullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\SimpleNullVectorSet}{#1}} \newcommand{\InterfaceNullVectorSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}}{#1}} \newcommand{\InterfaceNullVectorAlignedSubset}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}_{#1}}{#2}} \newcommand{\NullVectorSetOfIndexSets}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{BI}}}{#1}} \newcommand{\NullVectorSetGrevilleSets}{\boldsymbol{\textsf{BG}}}%changed from mathsf \newcommand{\NullVectorSetGrevilleSetsFunctionOf}[1]{\QuantityFunctionOf{\NullVectorSetGrevilleSets}{#1}}%changed from mathsf \newcommand{\NullVectorSetSubordinateToNullVector}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}}{#1}} \newcommand{\NullVectorSetSubordinateToNullVectorOnCell}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}_{#1}}{#2}} \newcommand{\NullVectorSetOnBdryOfNullVector}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{BD}}_{#1}}{#2}} \newcommand{\NullVectorEquivClass}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{EBV}}}{#1}} \newcommand{\NullVectorIndexEquivClass}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{EBI}}}{#1}} \newcommand{\NullVectorGrevilleEquivClass}{\boldsymbol{\textsf{EBG}}}%changed from mathsf \newcommand{\NullVectorGrevilleEquivClassFunctionOf}[1]{\QuantityFunctionOf{\NullVectorGrevilleEquivClass}{#1}}%changed from mathsf \newcommand{\NullVectorExpansionSet}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{XBV}}}{#1,#2}} \newcommand{\NullSpaceOperatorForm}[1]{\QuantityFunctionOf{\SpaceHilbert{N}}{#1}} \newcommand{\NullSpaceOperatorFormOnMeshBezier}{\NullSpaceOperatorForm{\MeshBezier}} \newcommand{\NullSpaceVectorForm}{\Set{N}} \newcommand{\NullSpaceVectorFormFunctionOf}[1]{\QuantityFunctionOf{\NullSpaceVectorForm}{#1}} \newcommand{\NullVectorGrevillePointSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}} \newcommand{\DegSmoothDiff}[2]{\delta_{#1}^{#2}} \newcommand{\FaceEdgeDiff}{\Set{t}} \newcommand{\FaceEdgeDiffSet}[1]{\Set{T}_{#1}} \newcommand{\PerpTuple}[1]{\QuantityFunctionOf{\FaceEdgeDiff^\perp}{#1}} \newcommand{\ParallelTuple}[1]{\QuantityFunctionOf{\FaceEdgeDiff^\parallel}{#1}} \newcommand{\ElemInterfDiff}{\Set{t}} \newcommand{\ElemInterfDiffSet}[1]{\Set{T}_{#1}} \newcommand{\SpokeSymbol}{\rho} \newcommand{\ElemInterfPairSymbol}{t} \newcommand{\ElemKPlusOneCellPair}{\Set{\SpokeSymbol}} \newcommand{\Spoke}{\ElemKPlusOneCellPair} \newcommand{\ElemInterfPair}{\Set{\ElemInterfPairSymbol}} \newcommand{\EIDPerpTuple}[1]{\QuantityFunctionOf{\ElemInterfDiff^\perp}{#1}} \newcommand{\EIDParallelTuple}[1]{\QuantityFunctionOf{\ElemInterfDiff^\parallel}{#1}} \newcommand{\InclDist}{\textsf{inc}}%changed from mathsf \newcommand{\InclDistFunctionOf}[1]{\QuantityFunctionOf{\InclDist}{#1}}%changed from mathsf \newcommand{\InclDistSet}[2]{\Set{INC}^{#1,#2}} \newcommand{\EdgeInclDist}[3]{\InclDistSet{#2}{#3}_{#1}} \newcommand{\PerpEdgesSet}{\Set{E}^\perp} \newcommand{\PerpInterfacesSet}{\Set{IRF}^\perp} \newcommand{\PerpOfKPlusOneCellInterfSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{PI}}}{#1}} \newcommand{\PerpKPlusOneCellSet}{\boldsymbol{\textsf{PC}}}%changed from mathsf \newcommand{\PerpKPlusOneCellSetFunctionOf}[1]{\QuantityFunctionOf{\PerpKPlusOneCellSet}{#1}}%changed from mathsf \newcommand{\ElemKPlusOneCellPairPerp}[1]{\QuantityFunctionOf{\Set{\SpokeSymbol}^\perp}{#1}} \newcommand{\ElemInterfPairPerp}[1]{\QuantityFunctionOf{\Set{t}^\perp}{#1}} \newcommand{\ElemInterfPairParallel}[1]{\QuantityFunctionOf{\Set{\ElemInterfPairSymbol}^\parallel}{#1}} \newcommand{\ElemKPlusOneCellPairParallelSet}[1]{\QuantityFunctionOf{\Set{\SpokeSymbol}^\parallel}{#1}} \newcommand{\KPlusOneCellNullVectorSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}}{#1}} \newcommand{\KPlusOneCellNullVectorAlignedSubset}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}_{#1}}{#2}} \newcommand{\Graph}{G} \newcommand{\GraphFunctionOf}[1]{\QuantityFunctionOf{\Graph}{#1}} \newcommand{\GraphCore}{K} \newcommand{\GraphDirectedEdge}{\Edge_{i,j}} \newcommand{\GraphDirectedEdgeIJ}[2]{\Edge_{#1,#2}} \newcommand{\GraphCoreToVertex}[1]{\QuantityFunctionOf{\Vertex}{#1}} \newcommand{\GraphCoreChildren}[1]{\QuantityFunctionOf{\operatorname{children}}{#1}} \newcommand{\GraphVertexToCore}[1]{\QuantityFunctionOf{\GraphCore}{#1}} \newcommand{\GraphInteractingEdges}{\Set{IE}} \newcommand{\GraphCoveredEdges}{\Set{CE}} \newcommand{\GraphFailedEdges}{\Set{FE}} \newcommand{\GraphCandidateEdges}{\Set{XE}} \newcommand{\UsplineClass}[1]{\boldsymbol{\mathcal{\SymbolUspline}}^{#1}} \newcommand{\UClassRegular}{R} \newcommand{\UClassIrregular}{r} \newcommand{\UClassContFinite}{H} \newcommand{\UClassContInfinity}{h} \newcommand{\UClassGlobalSmoothness}{K} \newcommand{\UClassLocalSmoothness}{k} \newcommand{\UClassGlobalDegree}{P} \newcommand{\UClassLocalDegree}{p} \newcommand{\SuperscriptRHKP}{\UClassRegular\UClassContFinite\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrHKP}{\UClassIrregular\UClassContFinite\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRhKP}{\UClassRegular\UClassContInfinity\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrhKP}{\UClassIrregular\UClassContInfinity\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRHkP}{\UClassRegular\UClassContFinite\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrHkP}{\UClassIrregular\UClassContFinite\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRhkP}{\UClassRegular\UClassContInfinity\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrhkP}{\UClassIrregular\UClassContInfinity\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRHKp}{\UClassRegular\UClassContFinite\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrHKp}{\UClassIrregular\UClassContFinite\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRhKp}{\UClassRegular\UClassContInfinity\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrhKp}{\UClassIrregular\UClassContInfinity\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRHkp}{\UClassRegular\UClassContFinite\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrHkp}{\UClassIrregular\UClassContFinite\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRhkp}{\UClassRegular\UClassContInfinity\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\Superscriptrhkp}{\UClassIrregular\UClassContInfinity\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\UsplineClassRHKP}{\UsplineClass{\SuperscriptRHKP}} \newcommand{\UsplineClassrHKP}{\UsplineClass{\SuperscriptrHKP}} \newcommand{\UsplineClassRhKP}{\UsplineClass{\SuperscriptRhKP}} \newcommand{\UsplineClassrhKP}{\UsplineClass{\SuperscriptrhKP}} \newcommand{\UsplineClassRHkP}{\UsplineClass{\SuperscriptRHkP}} \newcommand{\UsplineClassrHkP}{\UsplineClass{\SuperscriptrHkP}} \newcommand{\UsplineClassRhkP}{\UsplineClass{\SuperscriptRhkP}} \newcommand{\UsplineClassrhkP}{\UsplineClass{\SuperscriptrhkP}} \newcommand{\UsplineClassRHKp}{\UsplineClass{\SuperscriptRHKp}} \newcommand{\UsplineClassrHKp}{\UsplineClass{\SuperscriptrHKp}} \newcommand{\UsplineClassRhKp}{\UsplineClass{\SuperscriptRhKp}} \newcommand{\UsplineClassrhKp}{\UsplineClass{\SuperscriptrhKp}} \newcommand{\UsplineClassRHkp}{\UsplineClass{\SuperscriptRHkp}} \newcommand{\UsplineClassrHkp}{\UsplineClass{\SuperscriptrHkp}} \newcommand{\UsplineClassRhkp}{\UsplineClass{\SuperscriptRhkp}} \newcommand{\UsplineClassrhkp}{\UsplineClass{\Superscriptrhkp}} \newcommand{\BaseTopoLine}{\mathsf{L}} \newcommand{\BaseTopoLoop}{\mathsf{P}} \newcommand{\BaseTopoOneDGeneric}{\MeshUspline^{\textsf{1D}}} \newcommand{\BaseTopoGrid}{\mathsf{G}} \newcommand{\BaseTopoAnnulus}{\mathsf{A}} \newcommand{\BaseTopoTorus}{\mathsf{T}} \newcommand{\BaseTopoTriangle}{\mathsf{\Delta}} \newcommand{\BaseTopoMixed}{\mathsf{M}} \newcommand{\BaseTopoMultiPatch}{\mathsf{X}} \newcommand{\BaseTopoPatch}{\mathsf{H}} \newcommand{\AlgNameBuildRayOfMaximumCouplingLength}{BuildRayOfMaximumCouplingLength} \newcommand{\AlgNameBuildRibbonOfMaximumCouplingLength}{BuildRibbonOfMaximumCouplingLength} \newcommand{\AlgNameComputeCoreGraph}{ComputeCoreGraph} \newcommand{\UpperDBMat}{\Mat{U}} \newcommand{\LowerWeightDBMat}{\Mat{W}} \newcommand{\RationalSplineWeightSymbol}{w} \newcommand{\NURBSWeight}{\RationalSplineWeightSymbol} \newcommand{\WeightFunc}[1][\RationalSplineWeightSymbol]{#1} \newcommand{\DBParamWeight}{\omega} \newcommand{\DualBCoeff}{d} \newcommand{\NumUsplineBasisFuncsOnMeshBezier}{\Size{\UsplineBasisFuncSetOnMeshBezier}} \newcommand{\NumUsplineBasisFuncsOnMeshUspline}{\Size{\UsplineBasisFuncSetOnMeshUspline}} \newcommand{\NumUsplineBasisFuncsOnElem}{\Size{\UsplineBasisFuncSetFunctionOf{\Elem}}} \newcommand{\NumBernsteinBasisFuncsOnMeshBezier}{\Size{\IndexSetOnMeshBezier}} \newcommand{\NumBernsteinBasisFuncsOnElem}{\Size{\IndexSetFunctionOf{\Elem}}} \newcommand{\NumElemsInMeshBezier}{\Size{\CellSet{\ParamDim}}}$$\newcommand{\SymbolTime}{t} \newcommand{\SymbolEnvModifier}[1]{\star\mspace{-1mu} #1} \newcommand{\SymbolInteriorModifier}[1]{\tilde{#1}} \newcommand{\SymbolClosestPointMap}{\kappa} \newcommand{\SymbolManifold}{m} \newcommand{\SymbolVolume}{v} \newcommand{\SymbolVolumeUpper}{V} \newcommand{\SymbolSurface}{s} \newcommand{\SymbolSurfaceUpper}{S} \newcommand{\SymbolCurve}{c} \newcommand{\SymbolCurveUpper}{C} \newcommand{\SymbolPoint}{p} \newcommand{\SymbolPointUpper}{P} \newcommand{\SymbolIndicator}{\chi} \newcommand{\SymbolSpatialDim}{n} \newcommand{\SymbolWildCard}{*} \newcommand{\SymbolSegment}{\epsilon} \newcommand{\SymbolSpatialCoord}{x} \newcommand{\SymbolSpatialCoordUpper}{x} \newcommand{\SymbolSegmentSet}{\boldsymbol{E}} \newcommand{\SymbolInside}{\bullet} \newcommand{\SymbolOutside}{\circ} \newcommand{\SymbolHybrid}{\circledcirc} \newcommand{\SymbolPartition}{\boldsymbol{\vartriangle}} \newcommand{\SymbolQuadratureWeight}{w} \newcommand{\SymbolQuadratureSet}{Q} \newcommand{\SymbolQuadraturePoint}{\xi} \newcommand{\SymbolIntegrationPoint}{i} \newcommand{\SymbolManifoldCoeff}{x} \newcommand{\SymbolManifoldCoeffUpper}{X} \newcommand{\SymbolManifoldCoeffUspline}{x} \newcommand{\SymbolManifoldCoeffUsplineUpper}{X} \newcommand{\SymbolManifoldCoeffBernstein}{x} \newcommand{\SymbolManifoldCoeffBernsteinUpper}{X} \newcommand{\SymbolCADModified}{\boldsymbol{\circledast}} \newcommand{\SymbolCAD}{\bar{\SymbolCADModified}} \newcommand{\SymbolProjection}{\Projection} \newcommand{\SymbolCovariantBasisSurf}{a} \newcommand{\SymbolCovariantBasisVol}{g} \newcommand{\SymbolMetric}{m} \newcommand{\SymbolCurvature}{k} \newcommand{\SymbolCurvCoordIdOne}{\alpha} \newcommand{\SymbolCurvCoordIdTwo}{\beta} \newcommand{\SymbolCurvCoordIdThree}{\gamma} \newcommand{\SymbolOrthogonalTransform}{Q} \newcommand{\SymbolLinearInterpolation}{\mathscr{l}} \newcommand{\ParamDomainEnv}{\SymbolEnvModifier{\ParamDomain}} \newcommand{\ParamDomainCAD}{\QRT{\ParamDomain}{\SymbolCAD}} \newcommand{\ParamDomainOnCellEnv}{\SymbolEnvModifier{\ParamDomainOnCell}} \newcommand{\ParamDomainOnCAD}{\QCO{\SymbolCAD}{\ParamDomain}} \newcommand{\ParamDomainOnCADModified}{\QCO{\SymbolCADModified}{\ParamDomain}} \newcommand{\ParamDomainOnPartition}{\QCO{\SymbolPartition}{\ParamDomain}} \newcommand{\SpatialDim}{\SymbolSpatialDim} \newcommand{\SpatialDomain}{\Reals^{\SymbolSpatialDim}} \newcommand{\SpatialCoord}{\SymbolSpatialCoord} \newcommand{\SpatialCoordX}{\SymbolSpatialCoord} \newcommand{\SpatialCoordY}{y} \newcommand{\SpatialCoordZ}{z} \newcommand{\SpatialCoordUpper}{\SymbolSpatialCoordUpper} \newcommand{\SpatialCoordVec}{\Vec{\SpatialCoord}} \newcommand{\SpatialCoordVecSet}[1]{\QuantityFunctionOf{\boldsymbol{\Set{X}}}{#1}} \newcommand{\UsplineBasisFuncSpatial}[1]{\UsplineBasisFuncDetailed{\SpatialCoord}{#1}} \newcommand{\Manifold}{\Set{\SymbolManifold}} \newcommand{\ManifoldRelatedTo}[1]{\QuantityRelatedTo{\Manifold}{#1}} \newcommand{\Volume}{\Set{\SymbolVolume}} \newcommand{\VolumeRelatedTo}[1]{\QuantityRelatedTo{\Volume}{#1}} \newcommand{\Surface}{\Set{\SymbolSurface}} \newcommand{\SurfaceRelatedTo}[1]{\QuantityRelatedTo{\Surface}{#1}} \newcommand{\Curve}{\Set{\SymbolCurve}} \newcommand{\CurveRelatedTo}[1]{\QuantityRelatedTo{\Curve}{#1}} \newcommand{\Point}{\Set{\SymbolPoint}} \newcommand{\PointRelatedTo}[1]{\QuantityRelatedTo{\Point}{#1}} \newcommand{\Partition}{\SymbolPartition} \newcommand{\ManifoldCAD}{\ManifoldRelatedTo{\SymbolCAD}} \newcommand{\ManifoldCADModified}{\ManifoldRelatedTo{\SymbolCADModified}} \newcommand{\ManifoldCADEnv}{\SymbolEnvModifier{\ManifoldCAD}} \newcommand{\ManifoldCADModifiedEnv}{\SymbolEnvModifier{\ManifoldCADModified}} \newcommand{\ManifoldPartition}{\ManifoldRelatedTo{\Partition}} \newcommand{\ManifoldBezier}{\ManifoldRelatedTo{\MeshBezier}} \newcommand{\ManifoldUspline}{\ManifoldRelatedTo{\MeshUspline}} \newcommand{\ManifoldUsplineInterior}{\QRT{\SymbolInteriorModifier{\Manifold}}{\MeshUspline}} \newcommand{\ManifoldUsplineEnv}{\SymbolEnvModifier{\ManifoldUspline}} \newcommand{\VolumeEnv}{\SymbolEnvModifier{\Volume}} \newcommand{\dVolume}{\Differential[\Volume]} \newcommand{\VolumeIndicator}{\SymbolIndicator} \newcommand{\SurfaceEnv}{\SymbolEnvModifier{\Surface}} \newcommand{\SurfaceCAD}{\SurfaceRelatedTo{\SymbolCAD}} \newcommand{\SurfaceCADModified}{\SurfaceRelatedTo{\SymbolCADModified}} \newcommand{\SurfaceMesh}{\SurfaceRelatedTo{\Partition}} \newcommand{\SurfaceUspline}{\SurfaceRelatedTo{\MeshUspline}} \newcommand{\SurfaceWildCard}{\Surface^{\SymbolWildCard}} \newcommand{\dSurface}{\Differential[\Surface]} \newcommand{\CurveCAD}{\CurveRelatedTo{\SymbolCAD}} \newcommand{\CurveCADModified}{\CurveRelatedTo{\SymbolCADModified}} \newcommand{\CurveMesh}{\CurveRelatedTo{\Partition}} \newcommand{\CurveUspline}{\CurveRelatedTo{\MeshUspline}} \newcommand{\dCurve}{\Differential[\Curve]} \newcommand{\PointCAD}{\PointRelatedTo{\SymbolCAD}} \newcommand{\PointCADModified}{\PointRelatedTo{\SymbolCADModified}} \newcommand{\PointUspline}{\PointRelatedTo{\MeshUspline}} \newcommand{\Segment}[1]{\QuantityChildOf{#1}{\SymbolSegment}} \newcommand{\SegmentOfVolumeEnv}{\Segment{\VolumeEnv}} \newcommand{\SegmentOfSurface}{\Segment{\Surface}} \newcommand{\Hex}{\Segment{}_{h}} \newcommand{\Tet}{\Segment{}_{t}} \newcommand{\SegmentParamDomain}[1]{\QuantityRelatedTo{\ParamDomain}{#1}} \newcommand{\SegmentParamDomainOfVolumeEnv}{\QuantityRelatedTo{\ParamDomain}{\Segment{\VolumeEnv}}} \newcommand{\SegmentParamDomainOfSurface}{\QuantityRelatedTo{\ParamDomain}{\Segment{\Surface}}} \newcommand{\SegmentSet}{\SymbolSegmentSet} \newcommand{\SegmentSetFunctionOf}[1]{\QuantityFunctionOf{\SegmentSet}{#1}} \newcommand{\SegmentSetOutside}{\SegmentSet^{\SymbolOutside}} \newcommand{\SegmentSetInside}{\SegmentSet^{\SymbolInside}} \newcommand{\SegmentSetHybrid}{\SegmentSet^{\SymbolHybrid}} \newcommand{\PartitionFunctionOf}[1]{\QuantityFunctionOf{\Partition}{#1}} \newcommand{\PartitionBezierExtraction}[1]{\QuantityFunctionOf{\SymbolPartition^{B}}{#1}} \newcommand{\PartitionTessellation}[1]{\QuantityFunctionOf{\SymbolPartition^{T}}{#1}} \newcommand{\PartitionTessellationOfUspline}{\PartitionTessellation{\MeshUspline}} \newcommand{\PartitionTessellationMap}[2]{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldCoeff}{\SymbolManifoldCoeff} \newcommand{\ManifoldCoeffUpper}{\SymbolManifoldCoeffUpper} \newcommand{\ManifoldCoeffUspline}{\QuantityRelatedTo{\SymbolManifoldCoeffUspline}{\MeshUspline}} \newcommand{\ManifoldCoeffBernstein}{\QuantityRelatedTo{\SymbolManifoldCoeffBernstein}{\MeshBezier}} \newcommand{\ManifoldCoeffVec}{\Vec{\SymbolManifoldCoeff}} \newcommand{\ManifoldCoeffVecUspline}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUspline}}{\MeshUspline}} \newcommand{\ManifoldCoeffVecBernstein}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernstein}}{\MeshBezier}} \newcommand{\ManifoldCoeffSet}{\Set{\SymbolManifoldCoeff}} \newcommand{\ManifoldCoeffSetUspline}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUspline}}{\MeshUspline}} \newcommand{\ManifoldCoeffSetBernstein}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernstein}}{\MeshBezier}} \newcommand{\ManifoldCoeffsVec}{\Vec{\ManifoldCoeffUpper}} \newcommand{\ManifoldCoeffsVecUspline}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUsplineUpper}}{\MeshUspline}} \newcommand{\ManifoldCoeffsVecBernstein}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\MeshBezier}} \newcommand{\ManifoldCoeffsVecCell}{\QuantityRelatedTo{\Vec{\ManifoldCoeffUpper}}{\Cell}} \newcommand{\ManifoldCoeffsVecUsplineCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUsplineUpper}}{\QCO{\MeshUspline}{\Cell}}} \newcommand{\ManifoldCoeffsVecBernsteinCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\MeshBezier}{\Cell}}} \newcommand{\ManifoldCoeffsVecSubmeshCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\Submesh}{\Cell}}} \newcommand{\ManifoldCoeffsVecBernsteinSegmentOfVolumeEnv}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\SegmentOfVolumeEnv}} \newcommand{\ManifoldCoeffsSet}{\Set{\ManifoldCoeffUpper}} \newcommand{\ManifoldCoeffsSetUspline}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUsplineUpper}}{\MeshUspline}} \newcommand{\ManifoldCoeffsSetBernstein}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\MeshBezier}} \newcommand{\ManifoldCoeffsSetCell}{\QuantityRelatedTo{\Set{\ManifoldCoeffUpper}}{\Cell}} \newcommand{\ManifoldCoeffsSetUsplineCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUsplineUpper}}{\QCO{\MeshUspline}{\Cell}}} \newcommand{\ManifoldCoeffsSetBernsteinCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\MeshBezier}{\Cell}}} \newcommand{\ManifoldCoeffsSetSubmeshCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\Submesh}{\Cell}}} \newcommand{\ManifoldMap}[2]{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldTemporalMap}[2]{\QuantityRelatedTo{#2}{#1,\SymbolTime}} \newcommand{\ManifoldPartitionMap}{\ManifoldMap{\ParamDomainOnPartition}{\Manifold}} \newcommand{\ManifoldCADMap}{\ManifoldMap{\ParamDomainOnCAD}{\Manifold}} \newcommand{\ManifoldCADMapModified}{\ManifoldMap{\ParamDomainOnCADModified}{\Manifold}} \newcommand{\ManifoldBezierMap}{\ManifoldMap{\ParamDomainOnMeshBezier}{\Manifold}} \newcommand{\ManifoldUsplineMap}{\ManifoldMap{\ParamDomainOnMeshUspline}{\Manifold}} \newcommand{\VolumeEnvMap}{\ManifoldMap{\ParamDomainEnv}{\VolumeEnv}} \newcommand{\VolumeMap}{\ManifoldMap{\ParamDomain}{\Volume}} \newcommand{\SurfaceMap}{\ManifoldMap{\ParamDomainBdry}{\Surface}} \newcommand{\ManifoldMapDef}[2]{\FuncDef{\ManifoldMap{#1}{#2}}{#1}{#2}} \newcommand{\ManifoldMapInverseDef}[2]{\FuncDef{\Inverse{\ManifoldMap{#1}{#2}}}{#2}{#1}} \newcommand{\ManifoldTemporalMapDef}[2]{\FuncDef{\ManifoldTemporalMap{#1}{#2}}{#1\otimes\Reals_{+}}{#2}} \newcommand{\ManifoldPartitionMapDef}{\ManifoldMapDef{\ParamDomainOnPartition}{\Manifold}} \newcommand{\ManifoldBezierMapDef}{\ManifoldMapDef{\ParamDomainOnMeshBezier}{\Manifold}} \newcommand{\ManifoldUsplineMapDef}{\ManifoldMapDef{\ParamDomainOnMeshUspline}{\Manifold}} \newcommand{\VolumeEnvMapDef}{\ManifoldMapDef{\ParamDomainEnv}{\VolumeEnv}} \newcommand{\VolumeMapDef}{\ManifoldMapDef{\ParamDomain}{\Volume}} \newcommand{\SurfaceMapDef}{\ManifoldMapDef{\ParamDomainBdry}{\Surface}} \newcommand{\SurfaceToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\Surface}} \newcommand{\ManifoldCoordDetailed}[2]{\QCO{#1}{#2}} \newcommand{\ManifoldCoordVecDetailed}[2]{\QCO{#1}{\Vec{#2}}} \newcommand{\ManifoldCoord}{x} \newcommand{\ManifoldCoordVec}{\Vec{x}} \newcommand{\ManifoldPartitionMapCoord}{\ManifoldCoordDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldPartitionMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoord}{\ManifoldCoordDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\CovariantBasisSurfVec}{\Vec{\SymbolCovariantBasisSurf}} \newcommand{\CovariantBasisVolVec}{\Vec{\SymbolCovariantBasisVol}} \newcommand{\MetricComp}{\SymbolMetric} \newcommand{\MetricTen}{\Mat{\MetricComp}} \newcommand{\CurvatureComp}{\SymbolCurvature} \newcommand{\CurvatureTen}{\Mat{\CurvatureComp}} \newcommand{\CurvCoordIdOne}{\SymbolCurvCoordIdOne} \newcommand{\CurvCoordIdTwo}{\SymbolCurvCoordIdTwo} \newcommand{\CurvCoordIdThree}{\SymbolCurvCoordIdThree} \newcommand{\OrthogonalCoordTransform}{\Mat{\SymbolOrthogonalTransform}} \newcommand{\InversionPointTen}{\Vec{p}} \newcommand{\InversionPointComp}{p} \newcommand{\BoundingVolume}[1]{\QuantityFunctionOf{\Set{bv}}{#1}} \newcommand{\BoundingVolumeSet}[1]{\QuantityFunctionOf{\Set{BV}}{#1}} \newcommand{\BoundingVolumeTree}[1]{\QuantityFunctionOf{\Set{BVH}}{#1}} \newcommand{\AxisAlignedBoundingBox}[1]{\QuantityFunctionOf{\Set{AABB}}{#1}} \newcommand{\AABBCornerLower}{\Vec{c}^l} \newcommand{\AABBCornerLowerComp}{c^l} \newcommand{\AABBCornerUpper}{\Vec{c}^u} \newcommand{\AABBCornerUpperComp}{c^u} \newcommand{\LowerBound}[2]{B^l\left(#1,#2\right)} \newcommand{\UpperBound}[2]{B^u\left(#1,#2\right)} \newcommand{\UpperBoundValue}{U} \newcommand{\UpperBoundValueBV}{U^{\text{BV}}} \newcommand{\UpperBoundValuePoints}{U^{\text{point}}} \newcommand{\GapTolerance}{\varepsilon^{\text{gap}}} \newcommand{\NearestCells}[3][]{\Set{C}_{#1}\left(#2,#3\right)} \newcommand{\BVHNearestGeom}[3][]{c_{#1}\left(#2,#3\right)} \newcommand{\BVHGeomSetOfSets}{\Set{G}} \newcommand{\BVHTessPointSet}{\Set{P}} \newcommand{\BVHBVSet}{\Set{L}} \newcommand{\SimplexMap}[1]{\QuantityFunctionOf{\Mat{L}}{#1}} \newcommand{\ParamCoordVecTarget}{\ParamCoordVecSimple_0} \newcommand{\SpatialCoordVecTarget}{\SpatialCoordVec_0} \newcommand{\SpatialCoordVecToSegmentSetMap}{\SegmentSet^f} \newcommand{\SpatialCoordVecToParamCoordVecSetMap}{\Inverse{\widetilde{\ManifoldMap{\ParamDomainEnv}{\Surface}}}} \newcommand{\HessMatComp}{H} \newcommand{\HessMatTen}{\Mat{\HessMatComp}} \newcommand{\QuadraturePointEnv}[2]{\SymbolEnvModifier{\QuadraturePoint{#1}{#2}}} \newcommand{\QuadraturePoint}[2]{\SymbolQuadraturePoint_{#1}^{#2}} \newcommand{\QuadraturePointToElemIndexMap}[1]{\operatorname{qe}(#1)} \newcommand{\QuadratureWeightEnv}[2]{\SymbolEnvModifier{\QuadratureWeight{#1}{#2}}} \newcommand{\QuadratureWeight}[2]{\SymbolQuadratureWeight_{#1}^{#2}} \newcommand{\QuadratureSet}{\Set{\SymbolQuadratureSet}} \newcommand{\QuadratureSetInside}{\QuadratureSet^{\SymbolInside}} \newcommand{\QuadratureSetOutside}{\QuadratureSet^{\SymbolOutside}} \newcommand{\QuadratureSubdDepth}{k} \newcommand{\ClosestPointMap}[1]{\QuantityChildOf{#1}{\Vec{\SymbolClosestPointMap}}} \newcommand{\ClosestPointMapCAD}{\ClosestPointMap{\SymbolCAD}} \newcommand{\ClosestPointMapCADModified}{\ClosestPointMap{\SymbolCADModified}} \newcommand{\ProjectionInto}[1]{\QuantityRelatedTo{\SymbolProjection}{#1}} \newcommand{\ProjectionIntoBernsteinCell}{\ProjectionInto{\Cell}} \newcommand{\ProjectionIntoBernsteinElem}{\ProjectionInto{\Elem}} \newcommand{\ProjectionIntoMeshBezier}{\ProjectionInto{\MeshBezier}} \newcommand{\ProjectionIntoMeshUspline}{\ProjectionInto{\MeshUspline}} \newcommand{\LinearInterpolationOp}[1]{\QRT{\SymbolLinearInterpolation}{#1}} \newcommand{\Valence}{k} \newcommand{\ArbitraryVector}[1]{\QSB{v}{#1}} \newcommand{\RotationMatrix}[1]{R^{#1}} \newcommand{\RepVecSymbol}{u} \newcommand{\RepVec}[1]{\QSB{\RepVecSymbol}{#1}} \newcommand{\RepVecVec}{\Vec{\RepVecSymbol}} \newcommand{\AlignmentField}{\RepVecVec'} \newcommand{\BiharmonicEnergy}{\QSB{E}{B}} \newcommand{\PrescribedRepVec}[1]{\QSB{d}{#1}} \newcommand{\AlignmentParameter}{\lambda} \newcommand{\SingularityIndex}[1]{\QSB{\chi}{#1}} \newcommand{\AngularDefect}[1]{\QSB{K}{#1}} \newcommand{\ArbitraryAngle}{\theta} \newcommand{\ParallelTransport}[1]{\QSB{\varphi}{#1}} \newcommand{\MinusPiToPi}[1]{\lfloor #1 \rfloor} \newcommand{\AreaOperator}[1]{\QFO{\operatorname{area}}{#1}} \newcommand{\VectorAngle}[1]{\QFO{\operatorname{arg}}{#1}} \newcommand{\DistanceFunction}{\phi} \newcommand{\DistanceGradient}{X} \newcommand{\HeatField}{\eta} \newcommand{\RegionAtZeroDistance}{\gamma}$$\newcommand{\SymbolDisp}{u} \newcommand{\SymbolDispUpper}{U} \newcommand{\SymbolVelocity}{v} \newcommand{\SymbolVelocityUpper}{V} \newcommand{\SymbolAcceleration}{a} \newcommand{\SymbolAccelerationUpper}{A} \newcommand{\SymbolMass}{M} \newcommand{\SymbolLength}{L} \newcommand{\SymbolArea}{A} \newcommand{\SymbolConstraint}{g} \newcommand{\SymbolConstraintUpper}{G} \newcommand{\SymbolPenalty}{\varepsilon} \newcommand{\SymbolLagrangeMultRef}{\Lambda} \newcommand{\SymbolLagrangeMultCurr}{\lambda} \newcommand{\SymbolFict}{f} \newcommand{\SymbolTracForce}{h} \newcommand{\SymbolTracForceUpper}{H} \newcommand{\SymbolBodyForce}{b} \newcommand{\SymbolBodyForceUpper}{B} \newcommand{\SymbolVolumeRef}{\SymbolVolumeUpper} \newcommand{\SymbolSurfaceRef}{\SymbolSurfaceUpper} \newcommand{\SymbolCurveRef}{\SymbolCurveUpper} \newcommand{\SymbolPointRef}{\SymbolPointUpper} \newcommand{\SymbolVolumeCurr}{\SymbolVolume} \newcommand{\SymbolSurfaceCurr}{\SymbolSurface} \newcommand{\SymbolCurveCurr}{\SymbolCurve} \newcommand{\SymbolPointCurr}{\SymbolPoint} \newcommand{\SymbolDeformGradInc}{f} \newcommand{\SymbolDeformGrad}{F} \newcommand{\SymbolStrainGreenLagrange}{E} \newcommand{\SymbolDeformCauchyGreenLeft}{b} \newcommand{\SymbolDeformCauchyGreenRight}{C} \newcommand{\SymbolStrainDisp}{B} \newcommand{\SymbolStrainSymGrad}{\epsilon} \newcommand{\SymbolStrainPlasticEquiv}{\alpha} \newcommand{\SymbolHardeningPlastic}{k} \newcommand{\SymbolYieldFunction}{f} \newcommand{\SymbolConsistencyParameterPlastic}{\gamma} \newcommand{\SymbolPlasticModuliScaling}{\beta} \newcommand{\SymbolYieldSurfaceNormal}{n} \newcommand{\SymbolEnergy}{\Pi} \newcommand{\SymbolEnergyDensityStrain}{\Psi} \newcommand{\SymbolEnergyDensityStrainVol}{U} \newcommand{\SymbolResidual}{R} \newcommand{\SymbolForce}{F} \newcommand{\SymbolStiffness}{K} \newcommand{\SymbolSolution}{d} \newcommand{\ParamDomainBdryDisp}{\ParamDomainBdry^{\SymbolDisp}} \newcommand{\ParamDomainBdryTrac}{\ParamDomainBdry^{\SymbolTracForce}} \newcommand{\VolumeEnvRef}{\Set{\SymbolEnvModifier{\SymbolVolumeRef}}} \newcommand{\VolumeRef}{\Set{\SymbolVolumeRef}} \newcommand{\VolumeRefClosure}{\overline{\VolumeRef}} \newcommand{\VolumeRefFict}{\VolumeEnvRef\setminus\VolumeRef} \newcommand{\dVolumeRef}{\Differential[\VolumeRef]} \newcommand{\VolumeIndicatorDef}{\FuncDef{\VolumeIndicator_{\PenaltyStiffness}}{\VolumeEnvRef}{\Reals_+}} \newcommand{\SurfaceEnvRef}{\Set{\SymbolEnvModifier{\SymbolSurfaceRef}}} \newcommand{\SurfaceRef}{\Set{\SymbolSurfaceRef}} \newcommand{\SurfaceRefWildCard}{\SurfaceRef^{\SymbolWildCard}} \newcommand{\SurfaceRefDisp}{\SurfaceRef^{\SymbolDisp}} \newcommand{\SurfaceRefTrac}{\SurfaceRef^{\SymbolTracForce}} \newcommand{\SurfaceRefFict}{\SurfaceRef^{\SymbolFict}} \newcommand{\SurfaceRefDispExternal}{\SurfaceRefDisp\setminus\SurfaceRefFict} \newcommand{\SurfaceRefTracExternal}{\SurfaceRefTrac\setminus\SurfaceRefFict} \newcommand{\SurfaceRefFictTrac}{\SurfaceRefTrac\cap\SurfaceRefFict} \newcommand{\SurfaceRefFictDisp}{\SurfaceRefDisp\cap\SurfaceRefFict} \newcommand{\SurfaceRefFictExternal}{\SurfaceRefFict\setminus\SurfaceRef} \newcommand{\dSurfaceRef}{\Differential[\SurfaceRef]} \newcommand{\CurveRef}{\Set{\SymbolCurveRef}} \newcommand{\dCurveRef}{\Differential[\CurveRef]} \newcommand{\PointRef}{\Set{\SymbolPointRef}} \newcommand{\PointRefDisp}{\PointRef^{\SymbolDisp}} \newcommand{\PointRefTrac}{\PointRef^{\SymbolTracForce}} \newcommand{\dPointRef}{\Differential[\PointRef]} \newcommand{\dPointRefTrac}{\Differential[\PointRefTrac]} \newcommand{\RefCoord}[1]{\ManifoldCoordDetailed{#1}{X}} \newcommand{\RefCoordVec}[1]{\ManifoldCoordVecDetailed{#1}{X}} \newcommand{\VolumeEnvRefCoord}{\RefCoord{\VolumeEnvRef}} \newcommand{\VolumeEnvRefCoordVec}{\RefCoordVec{\VolumeEnvRef}} \newcommand{\VolumeRefCoord}{\RefCoord{\VolumeRef}} \newcommand{\VolumeRefCoordVec}{\RefCoordVec{\VolumeRef}} \newcommand{\SurfaceRefCoord}{\RefCoord{\SurfaceRef}} \newcommand{\SurfaceRefCoordVec}{\RefCoordVec{\SurfaceRef}} \newcommand{\SurfaceRefDispCoord}{\RefCoord{\SurfaceRefDisp}} \newcommand{\SurfaceRefDispCoordVec}{\RefCoordVec{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracCoord}{\RefCoord{\SurfaceRefTrac}} \newcommand{\SurfaceRefTracCoordVec}{\RefCoordVec{\SurfaceRefTrac}} \newcommand{\CurveRefCoord}{\RefCoord{\CurveRef}} \newcommand{\CurveRefCoordVec}{\RefCoordVec{\CurveRef}} \newcommand{\UsplineBasisFuncOverCurveRef}[1]{\UsplineBasisFuncDetailed{\CurveRef}{#1}} \newcommand{\UsplineBasisFuncOverSurfaceRefDisp}[1]{\UsplineBasisFuncDetailed{\SurfaceRefDisp}{#1}} \newcommand{\VolumeEnvCurr}{\Set{\SymbolEnvModifier{\SymbolVolumeCurr}}} \newcommand{\VolumeCurr}{\Set{\SymbolVolumeCurr}} \newcommand{\VolumeCurrClosure}{\overline{\VolumeCurr}} \newcommand{\dVolumeCurr}{\Differential[\VolumeCurr]} \newcommand{\SurfaceEnvCurr}{\Set{\SymbolEnvModifier{\SymbolSurfaceCurr}}} \newcommand{\SurfaceCurr}{\Set{\SymbolSurfaceCurr}} \newcommand{\SurfaceCurrDisp}{\SurfaceCurr^{\SymbolDisp}} \newcommand{\SurfaceCurrTrac}{\SurfaceCurr^{\SymbolTracForce}} \newcommand{\dSurfaceCurr}{\Differential[\SurfaceCurr]} \newcommand{\CurveCurr}{\Set{\SymbolCurveCurr}} \newcommand{\dCurveCurr}{\Differential[\CurveCurr]} \newcommand{\PointCurr}{\Set{\SymbolPointCurr}} \newcommand{\PointCurrDisp}{\PointCurr^{\SymbolDisp}} \newcommand{\PointCurrTrac}{\PointCurr^{\SymbolTracForce}} \newcommand{\dPointCurr}{\Differential[\PointCurr]} \newcommand{\CurrCoord}[1]{\ManifoldCoordDetailed{#1}{x}} \newcommand{\CurrCoordVec}[1]{\ManifoldCoordVecDetailed{#1}{x}} \newcommand{\VolumeEnvCurrCoord}{\CurrCoord{\VolumeEnvCurr}} \newcommand{\VolumeEnvCurrCoordVec}{\CurrCoordVec{\VolumeEnvCurr}} \newcommand{\VolumeCurrCoord}{\CurrCoord{\VolumeCurr}} \newcommand{\VolumeCurrCoordVec}{\CurrCoordVec{\VolumeCurr}} \newcommand{\SurfaceCurrCoord}{\CurrCoord{\SurfaceCurr}} \newcommand{\SurfaceCurrCoordVec}{\CurrCoordVec{\SurfaceCurr}} \newcommand{\SurfaceCurrDispCoord}{\CurrCoord{\SurfaceCurrDisp}} \newcommand{\SurfaceCurrDispCoordVec}{\CurrCoordVec{\SurfaceCurrDisp}} \newcommand{\SurfaceCurrTracCoord}{\CurrCoord{\SurfaceCurrTrac}} \newcommand{\SurfaceCurrTracCoordVec}{\CurrCoordVec{\SurfaceCurrTrac}} \newcommand{\CurveCurrCoord}{\CurrCoord{\CurveRef}} \newcommand{\CurveCurrCoordVec}{\CurrCoordVec{\CurveRef}} \newcommand{\VolumeEnvRefMap}{\ManifoldMap{\ParamDomainEnv}{\VolumeEnvRef}} \newcommand{\GenericGradOverVolumeEnvRefMap}[1]{\Grad{\VolumeEnvRefMap}{#1}} \newcommand{\VolumeRefMap}{\ManifoldMap{\ParamDomain}{\VolumeRef}} \newcommand{\GenericGradOverVolumeRefMap}[1]{\Grad{\VolumeRefMap}{#1}} \newcommand{\SurfaceRefDispMap}{\ManifoldMap{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMap}{\ManifoldMap{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\CurveRefMap}{\ManifoldMap{\ParamDomain}{\CurveRef}} \newcommand{\GenericGradOverCurveRefMap}[1]{\Grad{\CurveRefMap}{#1}} \newcommand{\VolumeEnvRefMapDef}{\ManifoldMapDef{\ParamDomainEnv}{\VolumeEnvRef}} \newcommand{\SurfaceRefDispMapDef}{\ManifoldMapDef{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMapDef}{\ManifoldMapDef{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\SurfaceRefToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRef}} \newcommand{\SurfaceRefDispToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRefTrac}} \newcommand{\CurveRefMapDef}{\ManifoldMapDef{\ParamDomain}{\CurveRef}} \newcommand{\GenericDeformMap}{\Vec{\varphi}} \newcommand{\VolumeEnvDeformMap}{\ManifoldMap{\VolumeEnvRef}{\VolumeEnvCurr}} \newcommand{\GenericGradOverVolumeEnvDeformMap}[1]{\Grad{\VolumeEnvDeformMap}{#1}} \newcommand{\VolumeDeformMap}{\ManifoldMap{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeDeformTemporalMap}{\ManifoldTemporalMap{\VolumeRef}{\VolumeCurr}} \newcommand{\GradVolumeDeformTemporalMap}{\GenericGradOverVolumeRefMap{\VolumeDeformTemporalMap}} \newcommand{\SurfaceDeformDispMap}{\ManifoldMap{\SurfaceRefDisp}{\SurfaceCurrDisp}} \newcommand{\SurfaceDeformTracMap}{\ManifoldMap{\SurfaceRefTrac}{\SurfaceCurrTrac}} \newcommand{\CurveDeformMap}{\ManifoldMap{\CurveRef}{\CurveCurr}} \newcommand{\CurveDeformTemporalMap}{\ManifoldTemporalMap{\CurveRef}{\CurveCurr}} \newcommand{\VolumeDeformMapDef}{\ManifoldMapDef{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeDeformTemporalMapDef}{\ManifoldTemporalMapDef{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeEnvDeformMapDef}{\ManifoldMapDef{\VolumeEnvRef}{\VolumeEnvCurr}} \newcommand{\CurveDeformMapDef}{\ManifoldMapDef{\CurveRef}{\CurveCurr}} \newcommand{\CurveDeformTemporalMapDef}{\ManifoldTemporalMapDef{\CurveRef}{\CurveCurr}} \newcommand{\DispTrialSpaceOverVolumeEnvRef}{\SpaceHilbert{U}(\VolumeEnvRef)} \newcommand{\DispTestSpaceOverVolumeEnvRef}{\delta \DispTrialSpaceOverVolumeEnvRef} \newcommand{\DispTrialSpaceOverVolumeRef}{\SpaceHilbert{U}(\VolumeRef)} \newcommand{\DispTestSpaceOverVolumeRef}{\delta \DispTrialSpaceOverVolumeRef} \newcommand{\DispTrialSpaceOverCurveRef}{\SpaceHilbert{U}(\CurveRef)} \newcommand{\DispTestSpaceOverCurveRef}{\delta \DispTrialSpaceOverCurveRef} \newcommand{\DispFieldRefComp}{\SymbolDispUpper} \newcommand{\DispFieldRefTen}{\Vec{\DispFieldRefComp}} \newcommand{\DispFieldCurrComp}{\SymbolDisp} \newcommand{\DispFieldCurrTen}{\Vec{\DispFieldCurrComp}} \newcommand{\VelFieldCurrTen}{\Vec{\SymbolVelocity}} \newcommand{\AccFieldCurrTen}{\Vec{\SymbolAcceleration}} \newcommand{\DeformGradComp}{\SymbolDeformGrad} \newcommand{\DeformGradTen}{\Mat{\DeformGradComp}} \newcommand{\DeformGradDet}{\Det{\DeformGradTen}} \newcommand{\KinematicElast}{e} \newcommand{\KinematicPlast}{p} \newcommand{\DivVolumeEnvRef}[1]{\Div{\VolumeEnvRefCoordVec}{#1}} \newcommand{\DivVolumeEnvCurr}[1]{\Div{\VolumeEnvCurrCoordVec}{#1}} \newcommand{\DeformGradIncComp}{\SymbolDeformGradInc} \newcommand{\DeformGradIncTen}{\Mat{\DeformGradIncComp}} \newcommand{\DeformGradIncDevComp}{\bar{\SymbolDeformGradInc}} \newcommand{\DeformGradIncDevTen}{\bar{\Mat{\DeformGradIncComp}}} \newcommand{\JAsDeformGradDet}{J} \newcommand{\StretchTen}{\Mat{V}} \newcommand{\StrainGreenLagrangeComp}{\SymbolStrainGreenLagrange} \newcommand{\StrainGreenLagrangeTen}{\Mat{\StrainGreenLagrangeComp}} \newcommand{\StrainGreenLagrangeVoigt}{\tilde{\StrainGreenLagrangeTen}} \newcommand{\DeformCauchyGreenRightComp}{\SymbolDeformCauchyGreenRight} \newcommand{\DeformCauchyGreenRightTen}{\Mat{\DeformCauchyGreenRightComp}} \newcommand{\DeformCauchyGreenLeftComp}{\SymbolDeformCauchyGreenLeft} \newcommand{\DeformCauchyGreenLeftTen}{\Mat{\DeformCauchyGreenLeftComp}} \newcommand{\DeformCauchyGreenLeftDevComp}{\bar{\SymbolDeformCauchyGreenLeft}} \newcommand{\DeformCauchyGreenLeftDevTen}{\bar{\Mat{\DeformCauchyGreenLeftComp}}} \newcommand{\StrainSymGradComp}{\SymbolStrainSymGrad} \newcommand{\StrainSymGradTen}{\Mat{\StrainSymGradComp}} \newcommand{\StrainDispMat}{\Mat{\SymbolStrainDisp}} \newcommand{\DeformCauchyGreenRightDevComp}{\bar{\SymbolDeformCauchyGreenRight}} \newcommand{\DeformCauchyGreenRightDevTen}{\bar{\Mat{\DeformCauchyGreenRightComp}}} \newcommand{\KinematicElastoplast}{{\rm ep}} \newcommand{\Trial}{{\rm trial}} \newcommand{\DeformCauchyGreenLeftElasticTenDef}{\DeformCauchyGreenLeftTen^\KinematicElast \DefEq \DeformGradTen^\KinematicElast \DeformGradTen^{\KinematicElast T}} \newcommand{\DeformCauchyGreenLeftElasticDevTenDef}{{\DeformCauchyGreenLeftDevTen}^\KinematicElast \DefEq {\JAsDeformGradDet}^{\KinematicElast-\frac{2}{3}} {\DeformCauchyGreenLeftTen}^\KinematicElast} \newcommand{\DeformCauchyGreenRightPlasticTenDef}{\DeformCauchyGreenRightTen^\KinematicPlast \DefEq \DeformGradTen^{\KinematicPlast T} \DeformGradTen^\KinematicPlast} \newcommand{\StrainPlasticEquiv}{\SymbolStrainPlasticEquiv} \newcommand{\ConsistencyParameterPlasticDiscrete}{\Delta \SymbolConsistencyParameterPlastic} \newcommand{\YieldSurfaceNormalComp}{\SymbolYieldSurfaceNormal} \newcommand{\YieldSurfaceNormalTen}{\Mat{\SymbolYieldSurfaceNormal}} \newcommand{\UnitNormalRefComp}{N} \newcommand{\UnitNormalRefTen}{\Vec{\UnitNormalRefComp}} \newcommand{\UnitNormalCurrComp}{\UnitNormalComp} \newcommand{\UnitNormalCurrTen}{\UnitNormal} \newcommand{\DispFieldOverVolumeEnvRefTenDef}{\FuncDef{\DispFieldRefTen}{\VolumeEnvRef}{\SpatialDomain}} \newcommand{\DispFieldOverVolumeEnvCurrTenDef}{\DispFieldCurrTen \DefEq \DispFieldRefTen \circ \Inverse{\VolumeEnvDeformMap}} \newcommand{\DispFieldOverVolumeRefTenDef}{\FuncDef{\DispFieldRefTen}{\VolumeRef}{\SpatialDomain}} \newcommand{\DispFieldOverVolumeRefTemporalTenDef}{\FuncDef{\DispFieldRefTen}{\VolumeRef\otimes\SymbolTime}{\SpatialDomain}} \newcommand{\DispFieldOverVolumeCurrTenDef}{\DispFieldCurrTen \DefEq \DispFieldRefTen \circ \Inverse{\VolumeDeformMap}} \newcommand{\DispFieldOverCurveRefTenDef}{\FuncDef{\DispFieldRefTen}{\CurveRef}{\SpatialDomain}} \newcommand{\DispFieldOverCurveRefTemporalTenDef}{\FuncDef{\DispFieldRefTen}{\CurveRef\otimes\SymbolTime}{\SpatialDomain}} \newcommand{\DeformGradOverVolumeRefTenDef}{\FuncDef{\DeformGradTen}{\VolumeRef}{\VolumeCurr}} \newcommand{\DeformGradOverCurveRefTenDef}{\FuncDef{\DeformGradTen}{\CurveRef}{\CurveCurr}} \newcommand{\StrainGreenLagrangeOverVolumeEnvRefTenDef}{\FuncDef{\StrainGreenLagrangeTen}{\VolumeEnvRef}{\VolumeEnvCurr}} \newcommand{\StrainGreenLagrangeOverVolumeRefTenDef}{\FuncDef{\StrainGreenLagrangeTen}{\VolumeRef}{\VolumeCurr}} \newcommand{\StrainGreenLagrangeOverCurveRefTenDef}{\FuncDef{\StrainGreenLagrangeTen}{\CurveRef}{\CurveCurr}} \newcommand{\DeformCauchyGreenLeftTenDef}{\DeformCauchyGreenLeftTen \DefEq \DeformGradTen \DeformGradTen^T} \newcommand{\DeformCauchyGreenLeftDevTenDef}{\DeformCauchyGreenLeftDevTen \DefEq \DeformGradDet^{-\frac{2}{3}} \DeformCauchyGreenLeftTen} \newcommand{\StressPKOneTen}{\Mat{P}} \newcommand{\StressPKTwoComp}{S} \newcommand{\StressPKTwoTen}{\Mat{\StressPKTwoComp}} \newcommand{\StressPKTwoVoigt}{\tilde{\StressPKTwoTen}} \newcommand{\StressCauchyComp}{\sigma} \newcommand{\StressCauchyTen}{\Mat{\sigma}} \newcommand{\StressCauchyVoigt}{\tilde{\StressCauchyTen}} \newcommand{\StressCauchyMean}{p} \newcommand{\StressCauchyYield}{\StressCauchyComp_Y} \newcommand{\StressKirchhoffComp}{\tau} \newcommand{\StressKirchhoffTen}{\Mat{\tau}} \newcommand{\StressKirchhoffVoigt}{\tilde{\StressKirchhoffTen}} \newcommand{\StressKirchhoffDevComp}{s} \newcommand{\StressKirchhoffDevTen}{\Mat{\StressKirchhoffDevComp}} \newcommand{\ModuliElastRefComp}{C} \newcommand{\ModuliElastRefTen}{\Mat{\ModuliElastRefComp}} \newcommand{\ModuliElastRefVoigt}{\tilde{\ModuliElastRefTen}} \newcommand{\ModuliElastCurrComp}{c} \newcommand{\ModuliElastCurrTen}{\Mat{\ModuliElastCurrComp}} \newcommand{\ModuliElastCurrVoigt}{\tilde{\ModuliElastCurrTen}} \newcommand{\MaterialYoungsModulus}{E} \newcommand{\MaterialPoissonsRatio}{\nu} \newcommand{\MaterialMassDensity}{\rho} \newcommand{\MaterialBulkModulus}{\kappa} \newcommand{\MaterialShearModulus}{\mu} \newcommand{\MaterialShearModulusDev}{\bar{\MaterialShearModulus}} \newcommand{\MaterialThermalExpansion}{\alpha_{\text{thermal}}} \newcommand{\Area}{\SymbolArea} \newcommand{\Length}{\SymbolLength} \newcommand{\Width}{b} \newcommand{\Height}{h} \newcommand{\PenaltyStiffness}{\SymbolPenalty_{\SymbolStiffness}} \newcommand{\PenaltyDisp}{\SymbolPenalty_{\SymbolDisp}} \newcommand{\BodyForceRefComp}{\SymbolBodyForceUpper} \newcommand{\BodyForceRefTen}{\Vec{\BodyForceRefComp}} \newcommand{\BodyForceCurrComp}{\SymbolBodyForce} \newcommand{\BodyForceCurrTen}{\Vec{\BodyForceCurrComp}} \newcommand{\TracForceRefComp}{\SymbolTracForceUpper} \newcommand{\TracForceRefTen}{\Vec{\TracForceRefComp}} \newcommand{\TracForceCurrComp}{\SymbolTracForce} \newcommand{\TracForceCurrTen}{\Vec{\TracForceCurrComp}} \newcommand{\Pressure}{p} \newcommand{\BodyForceOverVolumeEnvRefTenDef}{\FuncDef{\BodyForceRefTen}{\VolumeEnvRef}{\SpatialDomain}} \newcommand{\BodyForceOverVolumeEnvCurrTenDef}{\BodyForceCurrTen \DefEq \BodyForceRefTen \circ \Inverse{\VolumeEnvDeformMap}} \newcommand{\BodyForceOverCurveRefCompDef}{\FuncDef{\BodyForceRefComp}{\CurveRef}{\Reals}} \newcommand{\BodyForceOverCurveRefTenDef}{\FuncDef{\BodyForceRefTen}{\CurveRef}{\SpatialDomain}} \newcommand{\BodyForceOverCurveCurrCompDef}{\BodyForceCurrComp \DefEq \BodyForceRefComp \circ \Inverse{\CurveDeformMap}} \newcommand{\BodyForceOverCurveCurrTenDef}{\BodyForceCurrTen \DefEq \BodyForceRefTen \circ \Inverse{\CurveDeformMap}} \newcommand{\TracForceOverSurfaceRefTracTenDef}{\FuncDef{\TracForceRefTen}{\SurfaceRefTrac}{\SpatialDomain}} \newcommand{\TracForceOverSurfaceCurrTracTenDef}{\TracForceCurrTen \DefEq \TracForceRefTen \circ \Inverse{\SurfaceDeformTracMap}} \newcommand{\TracForceOverCurveRefCompDef}{\FuncDef{\TracForceRefComp}{\PointRefTrac}{\Reals}} \newcommand{\TracForceOverCurveRefTenDef}{\FuncDef{\TracForceRefTen}{\PointRefTrac}{\SpatialDomain}} \newcommand{\TracForceOverCurveCurrCompDef}{\TracForceCurrComp \DefEq \TracForceRefComp \circ \Inverse{\CurveDeformMap}} \newcommand{\TracForceOverCurveCurrTenDef}{\TracForceCurrTen \DefEq \TracForceRefTen \circ \Inverse{\CurveDeformMap}} \newcommand{\ConstraintRefTen}{\Vec{\SymbolConstraintUpper}} \newcommand{\LagrangeMultTestSpaceOverSurfaceRef}{\delta \LagrangeMultTrialSpaceOverSurfaceRef} \newcommand{\LagrangeMultTrialSpaceOverSurfaceRef}{\SpaceHilbert{L}(\SurfaceRefDisp)} \newcommand{\LagrangeMultRefComp}{\SymbolLagrangeMultRef} \newcommand{\LagrangeMultRefTen}{\Vec{\LagrangeMultRefComp}} \newcommand{\LagrangeMultCurrComp}{\SymbolLagrangeMultCurr} \newcommand{\LagrangeMultCurrTen}{\Vec{\LagrangeMultCurrComp}} \newcommand{\ConstraintOverSurfaceRefDispTenDef}{\FuncDef{\ConstraintRefTen}{\SurfaceRefDisp}{\SpatialDomain}} \newcommand{\LagrangeMultOverSurfaceCurrTenDef}{\LagrangeMultCurrTen \DefEq \LagrangeMultRefTen \circ \Inverse{\SurfaceDeformDispMap}} \newcommand{\Energy}{\SymbolEnergy} \newcommand{\EnergyElastic}[1]{\QFO{\Energy}{#1}} \newcommand{\EnergyElasticNoArg}{\QFONA{\Energy}} \newcommand{\EnergyEnv}{\SymbolEnvModifier{\Energy}} \newcommand{\EnergyInside}{\Energy^{\SymbolInside}} \newcommand{\EnergyOutside}{\Energy^{\SymbolOutside}} \newcommand{\EnergyConstraint}{\Energy^{\LagrangeMultCurrComp}} \newcommand{\EnergyDensityStrain}{\SymbolEnergyDensityStrain} \newcommand{\EnergyDensityStrainVol}{\SymbolEnergyDensityStrainVol} \newcommand{\EnergyDensityStrainDev}{\bar{\SymbolEnergyDensityStrain}} \newcommand{\EnergyInsideOverVolumeEnvRefDef}{\FuncDef{\EnergyInside}{\DispTrialSpaceOverVolumeEnvRef}{\Reals}} \newcommand{\EnergyOutsideOverVolumeEnvRefDef}{\FuncDef{\EnergyOutside}{\DispTrialSpaceOverVolumeEnvRef}{\Reals}} \newcommand{\EnergyConstraintOverVolumeEnvRefDef}{\FuncDef{\EnergyConstraint}{\DispTrialSpaceOverVolumeEnvRef\TensorProduct\LagrangeMultTrialSpaceOverSurfaceRef}{\Reals}} \newcommand{\EnergyDensityStrainOverVolumeEnvRefDef}{\FuncDef{\EnergyDensityStrain}{\VolumeEnvRef}{\Reals}} \newcommand{\ResidualComp}{\SymbolResidual} \newcommand{\ResidualVec}{\Vec{\ResidualComp}} \newcommand{\ForceVec}{\Vec{\SymbolForce}} \newcommand{\ForceInternalVec}{\ForceVec^{int}} \newcommand{\ForceExternalVec}{\ForceVec^{ext}} \newcommand{\ForceConstraintPenaltyVec}{\ForceVec^{\PenaltyDisp}} \newcommand{\ForceConstraintLagrangeVec}{\ForceVec^{\lambda1}} \newcommand{\ForceConstraintVec}{\ForceVec^{\lambda2}} \newcommand{\StiffnessMat}{\Mat{\SymbolStiffness}} \newcommand{\StiffnessMaterialMat}{\StiffnessMat^{m}} \newcommand{\StiffnessGeometricMat}{\StiffnessMat^{g}} \newcommand{\StiffnessPenaltyMat}{\StiffnessMat^{\PenaltyDisp}} \newcommand{\StiffnessLagrangeMat}{\StiffnessMat^{\LagrangeMultCurrComp}} \newcommand{\MassMat}{\Mat{\SymbolMass}} \newcommand{\LumpedMassMat}{\tilde{\MassMat}} \newcommand{\SolutionComp}{\SymbolSolution} \newcommand{\Solution}{\Vec{\SymbolSolution}} \newcommand{\SolutionDisp}{\Solution^{\DispFieldCurrComp}} \newcommand{\SolutionLagrange}{\Solution^{\LagrangeMultCurrComp}} \newcommand{\Flex}[1]{\mathcal{F}_{#1}} \newcommand{\FlexIt}{\mathcal{F}} \newcommand{\FlexFEA}{\Flex{\bar{0}}} \newcommand{\FlexFEAModified}{\Flex{0}} \newcommand{\FlexOne}{\Flex{1}} \newcommand{\FlexImmersed}{\Flex{\infty}} \newcommand{\FlexInfty}{\mathcal{F}{\infty}} \newcommand{\FlexSpectrum}{\overleftrightarrow{\mathcal{F}}} \newcommand{\FlexSpectrumId}{i} \newcommand{\TimeStep}{\Delta \SymbolTime} \newcommand{\SpectralRadius}{\rho_{\infty}}$$\newcommand{\SymbolPressureContact}{p} \newcommand{\SymbolContactGap}{g} \newcommand{\NumUsplineBasisFuncsS}{\Size{\UsplineBasisFuncSetOnMeshUspline^s}} \newcommand{\NumUsplineBasisFuncsM}{\Size{\UsplineBasisFuncSetOnMeshUspline^m}} \newcommand{\NumUsplineBasisFuncsG}{\Size{\UsplineBasisFuncSetOnMeshUspline^\alpha}} \newcommand{\NumUsplineBasisFuncsParamDomainBdryContactS}{\Size{\UsplineBasisFuncSetOnMeshUspline^{\ParamDomainBdryContactS}}} \newcommand{\NumUsplineBasisFuncsParamDomainBdryContactM}{\Size{\UsplineBasisFuncSetOnMeshUspline^{\ParamDomainBdryContactM}}} \newcommand{\NumUsplineBasisFuncsParamDomainBdryContactG}{\Size{\UsplineBasisFuncSetOnMeshUspline^{\ParamDomainBdryContactG}}} \newcommand{\ParamDomainEnvS}{\ParamDomainEnv^{s}} \newcommand{\ParamDomainEnvM}{\ParamDomainEnv^{m}} \newcommand{\ParamDomainEnvG}{\ParamDomainEnv^{\alpha}} \newcommand{\ParamDomainS}{\ParamDomain^{s}} \newcommand{\ParamDomainM}{\ParamDomain^{m}} \newcommand{\ParamDomainG}{\ParamDomain^\alpha} \newcommand{\ParamDomainClosureS}{\overline{\ParamDomain}^s} \newcommand{\ParamDomainClosureM}{\overline{\ParamDomain}^m} \newcommand{\ParamDomainClosureG}{\overline{\ParamDomain}^\alpha} \newcommand{\ParamDomainBdryG}{\ParamDomainBdry^\alpha} \newcommand{\ParamDomainBdryContactS}{\ParamDomainBdry^{c,s}} \newcommand{\ParamDomainBdryContactM}{\ParamDomainBdry^{c,m}} \newcommand{\ParamDomainBdryContactG}{\ParamDomainBdry^{c,\alpha}} \newcommand{\ParamDomainBdryTangentComp}{A} \newcommand{\ParamDomainBdryTangentTen}{\Mat{\ParamDomainBdryTangentComp}} \newcommand{\ParamDetJacobianS}{j^s} \newcommand{\ParamDomainGCoordVec}{\ParamCoordVecSimple^{\ParamDomainG}} \newcommand{\ParamDomainGCoord}{\ParamCoordSimple^{\ParamDomainG}} \newcommand{\ParamDomainEnvGCoordVec}{\ParamCoordVecSimple^{\ParamDomainEnvG}} \newcommand{\ParamDomainEnvGCoord}{\ParamCoordSimple^{\ParamDomainEnvG}} \newcommand{\ParamDomainEnvSCoordVec}{\ParamCoordVecSimple^{\ParamDomainEnvS}} \newcommand{\ParamDomainEnvSCoord}{\ParamCoordSimple^{\ParamDomainEnvS}} \newcommand{\ParamDomainEnvMCoordVec}{\ParamCoordVecSimple^{\ParamDomainEnvM}} \newcommand{\ParamDomainEnvMCoord}{\ParamCoordSimple^{\ParamDomainEnvM}} \newcommand{\ParamDomainBdryContactGCoordVec}{\ParamCoordVecSimple^{\ParamDomainBdryContactG}} \newcommand{\ParamDomainBdryContactGCoord}{\ParamCoordSimple^{\ParamDomainBdryContactG}} \newcommand{\ParamDomainBdryContactSCoordVec}{\ParamCoordVecSimple^{\ParamDomainBdryContactS}} \newcommand{\ParamDomainBdryContactSCoord}{\ParamCoordSimple^{\ParamDomainBdryContactS}} \newcommand{\ParamDomainBdryContactMCoordVec}{\ParamCoordVecSimple^{\ParamDomainBdryContactM}} \newcommand{\ParamDomainBdryContactMCoord}{\ParamCoordSimple^{\ParamDomainBdryContactM}} \newcommand{\SegmentParamDomainOfVolumeEnvRefS}{\QuantityRelatedTo{\ParamDomainEnvS}{\SegmentOfVolumeEnvRefS}} \newcommand{\SegmentParamDomainOfVolumeEnvRefM}{\QuantityRelatedTo{\ParamDomainEnvM}{\SegmentOfVolumeEnvRefM}} \newcommand{\SegmentParamDomainOfVolumeEnvCurrM}{\QuantityRelatedTo{\ParamDomainEnvM}{\SegmentOfVolumeEnvCurrM}} \newcommand{\SegmentParamDomainOfSurfaceCurrContactS}{\QuantityRelatedTo{\ParamDomainBdryContactS}{\SegmentOfSurfaceCurrContactS}} \newcommand{\SegmentParamDomainOfSurfaceRefContactM}{\QuantityRelatedTo{\ParamDomainBdryContactM}{\SegmentOfSurfaceRefContactM}} \newcommand{\SegmentParamDomainOfSurfaceCurrContactM}{\QuantityRelatedTo{\ParamDomainBdryContactM}{\SegmentOfSurfaceCurrContactM}} \newcommand{\UsplineBasisFuncS}{\UsplineBasisFunc^{s}} \newcommand{\UsplineBasisFuncM}{\UsplineBasisFunc^{m}} \newcommand{\UsplineBasisFuncG}{\UsplineBasisFunc^{\alpha}} \newcommand{\UsplineBasisFuncParamDomainBdryContactS}{\UsplineBasisFunc^{\ParamDomainBdryContactS}} \newcommand{\UsplineBasisFuncParamDomainBdryContactM}{\UsplineBasisFunc^{\ParamDomainBdryContactM}} \newcommand{\UsplineBasisFuncParamDomainBdryContactG}{\UsplineBasisFunc^{\ParamDomainBdryContactG}} \newcommand{\UsplineBasisSymmSecondOrderComp}{S} \newcommand{\UsplineBasisSymmSecondOrderTen}{\Mat{\UsplineBasisSymmSecondOrderComp}} \newcommand{\UsplineBasisSymmFourthOrderComp}{E} \newcommand{\UsplineBasisSymmSixthOrderComp}{Z} \newcommand{\VolumeEnvRefG}{\VolumeEnvRef^{\alpha}} \newcommand{\VolumeEnvRefS}{\VolumeEnvRef^{s}} \newcommand{\VolumeEnvRefM}{\VolumeEnvRef^{m}} \newcommand{\VolumeRefG}{\VolumeRef^{\alpha}} \newcommand{\VolumeRefS}{\VolumeRef^{s}} \newcommand{\VolumeRefM}{\VolumeRef^{m}} \newcommand{\VolumeRefClosureG}{\VolumeRefClosure^\alpha} \newcommand{\VolumeRefClosureS}{\VolumeRefClosure^s} \newcommand{\VolumeRefClosureM}{\VolumeRefClosure^m} \newcommand{\SurfaceRefG}{\SurfaceRef^\alpha} \newcommand{\SurfaceRefS}{\SurfaceRef^s} \newcommand{\SurfaceRefM}{\SurfaceRef^m} \newcommand{\SurfaceRefTracG}{\SurfaceRef^{\SymbolTracForce,\alpha}} \newcommand{\SurfaceRefDispG}{\SurfaceRef^{\SymbolDisp,\alpha}} \newcommand{\SurfaceRefContactG}{\SurfaceRef^{c,\alpha}} \newcommand{\SurfaceRefContactS}{\SurfaceRef^{c,s}} \newcommand{\SurfaceRefContactM}{\SurfaceRef^{c,m}} \newcommand{\VolumeEnvRefSCoordVec}{\RefCoordVec{\VolumeEnvRefS}} \newcommand{\VolumeEnvRefMCoordVec}{\RefCoordVec{\VolumeEnvRefM}} \newcommand{\VolumeEnvRefGCoordVec}{\RefCoordVec{\VolumeEnvRefG}} \newcommand{\VolumeRefGCoordVec}{\RefCoordVec{\VolumeRefG}} \newcommand{\SurfaceRefContactSCoord}{\RefCoord{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactSCoordVec}{\RefCoordVec{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactMCoord}{\RefCoord{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactMCoordVec}{\RefCoordVec{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactGCoord}{\RefCoord{\SurfaceRefContactG}} \newcommand{\SurfaceRefContactGCoordVec}{\RefCoordVec{\SurfaceRefContactG}} \newcommand{\SurfaceRefDispGCoordVec}{\RefCoordVec{\SurfaceRefDispG}} \newcommand{\SegmentOfVolumeEnvRefS}{\Segment{\VolumeEnvRefS}} \newcommand{\SegmentOfVolumeEnvRefM}{\Segment{\VolumeEnvRefM}} \newcommand{\SegmentOfSurfaceRefContactS}{\Segment{\SurfaceRefContactS}} \newcommand{\SegmentOfSurfaceRefContactM}{\Segment{\SurfaceRefContactM}} \newcommand{\VolumeEnvCurrG}{\VolumeEnvCurr^{\alpha}} \newcommand{\VolumeEnvCurrS}{\VolumeEnvCurr^{s}} \newcommand{\VolumeEnvCurrM}{\VolumeEnvCurr^{m}} \newcommand{\VolumeCurrG}{\VolumeCurr^{\alpha}} \newcommand{\VolumeCurrS}{\VolumeCurr^{s}} \newcommand{\VolumeCurrM}{\VolumeCurr^{m}} \newcommand{\VolumeCurrClosureG}{\VolumeCurrClosure^\alpha} \newcommand{\VolumeCurrClosureS}{\VolumeCurrClosure^s} \newcommand{\VolumeCurrClosureM}{\VolumeCurrClosure^m} \newcommand{\SurfaceCurrG}{\SurfaceCurr^\alpha} \newcommand{\SurfaceCurrS}{\SurfaceCurr^s} \newcommand{\SurfaceCurrM}{\SurfaceCurr^m} \newcommand{\SurfaceCurrContact}{\SurfaceCurr^{c}} \newcommand{\SurfaceCurrContactG}{\SurfaceCurr^{c,\alpha}} \newcommand{\SurfaceCurrContactS}{\SurfaceCurr^{c,s}} \newcommand{\SurfaceCurrContactM}{\SurfaceCurr^{c,m}} \newcommand{\VolumeEnvCurrSCoordVec}{\CurrCoordVec{\VolumeEnvCurrS}} \newcommand{\VolumeEnvCurrMCoordVec}{\CurrCoordVec{\VolumeEnvCurrM}} \newcommand{\VolumeEnvCurrGCoordVec}{\CurrCoordVec{\VolumeEnvCurrG}} \newcommand{\VolumeCurrGCoordVec}{\CurrCoordVec{\VolumeCurrG}} \newcommand{\SurfaceCurrContactSCoord}{\CurrCoord{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactSCoordVec}{\CurrCoordVec{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactMCoord}{\CurrCoord{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactMCoordVec}{\CurrCoordVec{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactGCoord}{\CurrCoord{\SurfaceCurrContactG}} \newcommand{\SurfaceCurrContactGCoordVec}{\CurrCoordVec{\SurfaceCurrContactG}} \newcommand{\SegmentOfVolumeEnvCurrS}{\Segment{\VolumeEnvCurrS}} \newcommand{\SegmentOfVolumeEnvCurrM}{\Segment{\VolumeEnvCurrM}} \newcommand{\SegmentOfSurfaceCurrContactS}{\Segment{\SurfaceCurrContactS}} \newcommand{\SegmentOfSurfaceCurrContactM}{\Segment{\SurfaceCurrContactM}} \newcommand{\VolumeEnvRefSMap}{\ManifoldMap{\ParamDomainEnvS}{\VolumeEnvRefS}} \newcommand{\VolumeEnvRefMMap}{\ManifoldMap{\ParamDomainEnvM}{\VolumeEnvRefM}} \newcommand{\VolumeEnvRefGMap}{\ManifoldMap{\ParamDomainEnvG}{\VolumeEnvRefG}} \newcommand{\VolumeEnvRefSMapInv}{\Inverse{\VolumeEnvRefSMap}} \newcommand{\VolumeEnvRefMMapInv}{\Inverse{\VolumeEnvRefMMap}} \newcommand{\VolumeEnvRefGMapInv}{\Inverse{\VolumeEnvRefGMap}} \newcommand{\VolumeRefClosureSMap}{\ManifoldMap{\ParamDomainClosureS}{\VolumeRefClosureS}} \newcommand{\VolumeRefClosureMMap}{\ManifoldMap{\ParamDomainClosureM}{\VolumeRefClosureM}} \newcommand{\VolumeRefClosureGMap}{\ManifoldMap{\ParamDomainClosureG}{\VolumeRefClosureG}} \newcommand{\VolumeRefSMap}{\ManifoldMap{\ParamDomainS}{\VolumeRefS}} \newcommand{\VolumeRefMMap}{\ManifoldMap{\ParamDomainM}{\VolumeRefM}} \newcommand{\VolumeRefGMap}{\ManifoldMap{\ParamDomainG}{\VolumeRefG}} \newcommand{\VolumeRefClosureGMapRestrictedToBoundary}{\ManifoldMap{\ParamDomainClosureG}{\VolumeRefClosureG}\Big|_{\ParamDomainBdryContactG}} \newcommand{\VolumeRefClosureMMapRestrictedToBoundary}{\ManifoldMap{\ParamDomainClosureM}{\VolumeRefClosureM}\Big|_{\ParamDomainBdryContactM}} \newcommand{\SurfaceRefContactSMap}{\ManifoldMap{\ParamDomainBdryContactS}{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactMMap}{\ManifoldMap{\ParamDomainBdryContactM}{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactGMap}{\ManifoldMap{\ParamDomainBdryContactG}{\SurfaceRefContactG}} \newcommand{\VolumeEnvRefGMapDef}{\ManifoldMapDef{\ParamDomainEnvG}{\VolumeEnvRefG}} \newcommand{\VolumeRefClosureGMapDef}{\ManifoldMapDef{\ParamDomainClosureG}{\VolumeRefClosureG}} \newcommand{\SurfaceRefContactSMapDef}{\ManifoldMapDef{\ParamDomainBdryContactS}{\SurfaceRefContactS}} \newcommand{\SurfaceRefContactMMapDef}{\ManifoldMapDef{\ParamDomainBdryContactM}{\SurfaceRefContactM}} \newcommand{\SurfaceRefContactGMapDef}{\ManifoldMapDef{\ParamDomainBdryContactG}{\SurfaceRefContactG}} \newcommand{\VolumeEnvCurrSMap}{\ManifoldMap{\ParamDomainEnvS}{\VolumeEnvCurrS}} \newcommand{\VolumeEnvCurrMMap}{\ManifoldMap{\ParamDomainEnvM}{\VolumeEnvCurrM}} \newcommand{\VolumeEnvCurrGMap}{\ManifoldMap{\ParamDomainEnvG}{\VolumeEnvCurrG}} \newcommand{\VolumeCurrClosureSMap}{\ManifoldMap{\ParamDomainClosureS}{\VolumeCurrClosureS}} \newcommand{\VolumeCurrClosureMMap}{\ManifoldMap{\ParamDomainClosureM}{\VolumeCurrClosureM}} \newcommand{\VolumeCurrClosureGMap}{\ManifoldMap{\ParamDomainClosureG}{\VolumeCurrClosureG}} \newcommand{\VolumeCurrSMap}{\ManifoldMap{\ParamDomainS}{\VolumeCurrS}} \newcommand{\VolumeCurrMMap}{\ManifoldMap{\ParamDomainM}{\VolumeCurrM}} \newcommand{\VolumeCurrGMap}{\ManifoldMap{\ParamDomainG}{\VolumeCurrG}} \newcommand{\VolumeCurrClosureGMapRestrictedToBoundary}{\ManifoldMap{\ParamDomainClosureG}{\VolumeCurrClosureG}\Big|_{\ParamDomainBdryContactG}} \newcommand{\SurfaceCurrContactSMap}{\ManifoldMap{\ParamDomainBdryContactS}{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactMMap}{\ManifoldMap{\ParamDomainBdryContactM}{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactGMap}{\ManifoldMap{\ParamDomainBdryContactG}{\SurfaceCurrContactG}} \newcommand{\VolumeEnvCurrGMapDef}{\ManifoldMapDef{\ParamDomainEnvG}{\VolumeEnvCurrG}} \newcommand{\VolumeCurrClosureGMapDef}{\ManifoldMapDef{\ParamDomainClosureG}{\VolumeCurrClosureG}} \newcommand{\SurfaceCurrContactSMapDef}{\ManifoldMapDef{\ParamDomainBdryContactS}{\SurfaceCurrContactS}} \newcommand{\SurfaceCurrContactMMapDef}{\ManifoldMapDef{\ParamDomainBdryContactM}{\SurfaceCurrContactM}} \newcommand{\SurfaceCurrContactGMapDef}{\ManifoldMapDef{\ParamDomainBdryContactG}{\SurfaceCurrContactG}} \newcommand{\VolumeEnvDeformSMap}{\ManifoldMap{\VolumeEnvRefS}{\VolumeEnvCurrS}} \newcommand{\VolumeEnvDeformMMap}{\ManifoldMap{\VolumeEnvRefM}{\VolumeEnvCurrM}} \newcommand{\VolumeEnvDeformGMap}{\ManifoldMap{\VolumeEnvRefG}{\VolumeEnvCurrG}} \newcommand{\VolumeDeformSMap}{\ManifoldMap{\VolumeRefClosureS}{\VolumeCurrClosureS}} \newcommand{\VolumeDeformMMap}{\ManifoldMap{\VolumeRefClosureM}{\VolumeCurrClosureM}} \newcommand{\VolumeDeformGMap}{\ManifoldMap{\VolumeRefClosureG}{\VolumeCurrClosureG}} \newcommand{\VolumeEnvDeformGMapDef}{\ManifoldMapDef{\VolumeEnvRefG}{\VolumeEnvCurrG}} \newcommand{\VolumeDeformGMapDef}{\ManifoldMapDef{\VolumeRefClosureG}{\VolumeCurrClosureG}} \newcommand{\DispTrialSpaceOverVolumeEnvRefS}{\SpaceHilbert{U}(\VolumeEnvRefS)} \newcommand{\DispTrialSpaceOverVolumeEnvRefM}{\SpaceHilbert{U}(\VolumeEnvRefM)} \newcommand{\DispTrialSpaceOverVolumeEnvRefSAndM}{\SpaceHilbert{U}(\VolumeEnvRefS, \VolumeEnvRefM)} \newcommand{\DispTrialSpaceOverVolumeEnvRefG}{\SpaceHilbert{U}(\VolumeEnvRefG)} \newcommand{\DispTrialSpaceOverVolumeRefS}{\SpaceHilbert{U}(\VolumeRefClosureS)} \newcommand{\DispTrialSpaceOverVolumeRefM}{\SpaceHilbert{U}(\VolumeRefClosureM)} \newcommand{\DispTrialSpaceOverVolumeRefSAndM}{\SpaceHilbert{U}(\VolumeRefClosureS, \VolumeRefClosureM)} \newcommand{\DispTrialSpaceOverVolumeRefG}{\SpaceHilbert{U}(\VolumeRefClosureG)} \newcommand{\DispTestSpaceOverVolumeEnvRefG}{\delta \DispTrialSpaceOverVolumeEnvRefG} \newcommand{\DispTestSpaceOverVolumeRefG}{\delta \DispTrialSpaceOverVolumeRefG} \newcommand{\DispFieldRefSComp}{\DispFieldRefComp^s} \newcommand{\DispFieldRefSTen}{\DispFieldRefTen^s} \newcommand{\DispFieldRefMComp}{\DispFieldRefComp^m} \newcommand{\DispFieldRefMTen}{\DispFieldRefTen^m} \newcommand{\DispFieldRefGTen}{\DispFieldRefTen^\alpha} \newcommand{\DispFieldDiscreteRefGTen}{\DispFieldRefTen^{h,\alpha}} \newcommand{\DispFieldOverVolumeEnvRefGTenDef}{\ManifoldMapDef{\VolumeEnvRefG}{\DispFieldRefGTen}} \newcommand{\DispFieldOverVolumeRefGTenDef}{\ManifoldMapDef{\VolumeRefClosureG}{\DispFieldRefGTen}} \newcommand{\GradVolumeRefG}[1]{\Grad{\RefCoordVec{\VolumeRefClosureG}}{#1}} \newcommand{\GradVolumeEnvRefS}[1]{\Grad{\VolumeEnvRefSCoordVec}{#1}} \newcommand{\GradVolumeEnvRefM}[1]{\Grad{\VolumeEnvRefMCoordVec}{#1}} \newcommand{\GradVolumeEnvRefG}[1]{\Grad{\VolumeEnvRefGCoordVec}{#1}} \newcommand{\DeformGradSComp}{\DeformGradComp^s} \newcommand{\DeformGradSTen}{\DeformGradTen^s} \newcommand{\DeformGradSDet}{\Det{\DeformGradSTen}} \newcommand{\DeformGradSInvTrans}{\InvTrans{\DeformGradSTen}} \newcommand{\DeformGradMComp}{\DeformGradComp^m} \newcommand{\DeformGradMTen}{\DeformGradTen^m} \newcommand{\DeformGradMDet}{\Det{\DeformGradMTen}} \newcommand{\DeformGradMInvTrans}{\InvTrans{\DeformGradMTen}} \newcommand{\DeformGradGTen}{\DeformGradTen^\alpha} \newcommand{\DeformGradOverVolumeEnvRefGTenDef}{\FuncDef{\DeformGradGTen}{\VolumeEnvRefG}{\VolumeEnvCurrG}} \newcommand{\DeformGradOverVolumeRefGTenDef}{\FuncDef{\DeformGradGTen}{\VolumeRefClosureG}{\VolumeCurrClosureG}} \newcommand{\UnitNormalRefSTen}{\UnitNormalRefTen^s} \newcommand{\UnitNormalRefMTen}{\UnitNormalRefTen^m} \newcommand{\UnitNormalCurrSComp}{\UnitNormalCurrComp^s} \newcommand{\UnitNormalCurrSTen}{\UnitNormalCurrTen^s} \newcommand{\UnitNormalCurrMComp}{\UnitNormalCurrComp^m} \newcommand{\UnitNormalCurrMTen}{\UnitNormalCurrTen^m} \newcommand{\AreaRatioS}{r^s} \newcommand{\AreaRatioM}{r^m} \newcommand{\ContraMTen}{\Mat{a}^m} \newcommand{\SymmProdInProjTan}{C} \newcommand{\ProdPBTanInvCurPBTanInv}{D} \newcommand{\ProdPBTanInvCurMetricInv}{M} \newcommand{\ProdPBTanInvCurMetricInvCurPBTanInv}{W} \newcommand{\PenaltyContactGap}{\SymbolPenalty_{\SymbolContactGap}} \newcommand{\BodyForceRefGTen}{\BodyForceRefTen^\alpha} \newcommand{\TracForceRefGTen}{\TracForceRefTen^\alpha} \newcommand{\BodyForceOverVolumeRefGDef}{\FuncDef{\BodyForceRefGTen}{\VolumeRefG}{\SpatialDomain}} \newcommand{\BodyForceOverVolumeEnvRefGDef}{\FuncDef{\BodyForceRefGTen}{\VolumeEnvRefG}{\SpatialDomain}} \newcommand{\TracForceOverSurfaceRefTracGTenDef}{\FuncDef{\TracForceRefGTen}{\SurfaceRefTracG}{\SpatialDomain}} \newcommand{\PressureContact}{\SymbolPressureContact} \newcommand{\PressureContactProjected}{\overline{\SymbolPressureContact}_{\UsplineBasisFuncId}} \newcommand{\CoeffPressureContact}{\SymbolPressureContact_{\UsplineBasisFuncId}} \newcommand{\PressureContactInterpolated}{\hat{\SymbolPressureContact}} \newcommand{\ConstraintRefGTen}{\ConstraintRefTen^\alpha} \newcommand{\GapContact}{\SymbolContactGap} \newcommand{\GapContactProjected}{\overline{\SymbolContactGap}_{\UsplineBasisFuncId}} \newcommand{\GapContactProjectedVariation}{\delta \GapContactProjected} \newcommand{\GapContactMortar}{\GapContact^{m}} \newcommand{\GapContactMortarProjected}{\overline{\GapContact}^{m}_{\UsplineBasisFuncId}} \newcommand{\CoeffGapContactMortar}{\GapContact^{m}_{\UsplineBasisFuncId}} \newcommand{\ConstraintOverSurfaceRefDispGTenDef}{\FuncDef{\ConstraintRefGTen}{\SurfaceRefDispG}{\SpatialDomain}} \newcommand{\EnergyEnvG}{\EnergyEnv^\alpha} \newcommand{\EnergyG}{\Energy^{\alpha}} \newcommand{\EnergyDensityStrainG}{\EnergyDensityStrain^\alpha} \newcommand{\EnergyConstraintG}{\Energy^{\SymbolDisp,\alpha}} \newcommand{\EnergyContact}{\Energy^c} \newcommand{\EnergyOverVolumeRefGDef}{\FuncDef{\EnergyG}{\DispTrialSpaceOverVolumeRefG}{\Reals}} \newcommand{\EnergyEnvOverVolumeEnvRefGDef}{\FuncDef{\EnergyEnvG}{\DispTrialSpaceOverVolumeEnvRefG}{\Reals}} \newcommand{\EnergyDensityStrainOverVolumeRefGDef}{\FuncDef{\EnergyDensityStrainG}{\VolumeRefG}{\Reals}} \newcommand{\EnergyDensityStrainOverVolumeEnvRefGDef}{\FuncDef{\EnergyDensityStrainG}{\VolumeEnvRefG}{\Reals}} \newcommand{\EnergyContactOverVolumeRefSAndMDef}{\FuncDef{\EnergyContact}{\DispTrialSpaceOverVolumeRefSAndM}{\Reals}} \newcommand{\EnergyContactOverVolumeEnvRefSAndMDef}{\FuncDef{\EnergyContact}{\DispTrialSpaceOverVolumeEnvRefSAndM}{\Reals}} \newcommand{\EnergyConstraintOverVolumeRefGDef}{\FuncDef{\EnergyConstraintG}{\DispTrialSpaceOverVolumeRefG}{\Reals}} \newcommand{\EnergyConstraintOverVolumeEnvRefGDef}{\FuncDef{\EnergyConstraintG}{\DispTrialSpaceOverVolumeEnvRefG}{\Reals}} \newcommand{\ResidualMat}{\Mat{N}} \newcommand{\ForceInternalContactVec}{\ForceVec^{c,int,n}} \newcommand{\ForceGapContact}{C^n} \newcommand{\StiffnessMatA}{\hat{\Mat{N}}} \newcommand{\StiffnessMatB}{\Mat{T}} \newcommand{\StiffnessMatC}{\Mat{D}} \newcommand{\StiffnessGeometricContact}{\StiffnessMat^{c,g,n}} \newcommand{\StiffnessContact}{\StiffnessMat^{c,n}} \newcommand{\ElemCount}[1]{\operatorname{count}{(#1)}} \newcommand{\ConvexHull}[1]{\operatorname{ch}{\left(#1\right)}} \newcommand{\Normal}[1]{\operatorname{N}{\left(#1\right)}} \newcommand{\NormalConvexHull}[1]{\Normal{\ConvexHull{#1}}} \newcommand{\DiscretePointSetS}{\Set{SP}} \newcommand{\DiscreteElemSetM}{\Set{ME}} \newcommand{\EnvBoundConMapM}{\operatorname{mc}} \newcommand{\EnvBoundConSetM}{\Set{MC}} \newcommand{\SpatialCoordVecToSegmentSetMapMSensor}{\operatorname{cs}} \newcommand{\SpatialCoordVecToSegmentSetMapMElem}{\operatorname{ce}} \newcommand{\SelfContactMap}{\operatorname{sc}} \newcommand{\ColSetS}{\Set{I}} \newcommand{\PairEnvMapBoundM}{\operatorname{cp}} \newcommand{\ApproximateProjectionCollision}[1]{\widetilde{\Projection}{#1}} \newcommand{\ImageSlaveEnv}{\bar{\ParamCoordVecSimple}^{\ParamDomainEnvM}} \newcommand{\ImageSlaveBound}{\bar{\ParamCoordVecSimple}^{\ParamDomainBdryContactM}} \newcommand{\ActiveSet}{\Set{A}} \newcommand{\DiscretePointSetM}{\Set{MP}} \newcommand{\MortarActiveSet}{\Set{A}^m} \newcommand{\PressureContactAnalytical}{p_a} \newcommand{\TipPressureContactAnalytical}{p_0} \newcommand{\ContactHalfWidth}{b}$$\newcommand{\MidGeometryModifier}[1]{\bar{#1}} \newcommand{\SymbolRotationGlobal}{\omega} \newcommand{\SkewMat}[1]{\Mat{s} \left( #1 \right)} \newcommand{\SkewMatInv}[1]{\Mat{s}^{-1} \left( #1 \right)} \newcommand{\Ident}{\Mat{I}} \newcommand{\Cartesian}{\Vec{e}} \newcommand{\ManifoldDim}{n} \newcommand{\LaminaSymbol}{l} \newcommand{\LaminaSymbolUpper}{L} \newcommand{\LaminaMetricSymbol}{j} \newcommand{\ShellMomentSymbol}{q} \newcommand{\DirectorBilinearFunc}[3]{\left(#2,#3\right)_{#1}} \newcommand{\RotObjectiveFunc}{s} \newcommand{\ParamConfig}{\Omega_\xi} \newcommand{\ParamConfigMid}{\Omega_\xi^m} \newcommand{\ParamConfigSec}{\Omega_\xi^s} \newcommand{\ParamConfigBound}{\Gamma_\xi} \newcommand{\ParamConfigMidBound}{\Gamma_\xi^m} \newcommand{\ParamConfigSecBound}{\Gamma_\xi^s} \newcommand{\ParamConfigMuBound}{\Gamma_\xi^\mu} \newcommand{\ParamConfigSigBound}{\Gamma_\xi^\sigma} \newcommand{\ParamConfigDirichMidBound}{\Gamma_\xi^g} \newcommand{\ParamConfigNeuMidBound}{\Gamma_\xi^h} \newcommand{\ParamConfigDirichBound}{\Gamma_\xi^\gamma} \newcommand{\ParamConfigNeuBound}{\Gamma_\xi^\eta} \newcommand{\ParaParam}[1]{\xi_{#1}} \newcommand{\ParaParamVec}{\boldsymbol{\xi}} \newcommand{\RefConfig}{\Omega_0} \newcommand{\RefConfigMid}{\Omega_0^m} \newcommand{\RefConfigSec}{\Omega_0^s} \newcommand{\SurfaceRefRot}{\SurfaceRef^{\SymbolRotationGlobal}} \newcommand{\RefConfigBound}{\Gamma_0} \newcommand{\RefConfigMidBound}{\Gamma_0^m} \newcommand{\RefConfigSecBound}{\Gamma_0^s} \newcommand{\RefConfigMuBound}{\Gamma_0^\mu} \newcommand{\RefConfigSigBound}{\Gamma_0^\sigma} \newcommand{\RefConfigDirichMidBound}{\Gamma_0^g} \newcommand{\RefConfigNeuMidBound}{\Gamma_0^h} \newcommand{\RefConfigDirichBound}{\Gamma_0^\gamma} \newcommand{\RefConfigNeuBound}{\Gamma_0^\eta} \newcommand{\RefMap}{\Vec{X}} \newcommand{\RefMid}{\MidGeometryModifier{\Vec{X}}} \newcommand{\RefDir}{\Vec{D}} \newcommand{\RefSectionPos}{\Vec{R}} \newcommand{\RefCovar}[1]{\Vec{G}_{#1}} \newcommand{\RefMidCovar}[1]{\MidGeometryModifier{\Vec{G}}_{#1}} \newcommand{\RefContra}[1]{\Vec{G}^{#1}} \newcommand{\RefMidContra}[1]{\MidGeometryModifier{\Vec{G}}^{#1}} \newcommand{\RefLamina}[1]{\Vec{L}_{#1}} \newcommand{\RefLaminaDual}[1]{\Vec{\LaminaSymbolUpper}^{#1}} \newcommand{\RefShellProjectedBasis}[1]{\Vec{P}_{#1}} \newcommand{\CurConfig}{\Omega} \newcommand{\CurConfigMid}{\Omega^m} \newcommand{\CurConfigSec}{\Omega^s} \newcommand{\CurConfigBound}{\Gamma} \newcommand{\CurConfigMidBound}{\Gamma^m} \newcommand{\CurConfigSecBound}{\Gamma^s} \newcommand{\CurConfigMuBound}{\Gamma^\mu} \newcommand{\CurConfigSigBound}{\Gamma^\sigma} \newcommand{\CurConfigDirichMidBound}{\Gamma^g} \newcommand{\CurConfigNeuMidBound}{\Gamma^h} \newcommand{\CurConfigDirichBound}{\Gamma^\gamma} \newcommand{\CurConfigNeuBound}{\Gamma^\eta} \newcommand{\CurMap}{\Vec{x}} \newcommand{\CurMid}{\MidGeometryModifier{\Vec{x}}} \newcommand{\CurDir}{\Vec{d}} \newcommand{\CurSectionPos}{\Vec{r}} \newcommand{\CurCovar}[1]{\Vec{g}_{#1}} \newcommand{\CurMidCovar}[1]{\MidGeometryModifier{\Vec{g}}_{#1}} \newcommand{\CurContra}[1]{\Vec{g}^{#1}} \newcommand{\CurMidContra}[1]{\MidGeometryModifier{\Vec{g}}^{#1}} \newcommand{\CurLamina}[1]{\Vec{\LaminaSymbol}_{#1}} \newcommand{\CurLaminaDual}[1]{\Vec{\LaminaSymbol}^{#1}} \newcommand{\CurModLamina}[1]{\hat{\Vec{\LaminaSymbol}}_{#1}} \newcommand{\CurModLaminaDual}[1]{\hat{\Vec{\LaminaSymbol}}^{#1}} \newcommand{\CurShellProjectedBasis}[1]{\Vec{p}_{#1}} \newcommand{\DeformMap}{\varphi} \newcommand{\DeformMapMid}{\varphi^m} \newcommand{\Disp}{\Vec{u}} \newcommand{\DispMid}{\MidGeometryModifier{\Vec{u}}} \newcommand{\RotVec}{\boldsymbol{\omega}} \newcommand{\RotMat}{\boldsymbol{\Lambda}} \newcommand{\RotMatMembrane}{\Mat{\Psi}} \newcommand{\RotMatDelta}{\boldsymbol{\Lambda}_\Delta} \newcommand{\IncRotMat}{\Delta\RotMat} \newcommand{\EulerVec}{\boldsymbol{\vartheta}} \newcommand{\EulerVecNorm}{\theta} \newcommand{\EulerVecSinc}{\boldsymbol{\Theta}} \newcommand{\EulerRotVec}{\boldsymbol{\theta}} \newcommand{\EulerRotAngle}{\theta} \newcommand{\IncEulerRotVec}{\Delta\boldsymbol{\theta}} \newcommand{\AngularVelocity}{\boldsymbol{\eta}} \newcommand{\IncEulerRotVecVel}{\Delta\dot{\boldsymbol{\theta}}} \newcommand{\AngularAcceleration}{\boldsymbol{\alpha}} \newcommand{\IncEulerRotVecAcc}{\Delta\ddot{\boldsymbol{\theta}}} \newcommand{\DeformGrad}{\Mat{F}} \newcommand{\Strain}[1]{\boldsymbol{\tau}_{#1}} \newcommand{\StrainMid}[1]{\boldsymbol{\varepsilon}_{#1}} \newcommand{\StrainCurve}[1]{\boldsymbol{\kappa}_{#1}} \newcommand{\DecompDeform}{\Mat{U}} \newcommand{\ExtraDeformTen}{\Delta\DeformGradTen} \newcommand{\ExtraDeformComp}{\Delta\DeformGradComp} \newcommand{\GreenLagrange}{\Mat{E}} \newcommand{\ShellStrainCurve}[1]{\boldsymbol{\chi}_{#1}} \newcommand{\SecPK}{\Mat{S}} \newcommand{\FirstPK}{\Mat{P}} \newcommand{\Cauchy}{\boldsymbol{\sigma}} \newcommand{\IntTrac}[1]{\Vec{t}_{#1}} \newcommand{\RefModuli}{\Mat{C}} \newcommand{\CurModuli}{\Mat{c}} \newcommand{\PointModuli}{\Mat{m}} \newcommand{\ResModuli}{\Mat{M}} \newcommand{\RefAreaVec}[1]{\Vec{A}_{#1}} \newcommand{\RefAreaMidVec}[1]{\MidGeometryModifier{\Vec{A}}_{#1}} \newcommand{\RefMeas}{G} \newcommand{\UnitNormalRefVec}[1]{\Vec{N}_{#1}} \newcommand{\CurAreaVec}[1]{\Vec{a}_{#1}} \newcommand{\CurAreaMidVec}[1]{\MidGeometryModifier{\Vec{a}}_{#1}} \newcommand{\CurMeas}{g} \newcommand{\UnitNormalCurrVec}[1]{\Vec{n}_{#1}} \newcommand{\CurLaminaMetricTen}{\Mat{\LaminaMetricSymbol}} \newcommand{\CurLaminaMetricComp}{\LaminaMetricSymbol} \newcommand{\CurToModLaminaTransComp}{M} \newcommand{\IntForce}{\Vec{f}^{\, int}} \newcommand{\IntMoment}{\Vec{m}^{int}} \newcommand{\ExtForceBody}{\Vec{f}^{\, ext}_b} \newcommand{\ExtMomentBody}{\Vec{m}^{ext}_b} \newcommand{\ShellExtMomentBody}{\Vec{\ShellMomentSymbol}^{ext}_b} \newcommand{\ExtForceTrac}{\Vec{f}^{\, ext}_h} \newcommand{\ExtMomentTrac}{\Vec{m}^{ext}_h} \newcommand{\ShellExtMomentTrac}{\Vec{\ShellMomentSymbol}^{ext}_h} \newcommand{\MassForce}{\Vec{f}^{\,\rho}} \newcommand{\MassMoment}{\Vec{m}^{\rho}} \newcommand{\ShellMassMoment}{\Vec{\ShellMomentSymbol}^{\rho}} \newcommand{\ResidualInternal}{\Vec{R}^{int}} \newcommand{\ResidualExternal}{\Vec{R}^{ext}} \newcommand{\ResidualMass}{\Mat{R}^{\rho}} \newcommand{\NodalMass}[1]{\Mat{M}_{#1}} \newcommand{\NodalLinearInertia}[1]{A_{#1}} \newcommand{\NodalAngularInertia}[1]{I_{#1}} \newcommand{\ShellDeltaAngle}{\phi} \newcommand{\BStrainMatrix}[2]{\Mat{B}_{#1#2}} \newcommand{\ShellDrillingStiffness}{k} \newcommand{\DrillConstraint}{C} \newcommand{\IntForceDrilling}{\Vec{f}^{d}} \newcommand{\ModuliDrilling}{\Mat{M}^d} \newcommand{\ResidualDrilling}{\Vec{R}^d} \newcommand{\SymbolTop}{top} \newcommand{\SymbolCentroid}{c} \newcommand{\SymbolLeverArm}{r} \newcommand{\SpatialCoordVecCentroid}{\SpatialCoordVec^{\SymbolCentroid}} \newcommand{\SpatialCoordCentroidX}{\SpatialCoordX^{\SymbolCentroid}} \newcommand{\SpatialCoordCentroidY}{\SpatialCoordY^{\SymbolCentroid}} \newcommand{\SpatialCoordCentroidZ}{\SpatialCoordZ^{\SymbolCentroid}} \newcommand{\LeverArm}{\Vec{\SymbolLeverArm}} \newcommand{\LeverArmX}{\SymbolLeverArm_{\SpatialCoordX}} \newcommand{\LeverArmY}{\SymbolLeverArm_{\SpatialCoordY}} \newcommand{\LeverArmZ}{\SymbolLeverArm_{\SpatialCoordZ}} \newcommand{\MomentFirstMass}{Q} \newcommand{\MomentSecondMass}{I} \newcommand{\MomentSecondMassDetailed}[1]{I_{#1}} \newcommand{\DistributedLoad}{q} \newcommand{\TracForceCurrCompX}{\TracForceCurrComp_{\SpatialCoordX}} \newcommand{\TracForceCurrCompY}{\TracForceCurrComp_{\SpatialCoordY}} \newcommand{\TracForceCurrCompZ}{\TracForceCurrComp_{\SpatialCoordZ}} \newcommand{\TracMomentCurrCompDetailed}[1]{\TracMomentCurrComp_{#1}} \newcommand{\TracForceCurrCompSupportReaction}{r^{\TracForceCurrComp}} \newcommand{\TracForceCurrCompSupportReactionDetailed}[1]{\TracForceCurrCompSupportReaction_{#1}} \newcommand{\TracForceCurrCompDistributedLoad}{\DistributedLoad^{\TracForceCurrComp}} \newcommand{\TracForceCurrCompPointLoad}{p^{\TracForceCurrComp}} \newcommand{\TracMomentCurrVec}{\Vec{\TracMomentCurrComp}} \newcommand{\TracMomentCurrComp}{m} \newcommand{\BodyForceCurrCompX}{\BodyForceCurrComp_{\SpatialCoordX}} \newcommand{\BodyForceCurrCompY}{\BodyForceCurrComp_{\SpatialCoordY}} \newcommand{\BodyForceCurrCompZ}{\BodyForceCurrComp_{\SpatialCoordZ}} \newcommand{\BodyForceCurrCompDistributedLoad}{\DistributedLoad^{\BodyForceCurrComp}} \newcommand{\BodyForceCurrCompAxialLoad}{f^{\BodyForceCurrComp}} \newcommand{\StressCauchyTractionVec}{\Vec{t}} \newcommand{\StressCauchyTractionX}{t_{\SpatialCoordX}} \newcommand{\StressCauchyTractionY}{t_{\SpatialCoordY}} \newcommand{\StressCauchyTractionZ}{t_{\SpatialCoordZ}} \newcommand{\StressCauchyNormal}{\sigma} \newcommand{\StressCauchyNormalDetailed}[1]{\StressCauchyNormal_{#1}} \newcommand{\StressCauchyNormalXX}{\StressCauchyComp_{\SpatialCoordX\SpatialCoordX}} \newcommand{\StressCauchyNormalYY}{\StressCauchyComp_{\SpatialCoordY\SpatialCoordY}} \newcommand{\StressCauchyNormalZZ}{\StressCauchyComp_{\SpatialCoordZ\SpatialCoordZ}} \newcommand{\StressCauchyShear}{\tau} \newcommand{\StressCauchyShearDetailed}[1]{\StressCauchyShear_{#1}} \newcommand{\StressCauchyShearXY}{\StressCauchyShear_{\SpatialCoordX\SpatialCoordY}} \newcommand{\StressCauchyShearYX}{\StressCauchyShear_{\SpatialCoordY\SpatialCoordX}} \newcommand{\StressCauchyShearXZ}{\StressCauchyShear_{\SpatialCoordX\SpatialCoordZ}} \newcommand{\StressCauchyShearZX}{\StressCauchyShear_{\SpatialCoordZ\SpatialCoordX}} \newcommand{\StressCauchyShearYZ}{\StressCauchyShear_{\SpatialCoordY\SpatialCoordZ}} \newcommand{\StressCauchyShearZY}{\StressCauchyShear_{\SpatialCoordZ\SpatialCoordY}} \newcommand{\StressCauchyResultantForce}{F} \newcommand{\StressCauchyResultantForceDetailed}[1]{F_{#1}} \newcommand{\StressCauchyResultantForceVec}{\Vec{\StressCauchyResultantForce}} \newcommand{\StressCauchyResultantMoment}{M} \newcommand{\StressCauchyResultantMomentDetailed}[1]{M_{#1}} \newcommand{\StressCauchyResultantMomentVec}{\Vec{\StressCauchyResultantMoment}} \newcommand{\StressCauchyResultantForceShear}{V} \newcommand{\StressCauchyResultantForceShearDetailed}[1]{V_{#1}} \newcommand{\StressCauchyResultantForceAxial}{\StressCauchyResultantForce} \newcommand{\DispFieldCurrCompX}{\DispFieldCurrComp_{\SpatialCoordX}} \newcommand{\DispFieldCurrCompY}{\DispFieldCurrComp_{\SpatialCoordY}} \newcommand{\DispFieldCurrCompZ}{\DispFieldCurrComp_{\SpatialCoordZ}} \newcommand{\DispFieldMidCurrCompX}{\overline{\DispFieldCurrComp}_{\SpatialCoordX}} \newcommand{\DispFieldMidCurrCompY}{\overline{\DispFieldCurrComp}_{\SpatialCoordY}} \newcommand{\StrainSymGradCompXX}{\StrainSymGradComp_{\SpatialCoordX\SpatialCoordX}} \newcommand{\StrainSymGradCompYY}{\StrainSymGradComp_{\SpatialCoordY\SpatialCoordY}} \newcommand{\StrainSymGradCompZZ}{\StrainSymGradComp_{\SpatialCoordZ\SpatialCoordZ}} \newcommand{\StrainShearComp}{\gamma} \newcommand{\StrainShearCompXY}{\StrainShearComp_{\SpatialCoordX\SpatialCoordY}} \newcommand{\StrainShearCompXZ}{\StrainShearComp_{\SpatialCoordX\SpatialCoordZ}} \newcommand{\StrainShearCompYZ}{\StrainShearComp_{\SpatialCoordY\SpatialCoordZ}} \newcommand{\EquationBeamShearStress}{\frac{\StressCauchyResultantForceShear \MomentFirstMass}{\MomentSecondMassDetailed{\SpatialCoordZ}\Width}} \newcommand{\EquationVecInCoords}{\Vec{v} = v_{\SpatialCoordX} \BasisVecI + v_{\SpatialCoordY} \BasisVecJ + v_{\SpatialCoordZ} \BasisVecK} \newcommand{\EquationMatVecMultiply}{\Mat{M}\Vec{v} = \begin{bmatrix} \DotProduct{\Vec{m}_1}{\Vec{v}} \\ \DotProduct{\Vec{m}_2}{\Vec{v}} \\ \DotProduct{\Vec{m}_3}{\Vec{v}} \end{bmatrix}} \newcommand{\EquationMatMatMultiply}{\Mat{M}\Mat{N} = \begin{bmatrix} \DotProduct{\Vec{m}_1}{\Mat{n}_1} & \DotProduct{\Vec{m}_1}{\Mat{n}_2} & \DotProduct{\Vec{m}_1}{\Mat{n}_3} \\ \DotProduct{\Vec{m}_2}{\Mat{n}_1} & \DotProduct{\Vec{m}_2}{\Mat{n}_2} & \DotProduct{\Vec{m}_2}{\Mat{n}_3} \\ \DotProduct{\Vec{m}_3}{\Mat{n}_1} & \DotProduct{\Vec{m}_3}{\Mat{n}_2} & \DotProduct{\Vec{m}_3}{\Mat{n}_3} \end{bmatrix}} \newcommand{\Force}{F} \newcommand{\ShearFlow}{f}$$\newcommand{\BaseSymbol}{b} \newcommand{\EmbeddedSymbol}{e} \newcommand{\RefinedSymbol}{r} \newcommand{\HierarchicalSymbol}{\textsf{H}} \newcommand{\BlockSymbol}{\textsf{B}} \newcommand{\BaseModifier}[1]{{#1}_{\BaseSymbol}} \newcommand{\EmbeddedModifier}[1]{{#1}_{\EmbeddedSymbol}} \newcommand{\RefinedModifier}[1]{{#1}_{\RefinedSymbol}} \newcommand{\HierarchicalModifier}[1]{{#1}_{\HierarchicalSymbol}} \newcommand{\BlockModifier}[1]{{#1}_{\BlockSymbol}} \newcommand{\RefinementLevelI}{i} \newcommand{\RefinementLevelJ}{j} \newcommand{\RefinementLevelK}{k} \newcommand{\HighestRefinementLevel}{N} \newcommand{\BaseParentDomain}{\BaseModifier{\ParentDomain}} \newcommand{\RefinedDomain}[1]{\ParamDomain_{#1}} \newcommand{\BaseMesh}{\BaseModifier{\MeshTopo}} \newcommand{\BaseBezierMesh}{\BaseModifier{\MeshBezier}} \newcommand{\EmbeddedMesh}{\EmbeddedModifier{\MeshTopo}} \newcommand{\RefinedMesh}{\RefinedModifier{\MeshTopo}} \newcommand{\RefinedBezierMesh}{\RefinedModifier{\MeshBezier}} \newcommand{\HierarchicalBezierMesh}{\HierarchicalModifier{\MeshBezier}} \newcommand{\HierarchicalUsplineMesh}{\HierarchicalModifier{\MeshUspline}} \newcommand{\RefinementLevelMesh}[1]{\MeshBezier_{#1}} \newcommand{\LeafElemSet}[1]{\Set{L}_{#1}} \newcommand{\ActiveElemSet}[1]{\Set{A}_{#1}} \newcommand{\ActiveBasisFuncs}[1]{\Set{UFA}_{#1}} \newcommand{\UnderRefinedBasisFuncs}[1]{\Set{UFU}_{#1}} \newcommand{\HierarchicalBasisFuncs}{\Set{UFH}} \newcommand{\TruncatedBasisFuncs}{\Set{UFT}} \newcommand{\FuncsTruncatedToLevel}[1]{\Set{TK}_{#1}} \newcommand{\FuncsTouchingActiveFuncs}[1]{\Set{T}_{#1}} \newcommand{\FuncsSubsetOfCoarserFuncs}[1]{\Set{S}_{#1}} \newcommand{\RefinementLevelBasis}[1]{\UsplineBasisFuncSetFunctionOf{\RefinementLevelMesh{#1}}} \newcommand{\RefinementLevelSpace}[1]{\QuantityRelatedTo{\UsplineSpace}{\RefinementLevelMesh{#1}}} \newcommand{\BaseAssociated}{\operatorname{\textsf{base}}} \newcommand{\BaseAssociatedFunctionOf}[1]{\QFO{\BaseAssociated}{#1}} \newcommand{\TruncationOp}[2]{\QFO{\operatorname{\textsf{trunc}}_{#1}}{#2}} \newcommand{\EmbeddedToBaseChart}{\EmbeddedModifier{\ParentDomainChart}} \newcommand{\InvEmbeddedToBaseChart}{(\EmbeddedToBaseChart)^{-1}} \newcommand{\RefinementCoefficients}{c^A_B} \newcommand{\RefinementMat}{\Mat{D}} \newcommand{\NthLevelProlongationMat}[1]{\QSB{\ProlongationMat}{#1}} \newcommand{\NthLevelActiveMat}[1]{\QSB{\Mat{A}}{#1}} \newcommand{\NthLevelRefinementMat}[1]{\QSB{\RefinementMat}{#1}} \newcommand{\NthLevelTruncationMat}[1]{\QSB{\Mat{T}}{#1}} \newcommand{\NthLevelBasisMat}[1]{\QSB{\Mat{S}}{#1}} \newcommand{\NthLevelMassMat}[1]{\QSB{\MassMat}{#1}} \newcommand{\FuncIndex}{\operatorname*{\mathsf{ID}}} \newcommand{\MultiLevelRefinementMat}[2]{\QSB{\RefinementMat}{#1 #2}} \newcommand{\BlockRefinementMat}{\BlockModifier{\RefinementMat}} \newcommand{\BlockMassMat}{\BlockModifier{\MassMat}}$

In some cases, decomposition alone is not sufficient to provide the necessary topology for sweeping. The forced sweepability capability attempts to force a model to have sweepable topology given a set of source and target surfaces. The source-target pairs may have been identified manually by the user, or defined as one the solutions from the sweep suggestion algorithm described above. All of the surfaces between source and target surfaces are referred to as linking surfaces. Linking surfaces must be mappable or submappable in order for the sweeping algorithm to be successful. There are various topology configurations that will prevent linking surfaces from being mappable or submappable.

Diagnostics: The first check that is made is for small curves. Small curves will not necessarily introduce topology that is not mappable or submappable but will often enforce unneeded mesh resolution and will often degrade mesh quality as the mesh size has to transition from small to large. Next, the interior angles of each surface are checked to see if they deviate far from 90 multiples. As the deviation from 90 multiples increases the mapping and submapping algorithms have a harder time classifying corners in the surface. If either of these checks identify potential problems they are flagged and potential solutions are generated.

Solutions: If linking surface problems are identified ITEM will analyze the surface and generate potential solutions for resolving the problem. Compositing the problem linking surface with one of its neighbors is a current solution that is provided. ITEM will look at the neighboring surfaces to decide which combination will be best. When remedying bad interior angles the new interior angles that would result after the composite are calculated in order to choose the composite that would produce the best interior angles. Another criterion that is considered is the dihedral angle between the composite candidates. Dihedral angles close to 180 are desirable. The suggested solutions are prioritized based on these criteria before being presented to the user. Figure 1 shows an example of a model before and after running the forced sweepability solutions. The top and bottom of the cylinder were chosen as the source and target surfaces respectively.

Figure 523: Non-submappable linking surface topology is composited out to force a sweepable volume topology

##### 9.6.4Resolving Problems with Conformal Assemblies

$\newcommand{\QuantityFunctionOf}[2]{{#1}(#2)} \newcommand{\QFO}[2]{\QuantityFunctionOf{#1}{#2}} \newcommand{\QuantityFunctionOfNoArg}[1]{{#1}} \newcommand{\QFONA}[1]{\QuantityFunctionOfNoArg{#1}} \newcommand{\SubscriptedQuantityFunctionOf}[3]{{#1}_{#2}(#3)} \newcommand{\SQFO}[3]{\SubscriptedQuantityFunctionOf{#1}{#2}{#3}} \newcommand{\QuantityChildOf}[2]{{#2}^{#1}} \newcommand{\QCO}[2]{\QuantityChildOf{#1}{#2}} \newcommand{\QuantityRelatedTo}[2]{{#1}[#2]} \newcommand{\QRT}[2]{\QuantityRelatedTo{#1}{#2}} \newcommand{\QuantitySubscriptedBy}[2]{{#1}_{#2}} \newcommand{\QSB}[2]{\QuantitySubscriptedBy{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOfChildOf}[4]{{#1}_{#2}^{#3}(#4)} \newcommand{\SQFOCO}[4]{\SubscriptedQuantityFunctionOfChildOf{#1}{#2}{#3}{#4}} \newcommand{\SubscriptedQuantityChildOf}[3]{{#1}_{#2}^{#3}} \newcommand{\SQCO}[3]{\SubscriptedQuantityChildOf{#1}{#2}{#3}} \newcommand{\overbar}[1]{\mkern 1.5mu\overline{\mkern-1.5mu#1\mkern-1.5mu}\mkern 1.5mu} \newcommand{\bcdot}{\boldsymbol{\cdot}} \newcommand{\SuchThat}{\, : \,} \newcommand{\SuchThatText}{\text{s.t.}} \newcommand{\DefEq}{\overset{\operatorname{def}}{=}} \newcommand{\True}{\textsf{True}} \newcommand{\False}{\textsf{False}} \newcommand{\ArrayRoster}[1]{\left[#1\right]} \newcommand{\ArrayRosterI}[2]{[#1]_{#2}} \newcommand{\ArrayEmpty}{\ArrayRoster{\hspace{1mm}}} \newcommand{\Tuple}[1]{\mathsf{#1}} \newcommand{\TupleRoster}[1]{\left(#1\right)} \newcommand{\PointPair}[2]{\TupleRoster{#1, #2}} \newcommand{\Set}[1]{\mathsf{#1}} \newcommand{\SetRoster}[1]{\left\{ #1 \right\}} \newcommand{\SetRosterIndexed}[3]{\SetRoster{#1}_{#2}^{#3}} \newcommand{\SetRosterPredicate}[2]{\SetRoster{#1 \SuchThat #2}} \newcommand{\SetEmpty}{\varnothing} \newcommand{\SetPower}[1]{\QuantityFunctionOf{\boldsymbol{\Set{P}}}{#1}} \newcommand{\SetNeighborhood}[1]{\QuantityFunctionOf{\boldsymbol{\Set{B}}}{#1}} \newcommand{\Domain}{\Omega} \newcommand{\DomainBdry}{\Gamma} \newcommand{\IntervalClosed}[2]{\left[#1, #2\right]} \newcommand{\IntervalOpen}[2]{\left(#1, #2\right)} \newcommand{\IntervalClosedOpen}[2]{\left[#1, #2\right)} \newcommand{\IntervalOpenClosed}[2]{\left(#1, #2\right]} \newcommand{\Reals}{\mathbb{R}} \newcommand{\Naturals}{\mathbb{N}} \newcommand{\Integers}{\mathbb{Z}} \newcommand{\Field}{\mathbb{F}} \newcommand{\Size}[1]{\left\lvert #1 \right\rvert} \newcommand{\Union}[3]{\bigcup\limits_{#1}^{#2} #3} \newcommand{\UnionInline}[3]{\bigcup_{#1}^{#2} #3} \newcommand{\Intersect}[3]{\bigcap\limits_{#1}^{#2} #3} \newcommand{\ElementWiseGreaterOrEqual}{\succeq} \newcommand{\ElemntWiseGreater}{\succ} \newcommand{\ElementWiseLessOrEqual}{\preceq} \newcommand{\ElementWiseLess}{\prec} \newcommand{\SpaceLinear}[1]{\mathnormal{#1}} \newcommand{\SpaceDual}[1]{\SpaceLinear{#1}^*} \newcommand{\AbsoluteValue}[1]{\Size{#1}} \newcommand{\Norm}[2]{\left\lVert #2 \right\rVert_{#1}} \newcommand{\NormAbstract}[1]{\Norm{}{#1}} \newcommand{\NormSemi}[1]{\Size{#1}} \newcommand{\SpaceLinearNormed}[1]{\left(\SpaceLinear{#1}, \NormAbstract{\bcdot} \right)} \newcommand{\SpaceBanach}[1]{\mathfrak{#1}} % normed and complete \newcommand{\SymmetricBilinear}[2]{\left(#1, #2\right)} \newcommand{\InnerProduct}[2]{\left\langle#1, #2\right\rangle} \newcommand{\DotProduct}[2]{\left(#1 \bcdot #2\right)} \newcommand{\SpaceInnerProduct}[1]{\left(\SpaceLinear{#1}, \InnerProduct{\bcdot}{\bcdot}\right)} \newcommand{\SpaceHilbert}[1]{\mathcal{#1}} \newcommand{\SpaceLTwo}{\SpaceHilbert{L}_2} \newcommand{\SpaceLTwoDef}[2]{\SpaceLTwo\left(#1; #2\right)} \newcommand{\SpaceLInfty}{\SpaceHilbert{L}_\infty} \newcommand{\SpaceLTwoWeighted}{\SpaceLTwo^w} \newcommand{\SpaceSobolevK}[1]{\SpaceHilbert{H}^{#1}} \newcommand{\SpaceSobolevKDef}[3]{\SpaceSobolevK{#1}\left(#2 ; #3\right)} \newcommand{\Cont}{\operatorname{cont}} \newcommand{\SpaceCont}{\SpaceHilbert{C}} \newcommand{\SpaceContDef}[2]{\SpaceCont\left(#1 ; #2\right)} \newcommand{\SpaceContK}[1]{\SpaceCont^{#1}} \newcommand{\SpaceContKDef}[3]{\SpaceContK{#1}\left(#2; #3\right)} \newcommand{\SpaceContZero}{\SpaceContK{0}} \newcommand{\SpaceContInf}{\SpaceContK{\infty}} \newcommand{\SpaceContInfDef}[2]{\SpaceContKDef{\infty}{#1}{#2}} \newcommand{\SpaceContKBounded}[2]{\SpaceContK{#1}_{#2}} \newcommand{\SpaceContKBoundedDef}[3]{\SpaceCont_{b}^{#1}\left(#2 ; #3\right)} \newcommand{\SpaceLinearOperator}[1]{\mathscr{#1}} \newcommand{\SpaceLinearOperatorDef}[2]{\SpaceLinearOperator{L}\left(#1 ; #2\right)} \newcommand{\SpaceLinearOperatorBoundedDef}[2]{\SpaceLinearOperator{B}\left(#1 ; #2\right)} \newcommand{\SpaceLinearN}[1]{\SpaceLinear{#1}^h} \newcommand{\SpaceHilbertN}[1]{\SpaceHilbert{#1}^h} \newcommand{\SpaceVecRealN}[1]{\Reals^{#1}} \newcommand{\SpacePoly}[1]{\SpaceHilbert{P}^{#1}} \newcommand{\SpaceMatrixRealMN}[2]{\Reals^{#1\times#2}} \newcommand{\SpacePolyDef}[3]{\SpacePoly{#1}\left(#2 ; #3\right)} \newcommand{\Func}[1][f]{#1} \newcommand{\FuncAlt}[1][g]{#1} \newcommand{\FuncDef}[3]{#1 \SuchThat #2 \rightarrow #3} \newcommand{\FuncApprox}[1]{#1^h} \newcommand{\LinearOperator}[1]{\SpaceLinearOperator{#1}} \newcommand{\LinearOperatorDef}[3]{\FuncDef{\LinearOperator{#1}}{#2}{#3}} \newcommand{\Functional}[1]{\LinearOperator{#1}} \newcommand{\Projection}{\Pi} \newcommand{\VectorProjection}[2]{\Projection_{#1} {\left(#2\right)}} \newcommand{\Mat}[1]{\boldsymbol{#1}} \newcommand{\MatIJ}[3]{\left[#1\right]_{#2#3}} \newcommand{\MatIdRow}{m} \newcommand{\MatIdCol}{n} \newcommand{\NonZeroIndices}{\operatorname{\mathsf{nzi}}} \newcommand{\ColumnSelector}{\operatorname{\mathrm{col}}} \newcommand{\RowSelector}{\operatorname{\mathrm{row}}} \newcommand{\ColOf}[1]{\ColumnSelector_{#1}} \newcommand{\RowOf}[1]{\RowSelector_{#1}} \newcommand{\DiagonalMatrix}[1]{\QFO{\operatorname*{diag}}{#1}} \newcommand{\Rotation}{\Mat{R}} \newcommand{\Identity}{\Mat{I}} \newcommand{\KroneckerDeltaComp}{\delta} \newcommand{\KroneckerDelta}{\Mat{\delta}} \newcommand{\LeviCivita}{\Mat{\epsilon}} \newcommand{\Jacobian}{\Mat{J}} \renewcommand{\Vec}[1]{\boldsymbol{#1}} \newcommand{\VecChildOf}[2]{\QCO{#2}{#1}} \newcommand{\VecI}[2]{\{#1\}_{#2}} \newcommand{\ZeroVec}{\Vec{0}} \newcommand{\OneVec}{\Vec{1}} \newcommand{\ZeroMat}{\Mat{0}} \newcommand{\UnitNormalComp}{n} \newcommand{\UnitNormal}{\Vec{\UnitNormalComp}} \newcommand{\MacBracket}[1]{\langle#1\rangle} \newcommand{\IdentityTenSym}{\mathbb{I}} \newcommand{\BraKet}[1]{\langle#1\rangle} \newcommand{\FuncObjective}[1]{\QFO{\Func}{#1}} \newcommand{\FuncEqualityConstraints}[1]{\QFO{\Func[\Vec{g}]}{#1}} \newcommand{\VarDesign}{\Vec{\phi}} \newcommand{\VarState}[1]{\QFO{\Vec{u}}{#1}} \newcommand{\FuncLagrangian}[1]{\QFO{\mathscr{L}}{#1}} \newcommand{\FuncAugmentedLagrangian}[1]{\QFO{\mathscr{L}_A}{#1}} \newcommand{\VecLambdaLM}[1]{\QFO{\Vec{\lambda}}{#1}} \newcommand{\LambdaLM}[1]{\QFO{\lambda}{#1}} \newcommand{\SolutionLocalOpt}[1]{\left(#1\right)^*} \newcommand{\ProximalPoint}{\overbar{\VecLambdaLM{}}} \newcommand{\PenaltyParameter}{\rho} \newcommand{\Slacify}[1]{\QSB{#1}{s}} \newcommand{\Prod}[2]{\prod\limits_{#1}^{#2}} \newcommand{\ProdInline}[2]{\prod_{#1}^{#2}} \newcommand{\TensorProduct}{\otimes} \newcommand{\Sum}[2]{\sum\limits_{#1}^{#2}} \newcommand{\SumInline}[2]{\sum_{#1}^{#2}} \newcommand{\Rank}[1]{\operatorname{rank}(#1)} \newcommand{\Nullity}[1]{\operatorname{null}(#1)} \newcommand{\Image}{\operatorname{image}} \newcommand{\Range}{\operatorname{range}} \newcommand{\Inverse}[1]{\left(#1\right)^{-1}} \newcommand{\inverse}[1]{\overline{#1}} \newcommand{\Transpose}[1]{\left(#1\right)^{T}} \newcommand{\TransposeSimple}[1]{#1^{T}} \newcommand{\InvTrans}[1]{\left(#1\right)^{-T}} \newcommand{\Complement}[1]{\overbar{#1}} \newcommand{\Adjoint}[1]{\left(#1\right)^*} \newcommand{\OrthogonalComplement}[1]{\left(#1\right)^\perp} \newcommand{\Det}[1]{\QFO{\operatorname{det}}{#1}} \newcommand{\DCT}{\operatorname{DCT}} \newcommand{\IDCT}{\operatorname{IDCT}} \newcommand{\RealPart}[1]{\QFO{\mathfrak{R}}{#1}} \newcommand{\Trace}[1]{\QFO{\operatorname{tr}}{#1}} \newcommand{\Dev}[1]{\QFO{\operatorname{dev}}{#1}} \newcommand{\DevDef}[1]{\Dev{#1} \DefEq #1 - \frac{1}{3}\Trace{#1}\Identity} \newcommand{\dual}[1]{{\bar{#1}}} \newcommand{\symind}[1]{\textsc{#1}} \newcommand{\symmetrizer}{{S}} \newcommand{\BasisFuncCoeff}[2]{\QSB{#1}{#2}} \newcommand{\BasisVec}[2]{\QSB{#1}{#2}} \newcommand{\BasisVecChildOf}[3]{\SQFOCO{#1}{#2}{#3}{a}} \newcommand{\OrthogonalBasisVec}[2]{\SQFOCO{#1}{#2}{\perp}{a}} \newcommand{\OrthonormalBasisVec}[2]{\SQFOCO{\overbar{#1}}{#2}{\perp}{a}} \newcommand{\PolynomialDegree}{p} \newcommand{\BasisFuncId}{i} \newcommand{\BasisFuncIdAlt}{j} \newcommand{\BasisFuncIdAltAlt}{k} \newcommand{\BasisFunc}[3]{\SQFO{#1}{#2}{#3}} \newcommand{\PowerBasisFunc}[2]{\QCO{#2}{#1}} \newcommand{\LagrangeBasisFunc}[3]{\SQFOCO{\Func[L]}{#1}{#2}{#3}} \newcommand{\LagrangeBasisFuncNoArg}[2]{\SQCO{\Func[L]}{#1}{#2}} \newcommand{\LegendreBasisFunc}[3]{\SQFOCO{\Func[P]}{#1}{#2}{#3}} \newcommand{\LegendreBasisFuncNoArg}[2]{\SQCO{\Func[P]}{#1}{#2}} \newcommand{\PreNormalizedLegendreBasisFunc}[3]{\hat{\LegendreBasisFunc{#1}{#2}{#3}}} \newcommand{\ChebyshevBasisFunc}[2]{\SQFO{\Func[T]}{#1}{#2}} \newcommand{\ChebyshevBasisFuncNoArg}[1]{\SQCO{\Func[T]}{#1}{}} \newcommand{\BasisVecI}{\Vec{i}} \newcommand{\BasisVecJ}{\Vec{j}} \newcommand{\BasisVecK}{\Vec{k}} \newcommand{\Span}{\operatorname{span}} \newcommand{\Dim}[1]{\operatorname{dim}\left({#1}\right)} \newcommand{\Support}[1]{\operatorname{supp}(#1)} \newcommand{\SupportPos}[1]{\operatorname{supp}_{+}(#1)} \newcommand{\SumBasis}[4]{\Sum{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\SumInlineBasis}[4]{\SumInline{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\BasisTransMatrix}[2]{\Mat{R}_{{#1}\rightarrow{#2}}} \newcommand{\ChebyshevZeros}[1]{\QSB{z}{#1}} \newcommand{\ChebyshevExtremizers}[1]{\QSB{t}{#1}} \newcommand{\BernToChebMat}{\Mat{T}} \newcommand{\Chebfun}[3]{\biggl(\, \sum_{#2=0}^{#1}{#3}_{#2}\ChebyshevBasisFuncNoArg{#2}\biggr)} \newcommand{\ChebfunVector}[1]{\left[#1\right]_c} \newcommand{\PowerBasisMat}[1]{\QCO{#1}{\Mat{M}}} \newcommand{\LagrangeBasisMat}[1]{\QCO{#1}{\Mat{L}}} \newcommand{\LegendreBasisMat}[1]{\QCO{#1}{\Mat{P}}} \newcommand{\BernsteinBasisMat}[1]{\QCO{#1}{\Mat{B}}} \newcommand{\ChebyshevBasisMat}[1]{\QCO{#1}{\Mat{T}}} \newcommand{\EvaluateTwoLimits}[3]{#1\biggr\rvert_{#2}^{#3}} \newcommand{\EvaluateOneLimit}[2]{\left.#1\right\rvert_{#2}} \newcommand{\Limit}[2]{\lim\limits_{#1\rightarrow #2}} \newcommand{\LimitInline}[2]{\lim_{#1\rightarrow #2}} \newcommand{\DNE}{\operatorname{DNE}} \newcommand{\TotalDeriv}{D} \newcommand{\LagrangeDeriv}[1]{{#1}'} \newcommand{\KthLagrangeDeriv}[2]{{#1}^{(#2)}} \newcommand{\LeibnizSubDeriv}[2]{{#1}_{,#2}} \newcommand{\LeibnizFracDeriv}[2]{\frac{d}{d#2} #1} \newcommand{\KthLeibnizFracDeriv}[3]{\frac{d^{#2}}{d#3^{#2}}\Func[#1](#3)} \newcommand{\KthLeibnizFracSpecificFunction}[3]{\frac{d^{#2}}{d#3^{#2}}\Func[#1]} \newcommand{\Differential}[1][x]{\, \operatorname{d}{#1}} \newcommand{\FrechetDeriv}[2]{D{#1}\left(#2\right)} \newcommand{\GateauxDirectionBold}[1]{\Vec{\delta}#1} \newcommand{\GateauxDirection}[1]{\delta #1} \newcommand{\GateauxDerivBold}[2]{D#1(#2; \GateauxDirectionBold{#2})} \newcommand{\GateauxDeriv}[2]{D#1(#2; \GateauxDirection{#2})} \newcommand{\GateauxDerivWithDirection}[3]{D#1\left(#2 \ ;\ #3\right)} \newcommand{\GateauxDerivPartial}[2]{\frac{\partial #1}{\partial #2}} \newcommand{\KthGateauxDerivPartial}[3]{\frac{\partial^{#3} #1}{\partial #2^{#3}}} \newcommand{\Grad}[2]{\boldsymbol{\nabla}^{#1} #2} \newcommand{\Jac}{\Mat{J}} \newcommand{\Div}[2]{\boldsymbol{\nabla}^{#1} \bcdot #2} \newcommand{\Laplace}[2]{\boldsymbol{\Delta}^{#1} #2} \newcommand{\TaylorSeries}[2]{\mathcal{T}\left[\Func[#1]\right](#2)} \newcommand{\TruncatedTaylorSeries}[3]{\mathcal{T}_{#1}\left[\Func[#2]\right]\left(#3\right)} \newcommand{\Int}[2]{\int\limits_{#1}^{#2}} \newcommand{\IntDomain}[1]{\int\limits_{#1}} \newcommand{\IntInline}[2]{\int_{#1}^{#2}} \newcommand{\IntDomainInline}[1]{\int_{#1}} \newcommand{\DetJacobian}{\Det{\Jac}} \newcommand{\BigO}[1]{\mathcal{O}\left(#1\right)} \newcommand{\Flops}{\operatorname{flops}} \newcommand{\Interpolant}[2]{\mathcal{#1}^{h}} \newcommand{\ErrorApproxComp}{e} \newcommand{\ErrorApproxTen}{\Vec{\ErrorApproxComp}} \newcommand{\ErrorNewton}{\epsilon} \newcommand{\ApproximateIntegrationError}[1]{\tilde{e}_{#1}} \newcommand{\AnalyticApproximateIntegrationErrorDifference}[1]{\overbar{e}_{#1}} \newcommand{\erf}[1]{\mathrm{erf}\left(#1\right)} \newcommand{\erfc}[1]{\mathrm{erfc}\left(#1\right)} \newcommand{\HeavisideFunc}[1]{\mathit{H}\left(#1\right)} \newcommand{\DiracDelta}[2]{\delta_{D}\left(#1 - #2\right)}$$\newcommand{\SymbolParentModifier}[1]{\overbar{#1}} \newcommand{\SymbolParamModifier}[1]{\hat{#1}} \newcommand{\SymbolSubmeshModifier}{} \newcommand{\SymbolDomain}{\Domain} \newcommand{\SymbolDomainBdry}{\DomainBdry} \newcommand{\SymbolBernstein}{B} \newcommand{\SymbolBasisUspline}{N} \newcommand{\SymbolUspline}{U} \newcommand{\SymbolUsplineLower}{u} \newcommand{\SymbolGrevillePoint}{g} \newcommand{\SymbolDim}{d} \newcommand{\SymbolArbitraryCoeffUspline}{c} \newcommand{\SymbolArbitraryCoeffUsplineAlt}{\beta} \newcommand{\SymbolArbitraryCoeffBernstein}{c} \newcommand{\SymbolDistance}{\operatorname{dist}} \newcommand{\AdjacencyId}{n} \newcommand{\DimId}{k} \newcommand{\DimIdAlt}{n} \newcommand{\ArbDim}{\DimId} \newcommand{\ArbDimAlt}{\DimIdAlt} \newcommand{\DimIdSet}{\Set{\DimId}} \newcommand{\DimIdOne}{\DimId_0} \newcommand{\DimIdTwo}{\DimId_1} \newcommand{\DimIdThree}{\DimId_2} \newcommand{\TopoAlpha}[1]{\alpha_{#1}} \newcommand{\TopoPhi}[1]{\phi_{#1}} \newcommand{\UTopology}{\mathsf{U}} \newcommand{\Map}[1]{\mathsf{#1}} \newcommand{\OMap}[1]{\mathsf{#1}} \newcommand{\UOMap}[1]{\UTopology(#1)} \newcommand{\Topology}{\mathsf{T}} \newcommand{\DartsOf}[1]{\operatorname*{\mathsf{D}}\left(#1\right)} \newcommand{\DartIndex}[1]{\operatorname*{\mathsf{ID}}\left(#1\right)} \newcommand{\OR}{\operatorname{OR}} \newcommand{\AND}{\operatorname{AND}} \newcommand{\XOR}{\operatorname{XOR}} \newcommand{\Decomp}{\operatorname{dec}} \newcommand{\ParentDomain}{\SymbolParentModifier{\SymbolDomain}} \newcommand{\ParentDomainChart}{\SymbolParentModifier{\Vec{\phi}}} \newcommand{\ParentDomainChartFunctionOf}[2]{\QuantityFunctionOf{{\ParentDomainChart}^{#1}}{#2}} \newcommand{\ParentDim}{\SymbolDim} \newcommand{\ParentCoord}{\xi} \newcommand{\ParentCoordVec}{\Vec{\ParentCoord}} \newcommand{\ParentS}{\ParentCoord_0} \newcommand{\ParentT}{\ParentCoord_1} \newcommand{\ParentU}{\ParentCoord_2} \newcommand{\ParentBarycentric}[1]{\ParentCoord_{#1}} \newcommand{\ParentGrevillePoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}} \newcommand{\ParentGrevillePointFunctionOf}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParentGrevillePointSet}[1]{\QuantityFunctionOf{\Set{\SymbolParentModifier{G}}}{#1}} \newcommand{\BernsteinBasisFuncId}{\BasisFuncId} \newcommand{\BernsteinBasisFuncIdAlt}{\BasisFuncIdAlt} \newcommand{\BernsteinBasisFuncIdAltAlt}{\BasisFuncIdAltAlt} \newcommand{\BernsteinBasisFuncIdB}{\BasisFuncIdAltAlt} \newcommand{\BernsteinBasisFuncIdOne}{\BernsteinBasisFuncId_0} \newcommand{\BernsteinBasisFuncIdTwo}{\BernsteinBasisFuncId_1} \newcommand{\BernsteinBasisFuncIdSet}{\Set{\BernsteinBasisFuncId}} \newcommand{\BernsteinBasisFuncIndexTuple}{\BernsteinBasisFuncIdSet} \newcommand{\BernsteinBasisFuncIndexTupleAlt}{\Set{\BernsteinBasisFuncIdAlt}} \newcommand{\BernsteinBasisFuncIndexTupleAltAlt}{\Set{\BernsteinBasisFuncIdAltAlt}} \newcommand{\BernsteinBasisFuncIndexTupleB}{\Set{\BernsteinBasisFuncIdB}} \newcommand{\BernsteinDegree}{\PolynomialDegree} \newcommand{\BernsteinDegreeAlt}{q} \newcommand{\BernsteinDegreeTuple}{\Tuple{\BernsteinDegree}} \newcommand{\BernsteinDegreeElevMatComp}{D} \newcommand{\BernsteinDegreeElevMat}{\Mat{\BernsteinDegreeElevMatComp}} \newcommand{\CompletePolynomial}[1]{\AbsoluteValue{#1}} \newcommand{\BernsteinBasisFunc}{\SymbolBernstein} \newcommand{\BernsteinBasisFuncVec}[1]{\QuantityChildOf{#1}{\Vec{\SymbolBernstein}}} \newcommand{\BernsteinBasisFuncVecFunctionOf}[2]{\QuantityFunctionOf{\BernsteinBasisFuncVec{#1}}{#2}} \newcommand{\BernsteinBasisFuncDetailed}[2]{\BernsteinBasisFunc_{#1}^{#2}} \newcommand{\BernFuncLowerDimCell}[2]{\BernsteinBasisFunc^{#1}_{#2}} \newcommand{\BernFuncInterf}[1]{\BernFuncLowerDimCell{\Interface}{#1}} \newcommand{\BernsteinSpace}{\SpaceHilbert{\SymbolBernstein}} \newcommand{\BernsteinRestriction}[2]{#1\vert_{#2}} \newcommand{\Bezier}{B\'ezier} \newcommand{\MeshTopo}{\boldsymbol{\textsf{M}}} \newcommand{\MeshSize}{h} \newcommand{\MeshBezier}{\boldsymbol{\textsf{B}}} \newcommand{\CellArbitrary}[1]{\Set{#1}} \newcommand{\Cell}{\CellArbitrary{c}} \newcommand{\CellAlpha}{\CellArbitrary{a}} \newcommand{\CellBeta}{\CellArbitrary{b}} \newcommand{\CellGamma}{\CellArbitrary{c}} \newcommand{\CellToTheLeft}{\CellAlpha} \newcommand{\CellToTheRight}{\CellBeta} \newcommand{\CellBoundary}[1]{\partial #1} \newcommand{\CellSet}[1]{\Set{C}^{#1}} \newcommand{\CellSetAdjacent}[1]{\Set{ADJ}^{#1}} \newcommand{\CellSetAdjacentFunctionOf}[2]{\QuantityFunctionOf{\CellSetAdjacent{#1}}{#2}} \newcommand{\NRing}[1]{\QuantitySubscriptedBy{\operatorname{ring}}{#1}} \newcommand{\NRingFunctionOf}[2]{\SQFO{\operatorname{ring}}{#1}{#2}} \newcommand{\CellSetCardinal}[1]{\QuantityFunctionOf{\Set{CRD}}{#1}} \newcommand{\CellSetSupport}[1]{\Support{#1}} \newcommand{\Elem}{\Set{E}} \newcommand{\Interface}{\Set{I}} \newcommand{\Smoothness}{\vartheta} \newcommand{\SmoothnessVar}{\rho} \newcommand{\SmoothnessSet}{\Set{\Smoothness}} \newcommand{\InterfaceSmoothness}[1]{\QuantityChildOf{#1}{\Smoothness}} \newcommand{\MaxPerpCont}[1]{\QuantityFunctionOf{\Smoothness^{\perp}_{\max}}{#1}} \newcommand{\Face}{\Set{f}} \newcommand{\Edge}{\Set{e}} \newcommand{\Vertex}{\Set{v}} \newcommand{\CodimTwoCell}{\Set{w}} \newcommand{\KCell}{\Cell^\ArbDim} \newcommand{\KPlusOneCell}{\Cell^{\ArbDim+1}} \newcommand{\KCellAlpha}{\CellAlpha^\ArbDim} \newcommand{\KPlusOneCellBeta}{\CellBeta^{\ArbDim+1}} \newcommand{\MaxParallelDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\max}}{#1}} \newcommand{\MinParallelDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\min}}{#1}} \newcommand{\MaxPerpDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\max}}{#1}} \newcommand{\MinPerpDegree}[1]{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\min}}{#1}} \newcommand{\MinParallelPerpDegree}[2]{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\min}}{#1,#2}} \newcommand{\MaxParallelPerpDegree}[2]{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\max}}{#1,#2}} \newcommand{\DegreeParallel}{\BernsteinDegree^{\parallel}} \newcommand{\DegreeParallelToEdge}[2]{\DegreeParallel_{#1}(#2)} \newcommand{\DegreePerp}{\BernsteinDegree^{\perp}} \newcommand{\DegreePerpToInterface}[2]{\DegreePerp_{#1}(#2)} \newcommand{\DegreeTupleParallelToKCell}[2]{\Tuple{\BernsteinDegree}^{\parallel}_{#1}(#2)} \newcommand{\ChangeInDegree}[2]{\Delta(\BernsteinDegree)_{#1}^{#2}} \newcommand{\IndexSet}{\Set{ID}} \newcommand{\IndexSetFunctionOf}[1]{\QuantityFunctionOf{\IndexSet}{#1}} \newcommand{\CompositeBVUnionIndexSet}[1]{\QuantityFunctionOf{\Set{UID}}{#1}} \newcommand{\IndexSetPosCoeffs}[1]{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\IndexSetSet}{\boldsymbol{\IndexSet}} \newcommand{\IndexSetSetFunctionOf}[1]{\QuantityFunctionOf{\IndexSetSet}{#1}} \newcommand{\IndexSetOnMeshBezier}{\IndexSetFunctionOf{\MeshBezier}} \newcommand{\IndexOnCell}[2]{\QuantityChildOf{#1}{#2}} \newcommand{\IndexOnCellIJ}[3]{\QuantityChildOf{#1}{\TupleRoster{#2,#3}}} \newcommand{\CellFromQuantity}[1]{\QuantityFunctionOf{\operatorname{cell}}{#1}} \newcommand{\ExtractionOp}[1]{\QuantityChildOf{#1}{\Mat{C}}} \newcommand{\ExtractionOpFunctionOf}[2]{\QuantityFunctionOf{\ExtractionOp{#1}}{#2}} \newcommand{\ReconstructOp}[1]{\QuantityChildOf{#1}{\Mat{R}}} \newcommand{\ReconstructOpFunction}[2]{\QuantityFunctionOf{\ReconstructOp{#1}}{#2}} \newcommand{\Gramian}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{G}}{#2}}} \newcommand{\BernsteinSpaceOnMeshBezier}{\QCO{\MeshBezier}{\BernsteinSpace}} \newcommand{\ii}{\IndexOnCell{}{\BernsteinBasisFuncIndexTuple}} \newcommand{\jj}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAlt}} \newcommand{\kk}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAltAlt}} \newcommand{\ParamDomain}{\SymbolParamModifier{\SymbolDomain}} \newcommand{\ParamDomainOnCell}{\QuantityChildOf{\Cell}{\ParamDomain}} \newcommand{\ParamDomainBdry}{\SymbolParamModifier{\SymbolDomainBdry}} \newcommand{\ParamDomainChart}[1]{\Vec{\phi}^{#1}} \newcommand{\ParamDomainChartFunctionOf}[2]{\QuantityFunctionOf{\ParamDomainChart{#1}}{#2}} \newcommand{\ParamDim}{\SymbolDim} \newcommand{\ParamCoordSimple}{s} \newcommand{\ParamCoord}[1]{\QCO{#1}{s}} \newcommand{\ParamCoordVecSimple}{\Vec{s}} \newcommand{\ParamCoordVec}[1]{\QCO{#1}{\Vec{\ParamCoordSimple}}} \newcommand{\ParamDomainBdryParamCoord}{\ParamCoord{\ParamDomainBdry}} \newcommand{\ParamDomainBdryParamCoordVec}{\ParamCoordVec{\ParamDomainBdry}} \newcommand{\ParamCoordVecSet}{\boldsymbol{\Set{S}}} \newcommand{\ParamS}{\ParamCoord{}_0} \newcommand{\ParamT}{\ParamCoord{}_1} \newcommand{\ParamU}{\ParamCoord{}_2} \newcommand{\ParamBarycentric}[1]{\lambda_{#1}} \newcommand{\ParamLength}{\ell} \newcommand{\ParamLengthLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLength}} \newcommand{\ParamLengthRight}{\QuantityChildOf{\CellToTheRight}{\ParamLength}} \newcommand{\ParamLengthInS}{\ParamLength_{0}} \newcommand{\ParamLengthInT}{\ParamLength_{1}} \newcommand{\ParamLengthLeftS}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInS}} \newcommand{\ParamLengthLeftT}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInT}} \newcommand{\ParamLengthRightS}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInS}} \newcommand{\ParamLengthRightT}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInT}} \newcommand{\ParamLengthInSLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInS}} \newcommand{\ParamLengthInTLeft}{\QuantityChildOf{\CellToTheLeft}{\ParamLengthInT}} \newcommand{\ParamLengthInSRight}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInS}} \newcommand{\ParamLengthInTRight}{\QuantityChildOf{\CellToTheRight}{\ParamLengthInT}} \newcommand{\BernsteinDegreeInS}{\BernsteinDegree_{0}} \newcommand{\BernsteinDegreeInT}{\BernsteinDegree_{1}} \newcommand{\BernsteinDegreeLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegree}} \newcommand{\BernsteinDegreeRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegree}} \newcommand{\BernsteinDegreeInSLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegreeInS}} \newcommand{\BernsteinDegreeInSRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegreeInS}} \newcommand{\BernsteinDegreeInTLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegreeInT}} \newcommand{\BernsteinDegreeInTRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegreeInT}} \newcommand{\BernsteinDegreeBarycentricLeft}{\QuantityChildOf{\CellToTheLeft}{\BernsteinDegree}} \newcommand{\BernsteinDegreeBarycentricRight}{\QuantityChildOf{\CellToTheRight}{\BernsteinDegree}} \newcommand{\ParamGrevillePoint}[2]{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParamModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParamGrevillePointSet}[1]{\QuantityFunctionOf{\Set{\SymbolParamModifier{G}}}{#1}} \newcommand{\ParamDomainOnMeshBezier}{\QuantityChildOf{\MeshBezier}{\ParamDomain}} \newcommand{\BernsteinTraceMappingMat}{\Mat{M}} \newcommand{\NormalParamCoordSet}[2]{\QuantityFunctionOf{\ParamCoordVecSimple^{\perp}_{#1}}{#2}} \newcommand{\ParallelParamCoordSet}[2]{\QuantityFunctionOf{\ParamCoordVecSimple^{\parallel}_{#1}}{#2}} \newcommand{\Submesh}{\boldsymbol{\textsf{K}}} \newcommand{\SubmeshDomain}{\SymbolSubmeshModifier{\SymbolDomain}} \newcommand{\SubmeshDomainBdry}{\SymbolSubmeshModifier{\SymbolDomainBdry}} \newcommand{\SubmeshDomainChart}[1]{\QuantityChildOf{#1}{\Vec{\varphi}}} \newcommand{\SubmeshDomainChartFunctionOf}[2]{\QuantityFunctionOf{\SubmeshDomainChart{#1}}{#2}} \newcommand{\SubmeshDomainParameter}{\mathsf{\alpha}} \newcommand{\SubmeshDomainParameterVec}{\Vec{\SubmeshDomainParameter}} \newcommand{\SubmeshGrevillePoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}} \newcommand{\SubmeshGrevillePointFunctionOf}[2]{\QuantityFunctionOf{\SubmeshGrevillePoint{#1}}{#2}} \newcommand{\SubmeshGrevilleMaxPoint}[1]{\QuantityChildOf{#1}{\Set{\SymbolGrevillePoint}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSet}[1]{\QuantityChildOf{#1}{\Set{G}}_{\max}} \newcommand{\SubmeshGrevilleMinPointSet}[1]{\QuantityChildOf{#1}{\Set{G}}_{\min}} \newcommand{\SubmeshGrevilleMaxPointLeft}{\SubmeshGrevilleMaxPoint{\CellAlpha}} \newcommand{\SubmeshGrevilleMaxPointRight}{\SubmeshGrevilleMaxPoint{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointIntersection}{\SubmeshGrevilleMaxPoint{\Interface}} \newcommand{\SubmeshGrevilleMinPointSetLeft}{\SubmeshGrevilleMinPointSet{\CellAlpha}} \newcommand{\SubmeshGrevilleMinPointSetRight}{\SubmeshGrevilleMinPointSet{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointSetLeft}{\SubmeshGrevilleMaxPointSet{\CellAlpha}} \newcommand{\SubmeshGrevilleMaxPointSetRight}{\SubmeshGrevilleMaxPointSet{\CellBeta}} \newcommand{\SubmeshGrevilleMaxPointSetIntersection}{\SubmeshGrevilleMaxPointSet{\Interface}} \newcommand{\SubmeshGrevillePointSet}{\Set{\SymbolSubmeshModifier{G}}} \newcommand{\SubmeshGrevillePointSetFunctionOf}[1]{\QuantityFunctionOf{\SubmeshGrevillePointSet}{#1}} \newcommand{\SubmeshGrevillePointSetLeft}{\Set{\SymbolSubmeshModifier{GA}}} \newcommand{\SubmeshGrevillePointSetRight}{\Set{\SymbolSubmeshModifier{GB}}} \newcommand{\SubmeshGrevillePointSetElement}[1]{\Set{\SymbolSubmeshModifier{GE}}_{#1}} \newcommand{\SubmeshGrevillePointSetIntersect}{\Set{\SymbolSubmeshModifier{GI}}} \newcommand{\SubmeshGrevillePointSetUnion}[1]{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GU}}}{#1}} \newcommand{\SubmeshGrevillePointSetSet}{\boldsymbol{\SubmeshGrevillePointSet}} \newcommand{\SubmeshGrevillePointSetSetFunctionOf}[1]{\QuantityFunctionOf{\SubmeshGrevillePointSetSet}{#1}} \newcommand{\SubmeshGrevillePointSetSetLeft}{\boldsymbol{\SymbolSubmeshModifier{\Set{GA}}}} \newcommand{\SubmeshGrevillePointSetSetRight}{\boldsymbol{\SymbolSubmeshModifier{\Set{GB}}}} \newcommand{\SubmeshGrevillePointSetSetElement}[2]{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1}}{#2}} \newcommand{\SubmeshGrevilleDifferenceVectorsSet}{\Delta \SubmeshGrevillePointSetFunctionOf{a}} \newcommand{\SubmeshGrevilleDifferenceVectorsSetRight}{\Delta\SubmeshGrevilleMaxPointSetRight} \newcommand{\SubmeshGrevilleDifferenceVector}{\Delta\SubmeshGrevilleMaxPoint{a}} \newcommand{\SubmeshGrevilleDifferenceVectorLeft}{\Delta\SubmeshGrevilleMaxPointLeft} \newcommand{\SubmeshGrevilleDifferenceVectorRight}{\Delta\SubmeshGrevilleMaxPointRight} \newcommand{\SubmeshGrevilleDistanceToCell}[2]{\QuantityFunctionOf{\SymbolDistance}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCell}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMin}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\min}}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMax}[2]{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\max}}{#1, #2}} \newcommand{\SubmeshPerpProjection}[1]{\Projection^{\perp}_{#1}} \newcommand{\SubmeshPerpProjectionFunctionOf}[2]{\QuantityFunctionOf{\SubmeshPerpProjection{#1}}{#2}} \newcommand{\SubmeshParallelProjection}[1]{\Projection^{\parallel}_{#1}} \newcommand{\SubmeshParallelProjectionFunctionOf}[2]{\QuantityFunctionOf{\SubmeshParallelProjection{#1}}{#2}} \newcommand{\SubmeshStarProjection}[2]{\QuantityFunctionOf{\Projection^{*}_{#1}}{#2}} \newcommand{\SubmeshPerpEquivalence}[1]{\varpi^{\perp}_{#1}} \newcommand{\SubmeshParallelEquivalence}[1]{\varpi^{\parallel}_{#1}} \newcommand{\SubmeshParallelEquivalenceFunctionOf}[2]{\QuantityFunctionOf{\SubmeshParallelEquivalence{#1}}{#2}} \newcommand{\SubmeshStarEquivalence}[1]{\varpi^{*}_{#1}} \newcommand{\AlignedSet}{{\boldsymbol{\textsf{Align}}}} \newcommand{\AlignedSetSet}{{\boldsymbol{\textsf{ALIGN}}}} \newcommand{\AlignmentSetOfSetsLeft}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetOfSetsRight}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetForInterfaceGrevillePoint}{\AlignedSet_{\SubmeshGrevillePoint{\Interface}{}}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRow}{\Set{NZ}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRowFunctionOf}[2]{\QuantityFunctionOf{\IndexSetOfNonZeroEntriesInMapMatOnRow_{#1}}{#2}} \newcommand{\AlignmentSetOfSetsOnLowerDCell}[2]{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1,#2}^{\parallel}} \newcommand{\AlignmentSetOfSetsLeftThreeD}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \ii}^{\parallel}} \newcommand{\AlignmentSetOfSetsRightThreeD}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \ii}^{\parallel}} \newcommand{\KPlusOneCellAdjacentIndexedSubmeshDomain}{\QuantityChildOf{\CellAlpha\CellBeta}{\SubmeshDomain}} \newcommand{\StructuredSymbol}{\square} \newcommand{\StructuredSubmesh}[1]{\Submesh^{\StructuredSymbol}_{#1}} \newcommand{\ToGlobalDartOp}{\operatorname*{\mathsf{G}}} \newcommand{\ProlongationMat}{\Mat{P}} \newcommand{\RestrictionMat}{\Mat{R}} \newcommand{\MeshUspline}{\boldsymbol{\textsf{\SymbolUspline}}} \newcommand{\SetNeighborhoodOfInteraction}[1]{\QuantityFunctionOf{\textsf{NI}}{#1}} \newcommand{\Ray}{\Set{r}} \newcommand{\RayHead}{\Edge^{h}} \newcommand{\RayTail}{\Vec{t}} \newcommand{\RayTailId}{j} \newcommand{\RayTailIdOne}{\RayTailId_0} \newcommand{\RayTailIdTwo}{\RayTailId_1} \newcommand{\RayTailOrigin}{\textsf{o}} \newcommand{\RayTailEdge}{\Edge} \newcommand{\RayTailVertexMaxContinuity}[1]{\Smoothness_{#1}^{\max}} \newcommand{\RayTailEdgeMinDegree}[1]{\BernsteinDegree_{#1}^{\min}} \newcommand{\RaySkeleton}[1]{\operatorname{skel}(#1)} \newcommand{\RaySmoothness}[2]{\Smoothness_{#1}^{#2}} \newcommand{\RayDegree}[2]{\BernsteinDegree_{#1}^{#2}} \newcommand{\RayContinuityTransition}{\Set{cr}} \newcommand{\RayDegreeTransition}{\Set{dr}} \newcommand{\RayTailSize}{\Size{\RayTail}} \newcommand{\RayTailTargetSize}{n} \newcommand{\RayIsTruncated}{\Set{trunc}} \newcommand{\RayAlgBernIndexVariable}{\BernsteinBasisFuncIdSet} \newcommand{\RayStartingBernIndex}{\RayAlgBernIndexVariable_{\RayHead}} \newcommand{\BernIndexOnSpecificRayTailEdge}[1]{\RayAlgBernIndexVariable_{#1}} \newcommand{\Ribbon}{\Set{r}} \newcommand{\RibbonHead}{\Interface^{h}} \newcommand{\RibbonTail}{\Vec{t}} \newcommand{\RibbonTailId}{j} \newcommand{\RibbonTailIdOne}{\RibbonTailId_0} \newcommand{\RibbonTailIdTwo}{\RibbonTailId_1} \newcommand{\RibbonTailOrigin}{\textsf{o}} \newcommand{\RibbonTailInterf}{\Interface} \newcommand{\RibbonTailCodimTwoCellMaxContinuity}[1]{\Smoothness_{#1}^{\max}} \newcommand{\RibbonTailInterfMinDegree}[1]{\BernsteinDegree_{#1}^{\min}} \newcommand{\RibbonSkeleton}[1]{\operatorname{skel}(#1)} \newcommand{\RibbonSmoothness}[2]{\Smoothness_{#1}^{#2}} \newcommand{\RibbonDegree}[2]{\BernsteinDegree_{#1}^{#2}} \newcommand{\RibbonContinuityTransition}{\Set{cr}} \newcommand{\RibbonDegreeTransition}{\Set{dr}} \newcommand{\RibbonTailSize}{\Size{\RibbonTail}} \newcommand{\RibbonTailTargetSize}{n} \newcommand{\RibbonIsTruncated}{\Set{trunc}} \newcommand{\RibbonAlgBernIndexVariable}{\BernsteinBasisFuncIdSet} \newcommand{\RibbonStartingBernIndex}{\RibbonAlgBernIndexVariable_{\RibbonHead}} \newcommand{\BernIndexOnSpecificRibbonTailInterf}[1]{\RibbonAlgBernIndexVariable_{#1}} \newcommand{\ParamDomainOnMeshUspline}{\QuantityChildOf{\MeshUspline}{\ParamDomain}} \newcommand{\UsplineSpace}{\SpaceHilbert{\SymbolUspline}} \newcommand{\UsplineBasisFunc}{\SymbolBasisUspline} \newcommand{\UsplineBasisFuncDetailed}[2]{\UsplineBasisFunc^{#1}_{#2}} \newcommand{\UsplineBasisFuncSet}{\Set{UF}} \newcommand{\UsplineBasisFuncSetFunctionOf}[1]{\QuantityFunctionOf{\UsplineBasisFuncSet}{#1}} \newcommand{\UsplineBasisFuncVec}[1]{\QuantityChildOf{#1}{\Vec{\SymbolBasisUspline}}} \newcommand{\UsplineBasisFuncVecFunctionOf}[2]{\QuantityFunctionOf{\UsplineBasisFuncVec{#1}}{#2}} \newcommand{\UsplineBasisFuncSetOnMeshBezier}{\QuantityFunctionOf{\Set{UF}}{\MeshBezier}} \newcommand{\UsplineBasisFuncSetOnMeshUspline}{\QuantityFunctionOf{\Set{UF}}{\MeshUspline}} \newcommand{\UsplineBasisFuncSetSupport}[1]{\Support{\UsplineBasisFuncSetFunctionOf{#1}}} \newcommand{\UsplineBasisFuncId}{A} \newcommand{\UsplineBasisFuncIdVec}{\Vec{A}} \newcommand{\UsplineBasisFuncIdAlt}{B} \newcommand{\UsplineBasisFuncIdLocal}{a} \newcommand{\UsplineBasisFuncIdOne}{\UsplineBasisFuncId_0} \newcommand{\UsplineBasisFuncIdTwo}{\UsplineBasisFuncId_1} \newcommand{\UsplineBasisFuncNormalized}{\bar{\SymbolBasisUspline}} \newcommand{\UsplineBasisFuncParam}[1]{\UsplineBasisFuncDetailed{\MeshBezier}{#1}} \newcommand{\UsplineDegree}{q} \newcommand{\UsplineNullVectorCoeff}{u} \newcommand{\UsplineNullVector}{\Vec{\UsplineNullVectorCoeff}} \newcommand{\UsplineNullVectorIds}{\Set{id}} \newcommand{\UsplineNullVectorSet}{\boldsymbol{\textsf{UV}}} \newcommand{\UsplineNullVectorSetOfIndexSets}{\boldsymbol{\textsf{UI}}} \newcommand{\UsplineNullVectorSetOnMeshBezier}{\NullVectorSetFunctionOf{\MeshBezier}} \newcommand{\UsplineNullVectorSetOnMeshUspline}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshUspline}} \newcommand{\UsplineSpaceOnMeshUspline}{\QCO{\MeshUspline}{\UsplineSpace}} \newcommand{\UsplineCellToGlobalBasisFuncIndexMap}[1]{\operatorname{ucg}(#1)} \newcommand{\UsplineCellToGlobalBasisFuncIndexMapDef}{\FuncDef{\operatorname{ucg}}{\MeshBezier\times\Integers}{\Integers}} \newcommand{\BernsteinBasisFuncCoeff}{\SymbolArbitraryCoeffBernstein} \newcommand{\BernsteinBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffBernstein}}}{\MeshBezier}} \newcommand{\BernsteinBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffBernstein}}{\MeshBezier}} \newcommand{\UsplineBasisFuncCoeff}{\SymbolArbitraryCoeffUspline} \newcommand{\UsplineBasisFuncCoeffAlt}{\SymbolArbitraryCoeffUsplineAlt} \newcommand{\UsplineBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffUspline}}}{\MeshUspline}} \newcommand{\UsplineBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffUspline}}{\MeshUspline}} \newcommand{\ContiguousIndexMap}[1]{i_{#1}} \newcommand{\Constraint}{R} \newcommand{\ConstraintCoeff}{r} \newcommand{\ConstraintCoeffsSet}{\boldsymbol{\Set{\ConstraintCoeff}}} \newcommand{\ConstraintCoeffsVec}{\Vec{\ConstraintCoeff}} \newcommand{\ConstraintSet}{\Set{\Constraint}} \newcommand{\ConstraintSetFunctionOf}[1]{\QuantityFunctionOf{\ConstraintSet}{#1}} \newcommand{\ConstraintSetOnMeshBezier}{\ConstraintSetFunctionOf{\MeshBezier}} \newcommand{\ConstraintMat}{\Mat{\Constraint}} \newcommand{\ConstraintMatFunctionOf}[1]{\QuantityFunctionOf{\ConstraintMat}{#1}} \newcommand{\ConstraintMatOnMeshBezier}{\ConstraintMatFunctionOf{\MeshBezier}} \newcommand{\SparsestPossibleBasisOnCell}[1]{\QFO{\Set{N}}{#1}} \newcommand{\NullVectorCoeff}[1]{#1} \newcommand{\NullVector}{\Vec{v}} \newcommand{\NullVectorFunctionOf}[1]{\QuantityFunctionOf{\NullVector}{#1}} \newcommand{\NullVectorArbitrary}[1]{\Vec{#1}} \newcommand{\KCellNullVectorForCellAlpha}{\NullVectorArbitrary{n}_{\KCellAlpha}} \newcommand{\KPlusOneCellNullVectorForCellBeta}{\NullVectorArbitrary{n}_{\KPlusOneCellBeta}} \newcommand{\NullVectorSet}{\boldsymbol{\textsf{BV}}}%changed from mathsf \newcommand{\NullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\NullVectorSet}{#1}}%changed from mathsf \newcommand{\CompositeNullVectorSet}{\NullVectorSet^{\prime\prime}} \newcommand{\CompositeNullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\CompositeNullVectorSet}{#1}} \newcommand{\SimpleNullVectorSet}{\NullVectorSet^{\prime}} \newcommand{\SimpleNullVectorSetFunctionOf}[1]{\QuantityFunctionOf{\SimpleNullVectorSet}{#1}} \newcommand{\InterfaceNullVectorSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}}{#1}} \newcommand{\InterfaceNullVectorAlignedSubset}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}_{#1}}{#2}} \newcommand{\NullVectorSetOfIndexSets}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{BI}}}{#1}} \newcommand{\NullVectorSetGrevilleSets}{\boldsymbol{\textsf{BG}}}%changed from mathsf \newcommand{\NullVectorSetGrevilleSetsFunctionOf}[1]{\QuantityFunctionOf{\NullVectorSetGrevilleSets}{#1}}%changed from mathsf \newcommand{\NullVectorSetSubordinateToNullVector}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}}{#1}} \newcommand{\NullVectorSetSubordinateToNullVectorOnCell}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}_{#1}}{#2}} \newcommand{\NullVectorSetOnBdryOfNullVector}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{BD}}_{#1}}{#2}} \newcommand{\NullVectorEquivClass}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{EBV}}}{#1}} \newcommand{\NullVectorIndexEquivClass}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{EBI}}}{#1}} \newcommand{\NullVectorGrevilleEquivClass}{\boldsymbol{\textsf{EBG}}}%changed from mathsf \newcommand{\NullVectorGrevilleEquivClassFunctionOf}[1]{\QuantityFunctionOf{\NullVectorGrevilleEquivClass}{#1}}%changed from mathsf \newcommand{\NullVectorExpansionSet}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{XBV}}}{#1,#2}} \newcommand{\NullSpaceOperatorForm}[1]{\QuantityFunctionOf{\SpaceHilbert{N}}{#1}} \newcommand{\NullSpaceOperatorFormOnMeshBezier}{\NullSpaceOperatorForm{\MeshBezier}} \newcommand{\NullSpaceVectorForm}{\Set{N}} \newcommand{\NullSpaceVectorFormFunctionOf}[1]{\QuantityFunctionOf{\NullSpaceVectorForm}{#1}} \newcommand{\NullVectorGrevillePointSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}} \newcommand{\DegSmoothDiff}[2]{\delta_{#1}^{#2}} \newcommand{\FaceEdgeDiff}{\Set{t}} \newcommand{\FaceEdgeDiffSet}[1]{\Set{T}_{#1}} \newcommand{\PerpTuple}[1]{\QuantityFunctionOf{\FaceEdgeDiff^\perp}{#1}} \newcommand{\ParallelTuple}[1]{\QuantityFunctionOf{\FaceEdgeDiff^\parallel}{#1}} \newcommand{\ElemInterfDiff}{\Set{t}} \newcommand{\ElemInterfDiffSet}[1]{\Set{T}_{#1}} \newcommand{\SpokeSymbol}{\rho} \newcommand{\ElemInterfPairSymbol}{t} \newcommand{\ElemKPlusOneCellPair}{\Set{\SpokeSymbol}} \newcommand{\Spoke}{\ElemKPlusOneCellPair} \newcommand{\ElemInterfPair}{\Set{\ElemInterfPairSymbol}} \newcommand{\EIDPerpTuple}[1]{\QuantityFunctionOf{\ElemInterfDiff^\perp}{#1}} \newcommand{\EIDParallelTuple}[1]{\QuantityFunctionOf{\ElemInterfDiff^\parallel}{#1}} \newcommand{\InclDist}{\textsf{inc}}%changed from mathsf \newcommand{\InclDistFunctionOf}[1]{\QuantityFunctionOf{\InclDist}{#1}}%changed from mathsf \newcommand{\InclDistSet}[2]{\Set{INC}^{#1,#2}} \newcommand{\EdgeInclDist}[3]{\InclDistSet{#2}{#3}_{#1}} \newcommand{\PerpEdgesSet}{\Set{E}^\perp} \newcommand{\PerpInterfacesSet}{\Set{IRF}^\perp} \newcommand{\PerpOfKPlusOneCellInterfSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{PI}}}{#1}} \newcommand{\PerpKPlusOneCellSet}{\boldsymbol{\textsf{PC}}}%changed from mathsf \newcommand{\PerpKPlusOneCellSetFunctionOf}[1]{\QuantityFunctionOf{\PerpKPlusOneCellSet}{#1}}%changed from mathsf \newcommand{\ElemKPlusOneCellPairPerp}[1]{\QuantityFunctionOf{\Set{\SpokeSymbol}^\perp}{#1}} \newcommand{\ElemInterfPairPerp}[1]{\QuantityFunctionOf{\Set{t}^\perp}{#1}} \newcommand{\ElemInterfPairParallel}[1]{\QuantityFunctionOf{\Set{\ElemInterfPairSymbol}^\parallel}{#1}} \newcommand{\ElemKPlusOneCellPairParallelSet}[1]{\QuantityFunctionOf{\Set{\SpokeSymbol}^\parallel}{#1}} \newcommand{\KPlusOneCellNullVectorSet}[1]{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}}{#1}} \newcommand{\KPlusOneCellNullVectorAlignedSubset}[2]{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}_{#1}}{#2}} \newcommand{\Graph}{G} \newcommand{\GraphFunctionOf}[1]{\QuantityFunctionOf{\Graph}{#1}} \newcommand{\GraphCore}{K} \newcommand{\GraphDirectedEdge}{\Edge_{i,j}} \newcommand{\GraphDirectedEdgeIJ}[2]{\Edge_{#1,#2}} \newcommand{\GraphCoreToVertex}[1]{\QuantityFunctionOf{\Vertex}{#1}} \newcommand{\GraphCoreChildren}[1]{\QuantityFunctionOf{\operatorname{children}}{#1}} \newcommand{\GraphVertexToCore}[1]{\QuantityFunctionOf{\GraphCore}{#1}} \newcommand{\GraphInteractingEdges}{\Set{IE}} \newcommand{\GraphCoveredEdges}{\Set{CE}} \newcommand{\GraphFailedEdges}{\Set{FE}} \newcommand{\GraphCandidateEdges}{\Set{XE}} \newcommand{\UsplineClass}[1]{\boldsymbol{\mathcal{\SymbolUspline}}^{#1}} \newcommand{\UClassRegular}{R} \newcommand{\UClassIrregular}{r} \newcommand{\UClassContFinite}{H} \newcommand{\UClassContInfinity}{h} \newcommand{\UClassGlobalSmoothness}{K} \newcommand{\UClassLocalSmoothness}{k} \newcommand{\UClassGlobalDegree}{P} \newcommand{\UClassLocalDegree}{p} \newcommand{\SuperscriptRHKP}{\UClassRegular\UClassContFinite\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrHKP}{\UClassIrregular\UClassContFinite\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRhKP}{\UClassRegular\UClassContInfinity\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrhKP}{\UClassIrregular\UClassContInfinity\UClassGlobalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRHkP}{\UClassRegular\UClassContFinite\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrHkP}{\UClassIrregular\UClassContFinite\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRhkP}{\UClassRegular\UClassContInfinity\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptrhkP}{\UClassIrregular\UClassContInfinity\UClassLocalSmoothness\UClassGlobalDegree} \newcommand{\SuperscriptRHKp}{\UClassRegular\UClassContFinite\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrHKp}{\UClassIrregular\UClassContFinite\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRhKp}{\UClassRegular\UClassContInfinity\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrhKp}{\UClassIrregular\UClassContInfinity\UClassGlobalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRHkp}{\UClassRegular\UClassContFinite\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptrHkp}{\UClassIrregular\UClassContFinite\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\SuperscriptRhkp}{\UClassRegular\UClassContInfinity\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\Superscriptrhkp}{\UClassIrregular\UClassContInfinity\UClassLocalSmoothness\UClassLocalDegree} \newcommand{\UsplineClassRHKP}{\UsplineClass{\SuperscriptRHKP}} \newcommand{\UsplineClassrHKP}{\UsplineClass{\SuperscriptrHKP}} \newcommand{\UsplineClassRhKP}{\UsplineClass{\SuperscriptRhKP}} \newcommand{\UsplineClassrhKP}{\UsplineClass{\SuperscriptrhKP}} \newcommand{\UsplineClassRHkP}{\UsplineClass{\SuperscriptRHkP}} \newcommand{\UsplineClassrHkP}{\UsplineClass{\SuperscriptrHkP}} \newcommand{\UsplineClassRhkP}{\UsplineClass{\SuperscriptRhkP}} \newcommand{\UsplineClassrhkP}{\UsplineClass{\SuperscriptrhkP}} \newcommand{\UsplineClassRHKp}{\UsplineClass{\SuperscriptRHKp}} \newcommand{\UsplineClassrHKp}{\UsplineClass{\SuperscriptrHKp}} \newcommand{\UsplineClassRhKp}{\UsplineClass{\SuperscriptRhKp}} \newcommand{\UsplineClassrhKp}{\UsplineClass{\SuperscriptrhKp}} \newcommand{\UsplineClassRHkp}{\UsplineClass{\SuperscriptRHkp}} \newcommand{\UsplineClassrHkp}{\UsplineClass{\SuperscriptrHkp}} \newcommand{\UsplineClassRhkp}{\UsplineClass{\SuperscriptRhkp}} \newcommand{\UsplineClassrhkp}{\UsplineClass{\Superscriptrhkp}} \newcommand{\BaseTopoLine}{\mathsf{L}} \newcommand{\BaseTopoLoop}{\mathsf{P}} \newcommand{\BaseTopoOneDGeneric}{\MeshUspline^{\textsf{1D}}} \newcommand{\BaseTopoGrid}{\mathsf{G}} \newcommand{\BaseTopoAnnulus}{\mathsf{A}} \newcommand{\BaseTopoTorus}{\mathsf{T}} \newcommand{\BaseTopoTriangle}{\mathsf{\Delta}} \newcommand{\BaseTopoMixed}{\mathsf{M}} \newcommand{\BaseTopoMultiPatch}{\mathsf{X}} \newcommand{\BaseTopoPatch}{\mathsf{H}} \newcommand{\AlgNameBuildRayOfMaximumCouplingLength}{BuildRayOfMaximumCouplingLength} \newcommand{\AlgNameBuildRibbonOfMaximumCouplingLength}{BuildRibbonOfMaximumCouplingLength} \newcommand{\AlgNameComputeCoreGraph}{ComputeCoreGraph} \newcommand{\UpperDBMat}{\Mat{U}} \newcommand{\LowerWeightDBMat}{\Mat{W}} \newcommand{\RationalSplineWeightSymbol}{w} \newcommand{\NURBSWeight}{\RationalSplineWeightSymbol} \newcommand{\WeightFunc}[1][\RationalSplineWeightSymbol]{#1} \newcommand{\DBParamWeight}{\omega} \newcommand{\DualBCoeff}{d} \newcommand{\NumUsplineBasisFuncsOnMeshBezier}{\Size{\UsplineBasisFuncSetOnMeshBezier}} \newcommand{\NumUsplineBasisFuncsOnMeshUspline}{\Size{\UsplineBasisFuncSetOnMeshUspline}} \newcommand{\NumUsplineBasisFuncsOnElem}{\Size{\UsplineBasisFuncSetFunctionOf{\Elem}}} \newcommand{\NumBernsteinBasisFuncsOnMeshBezier}{\Size{\IndexSetOnMeshBezier}} \newcommand{\NumBernsteinBasisFuncsOnElem}{\Size{\IndexSetFunctionOf{\Elem}}} \newcommand{\NumElemsInMeshBezier}{\Size{\CellSet{\ParamDim}}}$$\newcommand{\SymbolTime}{t} \newcommand{\SymbolEnvModifier}[1]{\star\mspace{-1mu} #1} \newcommand{\SymbolInteriorModifier}[1]{\tilde{#1}} \newcommand{\SymbolClosestPointMap}{\kappa} \newcommand{\SymbolManifold}{m} \newcommand{\SymbolVolume}{v} \newcommand{\SymbolVolumeUpper}{V} \newcommand{\SymbolSurface}{s} \newcommand{\SymbolSurfaceUpper}{S} \newcommand{\SymbolCurve}{c} \newcommand{\SymbolCurveUpper}{C} \newcommand{\SymbolPoint}{p} \newcommand{\SymbolPointUpper}{P} \newcommand{\SymbolIndicator}{\chi} \newcommand{\SymbolSpatialDim}{n} \newcommand{\SymbolWildCard}{*} \newcommand{\SymbolSegment}{\epsilon} \newcommand{\SymbolSpatialCoord}{x} \newcommand{\SymbolSpatialCoordUpper}{x} \newcommand{\SymbolSegmentSet}{\boldsymbol{E}} \newcommand{\SymbolInside}{\bullet} \newcommand{\SymbolOutside}{\circ} \newcommand{\SymbolHybrid}{\circledcirc} \newcommand{\SymbolPartition}{\boldsymbol{\vartriangle}} \newcommand{\SymbolQuadratureWeight}{w} \newcommand{\SymbolQuadratureSet}{Q} \newcommand{\SymbolQuadraturePoint}{\xi} \newcommand{\SymbolIntegrationPoint}{i} \newcommand{\SymbolManifoldCoeff}{x} \newcommand{\SymbolManifoldCoeffUpper}{X} \newcommand{\SymbolManifoldCoeffUspline}{x} \newcommand{\SymbolManifoldCoeffUsplineUpper}{X} \newcommand{\SymbolManifoldCoeffBernstein}{x} \newcommand{\SymbolManifoldCoeffBernsteinUpper}{X} \newcommand{\SymbolCADModified}{\boldsymbol{\circledast}} \newcommand{\SymbolCAD}{\bar{\SymbolCADModified}} \newcommand{\SymbolProjection}{\Projection} \newcommand{\SymbolCovariantBasisSurf}{a} \newcommand{\SymbolCovariantBasisVol}{g} \newcommand{\SymbolMetric}{m} \newcommand{\SymbolCurvature}{k} \newcommand{\SymbolCurvCoordIdOne}{\alpha} \newcommand{\SymbolCurvCoordIdTwo}{\beta} \newcommand{\SymbolCurvCoordIdThree}{\gamma} \newcommand{\SymbolOrthogonalTransform}{Q} \newcommand{\SymbolLinearInterpolation}{\mathscr{l}} \newcommand{\ParamDomainEnv}{\SymbolEnvModifier{\ParamDomain}} \newcommand{\ParamDomainCAD}{\QRT{\ParamDomain}{\SymbolCAD}} \newcommand{\ParamDomainOnCellEnv}{\SymbolEnvModifier{\ParamDomainOnCell}} \newcommand{\ParamDomainOnCAD}{\QCO{\SymbolCAD}{\ParamDomain}} \newcommand{\ParamDomainOnCADModified}{\QCO{\SymbolCADModified}{\ParamDomain}} \newcommand{\ParamDomainOnPartition}{\QCO{\SymbolPartition}{\ParamDomain}} \newcommand{\SpatialDim}{\SymbolSpatialDim} \newcommand{\SpatialDomain}{\Reals^{\SymbolSpatialDim}} \newcommand{\SpatialCoord}{\SymbolSpatialCoord} \newcommand{\SpatialCoordX}{\SymbolSpatialCoord} \newcommand{\SpatialCoordY}{y} \newcommand{\SpatialCoordZ}{z} \newcommand{\SpatialCoordUpper}{\SymbolSpatialCoordUpper} \newcommand{\SpatialCoordVec}{\Vec{\SpatialCoord}} \newcommand{\SpatialCoordVecSet}[1]{\QuantityFunctionOf{\boldsymbol{\Set{X}}}{#1}} \newcommand{\UsplineBasisFuncSpatial}[1]{\UsplineBasisFuncDetailed{\SpatialCoord}{#1}} \newcommand{\Manifold}{\Set{\SymbolManifold}} \newcommand{\ManifoldRelatedTo}[1]{\QuantityRelatedTo{\Manifold}{#1}} \newcommand{\Volume}{\Set{\SymbolVolume}} \newcommand{\VolumeRelatedTo}[1]{\QuantityRelatedTo{\Volume}{#1}} \newcommand{\Surface}{\Set{\SymbolSurface}} \newcommand{\SurfaceRelatedTo}[1]{\QuantityRelatedTo{\Surface}{#1}} \newcommand{\Curve}{\Set{\SymbolCurve}} \newcommand{\CurveRelatedTo}[1]{\QuantityRelatedTo{\Curve}{#1}} \newcommand{\Point}{\Set{\SymbolPoint}} \newcommand{\PointRelatedTo}[1]{\QuantityRelatedTo{\Point}{#1}} \newcommand{\Partition}{\SymbolPartition} \newcommand{\ManifoldCAD}{\ManifoldRelatedTo{\SymbolCAD}} \newcommand{\ManifoldCADModified}{\ManifoldRelatedTo{\SymbolCADModified}} \newcommand{\ManifoldCADEnv}{\SymbolEnvModifier{\ManifoldCAD}} \newcommand{\ManifoldCADModifiedEnv}{\SymbolEnvModifier{\ManifoldCADModified}} \newcommand{\ManifoldPartition}{\ManifoldRelatedTo{\Partition}} \newcommand{\ManifoldBezier}{\ManifoldRelatedTo{\MeshBezier}} \newcommand{\ManifoldUspline}{\ManifoldRelatedTo{\MeshUspline}} \newcommand{\ManifoldUsplineInterior}{\QRT{\SymbolInteriorModifier{\Manifold}}{\MeshUspline}} \newcommand{\ManifoldUsplineEnv}{\SymbolEnvModifier{\ManifoldUspline}} \newcommand{\VolumeEnv}{\SymbolEnvModifier{\Volume}} \newcommand{\dVolume}{\Differential[\Volume]} \newcommand{\VolumeIndicator}{\SymbolIndicator} \newcommand{\SurfaceEnv}{\SymbolEnvModifier{\Surface}} \newcommand{\SurfaceCAD}{\SurfaceRelatedTo{\SymbolCAD}} \newcommand{\SurfaceCADModified}{\SurfaceRelatedTo{\SymbolCADModified}} \newcommand{\SurfaceMesh}{\SurfaceRelatedTo{\Partition}} \newcommand{\SurfaceUspline}{\SurfaceRelatedTo{\MeshUspline}} \newcommand{\SurfaceWildCard}{\Surface^{\SymbolWildCard}} \newcommand{\dSurface}{\Differential[\Surface]} \newcommand{\CurveCAD}{\CurveRelatedTo{\SymbolCAD}} \newcommand{\CurveCADModified}{\CurveRelatedTo{\SymbolCADModified}} \newcommand{\CurveMesh}{\CurveRelatedTo{\Partition}} \newcommand{\CurveUspline}{\CurveRelatedTo{\MeshUspline}} \newcommand{\dCurve}{\Differential[\Curve]} \newcommand{\PointCAD}{\PointRelatedTo{\SymbolCAD}} \newcommand{\PointCADModified}{\PointRelatedTo{\SymbolCADModified}} \newcommand{\PointUspline}{\PointRelatedTo{\MeshUspline}} \newcommand{\Segment}[1]{\QuantityChildOf{#1}{\SymbolSegment}} \newcommand{\SegmentOfVolumeEnv}{\Segment{\VolumeEnv}} \newcommand{\SegmentOfSurface}{\Segment{\Surface}} \newcommand{\Hex}{\Segment{}_{h}} \newcommand{\Tet}{\Segment{}_{t}} \newcommand{\SegmentParamDomain}[1]{\QuantityRelatedTo{\ParamDomain}{#1}} \newcommand{\SegmentParamDomainOfVolumeEnv}{\QuantityRelatedTo{\ParamDomain}{\Segment{\VolumeEnv}}} \newcommand{\SegmentParamDomainOfSurface}{\QuantityRelatedTo{\ParamDomain}{\Segment{\Surface}}} \newcommand{\SegmentSet}{\SymbolSegmentSet} \newcommand{\SegmentSetFunctionOf}[1]{\QuantityFunctionOf{\SegmentSet}{#1}} \newcommand{\SegmentSetOutside}{\SegmentSet^{\SymbolOutside}} \newcommand{\SegmentSetInside}{\SegmentSet^{\SymbolInside}} \newcommand{\SegmentSetHybrid}{\SegmentSet^{\SymbolHybrid}} \newcommand{\PartitionFunctionOf}[1]{\QuantityFunctionOf{\Partition}{#1}} \newcommand{\PartitionBezierExtraction}[1]{\QuantityFunctionOf{\SymbolPartition^{B}}{#1}} \newcommand{\PartitionTessellation}[1]{\QuantityFunctionOf{\SymbolPartition^{T}}{#1}} \newcommand{\PartitionTessellationOfUspline}{\PartitionTessellation{\MeshUspline}} \newcommand{\PartitionTessellationMap}[2]{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldCoeff}{\SymbolManifoldCoeff} \newcommand{\ManifoldCoeffUpper}{\SymbolManifoldCoeffUpper} \newcommand{\ManifoldCoeffUspline}{\QuantityRelatedTo{\SymbolManifoldCoeffUspline}{\MeshUspline}} \newcommand{\ManifoldCoeffBernstein}{\QuantityRelatedTo{\SymbolManifoldCoeffBernstein}{\MeshBezier}} \newcommand{\ManifoldCoeffVec}{\Vec{\SymbolManifoldCoeff}} \newcommand{\ManifoldCoeffVecUspline}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUspline}}{\MeshUspline}} \newcommand{\ManifoldCoeffVecBernstein}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernstein}}{\MeshBezier}} \newcommand{\ManifoldCoeffSet}{\Set{\SymbolManifoldCoeff}} \newcommand{\ManifoldCoeffSetUspline}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUspline}}{\MeshUspline}} \newcommand{\ManifoldCoeffSetBernstein}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernstein}}{\MeshBezier}} \newcommand{\ManifoldCoeffsVec}{\Vec{\ManifoldCoeffUpper}} \newcommand{\ManifoldCoeffsVecUspline}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUsplineUpper}}{\MeshUspline}} \newcommand{\ManifoldCoeffsVecBernstein}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\MeshBezier}} \newcommand{\ManifoldCoeffsVecCell}{\QuantityRelatedTo{\Vec{\ManifoldCoeffUpper}}{\Cell}} \newcommand{\ManifoldCoeffsVecUsplineCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffUsplineUpper}}{\QCO{\MeshUspline}{\Cell}}} \newcommand{\ManifoldCoeffsVecBernsteinCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\MeshBezier}{\Cell}}} \newcommand{\ManifoldCoeffsVecSubmeshCell}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\Submesh}{\Cell}}} \newcommand{\ManifoldCoeffsVecBernsteinSegmentOfVolumeEnv}{\QuantityRelatedTo{\Vec{\SymbolManifoldCoeffBernsteinUpper}}{\SegmentOfVolumeEnv}} \newcommand{\ManifoldCoeffsSet}{\Set{\ManifoldCoeffUpper}} \newcommand{\ManifoldCoeffsSetUspline}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUsplineUpper}}{\MeshUspline}} \newcommand{\ManifoldCoeffsSetBernstein}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\MeshBezier}} \newcommand{\ManifoldCoeffsSetCell}{\QuantityRelatedTo{\Set{\ManifoldCoeffUpper}}{\Cell}} \newcommand{\ManifoldCoeffsSetUsplineCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffUsplineUpper}}{\QCO{\MeshUspline}{\Cell}}} \newcommand{\ManifoldCoeffsSetBernsteinCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\MeshBezier}{\Cell}}} \newcommand{\ManifoldCoeffsSetSubmeshCell}{\QuantityRelatedTo{\Set{\SymbolManifoldCoeffBernsteinUpper}}{\QCO{\Submesh}{\Cell}}} \newcommand{\ManifoldMap}[2]{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldTemporalMap}[2]{\QuantityRelatedTo{#2}{#1,\SymbolTime}} \newcommand{\ManifoldPartitionMap}{\ManifoldMap{\ParamDomainOnPartition}{\Manifold}} \newcommand{\ManifoldCADMap}{\ManifoldMap{\ParamDomainOnCAD}{\Manifold}} \newcommand{\ManifoldCADMapModified}{\ManifoldMap{\ParamDomainOnCADModified}{\Manifold}} \newcommand{\ManifoldBezierMap}{\ManifoldMap{\ParamDomainOnMeshBezier}{\Manifold}} \newcommand{\ManifoldUsplineMap}{\ManifoldMap{\ParamDomainOnMeshUspline}{\Manifold}} \newcommand{\VolumeEnvMap}{\ManifoldMap{\ParamDomainEnv}{\VolumeEnv}} \newcommand{\VolumeMap}{\ManifoldMap{\ParamDomain}{\Volume}} \newcommand{\SurfaceMap}{\ManifoldMap{\ParamDomainBdry}{\Surface}} \newcommand{\ManifoldMapDef}[2]{\FuncDef{\ManifoldMap{#1}{#2}}{#1}{#2}} \newcommand{\ManifoldMapInverseDef}[2]{\FuncDef{\Inverse{\ManifoldMap{#1}{#2}}}{#2}{#1}} \newcommand{\ManifoldTemporalMapDef}[2]{\FuncDef{\ManifoldTemporalMap{#1}{#2}}{#1\otimes\Reals_{+}}{#2}} \newcommand{\ManifoldPartitionMapDef}{\ManifoldMapDef{\ParamDomainOnPartition}{\Manifold}} \newcommand{\ManifoldBezierMapDef}{\ManifoldMapDef{\ParamDomainOnMeshBezier}{\Manifold}} \newcommand{\ManifoldUsplineMapDef}{\ManifoldMapDef{\ParamDomainOnMeshUspline}{\Manifold}} \newcommand{\VolumeEnvMapDef}{\ManifoldMapDef{\ParamDomainEnv}{\VolumeEnv}} \newcommand{\VolumeMapDef}{\ManifoldMapDef{\ParamDomain}{\Volume}} \newcommand{\SurfaceMapDef}{\ManifoldMapDef{\ParamDomainBdry}{\Surface}} \newcommand{\SurfaceToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\Surface}} \newcommand{\ManifoldCoordDetailed}[2]{\QCO{#1}{#2}} \newcommand{\ManifoldCoordVecDetailed}[2]{\QCO{#1}{\Vec{#2}}} \newcommand{\ManifoldCoord}{x} \newcommand{\ManifoldCoordVec}{\Vec{x}} \newcommand{\ManifoldPartitionMapCoord}{\ManifoldCoordDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldPartitionMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoord}{\ManifoldCoordDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\CovariantBasisSurfVec}{\Vec{\SymbolCovariantBasisSurf}} \newcommand{\CovariantBasisVolVec}{\Vec{\SymbolCovariantBasisVol}} \newcommand{\MetricComp}{\SymbolMetric} \newcommand{\MetricTen}{\Mat{\MetricComp}} \newcommand{\CurvatureComp}{\SymbolCurvature} \newcommand{\CurvatureTen}{\Mat{\CurvatureComp}} \newcommand{\CurvCoordIdOne}{\SymbolCurvCoordIdOne} \newcommand{\CurvCoordIdTwo}{\SymbolCurvCoordIdTwo} \newcommand{\CurvCoordIdThree}{\SymbolCurvCoordIdThree} \newcommand{\OrthogonalCoordTransform}{\Mat{\SymbolOrthogonalTransform}} \newcommand{\InversionPointTen}{\Vec{p}} \newcommand{\InversionPointComp}{p} \newcommand{\BoundingVolume}[1]{\QuantityFunctionOf{\Set{bv}}{#1}} \newcommand{\BoundingVolumeSet}[1]{\QuantityFunctionOf{\Set{BV}}{#1}} \newcommand{\BoundingVolumeTree}[1]{\QuantityFunctionOf{\Set{BVH}}{#1}} \newcommand{\AxisAlignedBoundingBox}[1]{\QuantityFunctionOf{\Set{AABB}}{#1}} \newcommand{\AABBCornerLower}{\Vec{c}^l} \newcommand{\AABBCornerLowerComp}{c^l} \newcommand{\AABBCornerUpper}{\Vec{c}^u} \newcommand{\AABBCornerUpperComp}{c^u} \newcommand{\LowerBound}[2]{B^l\left(#1,#2\right)} \newcommand{\UpperBound}[2]{B^u\left(#1,#2\right)} \newcommand{\UpperBoundValue}{U} \newcommand{\UpperBoundValueBV}{U^{\text{BV}}} \newcommand{\UpperBoundValuePoints}{U^{\text{point}}} \newcommand{\GapTolerance}{\varepsilon^{\text{gap}}} \newcommand{\NearestCells}[3][]{\Set{C}_{#1}\left(#2,#3\right)} \newcommand{\BVHNearestGeom}[3][]{c_{#1}\left(#2,#3\right)} \newcommand{\BVHGeomSetOfSets}{\Set{G}} \newcommand{\BVHTessPointSet}{\Set{P}} \newcommand{\BVHBVSet}{\Set{L}} \newcommand{\SimplexMap}[1]{\QuantityFunctionOf{\Mat{L}}{#1}} \newcommand{\ParamCoordVecTarget}{\ParamCoordVecSimple_0} \newcommand{\SpatialCoordVecTarget}{\SpatialCoordVec_0} \newcommand{\SpatialCoordVecToSegmentSetMap}{\SegmentSet^f} \newcommand{\SpatialCoordVecToParamCoordVecSetMap}{\Inverse{\widetilde{\ManifoldMap{\ParamDomainEnv}{\Surface}}}} \newcommand{\HessMatComp}{H} \newcommand{\HessMatTen}{\Mat{\HessMatComp}} \newcommand{\QuadraturePointEnv}[2]{\SymbolEnvModifier{\QuadraturePoint{#1}{#2}}} \newcommand{\QuadraturePoint}[2]{\SymbolQuadraturePoint_{#1}^{#2}} \newcommand{\QuadraturePointToElemIndexMap}[1]{\operatorname{qe}(#1)} \newcommand{\QuadratureWeightEnv}[2]{\SymbolEnvModifier{\QuadratureWeight{#1}{#2}}} \newcommand{\QuadratureWeight}[2]{\SymbolQuadratureWeight_{#1}^{#2}} \newcommand{\QuadratureSet}{\Set{\SymbolQuadratureSet}} \newcommand{\QuadratureSetInside}{\QuadratureSet^{\SymbolInside}} \newcommand{\QuadratureSetOutside}{\QuadratureSet^{\SymbolOutside}} \newcommand{\QuadratureSubdDepth}{k} \newcommand{\ClosestPointMap}[1]{\QuantityChildOf{#1}{\Vec{\SymbolClosestPointMap}}} \newcommand{\ClosestPointMapCAD}{\ClosestPointMap{\SymbolCAD}} \newcommand{\ClosestPointMapCADModified}{\ClosestPointMap{\SymbolCADModified}} \newcommand{\ProjectionInto}[1]{\QuantityRelatedTo{\SymbolProjection}{#1}} \newcommand{\ProjectionIntoBernsteinCell}{\ProjectionInto{\Cell}} \newcommand{\ProjectionIntoBernsteinElem}{\ProjectionInto{\Elem}} \newcommand{\ProjectionIntoMeshBezier}{\ProjectionInto{\MeshBezier}} \newcommand{\ProjectionIntoMeshUspline}{\ProjectionInto{\MeshUspline}} \newcommand{\LinearInterpolationOp}[1]{\QRT{\SymbolLinearInterpolation}{#1}} \newcommand{\Valence}{k} \newcommand{\ArbitraryVector}[1]{\QSB{v}{#1}} \newcommand{\RotationMatrix}[1]{R^{#1}} \newcommand{\RepVecSymbol}{u} \newcommand{\RepVec}[1]{\QSB{\RepVecSymbol}{#1}} \newcommand{\RepVecVec}{\Vec{\RepVecSymbol}} \newcommand{\AlignmentField}{\RepVecVec'} \newcommand{\BiharmonicEnergy}{\QSB{E}{B}} \newcommand{\PrescribedRepVec}[1]{\QSB{d}{#1}} \newcommand{\AlignmentParameter}{\lambda} \newcommand{\SingularityIndex}[1]{\QSB{\chi}{#1}} \newcommand{\AngularDefect}[1]{\QSB{K}{#1}} \newcommand{\ArbitraryAngle}{\theta} \newcommand{\ParallelTransport}[1]{\QSB{\varphi}{#1}} \newcommand{\MinusPiToPi}[1]{\lfloor #1 \rfloor} \newcommand{\AreaOperator}[1]{\QFO{\operatorname{area}}{#1}} \newcommand{\VectorAngle}[1]{\QFO{\operatorname{arg}}{#1}} \newcommand{\DistanceFunction}{\phi} \newcommand{\DistanceGradient}{X} \newcommand{\HeatField}{\eta} \newcommand{\RegionAtZeroDistance}{\gamma}$$\newcommand{\SymbolDisp}{u} \newcommand{\SymbolDispUpper}{U} \newcommand{\SymbolVelocity}{v} \newcommand{\SymbolVelocityUpper}{V} \newcommand{\SymbolAcceleration}{a} \newcommand{\SymbolAccelerationUpper}{A} \newcommand{\SymbolMass}{M} \newcommand{\SymbolLength}{L} \newcommand{\SymbolArea}{A} \newcommand{\SymbolConstraint}{g} \newcommand{\SymbolConstraintUpper}{G} \newcommand{\SymbolPenalty}{\varepsilon} \newcommand{\SymbolLagrangeMultRef}{\Lambda} \newcommand{\SymbolLagrangeMultCurr}{\lambda} \newcommand{\SymbolFict}{f} \newcommand{\SymbolTracForce}{h} \newcommand{\SymbolTracForceUpper}{H} \newcommand{\SymbolBodyForce}{b} \newcommand{\SymbolBodyForceUpper}{B} \newcommand{\SymbolVolumeRef}{\SymbolVolumeUpper} \newcommand{\SymbolSurfaceRef}{\SymbolSurfaceUpper} \newcommand{\SymbolCurveRef}{\SymbolCurveUpper} \newcommand{\SymbolPointRef}{\SymbolPointUpper} \newcommand{\SymbolVolumeCurr}{\SymbolVolume} \newcommand{\SymbolSurfaceCurr}{\SymbolSurface} \newcommand{\SymbolCurveCurr}{\SymbolCurve} \newcommand{\SymbolPointCurr}{\SymbolPoint} \newcommand{\SymbolDeformGradInc}{f} \newcommand{\SymbolDeformGrad}{F} \newcommand{\SymbolStrainGreenLagrange}{E} \newcommand{\SymbolDeformCauchyGreenLeft}{b} \newcommand{\SymbolDeformCauchyGreenRight}{C} \newcommand{\SymbolStrainDisp}{B} \newcommand{\SymbolStrainSymGrad}{\epsilon} \newcommand{\SymbolStrainPlasticEquiv}{\alpha} \newcommand{\SymbolHardeningPlastic}{k} \newcommand{\SymbolYieldFunction}{f} \newcommand{\SymbolConsistencyParameterPlastic}{\gamma} \newcommand{\SymbolPlasticModuliScaling}{\beta} \newcommand{\SymbolYieldSurfaceNormal}{n} \newcommand{\SymbolEnergy}{\Pi} \newcommand{\SymbolEnergyDensityStrain}{\Psi} \newcommand{\SymbolEnergyDensityStrainVol}{U} \newcommand{\SymbolResidual}{R} \newcommand{\SymbolForce}{F} \newcommand{\SymbolStiffness}{K} \newcommand{\SymbolSolution}{d} \newcommand{\ParamDomainBdryDisp}{\ParamDomainBdry^{\SymbolDisp}} \newcommand{\ParamDomainBdryTrac}{\ParamDomainBdry^{\SymbolTracForce}} \newcommand{\VolumeEnvRef}{\Set{\SymbolEnvModifier{\SymbolVolumeRef}}} \newcommand{\VolumeRef}{\Set{\SymbolVolumeRef}} \newcommand{\VolumeRefClosure}{\overline{\VolumeRef}} \newcommand{\VolumeRefFict}{\VolumeEnvRef\setminus\VolumeRef} \newcommand{\dVolumeRef}{\Differential[\VolumeRef]} \newcommand{\VolumeIndicatorDef}{\FuncDef{\VolumeIndicator_{\PenaltyStiffness}}{\VolumeEnvRef}{\Reals_+}} \newcommand{\SurfaceEnvRef}{\Set{\SymbolEnvModifier{\SymbolSurfaceRef}}} \newcommand{\SurfaceRef}{\Set{\SymbolSurfaceRef}} \newcommand{\SurfaceRefWildCard}{\SurfaceRef^{\SymbolWildCard}} \newcommand{\SurfaceRefDisp}{\SurfaceRef^{\SymbolDisp}} \newcommand{\SurfaceRefTrac}{\SurfaceRef^{\SymbolTracForce}} \newcommand{\SurfaceRefFict}{\SurfaceRef^{\SymbolFict}} \newcommand{\SurfaceRefDispExternal}{\SurfaceRefDisp\setminus\SurfaceRefFict} \newcommand{\SurfaceRefTracExternal}{\SurfaceRefTrac\setminus\SurfaceRefFict} \newcommand{\SurfaceRefFictTrac}{\SurfaceRefTrac\cap\SurfaceRefFict} \newcommand{\SurfaceRefFictDisp}{\SurfaceRefDisp\cap\SurfaceRefFict} \newcommand{\SurfaceRefFictExternal}{\SurfaceRefFict\setminus\SurfaceRef} \newcommand{\dSurfaceRef}{\Differential[\SurfaceRef]} \newcommand{\CurveRef}{\Set{\SymbolCurveRef}} \newcommand{\dCurveRef}{\Differential[\CurveRef]} \newcommand{\PointRef}{\Set{\SymbolPointRef}} \newcommand{\PointRefDisp}{\PointRef^{\SymbolDisp}} \newcommand{\PointRefTrac}{\PointRef^{\SymbolTracForce}} \newcommand{\dPointRef}{\Differential[\PointRef]} \newcommand{\dPointRefTrac}{\Differential[\PointRefTrac]} \newcommand{\RefCoord}[1]{\ManifoldCoordDetailed{#1}{X}} \newcommand{\RefCoordVec}[1]{\ManifoldCoordVecDetailed{#1}{X}} \newcommand{\VolumeEnvRefCoord}{\RefCoord{\VolumeEnvRef}} \newcommand{\VolumeEnvRefCoordVec}{\RefCoordVec{\VolumeEnvRef}} \newcommand{\VolumeRefCoord}{\RefCoord{\VolumeRef}} \newcommand{\VolumeRefCoordVec}{\RefCoordVec{\VolumeRef}} \newcommand{\SurfaceRefCoord}{\RefCoord{\SurfaceRef}} \newcommand{\SurfaceRefCoordVec}{\RefCoordVec{\SurfaceRef}} \newcommand{\SurfaceRefDispCoord}{\RefCoord{\SurfaceRefDisp}} \newcommand{\SurfaceRefDispCoordVec}{\RefCoordVec{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracCoord}{\RefCoord{\SurfaceRefTrac}} \newcommand{\SurfaceRefTracCoordVec}{\RefCoordVec{\SurfaceRefTrac}} \newcommand{\CurveRefCoord}{\RefCoord{\CurveRef}} \newcommand{\CurveRefCoordVec}{\RefCoordVec{\CurveRef}} \newcommand{\UsplineBasisFuncOverCurveRef}[1]{\UsplineBasisFuncDetailed{\CurveRef}{#1}} \newcommand{\UsplineBasisFuncOverSurfaceRefDisp}[1]{\UsplineBasisFuncDetailed{\SurfaceRefDisp}{#1}} \newcommand{\VolumeEnvCurr}{\Set{\SymbolEnvModifier{\SymbolVolumeCurr}}} \newcommand{\VolumeCurr}{\Set{\SymbolVolumeCurr}} \newcommand{\VolumeCurrClosure}{\overline{\VolumeCurr}} \newcommand{\dVolumeCurr}{\Differential[\VolumeCurr]} \newcommand{\SurfaceEnvCurr}{\Set{\SymbolEnvModifier{\SymbolSurfaceCurr}}} \newcommand{\SurfaceCurr}{\Set{\SymbolSurfaceCurr}} \newcommand{\SurfaceCurrDisp}{\SurfaceCurr^{\SymbolDisp}} \newcommand{\SurfaceCurrTrac}{\SurfaceCurr^{\SymbolTracForce}} \newcommand{\dSurfaceCurr}{\Differential[\SurfaceCurr]} \newcommand{\CurveCurr}{\Set{\SymbolCurveCurr}} \newcommand{\dCurveCurr}{\Differential[\CurveCurr]} \newcommand{\PointCurr}{\Set{\SymbolPointCurr}} \newcommand{\PointCurrDisp}{\PointCurr^{\SymbolDisp}} \newcommand{\PointCurrTrac}{\PointCurr^{\SymbolTracForce}} \newcommand{\dPointCurr}{\Differential[\PointCurr]} \newcommand{\CurrCoord}[1]{\ManifoldCoordDetailed{#1}{x}} \newcommand{\CurrCoordVec}[1]{\ManifoldCoordVecDetailed{#1}{x}} \newcommand{\VolumeEnvCurrCoord}{\CurrCoord{\VolumeEnvCurr}} \newcommand{\VolumeEnvCurrCoordVec}{\CurrCoordVec{\VolumeEnvCurr}} \newcommand{\VolumeCurrCoord}{\CurrCoord{\VolumeCurr}} \newcommand{\VolumeCurrCoordVec}{\CurrCoordVec{\VolumeCurr}} \newcommand{\SurfaceCurrCoord}{\CurrCoord{\SurfaceCurr}} \newcommand{\SurfaceCurrCoordVec}{\CurrCoordVec{\SurfaceCurr}} \newcommand{\SurfaceCurrDispCoord}{\CurrCoord{\SurfaceCurrDisp}} \newcommand{\SurfaceCurrDispCoordVec}{\CurrCoordVec{\SurfaceCurrDisp}} \newcommand{\SurfaceCurrTracCoord}{\CurrCoord{\SurfaceCurrTrac}} \newcommand{\SurfaceCurrTracCoordVec}{\CurrCoordVec{\SurfaceCurrTrac}} \newcommand{\CurveCurrCoord}{\CurrCoord{\CurveRef}} \newcommand{\CurveCurrCoordVec}{\CurrCoordVec{\CurveRef}} \newcommand{\VolumeEnvRefMap}{\ManifoldMap{\ParamDomainEnv}{\VolumeEnvRef}} \newcommand{\GenericGradOverVolumeEnvRefMap}[1]{\Grad{\VolumeEnvRefMap}{#1}} \newcommand{\VolumeRefMap}{\ManifoldMap{\ParamDomain}{\VolumeRef}} \newcommand{\GenericGradOverVolumeRefMap}[1]{\Grad{\VolumeRefMap}{#1}} \newcommand{\SurfaceRefDispMap}{\ManifoldMap{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMap}{\ManifoldMap{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\CurveRefMap}{\ManifoldMap{\ParamDomain}{\CurveRef}} \newcommand{\GenericGradOverCurveRefMap}[1]{\Grad{\CurveRefMap}{#1}} \newcommand{\VolumeEnvRefMapDef}{\ManifoldMapDef{\ParamDomainEnv}{\VolumeEnvRef}} \newcommand{\SurfaceRefDispMapDef}{\ManifoldMapDef{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMapDef}{\ManifoldMapDef{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\SurfaceRefToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRef}} \newcommand{\SurfaceRefDispToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracToParamDomainEnvMapInverseDef}{\ManifoldMapInverseDef{\ParamDomainEnv}{\SurfaceRefTrac}} \newcommand{\CurveRefMapDef}{\ManifoldMapDef{\ParamDomain}{\CurveRef}} \newcommand{\GenericDeformMap}{\Vec{\varphi}} \newcommand{\VolumeEnvDeformMap}{\ManifoldMap{\VolumeEnvRef}{\VolumeEnvCurr}} \newcommand{\GenericGradOverVolumeEnvDeformMap}[1]{\Grad{\VolumeEnvDeformMap}{#1}} \newcommand{\VolumeDeformMap}{\ManifoldMap{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeDeformTemporalMap}{\ManifoldTemporalMap{\VolumeRef}{\VolumeCurr}} \newcommand{\GradVolumeDeformTemporalMap}{\GenericGradOverVolumeRefMap{\VolumeDeformTemporalMap}} \newcommand{\SurfaceDeformDispMap}{\ManifoldMap{\SurfaceRefDisp}{\SurfaceCurrDisp}} \newcommand{\SurfaceDeformTracMap}{\ManifoldMap{\SurfaceRefTrac}{\SurfaceCurrTrac}} \newcommand{\CurveDeformMap}{\ManifoldMap{\CurveRef}{\CurveCurr}} \newcommand{\CurveDeformTemporalMap}{\ManifoldTemporalMap{\CurveRef}{\CurveCurr}} \newcommand{\VolumeDeformMapDef}{\ManifoldMapDef{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeDeformTemporalMapDef}{\ManifoldTemporalMapDef{\VolumeRef}{\VolumeCurr}} \newcommand{\VolumeEnvDeformMapDef}{\ManifoldMapDef{\VolumeEnvRef}{\VolumeEnvCurr}} \newcommand{\CurveDeformMapDef}{\ManifoldMapDef{\CurveRef}{\CurveCurr}} \newcommand{\CurveDeformTemporalMapDef}{\ManifoldTemporalMapDef{\CurveRef}{\CurveCurr}} \newcommand{\DispTrialSpaceOverVolumeEnvRef}{\SpaceHilbert{U}(\VolumeEnvRef)} \newcommand{\DispTestSpaceOverVolumeEnvRef}{\delta \DispTrialSpaceOverVolumeEnvRef} \newcommand{\DispTrialSpaceOverVolumeRef}{\SpaceHilbert{U}(\VolumeRef)} \newcommand{\DispTestSpaceOverVolumeRef}{\delta \DispTrialSpaceOverVolumeRef} \newcommand{\DispTrialSpaceOverCurveRef}{\SpaceHilbert{U}(\CurveRef)} \newcommand{\DispTestSpaceOverCurveRef}{\delta \DispTrialSpaceOverCurveRef} \newcommand{\DispFieldRefComp}{\SymbolDispUpper} \newcommand{\DispFieldRefTen}{\Vec{\DispFieldRefComp}} \newcommand{\DispFieldCurrComp}{\SymbolDisp} \newcommand{\DispFieldCurrTen}{\Vec{\DispFieldCurrComp}} \newcommand{\VelFieldCurrTen}{\Vec{\SymbolVelocity}} \newcommand{\AccFieldCurrTen}{\Vec{\SymbolAcceleration}} \newcommand{\DeformGradComp}{\SymbolDeformGrad} \newcommand{\DeformGradTen}{\Mat{\DeformGradComp}} \newcommand{\DeformGradDet}{\Det{\DeformGradTen}} \newcommand{\KinematicElast}{e} \newcommand{\KinematicPlast}{p} \newcommand{\DivVolumeEnvRef}[1]{\Div{\VolumeEnvRefCoordVec}{#1}} \newcommand{\DivVolumeEnvCurr}[1]{\Div{\VolumeEnvCurrCoordVec}{#1}} \newcommand{\DeformGradIncComp}{\SymbolDeformGradInc} \newcommand{\DeformGradIncTen}{\Mat{\DeformGradIncComp}} \newcommand{\DeformGradIncDevComp}{\bar{\SymbolDeformGradInc}} \newcommand{\DeformGradIncDevTen}{\bar{\Mat{\DeformGradIncComp}}} \newcommand{\JAsDeformGradDet}{J} \newcommand{\StretchTen}{\Mat{V}} \newcommand{\StrainGreenLagrangeComp}{\SymbolStrainGreenLagrange} \newcommand{\StrainGreenLagrangeTen}{\Mat{\StrainGreenLagrangeComp}} \newcommand{\StrainGreenLagrangeVoigt}{\tilde{\StrainGreenLagrangeTen}} \newcommand{\DeformCauchyGreenRightComp}{\SymbolDeformCauchyGreenRight} \newcommand{\DeformCauchyGreenRightTen}{\Mat{\DeformCauchyGreenRightComp}} \newcommand{\DeformCauchyGreenLeftComp}{\SymbolDeformCauchyGreenLeft} \newcommand{\DeformCauchyGreenLeftTen}{\Mat{\DeformCauchyGreenLeftComp}} \newcommand{\DeformCauchyGreenLeftDevComp}{\bar{\SymbolDeformCauchyGreenLeft}} \newcommand{\DeformCauchyGreenLeftDevTen}{\bar{\Mat{\DeformCauchyGreenLeftComp}}} \newcommand{\StrainSymGradComp}{\SymbolStrainSymGrad} \newcommand{\StrainSymGradTen}{\Mat{\StrainSymGradComp}} \newcommand{\StrainDispMat}{\Mat{\SymbolStrainDisp}} \newcommand{\DeformCauchyGreenRightDevComp}{\bar{\SymbolDeformCauchyGreenRight}} \newcommand{\DeformCauchyGreenRightDevTen}{\bar{\Mat{\DeformCauchyGreenRightComp}}} \newcommand{\KinematicElastoplast}{{\rm ep}} \newcommand{\Trial}{{\rm trial}} \newcommand{\DeformCauchyGreenLeftElasticTenDef}{\DeformCauchyGreenLeftTen^\KinematicElast \DefEq \DeformGradTen^\KinematicElast \DeformGradTen^{\KinematicElast T}} \newcommand{\DeformCauchyGreenLeftElasticDevTenDef}{{\DeformCauchyGreenLeftDevTen}^\KinematicElast \DefEq {\JAsDeformGradDet}^{\KinematicElast-\frac{2}{3}} {\DeformCauchyGreenLeftTen}^\KinematicElast} \newcommand{\DeformCauchyGreenRightPlasticTenDef}{\DeformCauchyGreenRightTen^\KinematicPlast \DefEq \DeformGradTen^{\KinematicPlast T} \DeformGradTen^\KinematicPlast} \newcommand{\StrainPlasticEquiv}{\SymbolStrainPlasticEquiv} \newcommand{\ConsistencyParameterPlasticDiscrete}{\Delta \SymbolConsistencyParameterPlastic} \newcommand{\YieldSurfaceNormalComp}{\SymbolYieldSurfaceNormal} \newcommand{\YieldSurfaceNormalTen}{\Mat{\SymbolYieldSurfaceNormal}} \newcommand{\UnitNormalRefComp}{N} \newco$