15.2.1 APREPRO Additional Functionality 15.2.2 APREPRO Functions 15.2.3 APREPRO Journaling 15.2.4 APREPRO Operators 15.2.5 APREPRO Predefined Variables 15.2.6 APREPRO Rules 15.2.7 APREPRO Syntax 15.2.8 APREPRO Units
8.5

#### 15.2APREPRO

$\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{\BoundaryOp}{\mathop{\partial}}$$\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{\LineSearchStep}{\alpha}$$\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}}$

Within Cubit™ there is support for a programming language called APREPRO (An Algebraic Preprocessor for Parameterizing Finite Element Analyses). Included here is a summary of the APREPRO functionality included within Cubit. This is a summary of the full https://github.com/gsjaardema/seacas/tree/master/docs.

Note: APREPRO variables can be created and modified from the GUI. Enable/disable the editor from the View/Aprepro editor menu option. The editor is a docking window and can be placed anywhere in the GUI.

$\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{\BoundaryOp}{\mathop{\partial}}$$\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{\LineSearchStep}{\alpha}$$\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}}$

##### 15.2.1.11. File Inclusion

APREPRO can read input from multiple files using the include() and cinclude() functions. If a line of the form:

{include(" filename")}

{include(string_variable)}

is read, APREPRO will open and begin reading from the file filename. A string variable can be used as the argument instead of a literal string value. When the end of the file is reached, it will be closed and APREPRO will continue reading from the previous file. The difference between include and cinclude is that if filename does not exist, include will terminate APREPRO with a fatal error, but cinclude will just write a warning message and continue with the current file. The cinclude function can be thought of as a conditional include, that is, include the file if it exists. Multiple include files are allowed and an included file can also include additional files. Approximately 16 levels of file inclusion can be used. This option can be used to set variables globally in several files. For example, if two or more input files share common points or dimensions, those dimensions can be set in one file that is included in the other files.

##### 15.2.1.22. Conditionals

Portions of an input file can be conditionally processed through the use of the {ifdef(variable)} or ifndef(variable)} constructs. The syntax is:

#{ifdef(variable)}

...Lines processed if ’variable’ is not equal to 0

#{else}

...Lines processed if ’variable’ is equal to 0 or undefined

#{endif}

#{ifndef(variable)}

...Lines processed if ’variable’ is equal to 0 or undefined

#{else}

...Lines processed if ’variable’ is not equal to 0

#{endif}

The

{else}

is optional. Note that if variable is undefined, its value is equal to zero. ifdef constructs can be nested up to approximately 16 levels. A warning message will be printed if improper nesting is detected. ifdef(variable)}, {ifndef(variable)}, {else}, and {endif} are the only text parsed on a line. Text following these on the same line is ignored.

##### 15.2.1.33. Loops

Repeated processing of a group of lines can be controlled with the {loop( control)}, {endloop} commands. The syntax is:

{loop(variable)}

...Process these lines ’variable’ times

{endloop}

Loops can be nested. A numerical variable or constant must be specified as the loop control specifier. You currently cannot use an algebraic expression such as {loop(3+5)}.

A loop may also be exited before running the specified number of times using a #{break} statement. As soon as a #{break} statement is encountered, the loop is exited and the rest of the statements in the loop will not execute. Additional iterations of the loop will not be executed either. For example, the following commands will create 3 bricks:

#{x=1}
#{Loop(10)}
brick x 1
#{If(x==2)}
#{Break}
#{EndIf}
#{x++}
brick x 1
#{EndLoop}

When a #{break} statement executes, anything in the loop following the #{break} statement will be skipped, including the #{endif}. For this reason, a #{break} statement not only exits the loop, but also terminates the most recent #{if} statement exactly as #{endif} would do. #{break} statements should not be used outside of #{if} statements.

##### 15.2.2APREPRO Functions

$\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{\BoundaryOp}{\mathop{\partial}}$$\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{\LineSearchStep}{\alpha}$$\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}}$

Several mathematical, Cubit and string functions are implemented in APREPRO.

To cause a function to be used, you enter the name of the function followed by a list of zero or more arguments in parentheses. For example

sqrt(min(a,b*3))

uses the two functions sqrt() and min(). The arguments a and b*3 are passed to min(). The result is then passed as an argument to sqrt(). The functions in APREPRO are listed below along with the number of arguments and a short description of their effect.

##### 15.2.2.11. Mathematical Functions

The following mathematical functions are available in APREPRO. Check current APREPRO documentation for any updates to this list of functions.

Table 1. Mathematical Functions

 Syntax Description abs(x) Calculates the absolute value of x. |x| acos(x) Calculates the inverse cosine of x, returns radians acosd(x) Calculates the inverse cosine of x, returns degrees acosh(x) Calculates the inverse hyperbolic cosine of x asin(x) Calculates the inverse sine of x, returns radians asind(x) Calculates the inverse sine of x, returns degrees asinh(x) Calculates the inverse hyperbolic sine of x atan(x) Calculates the inverse tangent of x, returns radians atan2(y,x) Calculates the inverse tangent of y/x, returns radians atan2d(y,x) Calculates the inverse tangent of y/x, returns degrees atand(x) Calculates the inverse tangent of x, returns degrees atanh(x) Calculates the inverse hyperbolic tangent of x ceil(x) Calculates the smallest integer not less than x cos(x) Calculates the cosine of x, with x in radians cosd(x) Calculates the cosine of x, with x in degrees cosh(x) Calculates the hyperbolic cosine of x d2r(x) Converts degrees to radians. dim(x,y) Calculates x - min(x,y).

The following Cubit Functions are available:
Table 2. Cubit Functions
 Syntax Description BlockAttributeName(id, index) Returns the name for the specified attribute index in the block within the given id BlockAttributeValue(id, index) Returns the value for the specified attribute index in the block within the given id NumBlocks Returns the number of blocks defined in the model NumSidesets Returns the number of sidesets defined in the model NumNodesets Returns the number of nodesets defined in the model FileExists(filename) Checks if the given file exists. Returns non-zero if it does GeometryEngineVersion(engine name) Get the geometry version for the specified geometry engine get_error_count() Gets the current error count in Cubit set_error_count(val) Sets the error count in Cubit to given value get_warning_count() Gets the current warning count in Cubit HasFeature(feature_name) Checks if the feature "feature_name" is available and returns nonzero if the feature is enabled set_warning_count(val) Sets the warning count in Cubit to value Id("type") Returns the ID of the entity most recently created with the specified type. Acceptable types include: "body", "volume", "surface", "curve", "vertex", "group", "node", "edge", "quad", "face", "tri", "hex", "tet", or "pyramid". GroupMemberId("group_name", "entity_type", index) Returns the ID of "entity_type" in group "group_name" at the specified index. If the group contains multiple entity types the index will only be relevant for the entity type specified and will behave as if the group only contained that entity type. IntNum(id) Returns the number of intervals on a curve with the given id. IntNum(x, y, z, ord) Returns the number of intervals on a curve identified by the given center point coordinates and ordinal value. IntSize(id) Returns the interval size on a curve with the given id. IntSize(x, y, z, ord) Returns the interval size on a curve identified by the given center point coordinates and ordinal value. Volume(id) Gets the geometric volume of the volume with the given id. Volume(x, y, z, ord) Gets the geometric volume of the volume identified by the given center point coordinates and ordinal value. SurfaceArea(id) Returns the surface area of the surface with the given id. SurfaceArea(x, y, z, ord) Returns the surface area of the surface  identified by the given center point coordinates and ordinal value. Length(id) Returns the length of the curve with the given id. Length(x, y, z, ord) Returns the length of the curve identified by the given center point coordinates and ordinal value. Radius(id) Returns the radius of the curve at its midpoint. Radius(x, y, z, ord) Returns the radius of the curve identified by the given center point coordinates and ordinal value. MinVolumeMeshQuality(id, "metric") Returns the worst value of the specified element quality metric of all elements in the volume with the given id. Acceptable metrics include: shape aspect ration bet aspect ratio gam aspect ratio condition no diagonal ratio dimension distortion element volume jacobian relative size scaled jacobian shape and size shear and size shear skew stretch taper MinVolumeMeshQuality(x, y, z, ord, "metric") Returns the worst value of the specified element quality metric of all elements in the volume identified by the given center point coordinates and ordinal value. Acceptable metrics include: shape aspect ration bet aspect ratio gam aspect ratio condition no diagonal ratio dimension distortion element volume jacobian relative size scaled jacobian shape and size shear and size shear skew stretch taper MinSurfaceMeshQuality(id, "metric") Returns the worst value of the specified element quality metric of all elements on the given surface. Acceptable metrics include: shape aspect ratio condition no distortion element area jacobian maximum angle minimum angle relative size scaled jacobian shape and size shear and size shear skew stretch taper warpage MinSurfaceMeshQuality(x, y, z, ord, "metric") Returns the worst value of the specified element quality metric of all elements on the surface identified by the given center point coordinates and ordinal value. Acceptable metrics include: shape aspect ratio condition no distortion element area jacobian maximum angle minimum angle relative size scaled jacobian shape and size shear and size shear skew stretch taper warpage MeshVolume(id) Returns the total volume of all mesh elements in the volume with the given id. This will vary from the actual geometric volume since the mesh approximates curved boundaries with linear mesh edges. MeshVolume(x, y, z, ord) Returns the total volume of all mesh elements in the volume identified by the given center point coordinates and ordinal value. This will vary from the actual geometric volume since the mesh approximates curved boundaries with linear mesh edges. HexVolume(id) Returns the volume of the hex with the given id. HexVolume(x, y, z, ord) Returns the volume of the hex identified by the given center point coordinates and ordinal value. TetVolume(id) Returns the volume of the tet with the given id. TetVolume(x, y, z, ord) Returns the volume of the tet identified by the given center point coordinates and ordinal value. FaceArea(id) Returns the area of the face with the given id. FaceArea(x, y, z, ord) Returns the area of the face identified by the given center point coordinates and ordinal value. TriArea(id) Returns the area of the tri with the given id. TriArea(x, y, z, ord) Returns the area of the tri identified by the given center point coordinates and ordinal value. . MeshSurfaceArea(id) Returns the total area of all triangle or quadrilateral elements on the surface with the given id. This will vary from the geometric surface area since the mesh approximates the boundary with linear mesh edges. MeshSurfaceArea(x, y, z, ord) Returns the total area of all triangle or quadrilateral elements on the surface  identified by the given center point coordinates and ordinal value. This will vary from the geometric surface area since the mesh approximates the boundary with linear mesh edges. EdgeLength(id) Returns the length of the edge with the given id. EdgeLength(x, y, z, ord) Returns the length of the edge identified by the given center point coordinates and ordinal value. MeshLength(id) Gets the length of the meshed curve with the given id. MeshLength(x, y, z, ord) Gets the length of the meshed curve identified by the given center point coordinates and ordinal value. Nx(id), Ny(id), Nz(id) Gets the x, y or z coordinate of node with the given id. Nx(x, y, z, ord) Ny(x, y, z, ord) Nz(x, y, z, ord) Gets the x, y or z coordinate of node identified by the given center point coordinates and ordinal value. Vx(id), Vy(id), Vz(id) Gets the x, y or z coordinate of vertex with the given id. Vx(x, y, z, ord) Vy(x, y, z, ord) Vz(x, y, z, ord) Gets the x, y or z coordinate of vertex identified by the given center point coordinates and ordinal value. NumInGrp("groupname") Returns the number of entities in the given group. NumTypeInGroup("group_name", "entity_type") Returns the number of "entity_type" in group "group_name". NumEdgesOnCurve(id) Returns the number of edges on the curve with the given id. NumEdgesOnCurve(x, y, z, ord) Returns the number of edges on the curve identified by the given center point coordinates and ordinal value. NumElemsOnSurface(id) Returns the number of elements on the surface with the given id. NumElemsOnSurface(x, y, z, ord) Returns the number of elements on the surface identified by the given center point coordinates and ordinal value. NumElemsInVolume(id) Returns the number of elements in the volume with the given id. NumElemsInVolume(x, y, z, ord) Returns the number of elements in the volume identified by the given center point coordinates and ordinal value. NumVolumes() Returns the number of volumes in the model. NumSurfaces() Returns the number of surfaces in the model. NumCurves() Returns the number of curves in the model. NumVertices() Returns the number of vertices in the model. NumVolsInPart("part_name") Returns the number of volumes assigned to the part with the specified name. PartInVol(id) Returns the name and instance number of the part that the volume has been assigned to. SessionId() Returns a unique ID for each Cubit session. DUMP() Returns a list of all APREPRO variables with their values. delete("var") Deletes the APREPRO variable with the name var. GeomCentroid_X("type", id) Returns the x coordinate of the centroid of the specified geometric entity. "type" can be "volume" or "group". If "volume" it calculates the centroid for the volume with the given id (single volume). If "group" it must be a group of volumes and it will calculate the combined centroid for the whole group with the given id. GeomCentroid_Y("type", id) Returns the y coordinate of the centroid of the specified geometric entity. "type" can be "volume" or "group". If "volume" it calculates the centroid for the volume with the given id (single volume). If "group" it must be a group of volumes and it will calculate the combined centroid for the whole group with the given id. GeomCentroid_Z("type", id) Returns the z coordinate of the centroid of the specified geometric entity. "type" can be "volume" or "group". If "volume" it calculates the centroid for the volume with the given id (single volume). If "group" it must be a group of volumes and it will calculate the combined centroid for the whole group with the given id. MeshCentroid_X("type", id) Returns the x coordinate of the centroid of the specified mesh entity. "type" can be "volume", "block", or "group". If "volume" it calculates the centroid of the 3D elements in the volume with the given id. If "block" it calculates the centroid of the elements in the block with the given id. If "group" it must be a group of volumes and it calculates the centroid of the group with the given id. MeshCentroid_Y("type", id) Returns the y coordinate of the centroid of the specified mesh entity. "type" can be "volume", "block", or "group". If "volume" it calculates the centroid of the 3D elements in the volume with the given id. If "block" it calculates the centroid of the elements in the block with the given id. If "group" it must be a group of volumes and it calculates the centroid of the group with the given id. MeshCentroid_Z("type", id) Returns the z coordinate of the centroid of the specified mesh entity. "type" can be "volume", "block", or "group". If "volume" it calculates the centroid of the 3D elements in the volume with the given id. If "block" it calculates the centroid of the elements in the block with the given id. If "group" it must be a group of volumes and it calculates the centroid of the group with the given id. BBox_XMin("type", id) Returns the xmin value of the bounding box of the specified geometric entity. "type" can be "volume", "surface", "curve", "vertex", or "group". If "volume", "surface", "curve", or "vertex" it will calculate the bounding box for the entity with the given id. If "group" it will calculate the combined bounding box for the group. A group can have any of the geometry types (vol, surf, curve, vert) in it and can be of mixed types. BBox_XMax("type", id) Returns the xmax value of the bounding box of the specified geometric entity. "type" can be "volume", "surface", "curve", "vertex", or "group". If "volume", "surface", "curve", or "vertex" it will calculate the bounding box for the entity with the given id. If "group" it will calculate the combined bounding box for the group. A group can have any of the geometry types (vol, surf, curve, vert) in it and can be of mixed types. BBox_YMin("type", id) Returns the ymin value of the bounding box of the specified geometric entity. "type" can be "volume", "surface", "curve", "vertex", or "group". If "volume", "surface", "curve", or "vertex" it will calculate the bounding box for the entity with the given id. If "group" it will calculate the combined bounding box for the group. A group can have any of the geometry types (vol, surf, curve, vert) in it and can be of mixed types. BBox_YMax("type", id) Returns the ymax value of the bounding box of the specified geometric entity. "type" can be "volume", "surface", "curve", "vertex", or "group". If "volume", "surface", "curve", or "vertex" it will calculate the bounding box for the entity with the given id. If "group" it will calculate the combined bounding box for the group. A group can have any of the geometry types (vol, surf, curve, vert) in it and can be of mixed types. BBox_ZMin("type", id) Returns the zmin value of the bounding box of the specified geometric entity. "type" can be "volume", "surface", "curve", "vertex", or "group". If "volume", "surface", "curve", or "vertex" it will calculate the bounding box for the entity with the given id. If "group" it will calculate the combined bounding box for the group. A group can have any of the geometry types (vol, surf, curve, vert) in it and can be of mixed types. BBox_ZMax("type", id) Returns the zmax value of the bounding box of the specified geometric entity. "type" can be "volume", "surface", "curve", "vertex", or "group". If "volume", "surface", "curve", or "vertex" it will calculate the bounding box for the entity with the given id. If "group" it will calculate the combined bounding box for the group. A group can have any of the geometry types (vol, surf, curve, vert) in it and can be of mixed types. NodeAt(x, y, z) Returns the id of the node closest to the xyz location. NodeAt(x, y, z, ordinal) Returns the id of the Node with the idless reference, x,y,z,ordinal. EdgeAt(x, y, z, ordinal) Returns the id of the edge with the idless reference, x,y,z,ordinal. FaceAt(x, y, z, ordinal) Returns the id of the quad face with the idless reference, x,y,z,ordinal. TriAt(x, y, z, ordinal) Returns the id of the triangle with the idless reference, x,y,z,ordinal. HexAt(x, y, z, ordinal) Returns the id of the hexahedra element with the idless reference, x,y,z,ordinal. TetAt(x, y, z, ordinal) Returns the id of the tetraheral element with the idless reference, x,y,z,ordinal. WedgeAt(x, y, z, ordinal) Returns the id of the wedge element with the idless reference, x,y,z,ordinal. PyramidAt(x, y, z, ordinal) Returns the id of the pyramid element with the idless reference, x,y,z,ordinal. VertexAt(x, y, z, ordinal) Returns the id of the vertex with the idless reference, x,y,z,ordinal. CurveAt(x, y, z, ordinal) Returns the id of the curve with the idless reference, x,y,z,ordinal. SurfaceAt(x, y, z, ordinal) Returns the id of the surface with the idless reference, x,y,z,ordinal. VolumeAt(x, y, z, ordinal) Returns the id of the volume with the idless reference, x,y,z,ordinal.

##### 15.2.2.22. Cubit Functions

The following Cubit Functions are available:

Table 2. Cubit Functions

 Syntax Description blockattributename(id, index) Returns the name for the specified attribute index in the block within the given id blockattributevalue(id, index) Returns the value for the specified attribute index in the block within the given id numblocks Returns the number of blocks defined in the model numsidesets Returns the number of sidesets defined in the model numnodesets Returns the number of nodesets defined in the model fileexists(filename) Checks if the given file exists. Returns non-zero if it does geometryengineversion(engine name) Get the geometry version for the specified geometry engine get_error_count() Gets the current error count in Cubit set_error_count(val) Sets the error count in Cubit to given value get_warning_count() Gets the current warning count in Cubit hasfeature(feature_name) Checks if the feature "feature_name" is available and returns nonzero if the feature is enabled set_warning_count(val) Sets the warning count in Cubit to value id("type") Returns the ID of the entity most recently created with the specified type. Acceptable types include: "body", "volume", "surface", "curve", "vertex", "group", "node", "edge", "quad", "face", "tri", "hex", "tet", or "pyramid". groupmemberid("group_name", "entity_type", index) Returns the ID of "entity_type" in group "group_name" at the specified index. If the group contains multiple entity types the index will only be relevant for the entity type specified and will behave as if the group only contained that entity type. intnum(id) Returns the number of intervals on a curve with the given id. intnum(x, y, z, ord) Returns the number of intervals on a curve identified by the given center point coordinates and ordinal value. intsize(id) Returns the interval size on a curve with the given id. intsize(x, y, z, ord) Returns the interval size on a curve identified by the given center point coordinates and ordinal value. volume(id) Gets the geometric volume of the volume with the given id. volume(x, y, z, ord) Gets the geometric volume of the volume identified by the given center point coordinates and ordinal value. surfacearea(id) Returns the surface area of the surface with the given id. surfacearea(x, y, z, ord) Returns the surface area of the surface identified by the given center point coordinates and ordinal value. length(id) Returns the length of the curve with the given id. length(x, y, z, ord) Returns the length of the curve identified by the given center point coordinates and ordinal value. radius(id) Returns the radius of the curve at its midpoint. radius(x, y, z, ord) Returns the radius of the curve identified by the given center point coordinates and ordinal value. minvolumemeshquality(id, "metric") Returns the worst value of the specified element quality metric of all elements in the volume with the given id. Acceptable metrics include: shape aspect ration bet aspect ratio gam aspect ratio condition no diagonal ratio dimension distortion element volume jacobian relative size scaled jacobian shape and size shear and size shear skew stretch taper minvolumemeshquality(x, y, z, ord, "metric") Returns the worst value of the specified element quality metric of all elements in the volume identified by the given center point coordinates and ordinal value. Acceptable metrics include: shape aspect ration bet aspect ratio gam aspect ratio condition no diagonal ratio dimension distortion element volume jacobian relative size scaled jacobian shape and size shear and size shear skew stretch taper minsurfacemeshquality(id, "metric") Returns the worst value of the specified element quality metric of all elements on the given surface. Acceptable metrics include: shape aspect ratio condition no distortion element area jacobian maximum angle minimum angle relative size scaled jacobian shape and size shear and size shear skew stretch taper warpage minsurfacemeshquality(x, y, z, ord, "metric") Returns the worst value of the specified element quality metric of all elements on the surface identified by the given center point coordinates and ordinal value. Acceptable metrics include: shape aspect ratio condition no distortion element area jacobian maximum angle minimum angle relative size scaled jacobian shape and size shear and size shear skew stretch taper warpage meshvolume(id) Returns the total volume of all mesh elements in the volume with the given id. This will vary from the actual geometric volume since the mesh approximates curved boundaries with linear mesh edges. meshvolume(x, y, z, ord) Returns the total volume of all mesh elements in the volume identified by the given center point coordinates and ordinal value. This will vary from the actual geometric volume since the mesh approximates curved boundaries with linear mesh edges. hexvolume(id) Returns the volume of the hex with the given id. hexvolume(x, y, z, ord) Returns the volume of the hex identified by the given center point coordinates and ordinal value. tetvolume(id) Returns the volume of the tet with the given id. tetvolume(x, y, z, ord) Returns the volume of the tet identified by the given center point coordinates and ordinal value. facearea(id) Returns the area of the face with the given id. facearea(x, y, z, ord) Returns the area of the face identified by the given center point coordinates and ordinal value. triarea(id) Returns the area of the tri with the given id. triarea(x, y, z, ord) Returns the area of the tri identified by the given center point coordinates and ordinal value. . meshsurfacearea(id) Returns the total area of all triangle or quadrilateral elements on the surface with the given id. This will vary from the geometric surface area since the mesh approximates the boundary with linear mesh edges. meshsurfacearea(x, y, z, ord) Returns the total area of all triangle or quadrilateral elements on the surface identified by the given center point coordinates and ordinal value. This will vary from the geometric surface area since the mesh approximates the boundary with linear mesh edges. edgelength(id) Returns the length of the edge with the given id. edgelength(x, y, z, ord) Returns the length of the edge identified by the given center point coordinates and ordinal value. meshlength(id) Gets the length of the meshed curve with the given id. meshlength(x, y, z, ord) Gets the length of the meshed curve identified by the given center point coordinates and ordinal value. nx(id), ny(id), nz(id) Gets the x, y or z coordinate of node with the given id. Nx(x, y, z, ord) ny(x, y, z, ord) nz(x, y, z, ord) Gets the x, y or z coordinate of node identified by the given center point coordinates and ordinal value. vx(id), vy(id), vz(id) Gets the x, y or z coordinate of vertex with the given id. vx(x, y, z, ord) vy(x, y, z, ord) vz(x, y, z, ord) Gets the x, y or z coordinate of vertex identified by the given center point coordinates and ordinal value. numingrp("groupname") Returns the number of entities in the given group. numtypeingroup("group_name", "entity_type") Returns the number of "entity_type" in group "group_name". numedgesoncurve(id) Returns the number of edges on the curve with the given id. numedgesoncurve(x, y, z, ord) Returns the number of edges on the curve identified by the given center point coordinates and ordinal value. numelemsonsurface(id) Returns the number of elements on the surface with the given id. numelemsonsurface(x, y, z, ord) Returns the number of elements on the surface identified by the given center point coordinates and ordinal value. numelemsinvolume(id) Returns the number of elements in the volume with the given id. numelemsinvolume(x, y, z, ord) Returns the number of elements in the volume identified by the given center point coordinates and ordinal value. numvolumes() Returns the number of volumes in the model. numsurfaces() Returns the number of surfaces in the model. numcurves() Returns the number of curves in the model. numvertices() Returns the number of vertices in the model. numvolsinpart("part_name") Returns the number of volumes assigned to the part with the specified name. partinvol(id) Returns the name and instance number of the part that the volume has been assigned to. sessionid() Returns a unique ID for each Cubit session. DUMP() Returns a list of all APREPRO variables with their values. delete("var") Deletes the APREPRO variable with the name var. geomcentroid_X("type", id) Returns the x coordinate of the centroid of the specified geometric entity. "type" can be "volume" or "group". If "volume" it calculates the centroid for the volume with the given id (single volume). If "group" it must be a group of volumes and it will calculate the combined centroid for the whole group with the given id. geomcentroid_Y("type", id) Returns the y coordinate of the centroid of the specified geometric entity. "type" can be "volume" or "group". If "volume" it calculates the centroid for the volume with the given id (single volume). If "group" it must be a group of volumes and it will calculate the combined centroid for the whole group with the given id. geomcentroid_Z("type", id) Returns the z coordinate of the centroid of the specified geometric entity. "type" can be "volume" or "group". If "volume" it calculates the centroid for the volume with the given id (single volume). If "group" it must be a group of volumes and it will calculate the combined centroid for the whole group with the given id. meshcentroid_X("type", id) Returns the x coordinate of the centroid of the specified mesh entity. "type" can be "volume", "block", or "group". If "volume" it calculates the centroid of the 3D elements in the volume with the given id. If "block" it calculates the centroid of the elements in the block with the given id. If "group" it must be a group of volumes and it calculates the centroid of the group with the given id. meshcentroid_Y("type", id) Returns the y coordinate of the centroid of the specified mesh entity. "type" can be "volume", "block", or "group". If "volume" it calculates the centroid of the 3D elements in the volume with the given id. If "block" it calculates the centroid of the elements in the block with the given id. If "group" it must be a group of volumes and it calculates the centroid of the group with the given id. meshcentroid_Z("type", id) Returns the z coordinate of the centroid of the specified mesh entity. "type" can be "volume", "block", or "group". If "volume" it calculates the centroid of the 3D elements in the volume with the given id. If "block" it calculates the centroid of the elements in the block with the given id. If "group" it must be a group of volumes and it calculates the centroid of the group with the given id. Bbox_Xmin("type", id) Returns the xmin value of the bounding box of the specified geometric entity. "type" can be "volume", "surface", "curve", "vertex", or "group". If "volume", "surface", "curve", or "vertex" it will calculate the bounding box for the entity with the given id. If "group" it will calculate the combined bounding box for the group. A group can have any of the geometry types (vol, surf, curve, vert) in it and can be of mixed types. Bbox_Xmax("type", id) Returns the xmax value of the bounding box of the specified geometric entity. "type" can be "volume", "surface", "curve", "vertex", or "group". If "volume", "surface", "curve", or "vertex" it will calculate the bounding box for the entity with the given id. If "group" it will calculate the combined bounding box for the group. A group can have any of the geometry types (vol, surf, curve, vert) in it and can be of mixed types. Bbox_Ymin("type", id) Returns the ymin value of the bounding box of the specified geometric entity. "type" can be "volume", "surface", "curve", "vertex", or "group". If "volume", "surface", "curve", or "vertex" it will calculate the bounding box for the entity with the given id. If "group" it will calculate the combined bounding box for the group. A group can have any of the geometry types (vol, surf, curve, vert) in it and can be of mixed types. Bbox_Ymax("type", id) Returns the ymax value of the bounding box of the specified geometric entity. "type" can be "volume", "surface", "curve", "vertex", or "group". If "volume", "surface", "curve", or "vertex" it will calculate the bounding box for the entity with the given id. If "group" it will calculate the combined bounding box for the group. A group can have any of the geometry types (vol, surf, curve, vert) in it and can be of mixed types. Bbox_Zmin("type", id) Returns the zmin value of the bounding box of the specified geometric entity. "type" can be "volume", "surface", "curve", "vertex", or "group". If "volume", "surface", "curve", or "vertex" it will calculate the bounding box for the entity with the given id. If "group" it will calculate the combined bounding box for the group. A group can have any of the geometry types (vol, surf, curve, vert) in it and can be of mixed types. Bbox_Zmax("type", id) Returns the zmax value of the bounding box of the specified geometric entity. "type" can be "volume", "surface", "curve", "vertex", or "group". If "volume", "surface", "curve", or "vertex" it will calculate the bounding box for the entity with the given id. If "group" it will calculate the combined bounding box for the group. A group can have any of the geometry types (vol, surf, curve, vert) in it and can be of mixed types. nodeat(x, y, z) Returns the id of the node closest to the xyz location. nodeat(x, y, z, ordinal) Returns the id of the Node with the idless reference, x,y,z,ordinal. edgeat(x, y, z, ordinal) Returns the id of the edge with the idless reference, x,y,z,ordinal. faceat(x, y, z, ordinal) Returns the id of the quad face with the idless reference, x,y,z,ordinal. triat(x, y, z, ordinal) Returns the id of the triangle with the idless reference, x,y,z,ordinal. hexat(x, y, z, ordinal) Returns the id of the hexahedra element with the idless reference, x,y,z,ordinal. tetat(x, y, z, ordinal) Returns the id of the tetraheral element with the idless reference, x,y,z,ordinal. wedgeat(x, y, z, ordinal) Returns the id of the wedge element with the idless reference, x,y,z,ordinal. pyramidat(x, y, z, ordinal) Returns the id of the pyramid element with the idless reference, x,y,z,ordinal. vertexat(x, y, z, ordinal) Returns the id of the vertex with the idless reference, x,y,z,ordinal. curveat(x, y, z, ordinal) Returns the id of the curve with the idless reference, x,y,z,ordinal. surfaceat(x, y, z, ordinal) Returns the id of the surface with the idless reference, x,y,z,ordinal. volumeat(x, y, z, ordinal) Returns the id of the volume with the idless reference, x,y,z,ordinal.

##### 15.2.2.33.String Functions

A few useful string functions are available:

Table 3. String Functions

 Syntax Description tolower(svar) Translates all uppercase characters in svar to lowercase. It modifies svar and returns the resulting string. toupper(svar) Translates all lowercase character in svar to uppercase. It modifies svar and returns the resulting string. execute(svar) svar is parsed and executed as if it were a line read from the input file. For example,if svar="b=sqrt(25.0)", then #{execute(svar)}returns the value 5 and sets b = 5. The expression svar is enclosed in delimiters prior to being executed, and it must be a valid expression or an error message will be printed. rescan(svar) Similar to execute(svar), except that svar is not enclosed in delimiters prior to being executed. For example,if svar = "create vertex {1+5} {sqrt(5)} {sqrt(6)}", then #{rescan(svar)}would print:create vertex 6 2.236067977 2.449489743.The difference between execute(sv1) and rescan(sv2) is that sv1 must be a valid expression, but sv2 can contain zero or more expressions. getenv(svar) Returns a string containing the value of the environment variable svar. If the environment variable is not defined, an empty string is returned. get_word(n,svar,del) Returns a string containing the nth word of svar. The words are separated by one or more of the characters in the string variable del word_count(svar,del) Returns the number of words in svar. Words are separated by one or more of the characters in the string variable del strtod(svar) Returns a double-precision floating-point number equal to the value represented by the character string pointed to by svar. print(msg) Prints msg printerror(svar) Outputs the string svar to stderr. error(svar) Outputs the string svar to stderr and then terminates the code with an error exit status quote(svar) Returns the string svar, enclosed in single quotes. timerstart() Starts the CPU timer timerstop() Stops the CPU timer type(entity name) Returns the type of the entity with the given name units(svar) Sets variables useful for working in a unit system. See APREPRO Units.

The following example shows the use of some of the string functions.

#{t1 = "ATAN2"} {t2 = "(0, -1)"}

#{t3 = tolower(t1//t2)}

...The variable t3 is equal to the string atan2(0, -1)

#{execute(t3)}

...t3 = 3.141592654

The result is the same as executing {atan2(0, -1)}

This is admittedly a very contrived example; however, it does illustrate the workings of several of the functions. In the first example, an expression is constructed by concatenating two strings together and converting the resulting string to lowercase. This string is then executed.

The following example uses the rescan function to illustrate a basic macro capability in APREPRO. The example creates vertices in Cubit equally spaced about the circumference of a 180 degree arc of radius 10. Note that the macro is 5 lines long (3 of the lines start with #, with the exception of the looping constructs - the actual journal file for this would not continue lines but would put each one on one long line).

#{num = 0} {rad = 10} {nintv = 10} {nloop = nintv + 1}

#{line = ’create vertex {polarX(rad, (++num-1) * 180/nintv)} {polarY(rad, (num-1) * 180/nintv)}’}

A few useful string functions are available: Table 3. String Functions
 Syntax Description tolower(svar) Translates all uppercase characters in svar to lowercase. It modifies svar and returns the resulting string. toupper(svar) Translates all lowercase character in svar to uppercase. It modifies svar and returns the resulting string. execute(svar) svar is parsed and executed as if it were a line read from the input file. For example, if svar="b=sqrt(25.0)", then #{execute(svar)} returns the value 5 and sets b = 5. The expression svar is enclosed in delimiters prior to being executed, and it must be a valid expression or an error message will be printed. rescan(svar) Similar to execute(svar), except that svar is not enclosed in delimiters prior to being executed. For example, if svar = "Create Vertex {1+5} {sqrt(5)} {sqrt(6)}", then #{rescan(svar)} would print: Create Vertex 6 2.236067977 2.449489743. The difference between execute(sv1) and rescan(sv2) is that sv1 must be a valid expression, but sv2 can contain zero or more expressions. getenv(svar) Returns a string containing the value of the environment variable svar. If the environment variable is not defined, an empty string is returned. get_word(n,svar,del) Returns a string containing the nth word of svar. The words are separated by one or more of the characters in the string variable del word_count(svar,del) Returns the number of words in svar. Words are separated by one or more of the characters in the string variable del strtod(svar) Returns a double-precision floating-point number equal to the value represented by the character string pointed to by svar. Print(msg) Prints msg PrintError(svar) Outputs the string svar to stderr. error(svar) Outputs the string svar to stderr and then terminates the code with an error exit status Quote(svar) Returns the string svar, enclosed in single quotes. TimerStart() Starts the CPU timer TimerStop() Stops the CPU timer Type(entity name) Returns the type of the entity with the given name Units(svar) Sets variables useful for working in a unit system. See APREPRO Units.

#{loop(nloop)}

#{rescan(line)}

#{endloop}

Output:

create vertex 10 0

create vertex 9.510565163 3.090169944

create vertex 8.090169944 5.877852523

create vertex 5.877852523 8.090169944

create vertex 3.090169944 9.510565163

create vertex 6.123233765e-16 10

create vertex -3.090169944 9.510565163

create vertex -5.877852523 8.090169944

create vertex -8.090169944 5.877852523

create vertex -9.510565163 3.090169944

create vertex -10 1.224646753e-15

Note the loop construct to automatically repeat the rescan line. To modify this example to calculate the coordinates of 101 points rather than eleven, the only change necessary would be to set {nintv=100}.

Note the loop construct to automatically repeat the rescan line. To modify this example to calculate the coordinates of 101 points rather than eleven, the only change necessary would be to set {nintv=100}.

##### 15.2.3APREPRO Journaling

$\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{\BoundaryOp}{\mathop{\partial}}$$\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{\LineSearchStep}{\alpha}$$\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}}$

When using APREPRO, statements can be echoed to a journal file. To do so, use the following command:

[set] Journal [Graphics|Names|Aprepro|Errors] [on|off]

Simply typing "journal aprepro" without an argument will display the current aprepro journaling setting.

For example,

bri x {2*5.0}

is journaled as

brick x {2*5.0}

if aprepro journaling is ON, or

brick x 10

if aprepro journaling is off. The default is ON.

Comments are also journaled. This is useful for documenting aprepro definitions and descriptions.

Comments on the same line as a command get split into two separate lines in the journal file.

##### 15.2.3.2Significant Figures

When journal aprepro is ON, numbers are journaled exactly as they are entered. The maximum number of significant digits is determined by the command input.

When journal aprepro is off, numeric results of aprepro statements are journaled according to the maximum number of significant digits hard-coded into Cubit, using the value of DBL_DIG.

##### 15.2.3.3Loops and Journaling

Loops are not journaled as loops, per se. For example, the APREPRO expression:

{loop(3)}

bri x {x}

{endloop}

is journaled as:

bri x \{x\}

bri x \{x\}

bri x \{x\}

##### 15.2.3.4Multi-line Strings

Multi-line strings are currently not journaled (both definitions and when they are expanded). For example,

#{line = ’bri x 10 mesh vol 1’}

{line}

will be journaled as

bri x 10

mesh vol 1

Note that bri x 10\n mesh vol 1 was not journaled as {line}

##### 15.2.4APREPRO Operators

$\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{\BoundaryOp}{\mathop{\partial}}$$\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{\LineSearchStep}{\alpha}$$\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 operators recognized by APREPRO are listed below.

In the following table, the letters a and b can represent variables, numbers, functions, or expressions unless otherwise noted. The tables below also list the precedence and associativity of the operators. Precedence defines the order in which operations should be performed. For example, in the expression:

3 * 4 + 6 / 2

the multiplications and divisions are performed first, followed by the addition because multiplication and division have higher precedence than addition. The precedence is listed from 1 to 14 with 1 being the lowest precedence and 14 being the highest.

Associativity defines which side of the expressions should be simplified first. For example the expression: 3 + 4 + 5 would be evaluated as (3 + 4) + 5 for left associativity, the expression a = b / c would be evaluated as a = (b / c) for right associativity.

Note: Operators must not be separated from operands by white space. For example, the expressions x_coord-1 and x_coord -1 will parse correctly, while the expressions x_coord - 1 and x_coord- 1 will not parse correctly.

##### 15.2.4.11. Arithmetic Operators

Arithmetic operators combine two or more algebraic expressions into a single algebraic expression. These have obvious meanings except for the pre- and post- increment and decrement operators. The pre-increment and pre-decrement operators first increment or decrement the value of the variable and then return the value. For example, if a = 1, then b=++a will set both b and a equal to 2. The post-increment and post-decrement operators first return the value of the variable and then increment or decrement the variable. For example, if a = 1, then b=a++ will set b equal to 1 and a equal to 2. The modulus operator % calculates the integer remainder. That is both expressions are truncated an integer value and then the remainder calculated. See the fmod function in Mathematical Functions, for the calculation of the floating point remainder. The tilde character ~ is used as a synonym for multiplication to improve the aesthetics of the APREPRO unit conversion system (however, the unit conversions system is not supported in Cubit). It is more natural for some users to type 12~metre than 12*metre

Table 1. Arithmetic Operators

 Syntax Description Precedence Associativity a+b Addition 9 left a-b Subtraction 9 left a*b, a~b Multiplication 10 left a/b Division 10 left a^b, a**b Exponentiation 12 right a%b Modulus (remainder) 10 left ++a, a++ Pre-, post-increment 13 left –a, a– Pre-, post-decrement 13 left

##### 15.2.4.22. Assignment Operators

Assignment operators combine a variable and an algebraic expression into a single algebraic expression, and also set the variable equal to the algebraic expression. Only variables can be specified on the left-hand-side of the equal sign.

Table 2. Assignment Operators

 Syntax Description Precedence Associativity a=b The value of ’a’ is set equal to ’b’ 1 right a+=b The value of ’a’ is set equal to a + b 2 right a-=b The value of ’a’ is set equal to a - b 2 right a*=b The value of ’a’ is set equal to a * b 3 right a/=b The value of ’a’ is set equal to a / b 3 right a^=b The value of ’a’ is set equal to a b 4 right a**=b The value of ’a’ is set equal to a b 4 right

##### 15.2.4.33. Relational Operators

Relational operators combine two algebraic expressions into a single relational expression. Relational expressions and operators can only be used before the question mark (?) in a conditional expression.

Table 3. Relational Operators

 Syntax Description Precedence Associativity ab true if ’a’ is greater than ’b’ 8 left a<=b true if ’a’ is less than or equal to ’b’ 8 left a>=b true if ’a’ is greater than or equal to ’b’ 8 left a==b true if ’a’ is equal to ’b’ 8 left a!=b true if ’a’ is not equal to ’b’ 8 left

##### 15.2.4.44. Boolean Operators

Boolean operators combine one or more relational expressions into a single relational expression. If la and lb are two relational expressions, then:

Table 4. Boolean Operators

 Syntax Description Precedence Associativity 1a || 1b true if either ’la’ or ’lb’ are true. 6 left 1a && 1b true if both ’la’ and ’lb’ are true. 7 left !1a true if ’la’ is false. 11 left

##### 15.2.4.55. String Operators

The only supported string operator at this time is string concatenation, which is denoted by //. If a = "hello" and b = "world", then:

c = a // " " // b

sets c equal to "hello world". Concatenation has precedence 14 and left associativity. Also see String Functions

##### 15.2.5APREPRO Predefined Variables

$\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{\BoundaryOp}{\mathop{\partial}}$$\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{\LineSearchStep}{\alpha}$$\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}}$

A few commonly used variables are predefined in APREPRO. These are listed below. The default output format is specified as a C language format string, see your C language documentation for more information. The default format and comment variables are defined with a leading underscore in their name so they can be redefined without generating an error message.

Table 1. Predefined Variables

 Name Value Description PI 3.14159265358979323846 $\pi$ PI_2 1.57079632679489661923 $\frac{ \pi }{2}$ SQRT2 1.41421356237309504880 $\sqrt{2}$ DEG 57.2957795130823208768 $\frac{ 180 \ \mathrm{deg} }{ \pi \ \mathrm{rad} }$ RAD 0.01745329251994329576 $\frac{ \pi \ \mathrm{rad} }{ 180 \ \mathrm{deg} }$ E 2.71828182845904523536 base of natural logarithm GAMMA 0.57721566490153286060 Euler-Mascheroni constant1 PHI 1.61803398874989484820 $\frac{ \sqrt{5} + 1}{2}$ (aka "The Golden Ratio") CUBIT_VERSION Varies, string value current version of Cubit VERSION Varies, string value current version of APREPRO _ FORMAT "%.10g" default output format _C_ "#" default comment character

1 The Euler-Mascheroni constant is defined as $\gamma = \lim_{n\rightarrow\infty}{\left( -\log n + \sum_{k=1}^{n}{\frac{1}{k}} \right)}$.

Note that the output format is used to output both integers and floating point numbers. Therefore, it should use the %g format descriptor which will use either the decimal (%d), exponential (%e), or float (%f) format, whichever is shorter, with insignificant zeros suppressed. The table below illustrates the effect of different format specifications on the output of the variable PI and the value 1.0 . See the documentation of your C compiler for

Table 2. Effect of Various Output Format Specifications more information. For most cases, the default value is sufficient.

 format PI output 1.0 output %.10g 3.141592654 1 %.10e 3.1415926536e+00 1.0000000000e+00 %.10f 3.1415926536 1.0000000000 %.10d 1413754136 0000000000

##### 15.2.6APREPRO Rules

$\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{\BoundaryOp}{\mathop{\partial}}$$\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{\LineSearchStep}{\alpha}$$\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 rules that APREPRO uses when identifying functions, variables, numbers, operators, delimiters, and expressions are described below:

##### 15.2.6.11. Functions

Function names are sequences of letters and digits and underscores (_) that begin with a letter. The function’s arguments are enclosed in parentheses. For example, in the line atan2(a,1.0), atan2 is the function name, and a and 1.0 are the arguments. See APREPRO Functions for a list of the available functions and their arguments.

##### 15.2.6.22. Variables

A variable is a name that references a numeric or string value. A variable is defined by giving it a name and assigning it a value. For example, the expression a = 1.0 defines the variable a with the numeric value 1.0; the expression b= "A string" defines the variable b with the value "A string". Variable names are sequences of letters, digits, and underscores (_) that begin with either a letter or an underscore. Variable names cannot match any function name and they are case-sensitive, that is, abc_de and abC_dE are two distinct variable names. A few variables are predefined, these are listed in APREPRO Predefined Variables. Any variable that is not defined is equal to 0. A warning message is output to the terminal if an undefined variable is used, or if a previously defined variable is redefined. To see a list of all of the current APREPRO variables use the DUMP() command.

A variable is a name that references a numeric or string value. A variable is defined by giving it a name and assigning it a value. For example, the expression a = 1.0 defines the variable a with the numeric value 1.0; the expression b= "A string" defines the variable b with the value "A string". Variable names are sequences of letters, digits, and underscores (_) that begin with either a letter or an underscore. Variable names cannot match any function name and they are case-sensitive, that is, abc_de and AbC_dE are two distinct variable names. A few variables are predefined, these are listed in APREPRO Predefined Variables. Any variable that is not defined is equal to 0. A warning message is output to the terminal if an undefined variable is used, or if a previously defined variable is redefined. To see a list of all of the current APREPRO variables use the DUMP() command.

##### 15.2.6.33. Numbers

Numbers can be integers like 1234, decimal numbers like 1.234, or in scientific notation like 1.234E-26. All numbers are stored internally as floating point numbers.

##### 15.2.6.44. Strings

Strings are sequences of numbers, characters, and symbols that are delimited by either single quotes (’this is a string’) or double quotes ("this is another string"). Strings that are delimited by one type of quote can include the other type of quote. For example, {’This is a valid "string"’}. Strings delimited by single quotes can span multiple lines; strings delimited by double quotes must terminate on a single line or a parsing error message will be issued.

##### 15.2.6.55. Operators

Operators are any of the symbols defined in APREPRO Operators. Examples are + (addition), - (subtraction), * (multiplication), / (division), = (assignment), and ^ (exponentiation).

##### 15.2.6.66. Delimiters

The delimiters recognized by APREPRO are: the comma (,) which separates arguments in function lists, the left curly brace ({) which begins an expression, the right curly brace (}) which ends an expression, the left parenthesis ( which begins a function argument list, the right parenthesis ) which ends a function argument list, the single quote (’) which delimits a multi-line string, and the double quote (") which delimits a single-line string.

##### 15.2.6.77. Expressions

An expression consists of any combination of numeric and string constants, variables, operators, and functions. Four types of expressions are recognized in APREPRO: algebraic, string, relational, and conditional.

##### 15.2.6.88. Algebraic Expressions

Almost any valid FORTRAN or C algebraic expression can be recognized and evaluated by APREPRO. An expression of the form a=b+10/37.5 will evaluate the expression on the right-hand-side of the equals sign and assign the value to the variable a. An expression of the form b+10/37.5 will simply evaluate the expression. Variables can also be set on the command line prior to playing any journal files using the ’var=val’ syntax. Only a single expression is allowed within the { } delimiters. For example, {x = sqrt(y^2 + sin(z))}, {x=y=z}, and {x=y} {a=z} are valid expressions, but {x=y a=z} is invalid because it contains two expressions within a single set of delimiters.

##### 15.2.6.99. String Expressions

APREPRO has very limited string support. The only supported operations are assigning a variable equal to a string (a = "this is a string") or a function that returns a string, and concatenating two strings into another string (a = "hello" // " " // "world").

##### 15.2.6.1010. Relational Expressions

Relational expressions are expressions that return the result of comparing two expressions. A relational expression is either true or false. Relational expressions can only be used on the left-hand side of a conditional expression. A relational expression is simply two expressions of any kind separated by a relational operator. See Relational Operators.

##### 15.2.6.1111. Conditional Expressions

APREPRO recognizes a conditional expression of the form::

relational_expression ? true_exp : false_exp

where relational_expression can be any valid relational expression, and true_exp and false_exp are two algebraic expressions. If the relational expression is true, then the result of true_exp is returned, otherwise the result of false_exp is returned. For example, if the following command were entered:

#{a = (sind(20.0) > cosd(20.0) ? 1 : -1)}

then, a would be assigned the value -1 since the relational expression to the left of the question mark is false. Both true_exp and false_exp are always evaluated prior to valuating the relational expression. Therefore, you should not write an equation such as

#{sind(20.0*a)>cosd(20.0*a) ? a=sind(20.0) : a=cosd(20.0)}

since the value of a can change during the evaluation of the expression. Instead, this equation should be written as:

#{a = (sind(20.0*a)>cosd(20.0*a) ? sind(20.0) : cosd(20.0))}

##### 15.2.6.1212. White Space

White space in APREPRO can be important. For example, the following expressions will parse correctly: x_coord-1 and x_coord -1

The following expressions will not parse:

x_coord- 1 and x_coord - 1

The operator must not be separated from the operand by white space.

##### 15.2.6.1313. Switch Statements

Please refer to the current APREPRO documentation for details. a = 10*PI switch(10*PI + sin(0)) ... This is ignored since it is after the switch, but before any case() statements case(1) ... This is not executed since 1 is not equal to 10*PI+sin(0) case(a) ... This is executed since a matches the value of 10*PI+sin(0) case(10*PI+sin(0)) ... This is not executed since a previous case was executed. default ... This is not executed since a previous case was executed. endswitch ... This is executed since the switch construct is finished.

##### 15.2.6.1414. Conditionals and Loops
• As of Cubit 15.0, ’ifdef’ and ’ifndef’ are deprecated. Use if(expression) and if (!expression) instead

• As of Cubit 15.0, elseif(expression) is valid

• {abortloop} will terminate all nested loops without expanding the loop . This is useful when typing in a loop at the command line and you make a mistake.

• A warning is issued to indicate to the user that they have started an APREPRO loop and that all subsequent commands will have no effect until the corresponding {endloop} or {abortloop} has been reached.

• A Cubit ’pause’ is not valid in a loop

##### 15.2.7APREPRO Syntax

$\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{\BoundaryOp}{\mathop{\partial}}$$\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{$