4.2.1 Bottom-Up Geometry Creation 4.2.1.1 Creating Volumes 4.2.1.1.1 Sweep Surface Along Vector 4.2.1.1.2 Sweep Surface About Axis 4.2.1.1.3 Sweep Surface Along Curve 4.2.1.1.4 Sweep Surface Perpendicular 4.2.1.1.5 Sweep Surface to a Volume 4.2.1.1.6 Offset 4.2.1.1.7 Sheet Extended from Surface 4.2.1.1.8 Sweep Curve About Axis 4.2.1.1.9 Stitch Surfaces Together 4.2.1.1.10 Loft Surfaces Together 4.2.1.1.11 Thicken Surfaces 4.2.1.1.12 Sweeping a Surface to a Plane 4.2.1.1.13 Sweep Surface along a Direction 4.2.1.1.14 Sweep Surface along Helix 4.2.1.1.15 Volume Copy 4.2.1.2 Creating Curves 4.2.1.2.1 Straight 4.2.1.2.2 Parabolic, Circular, Ellipse 4.2.1.2.3 Spline 4.2.1.2.4 Example 4.2.1.2.5 Copy 4.2.1.2.6 Combine Existing Curves 4.2.1.2.7 Arc Three 4.2.1.2.8 Arc End Vertices and Radius 4.2.1.2.9 Arc Center Vertex 4.2.1.2.10 Arc Center Angle 4.2.1.2.11 From Vertex Onto Curve 4.2.1.2.12 Offset 4.2.1.2.13 From Mesh Edge 4.2.1.2.14 Close To 4.2.1.2.15 Surface Intersection 4.2.1.2.16 By Projection 4.2.1.2.17 Creating a Helix 4.2.1.2.18 Tangents 4.2.1.2.19 Examples 4.2.1.3 Creating Surfaces 4.2.1.3.1 Bounding Curves 4.2.1.3.2 Bounding Vertices or Nodes 4.2.1.3.3 Copy 4.2.1.3.4 Extended Surface 4.2.1.3.5 Planar Surface 4.2.1.3.6 Net Surface 4.2.1.3.7 Offset 4.2.1.3.8 Skinning 4.2.1.3.9 Sweeping of Curves 4.2.1.3.10 Midsurface 4.2.1.3.11 Weld Profile 4.2.1.3.12 Creating A Surface From Mesh Entities 4.2.1.3.13 Creating a Circular Surface 4.2.1.3.14 Creating a Parallelogram 4.2.1.3.15 Creating an Ellipse 4.2.1.3.16 Creating a Rectangle 4.2.1.4 Creating Vertices 4.2.1.4.1 XYZ location 4.2.1.4.2 On Curve - Fraction 4.2.1.4.3 On Curve - General 4.2.1.4.4 From Vertex 4.2.1.4.5 At Arc 4.2.1.4.6 At Intersection 4.2.2 Geometric Primitives 4.2.2.2 Creating Bricks 4.2.2.3 Creating Frustums/  Cones 4.2.2.4 Creating Pyramids 4.2.2.5 Creating Toruses 4.2.2.6 Creating Cylinders 4.2.2.7 Creating Prisms 4.2.2.8 Creating Spheres
8.5

#### 4.2Geometry Creation

$\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}}$

There are three primary ways of creating geometry for meshing in Cubit. First, Cubit provides many geometry primitives for creating common shapes (spheres, bricks, etc.) which can then be modified and combined to build complex models. Secondly, geometry can be imported into Cubit. Finally, geometry can be defined by building it from the "bottom up", creating vertices, then curves from those vertices, etc. Two of these three methods for creating geometry in Cubit will be described in detail in this section.

All of these geometry creation commands have been expressed in the GUI’s command panels. To navigate to the volume creation command panels, for example, select "Mode-Geometry", then "Operation - Create Geometry", then "Entity-Create Volumes", as shown below. Other geometry creation command panels are available for each geometry type.

Figure 96

##### 4.2.1Bottom-Up Geometry Creation

$\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}}$

Cubit supports the ability to create geometry from a collection of lower order entities. This is accomplished by first creating vertices, connecting vertices with curves and connecting curves into surfaces. Currently only ACIS bodies or volumes may not be constructed by stitching a set of surfaces together, and only in a certain number of cases; however surfaces may also be swept or rotated to create bodies or volumes. Existing geometry may be combined with new geometry to create higher order entities. For example, a new surface can be created using a combination of new curves and curves already extant in the model. Commands and details for creating each type of geometry entity are given below.

##### 4.2.1.1Creating Volumes

$\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}}$

Currently, Cubit can create volumes:

1. from surfaces by sweeping a single surface into a 3D solid,

2. by offsetting an existing volume,

3. by extending one or more surfaces or sheet bodies

4. by sweeping a curve around an axis,

5. by stitching together surfaces that can form a closed volume,

6. by lofting from one surface to another surface, or

7. by thickening a surface body.

Sweeping of planar surfaces, belonging either to two- or three-dimensional bodies, is allowed, and some non-planar faces can be swept successfully, although not all are supported at this time.

There are five forms of the sweep command; the syntax and details for each are given below. Common options for first four forms are:

draft_angle: This parameter specifies the angle at which the lateral faces of the swept solid will be inclined to the sweep direction. It can also be described as the angle at which the profile expands or contracts as it is swept. The default value is 0.0.

draft_type: This parameter is an ACIS-related parameter and specifies what should be done to the corners of the swept solid when a non-zero draft angle is specified. A value of 0 is the default value and implies an extended treatment of the corners. A value of 1 is also valid and implies a rounded (blended) treatment of the corners.

anchor_entity: The default behavior for the sweep command is to move the source surface along a path to create a new 3D solid. The anchor_entity option instructs the sweep to leave the source surface in its original location.

include_mesh: This option will sweep the source surface and existing mesh into a meshed 3D solid. The mesh size is automatically computed using the Default auto interval specification.

The sweep operations have been designed to produce valid solids of positive volume, even though the underlying solid modeling kernel library that actually executes the operation, ACIS, allows the generation of solids of negative volume (i.e., voids) using a sweep.

##### 4.2.1.1.1Sweep Surface Along Vector

Sweeps a surface a specified distance along a specified vector. Specifying the distance of the sweep is optional; if this parameter is not provided, the face is swept a distance equal to the length of the specified vector. The include_mesh option will create a volumetric mesh if the surface is already meshed as shown below. The keep option will keep the original surface while creating the volume.

To sweep a Surface

1. On the Command Panel, click on Geometry and then Volume.

2. Click on the Create action button.

3. Select Sweep from the drop-down menu.

4. Enter the value for theSurface ID(s). This can also be done using the Pick Widget function.

5. Click on Along Vector.

6. Enter in the appropriate values for X, Y and Z.

7. Enter in any other desired options from this menu.

8. Click Apply.

Sweep Surface {<surface_id_range>} Vector <x_vector y_vector z_vector> [Distance <distance_value>] [switchside] [Draft_angle <degrees>] [Draft_type <0|1>][rigid][anchor_entity][include_mesh] [keep] [merge]

Figure 97: Surface mesh swept along a vector

Sweeps a surface about a specified vector or axis through a specified angle. The axis of revolution is specified using either a starting point and a vector, or by a coordinate axis. This axis must lie in the plane of the surfaces being swept. The steps parameter defaults to a value of 0 which creates a circular sweep path. If a positive, non-zero value (say, n) is specified, then the sweep path consists of a series of n linear segments, each subtending an angle of [( sweep_angle ) / ( steps-1 )] at the axis of revolution. The include_mesh option will create a volumetric mesh if the surface is already meshed as shown below. The keep option will keep the original surface while creating the volume.

To sweep a Surface About an Axis

1. On the Command Panel, click on Geometry and then Volume.

2. Click on the Create action button.

3. Select Sweep from the drop-down menu.

4. Enter the value for the Surface ID(s). This can also be done using the Pick Widget function.

6. Select the appropriate Axis of Rotation.

7. Enter in any other desired options from this menu.

8. Click Apply.

Sweep Surface {<surface_id_range>} Axis {<xpoint ypoint zpoint xvector yvector zvector>|Xaxis|Yaxis|Zaxis} Angle <degrees> [switchside] [Steps <number_of_sweep_steps>] [Draft_angle <degrees>] [Draft_type <0|1>][rigid][anchor_entity][include_mesh] [keep] [merge]

Figure 98: Surface swept around an axis of 50 degree angle

Specifying multiple surfaces that belong to the same body will not work as expected, as ACIS performs the sweep operation in place. Hence, if a range of surfaces is provided, they ought to each belong to different bodies.

##### 4.2.1.1.3Sweep Surface Along Curve

This command allows the user to sweep a planar surface along a curve:

To sweep a Surface Along a Curve

1. On the Command Panel, click on Geometry and then Volume.

2. Click on the Create action button.

3. Select Sweep from the drop-down menu.

4. Enter the value for the Surface ID(s). This can also be done using the Pick Widget function.

5. Click on Along Curve.

6. Enter in the Curve ID.

7. Select any other appropriate settings from this menu.

8. Click Apply.

Sweep Surface <surface_id_range> Along Curve <curve_id> [Draft_angle <degrees>] [Draft_type <0 | 1 | 2>][rigid][anchor_entity][include_mesh] [keep] [individual] [merge]

One of the ends of the curve must fall in the plane of the surface and the curve cannot be tangential to the surface. Sweep along curve also supports an additional draft type "2" which implies a "natural" extension of the corners from their curves.

The include_mesh option will create a volumetric mesh if the surface is already meshed. The keep option will keep the original surface while creating the volume.

Figure 99: Volume generated by sweeping a surface along a reference curve

##### 4.2.1.1.4Sweep Surface Perpendicular

This command allows the user to sweep a planar surface perpendicular to the surface:

To sweep a Surface Perpendicular

1. On the Command Panel, click on Geometry and then Volume.

2. Click on the Create action button.

3. Select Sweep from the drop-down menu.

4. Enter the value for the Surface ID(s). This can also be done using the Pick Widget function.

5. Click on Perpendicular.

6. Enter in the desired Distance.

7. Enter in any other appropriate settings from this menu.

8. Click Apply.

Sweep Surface <surface_id_range> Perpendicular Distance <distance> [Switchside] [Draft_angle <degrees>] [Draft_type <integer>][anchor_entity][include_mesh] [keep] [merge]

The sweeping plane must be planar in order to determine the sweep direction. The switchside option will reverse the direction of the sweep.

Figure 100: The original surface is retained with the 'keep' option. A new volume is created by sweeping the surface along the surface normal.

The include_mesh option will create a volumetric mesh if the surface is already meshed. The keep option will keep the original surface while creating the volume.

##### 4.2.1.1.5Sweep Surface to a Volume

This command allows users to sweep a surface to a volume.

To sweep a Surface to a Volume

1. On the Command Panel, click on Geometry and then Volume.

2. Click on the Create action button.

3. Select Sweep from the drop-down menu.

4. Enter the value for the Surface ID(s). This can also be done using the Pick Widget function.

5. Click on Target Volume.

6. Enter in the appropriate values for Volume ID, Direction and Plane.

7. Click Apply.

Sweep Surface <surface_id_range> Target {Volume|Body} <id> [Direction {options}] [Plane {options}]

The direction keyword can be used to control the direction of sweep. Without it, Cubit will determine the sweep direction (usually normal to the sweeping surface). The plane option can be used to define a stopping plane.

##### 4.2.1.1.6Offset

The following command creates a body offset from another body or set of surfaces at the specified distance. The new surfaces are extended or trimmed appropriately. A positive distance results in a larger body; a negative distance in a smaller body.

To create a Sheet Offset from a Surface

1. On the Command Panel, click on Geometry and then Surface.

2. Click the Create action button.

3. Select Offset from the drop-down menu.

4. Enter in the appropriate values for From Surface ID(s) and Offset Value.

5. Enter in any other desired settings from this menu.

6. Click Apply.

Create Body Offset [From] Body <id_range> Distance <value>

Create Sheet Offset From Surface <id_list> Offset <val> [Surface <id_list> Offset <val>] [Surface <id_list> Offset <val> ...] [Preview]

Using the second form of the command, the sheet body can be created from a list of surfaces, and the surfaces may offset by different distances. This command currently requires the original surfaces to be on solid bodies.

This option is also available for limited cases for facet-based surfaces.

##### 4.2.1.1.7Sheet Extended from Surface

The following command creates a body offset from another body or set of surfaces at the specified distance. The new surfaces are extended or trimmed appropriately. A positive distance results in a larger body; a negative distance in a smaller body.

To create a Sheet Extended from a Surface.

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Extended Surface from the drop-down menu.

4. Enter in the desired value for Surface ID(s).

5. Enter in any other appropriate settings from this menu.

6. Click Apply.

Create Sheet Extended From Surface <id_list> [Intersecting <entity_list>] [Extended {Percentage|Absolute} <val>] [Preview]

This command allows multiple surfaces to be extended at the same time. Optionally, you can give a list of bodies to intersect for this calculation. You can also extend the size of the surface by either a percentage distance or an absolute distance of the minimum area size. The plane can be previewed with the preview option. Figure 1 shows a set of surfaces being created using the extended absolute option.

Figure 101: Sheet created from extending multiple surfaces

Sweeps a curve or set of curves about a given axis through a specified angle. The axis is specified the same as in the Sweep Surface About Axis command. The steps, draft_angle, and draft_type options are the same as are described above. To create the solid, the make_solid option must be specified, otherwise a surface will be created, rather than a solid. If the rigid option is specified, then the curve or set of curves will remain oriented as originally oriented, rather than rotating about the axis.

To sweep a Curve about an Axis

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Sweep from the drop-down menu.

4. Enter in the value for the Curve ID(s). This can also be done using the Pick Widget function.

5. Select Axis/Angle from the Sweep Method Menu.

6. Enter in the appropriate Axis of Rotation.

7. Enter in any other desired settings from this menu.

8. Click Apply.

Sweep Curve <curve_id_range> {Axis <xpoint ypoint zpoint xvector yvector zvector>|Xaxis|Yaxis|Zaxis} Angle <degrees> [Steps <Number_of_sweep_steps>] [Draft_angle <degrees>] [Draft_type <integer>] [Make_solid] [Rigid]

##### 4.2.1.1.9Stitch Surfaces Together

A body can be created from various surfaces that form a closed volume with command below. The geometry must be ACIS-type geometry (i.e. imported from IGES, STEP or fastq files) This option is also available for limited cases for facet-based surfaces.

The heal option will attempt to close small gaps in the surface; the noheal option disables this behavior. The keep option preserves the original surfaces.

All of the surfaces must form a closed water-tight volume for this command to succeed unless the sheet option is specified. The sheet option allows for the creation of an open body.

To create a body with the Heal Option

1. On the Command Panel, click on Geometry and then Volume.

2. Click on the Create action button.

3. Select From Bounding Surfaces from the drop-down menu.

4. Enter the value for the Surface ID(s). This can also be done using the Pick Widget function.

5. Select any other appropriate setting from this menu.

6. Click Apply.

Create {Body|Volume} Surface <surface_id_range> [HEAL|Noheal] [Keep] [Sheet]

##### 4.2.1.1.10Loft Surfaces Together

A body can be "lofted" between two surfaces to form a new body. Surfaces from solid bodies and sheet bodies may be used to create a loft body. In order to create the loft body, two surfaces coincident to the input surfaces are created. The loft body is extruded along the shortest path between the corresponding vertices that define the shapes of the two copied surfaces. This new body is solid. The surfaces used to create the loft body are unchanged.

To loft Surfaces to create a Volume

1. On the Command Panel, click on Geometry and then Volume.

2. Click on the Create action button.

3. Select Lofted Volume from the drop-down menu.

4. Enter the value for Surface ID(s). This can also be done using the Pick Widget function.

5. Select an other appropriate settings from this menu.

6. Click Apply.

Create {Body|Volume} Loft Surface <ids> [guide curve <id_list> [global_guides]] [Takeoff_factors <one value per surface in order>=.001] [Takeoff_vector Surface <id> {direction options}] [match vertex <ids>] [closed] [preview] [show_matching_curves]

Source surface ids must be specified in lofting order

Go to Location, Direction, and Axis Specification to see the direction command description.

The following options are available for lofting:

• Guide curve: Multiple curves may be specified to guide the loft. The curves must touch each source surface. If the global_guides option is specified the guides curves are applied in a global nature.

• Takeoff_factors: Takeoff factors control how strongly the loft follows the takeoff vectors. When specifying takeoff factors one value must be specified for each source surface.

• Takeoff_vector: The takeoff vector controls the direction of the loft for each surface. The default takeoff vector for each surface is the normal at the surface centroid. One takeoff vector may be specified for each surface.

• Match vertex: This option guides the loft in how to match the vertices of the source surfaces. Multiple match vertex sets may be specified. When specifying match vertices, one vertex id from each source surface must be specified. The match vertices must be specified in loft order.

• Closed: This option attempts to create a toroidal solid. The last source surface is lofted to the first source surface.

• Preview: This option will preview the linking curves of the final solid.

• Show_matching_curves: This option will preview how the vertices of the source surfaces will be matched.

Lofting can be used to split a body in order to create a more structured mesh. Figure 2 below shows a single volume swept from a large paved surface. Figure 3 shows this same volume after surfaces defined on the source and target surfaces have been used to create a loft body. This original body was chopped with the loft body. The resulting two bodies were merged. The yellow volume was swept as the volume in Figure 2 was but the purple volume was submapped, producing a much more structured mesh overall.

Figure 102: Mesh before loft. Single swept volume with a large paved face.

Figure 103: Mesh after loft. The yellow volume is paved and the purple volume is submapped.

##### 4.2.1.1.11Thicken Surfaces

A surface body can be thickened to create a volume body. The surface can be thickened in both directions using the "both" keyword, thickened in the direction of surface normal using a positive depth, or thickened in the opposite direction using a negative depth. To thicken multiple surfaces, all surface normals must be consistent.

To thicken a Surface

1. On the Command Panel, click on Geometry and then Volume.

2. Click on the Modify Volumes action button.

3. Select Thicken from the drop-down menu.

4. Enter the appropriate values for Volumes ID(s) and Depth.

5. To Thicken the volume in both direction, check the Thicken in both directions box.

6. Click Apply.

Thicken [Volume|BODY] <id> Depth <depth> [Both]

##### 4.2.1.1.12Sweeping a Surface to a Plane

Sweeps a surface normal to a plane and towards the plane until the swept surface reaches the plane. See plane options for ways to describe a plane.

To sweep a Surface to a Plane

1. On the Command Panel, click on Geometry and then Volume.

2. Click on the Create action button.

3. Select Sweep from the drop-down menu.

4. Enter in the desired values for Surface ID(s) and Volume ID. This can also be done by using the Pick Widget function.

5. Click on Target Volume.

6. Click on Plane.... Another menu will appear.

7. Enter in the appropriate settings.

8. Click Apply. The menu will disapear leaving the selected settings in the Plane field.

9. Enter in any other desired settings from this menu.

10. Click on Apply.

Sweep surface <id> target plane <options>

##### 4.2.1.1.13Sweep Surface along a Direction

Sweep a surface along a direction to create a volume. See direction options for ways to specify a direction.

To sweep a Surface along a Direction

1. On the Command Panel, click on Geometry and then Volume.

2. Click on the Create action button.

3. Select Sweep from the drop-down menu.

4. Enter in the desired values for Surface ID(s). This can also be done using the Pick Widget function.

5. Click on Direction from the Sweep Method menu.

6. Click on the Direction... button. Another menu will appear.

7. Enter in the appropriate settings.

8. Click Apply. The menu will disapear leaving the selected settings in the Direction field.

9. Enter in any other desired settings from this menu.

10. Click Apply.

Sweep Surface <surface_id_range> Direction (options) [switchside] [draft_angle <degrees>] [draft_type <integer>] [rigid] [anchor_entity] [include_mesh] [keep] [merge]

Figure 104: Surface extruded along -X direction without 'include_mesh' option.

##### 4.2.1.1.14Sweep Surface along Helix

Sweep a surface along a helix, where the helix is defined by an axis, thread_distance (distance between turns in axis direction), axis, and handedness (right_handed or left_handed.

To sweep a Surface or Curve along a Helix

1. On the Command Panel, click Geometry.

2. To sweep a surface, click on Volume. To sweep a curve, click on Surface.

3. Click on the Create action button.

4. Select Sweep from the drop-down menu.

5. Enter in the desired Surface or Curve ID(s). This can also be done using the Pick Widget function.

6. Select Helix from the Sweep Method menu.

7. Click the appriapte Axis from the Axis of Rotation menu.

8. Enter in the appropriate values for Helix Height and Rotation Angle.

9. Enter in any other desired settings

10. Click Apply.

Sweep {Surface|Curve} <id_range> Helix {axis <xpoint ypoint zpoint xvector yvector zvector> | xaxis | yaxis | zaxis} thread_distance <val> angle <val> [RIGHT_HANDED|left_handed] [anchor_entity] [include_mesh] [keep] [merge]

Specifying multiple Surfaces that belong to the same Body can cause the creation of invalid Bodies and is discouraged.

axis = axis about which to create the sweep

thread_distance = distance between each 360 degree segment of the helix

angle = number of degrees in rotation of the helix

handedness = right-handed or left- handed threads

Figure 105: Helical Sweep

##### 4.2.1.1.15Volume Copy

Create a new volume by copying an existing volume. There are a number of commands to support this function. Below is the command panel which is accessed via Geometry/Volume/Create/Copy. Notice the opportunity to copy with various transforms, include the mesh from the source volume, and include boundary conditions from the source volume.

Figure 106

##### 4.2.1.2Creating Curves

$\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}}$

Curves are created by specifying the bounding lower-order topology (i.e. the vertices) and the geometry (shape) of the curve (along with any parameters necessary for that geometry).

##### 4.2.1.2.1Straight

The first form of the command creates a straight line or a line lying on the specified surface. If a surface is used, the curve will lie on that surface but will not be associated with the surface’s topology.

Create Curve [Vertex] <vertex_id> [Vertex] <vertex_id> [On Surface <surface_id>]

Straight curves can be created using an axis. The syntax is as follows:

Create Curve Axis {options}

The length of the axis must be specified. Go to Location, Direction, and Axis Specification to see the axis command description.

Additionally, several connected straight curves can be created with a single command. The syntax for the polyline command is as follows:

Create Curve Polyline Location {options} Location {options} ...

Notice that two or more locations are used to define a polyline. See Location, Direction, and Axis Specification for the location command description.

##### 4.2.1.2.2Parabolic, Circular, Ellipse

The parabolic option creates a parabolic arc which goes through the three vertices. The circular and ellipse options create circular and elliptical curves respectively that go through the first and last vertices.

Create Curve [Vertex <vertex_id> [Vertex] <vertex_id> [[Vertex] <vertex_id> [Parabolic|Circular|ELLIPSE [first angle <val=0> last angle <val=90>]]]

If ’ellipse’ is specified, Cubit will create an ellipse assuming the vectors between vertices (1 and 3) and (2 and 3) are orthogonal. v1-v3 and v2-v3 define the major and minor axes of the ellipse and v3 defines the center point. These vectors should be at 90 degrees. If not, Cubit will issue a warning indicating the vertices are not sufficient to create an ellipse and will then default to creating a spiral.

The angle options will specify what portion of the ellipse to create. If none are specified, first angle will default to 0 and last angle to 90 and the ellipse will go from vertex 1 to vertex 2; if the vertices are free vertices they will be consumed in the ellipse creation. First angle tells Cubit where to start the ellipse – the angle from the first axis (v1 - v3) specified. Last angle tells Cubit where to end the ellipse – the angle from the first axis. The angle follows the right-hand rule about the normal defined by (v1 - v3) X (v2 - v3).

##### 4.2.1.2.3Spline

The spline form of the command creates a spline curve that passes through all specified vertices or locations. The syntax is shown below:

Create Curve Spline {List of locations} [delete]

The delete option will remove all of the intermediate vertices used to create the spline leaving only the end vertices.

See Location, Direction, and Axis Specification to view the location specification syntax.

##### 4.2.1.2.4Example

create curve spline vertex 1 to 10

An alternate form of the command can be used with only vertex ids using the syntax below and is retained for backwards compatibility.

Create Curve [Vertex] <start_vertex> <end_vertex> <interior_vertex_ids> [Spline] [Delete]

##### 4.2.1.2.5Copy

This command actually copies the geometric definition in the specified curve to the newly created curve. The new curve is free floating.

Create Curve From Curve <curve_id>

For more copy options see the general copy command.

##### 4.2.1.2.6Combine Existing Curves

This command creates a new curve from a connected chain of existing ACIS curves.

Create Curve combine curve <id_list> [delete]

##### 4.2.1.2.7Arc Three

The following command creates an arc either through 3 vertices or tangent to 3 curves. The full qualifier will cause a complete circle to be created.

Create Curve Arc Three {Vertex|Curve} <id_list> [Full]

##### 4.2.1.2.8Arc End Vertices and Radius

The following command creates an arc using two vertices, the radius and a normal direction. The full qualifier will cause a complete circle to be created.

Create Curve Arc Vertex <id_list>
Radius <value> Normal {<x> <y> <z>} | {direction options} [Full]

Go to Location, Direction, and Axis Specification to see the direction command description.

##### 4.2.1.2.9Arc Center Vertex

The next form of the command creates an arc using the center of the arc and 2 points on the arc. The arc will always have a radius at a distance from the center to the first point, unless the radius value is given. Again, the full qualifier will cause a complete circle to be created.

Create Curve Arc Center Vertex <center_id> <end1_id> <end2_id>
[Normal {<x> <y> <z>} | {direction options}]

Go to Location, Direction, and Axis Specification to see the direction command description.

Requires 3 Vertices - first is the center, the other two are the end points of the arc. A normal direction is required when the three points are colinear. Otherwise a normal direction is optional.

##### 4.2.1.2.10Arc Center Angle

This form of the command creates an arc using the center position of the arc, the radius, the normal direction and the sweep angle.

Create Curve Arc Center {<x=0> <y=0> <z=0>} | {location options}
Normal {<x> <y> <z>} | {direction options}
Start Angle <value=0> Stop Angle <value=360>

Go to Location, Direction, and Axis Specification to see the location and direction command descriptions.

##### 4.2.1.2.11From Vertex Onto Curve

The following command will create a curve from a vertex onto a specified position along a curve. If none of the optional parameters are given, the location on the curve is calculated as using the shortest distance from the start vertex to the curve (i.e., the new curve will be normal to the existing curve).

Create Curve From Vertex <vertex_id> Onto Curve <curve_id> [Fraction <f> | Distance <d> | Position <xval><yval><zval> | Close_To Vertex <vertex_id> [[From] Vertex <vertex_id> (optional for ’Fraction’ & ’Distance’)]] [On Surface <surface_id>]

Default = Normal to the Curve

##### 4.2.1.2.12Offset

The next command creates curves offset at a specified distance from a planar chain of curves. The direction vector is only needed if a single straight curve is given. The offset curves are trimmed or extended so that no overlaps or gaps exist between them. If the curves need to be extended the extension type can be rounded like arcs, extended tangentially (the default -straight lines are extended as straight lines and arcs are extended as arcs), or extended naturally.

Create Curve Offset Curve <id_list> Distance <val> [Direction <x> <y> <z>] [Rounded|EXTENDED|Natural]

Direction is optional for offsets of individual straight curves only

In all cases, the specified vertices are not used directly but rather their positions are used to create new vertices.

##### 4.2.1.2.13From Mesh Edge

This commands creates a curve from an existing mesh given a starting node and an adjacent edge.

Create Curve From Mesh Node <id> Edge <id> [Length <val>]

The adjacent edge indicates which direction to propagate the curve.
The curve will be composed of mesh edges up to the specified length.
If no length is specified the curve will propagate as far as the boundary of the mesh. Figure 107 shows a example of a curve generated from the mesh.

Figure 107: Example of curve created from mesh

The underlying geometry kernel used for this command is Mesh-Based geometry. The new curve will also be meshed with the edges it was propagated through. A related command for assigning mesh edges directly to a mesh block is the Rebar command. See Element Block Specification for more details.

Full hexes or full tets must be used to propagate the curves through the interior of volume.

##### 4.2.1.2.14Close To

This option takes two geometric entities and creates the shortest possible curve between the two entities at the location where the two entities are the closest. The two entities may NOT intersect. If two vertices are given, the command will create a straight line between the two vertices.

Create Curve Close_To {Vertex|Curve|Surface|Volume|Body} <id_1> {Vertex|Curve|Surface|Volume|Body} <id_2>

##### 4.2.1.2.15Surface Intersection

The following commandcreates curvesat surface intersections.Multiple curves can be created from a single command.

Create Curve Intersecting Surface <id_list>

##### 4.2.1.2.16By Projection

The project command projects curves, or the curves of a surface another a single surface or multiple surfaces of a volume or body. The command syntax is as follows:}

Project {Curve <id_list> | Surface <id_list } Onto Surface <surface_id> [Imprint [Keepcurve] [Keepbody]] [Trim]

Project { Curve <id_list> | Surface <id_list> Onto {Body <id> | Volume <id>} [Target_surface <id_list>] [Imprint [Keepcurve] [Keepbody]]}

The first form of the command takes a list of curves or surfaces, and a projection surface. If a list of curves is given, the result will be the creation of a set of free curves on top of the projection surface. If a list of surfaces is given, the result will be the same as selecting the curves of the surface (i.e. a group of free curves on the projecting surface).

The second form will imprint the list of curves (or curves of the surface(s)) onto the surfaces of the specified bodies or volumes. The Target_surface option helps when the projection is ambiguous, for example projecting curves onto a thin-walled volume where the projection could be to either side, as shown in Figure 108.

Figure 108: Example of projecting curves to specific side of thin-walled volume

##### 4.2.1.2.17Creating a Helix

This command will create a helical curve. The command syntax is as follows:

Create Curve Helix { axis <xpoint ypoint zpoint xvector yvector zvector> | xaxis | yaxis | zaxis } location (options) thread_distance <value> angle <value> [RIGHT_HANDED | left_handed]

axis = axis about which to create the helix

location (options) = starting point of the helix

thread_distance = distance between each 360 degree segment of the helix

angle = number of degrees in rotation of the helix

handedness = right-handed or left- handed threads

##### 4.2.1.2.18Tangents

This command will create a spline curve by specifying the end points and the tangents at those points. The command syntax is as follows:

create curve tangent vertex <id> [direction (options)] vertex <id> [direction (options)]

create curve tangent location (options) direction (options) location (options) direction (options)

Both forms of the command can be broken into two parts: the starting point and ending point of the curve. The tangent direction is grouped with the associated point.

The first form of the command takes an existing vertex and an optional tangent direction. If the direction is not specified, it will be taken from the tangent at the endpoint of the connected curve. If the vertex is not connected to a curve, or it is connected to multiple curves, the direction must be specified. If the vertex is not connected to a curve, it will be incorporated into the new curve. Otherwise, a new vertex will be created for the new curve.

The second form of the command takes a location and a tangent direction. The directions must be specified and vertices will be created for the locations.

The two command forms can also be mixed. A curve can be created from an existing vertex and a specified location.

##### 4.2.1.2.19Examples

create curve tangent location 0 0 0 direction 1 0 0 location 1 1 0 direction 1 0 0

Figure 109: Create tangent curve with locations and tangent directions

create curve tangent vertex 1 vertex 3

merge vertex all

Figure 110: Create tangent curve by specifying vertices on curves. Tangents are extracted from the curve at the vertex location.

Go to Location, Direction, and Axis Specification to see the location and direction command description.

##### 4.2.1.3Creating Surfaces

$\newcommand{\QuantityFunctionOf}[2]{{#1}(#2)} \newcommand{\QFO}[2]{\QuantityFunctionOf{#1}{#2}} \newcommand{\QuantityFunctionOfNoArg}[1]{{#1}} \newcommand{\QFONA}[1]{\QuantityFunctionOfNoArg{#1}} \newcommand{\SubscriptedQuantityFunctionOf}[3]{{#1}_{#2}(#3)} \newcommand{\SQFO}[3]{\SubscriptedQuantityFunctionOf{#1}{#2}{#3}} \newcommand{\QuantityChildOf}[2]{{#2}^{#1}} \newcommand{\QCO}[2]{\QuantityChildOf{#1}{#2}} \newcommand{\QuantityRelatedTo}[2]{{#1}[#2]} \newcommand{\QRT}[2]{\QuantityRelatedTo{#1}{#2}} \newcommand{\QuantitySubscriptedBy}[2]{{#1}_{#2}} \newcommand{\QSB}[2]{\QuantitySubscriptedBy{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOfChildOf}[4]{{#1}_{#2}^{#3}(#4)} \newcommand{\SQFOCO}[4]{\SubscriptedQuantityFunctionOfChildOf{#1}{#2}{#3}{#4}} \newcommand{\SubscriptedQuantityChildOf}[3]{{#1}_{#2}^{#3}} \newcommand{\SQCO}[3]{\SubscriptedQuantityChildOf{#1}{#2}{#3}} \newcommand{\overbar}[1]{\mkern 1.5mu\overline{\mkern-1.5mu#1\mkern-1.5mu}\mkern 1.5mu} \newcommand{\bcdot}{\boldsymbol{\cdot}} \newcommand{\SuchThat}{\, : \,} \newcommand{\SuchThatText}{\text{s.t.}} \newcommand{\DefEq}{\overset{\operatorname{def}}{=}} \newcommand{\True}{\textsf{True}} \newcommand{\False}{\textsf{False}} \newcommand{\ArrayRoster}[1]{\left[#1\right]} \newcommand{\ArrayRosterI}[2]{[#1]_{#2}} \newcommand{\ArrayEmpty}{\ArrayRoster{\hspace{1mm}}} \newcommand{\Tuple}[1]{\mathsf{#1}} \newcommand{\TupleRoster}[1]{\left(#1\right)} \newcommand{\PointPair}[2]{\TupleRoster{#1, #2}} \newcommand{\Set}[1]{\mathsf{#1}} \newcommand{\SetRoster}[1]{\left\{ #1 \right\}} \newcommand{\SetRosterIndexed}[3]{\SetRoster{#1}_{#2}^{#3}} \newcommand{\SetRosterPredicate}[2]{\SetRoster{#1 \SuchThat #2}} \newcommand{\SetEmpty}{\varnothing} \newcommand{\SetPower}[1]{\QuantityFunctionOf{\boldsymbol{\Set{P}}}{#1}} \newcommand{\SetNeighborhood}[1]{\QuantityFunctionOf{\boldsymbol{\Set{B}}}{#1}} \newcommand{\Domain}{\Omega} \newcommand{\DomainBdry}{\Gamma} \newcommand{\IntervalClosed}[2]{\left[#1, #2\right]} \newcommand{\IntervalOpen}[2]{\left(#1, #2\right)} \newcommand{\IntervalClosedOpen}[2]{\left[#1, #2\right)} \newcommand{\IntervalOpenClosed}[2]{\left(#1, #2\right]} \newcommand{\Reals}{\mathbb{R}} \newcommand{\Naturals}{\mathbb{N}} \newcommand{\Integers}{\mathbb{Z}} \newcommand{\Field}{\mathbb{F}} \newcommand{\Size}[1]{\left\lvert #1 \right\rvert} \newcommand{\Union}[3]{\bigcup\limits_{#1}^{#2} #3} \newcommand{\UnionInline}[3]{\bigcup_{#1}^{#2} #3} \newcommand{\Intersect}[3]{\bigcap\limits_{#1}^{#2} #3} \newcommand{\ElementWiseGreaterOrEqual}{\succeq} \newcommand{\ElemntWiseGreater}{\succ} \newcommand{\ElementWiseLessOrEqual}{\preceq} \newcommand{\ElementWiseLess}{\prec} \newcommand{\SpaceLinear}[1]{\mathnormal{#1}} \newcommand{\SpaceDual}[1]{\SpaceLinear{#1}^*} \newcommand{\AbsoluteValue}[1]{\Size{#1}} \newcommand{\Norm}[2]{\left\lVert #2 \right\rVert_{#1}} \newcommand{\NormAbstract}[1]{\Norm{}{#1}} \newcommand{\NormSemi}[1]{\Size{#1}} \newcommand{\SpaceLinearNormed}[1]{\left(\SpaceLinear{#1}, \NormAbstract{\bcdot} \right)} \newcommand{\SpaceBanach}[1]{\mathfrak{#1}} % normed and complete \newcommand{\SymmetricBilinear}[2]{\left(#1, #2\right)} \newcommand{\InnerProduct}[2]{\left\langle#1, #2\right\rangle} \newcommand{\DotProduct}[2]{\left(#1 \bcdot #2\right)} \newcommand{\SpaceInnerProduct}[1]{\left(\SpaceLinear{#1}, \InnerProduct{\bcdot}{\bcdot}\right)} \newcommand{\SpaceHilbert}[1]{\mathcal{#1}} \newcommand{\SpaceLTwo}{\SpaceHilbert{L}_2} \newcommand{\SpaceLTwoDef}[2]{\SpaceLTwo\left(#1; #2\right)} \newcommand{\SpaceLInfty}{\SpaceHilbert{L}_\infty} \newcommand{\SpaceLTwoWeighted}{\SpaceLTwo^w} \newcommand{\SpaceSobolevK}[1]{\SpaceHilbert{H}^{#1}} \newcommand{\SpaceSobolevKDef}[3]{\SpaceSobolevK{#1}\left(#2 ; #3\right)} \newcommand{\Cont}{\operatorname{cont}} \newcommand{\SpaceCont}{\SpaceHilbert{C}} \newcommand{\SpaceContDef}[2]{\SpaceCont\left(#1 ; #2\right)} \newcommand{\SpaceContK}[1]{\SpaceCont^{#1}} \newcommand{\SpaceContKDef}[3]{\SpaceContK{#1}\left(#2; #3\right)} \newcommand{\SpaceContZero}{\SpaceContK{0}} \newcommand{\SpaceContInf}{\SpaceContK{\infty}} \newcommand{\SpaceContInfDef}[2]{\SpaceContKDef{\infty}{#1}{#2}} \newcommand{\SpaceContKBounded}[2]{\SpaceContK{#1}_{#2}} \newcommand{\SpaceContKBoundedDef}[3]{\SpaceCont_{b}^{#1}\left(#2 ; #3\right)} \newcommand{\SpaceLinearOperator}[1]{\mathscr{#1}} \newcommand{\SpaceLinearOperatorDef}[2]{\SpaceLinearOperator{L}\left(#1 ; #2\right)} \newcommand{\SpaceLinearOperatorBoundedDef}[2]{\SpaceLinearOperator{B}\left(#1 ; #2\right)} \newcommand{\SpaceLinearN}[1]{\SpaceLinear{#1}^h} \newcommand{\SpaceHilbertN}[1]{\SpaceHilbert{#1}^h} \newcommand{\SpaceVecRealN}[1]{\Reals^{#1}} \newcommand{\SpacePoly}[1]{\SpaceHilbert{P}^{#1}} \newcommand{\SpaceMatrixRealMN}[2]{\Reals^{#1\times#2}} \newcommand{\SpacePolyDef}[3]{\SpacePoly{#1}\left(#2 ; #3\right)} \newcommand{\Func}[1][f]{#1} \newcommand{\FuncAlt}[1][g]{#1} \newcommand{\FuncDef}[3]{#1 \SuchThat #2 \rightarrow #3} \newcommand{\FuncApprox}[1]{#1^h} \newcommand{\LinearOperator}[1]{\SpaceLinearOperator{#1}} \newcommand{\LinearOperatorDef}[3]{\FuncDef{\LinearOperator{#1}}{#2}{#3}} \newcommand{\Functional}[1]{\LinearOperator{#1}} \newcommand{\Projection}{\Pi} \newcommand{\VectorProjection}[2]{\Projection_{#1} {\left(#2\right)}} \newcommand{\Mat}[1]{\boldsymbol{#1}} \newcommand{\MatIJ}[3]{\left[#1\right]_{#2#3}} \newcommand{\MatIdRow}{m} \newcommand{\MatIdCol}{n} \newcommand{\NonZeroIndices}{\operatorname{\mathsf{nzi}}} \newcommand{\ColumnSelector}{\operatorname{\mathrm{col}}} \newcommand{\RowSelector}{\operatorname{\mathrm{row}}} \newcommand{\ColOf}[1]{\ColumnSelector_{#1}} \newcommand{\RowOf}[1]{\RowSelector_{#1}} \newcommand{\DiagonalMatrix}[1]{\QFO{\operatorname*{diag}}{#1}} \newcommand{\Rotation}{\Mat{R}} \newcommand{\Identity}{\Mat{I}} \newcommand{\KroneckerDeltaComp}{\delta} \newcommand{\KroneckerDelta}{\Mat{\delta}} \newcommand{\LeviCivita}{\Mat{\epsilon}} \newcommand{\Jacobian}{\Mat{J}} \renewcommand{\Vec}[1]{\boldsymbol{#1}} \newcommand{\VecChildOf}[2]{\QCO{#2}{#1}} \newcommand{\VecI}[2]{\{#1\}_{#2}} \newcommand{\ZeroVec}{\Vec{0}} \newcommand{\OneVec}{\Vec{1}} \newcommand{\ZeroMat}{\Mat{0}} \newcommand{\UnitNormalComp}{n} \newcommand{\UnitNormal}{\Vec{\UnitNormalComp}} \newcommand{\MacBracket}[1]{\langle#1\rangle} \newcommand{\IdentityTenSym}{\mathbb{I}} \newcommand{\BraKet}[1]{\langle#1\rangle} \newcommand{\FuncObjective}[1]{\QFO{\Func}{#1}} \newcommand{\FuncEqualityConstraints}[1]{\QFO{\Func[\Vec{g}]}{#1}} \newcommand{\VarDesign}{\Vec{\phi}} \newcommand{\VarState}[1]{\QFO{\Vec{u}}{#1}} \newcommand{\FuncLagrangian}[1]{\QFO{\mathscr{L}}{#1}} \newcommand{\FuncAugmentedLagrangian}[1]{\QFO{\mathscr{L}_A}{#1}} \newcommand{\VecLambdaLM}[1]{\QFO{\Vec{\lambda}}{#1}} \newcommand{\LambdaLM}[1]{\QFO{\lambda}{#1}} \newcommand{\SolutionLocalOpt}[1]{\left(#1\right)^*} \newcommand{\ProximalPoint}{\overbar{\VecLambdaLM{}}} \newcommand{\PenaltyParameter}{\rho} \newcommand{\Slacify}[1]{\QSB{#1}{s}} \newcommand{\Prod}[2]{\prod\limits_{#1}^{#2}} \newcommand{\ProdInline}[2]{\prod_{#1}^{#2}} \newcommand{\TensorProduct}{\otimes} \newcommand{\Sum}[2]{\sum\limits_{#1}^{#2}} \newcommand{\SumInline}[2]{\sum_{#1}^{#2}} \newcommand{\Rank}[1]{\operatorname{rank}(#1)} \newcommand{\Nullity}[1]{\operatorname{null}(#1)} \newcommand{\Image}{\operatorname{image}} \newcommand{\Range}{\operatorname{range}} \newcommand{\Inverse}[1]{\left(#1\right)^{-1}} \newcommand{\inverse}[1]{\overline{#1}} \newcommand{\Transpose}[1]{\left(#1\right)^{T}} \newcommand{\TransposeSimple}[1]{#1^{T}} \newcommand{\InvTrans}[1]{\left(#1\right)^{-T}} \newcommand{\Complement}[1]{\overbar{#1}} \newcommand{\Adjoint}[1]{\left(#1\right)^*} \newcommand{\OrthogonalComplement}[1]{\left(#1\right)^\perp} \newcommand{\Det}[1]{\QFO{\operatorname{det}}{#1}} \newcommand{\DCT}{\operatorname{DCT}} \newcommand{\IDCT}{\operatorname{IDCT}} \newcommand{\RealPart}[1]{\QFO{\mathfrak{R}}{#1}} \newcommand{\Trace}[1]{\QFO{\operatorname{tr}}{#1}} \newcommand{\Dev}[1]{\QFO{\operatorname{dev}}{#1}} \newcommand{\DevDef}[1]{\Dev{#1} \DefEq #1 - \frac{1}{3}\Trace{#1}\Identity} \newcommand{\dual}[1]{{\bar{#1}}} \newcommand{\symind}[1]{\textsc{#1}} \newcommand{\symmetrizer}{{S}} \newcommand{\BasisFuncCoeff}[2]{\QSB{#1}{#2}} \newcommand{\BasisVec}[2]{\QSB{#1}{#2}} \newcommand{\BasisVecChildOf}[3]{\SQFOCO{#1}{#2}{#3}{a}} \newcommand{\OrthogonalBasisVec}[2]{\SQFOCO{#1}{#2}{\perp}{a}} \newcommand{\OrthonormalBasisVec}[2]{\SQFOCO{\overbar{#1}}{#2}{\perp}{a}} \newcommand{\PolynomialDegree}{p} \newcommand{\BasisFuncId}{i} \newcommand{\BasisFuncIdAlt}{j} \newcommand{\BasisFuncIdAltAlt}{k} \newcommand{\BasisFunc}[3]{\SQFO{#1}{#2}{#3}} \newcommand{\PowerBasisFunc}[2]{\QCO{#2}{#1}} \newcommand{\LagrangeBasisFunc}[3]{\SQFOCO{\Func[L]}{#1}{#2}{#3}} \newcommand{\LagrangeBasisFuncNoArg}[2]{\SQCO{\Func[L]}{#1}{#2}} \newcommand{\LegendreBasisFunc}[3]{\SQFOCO{\Func[P]}{#1}{#2}{#3}} \newcommand{\LegendreBasisFuncNoArg}[2]{\SQCO{\Func[P]}{#1}{#2}} \newcommand{\PreNormalizedLegendreBasisFunc}[3]{\hat{\LegendreBasisFunc{#1}{#2}{#3}}} \newcommand{\ChebyshevBasisFunc}[2]{\SQFO{\Func[T]}{#1}{#2}} \newcommand{\ChebyshevBasisFuncNoArg}[1]{\SQCO{\Func[T]}{#1}{}} \newcommand{\BasisVecI}{\Vec{i}} \newcommand{\BasisVecJ}{\Vec{j}} \newcommand{\BasisVecK}{\Vec{k}} \newcommand{\Span}{\operatorname{span}} \newcommand{\Dim}[1]{\operatorname{dim}\left({#1}\right)} \newcommand{\Support}[1]{\operatorname{supp}(#1)} \newcommand{\SupportPos}[1]{\operatorname{supp}_{+}(#1)} \newcommand{\SumBasis}[4]{\Sum{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\SumInlineBasis}[4]{\SumInline{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\BasisTransMatrix}[2]{\Mat{R}_{{#1}\rightarrow{#2}}} \newcommand{\ChebyshevZeros}[1]{\QSB{z}{#1}} \newcommand{\ChebyshevExtremizers}[1]{\QSB{t}{#1}} \newcommand{\BernToChebMat}{\Mat{T}} \newcommand{\Chebfun}[3]{\biggl(\, \sum_{#2=0}^{#1}{#3}_{#2}\ChebyshevBasisFuncNoArg{#2}\biggr)} \newcommand{\ChebfunVector}[1]{\left[#1\right]_c} \newcommand{\PowerBasisMat}[1]{\QCO{#1}{\Mat{M}}} \newcommand{\LagrangeBasisMat}[1]{\QCO{#1}{\Mat{L}}} \newcommand{\LegendreBasisMat}[1]{\QCO{#1}{\Mat{P}}} \newcommand{\BernsteinBasisMat}[1]{\QCO{#1}{\Mat{B}}} \newcommand{\ChebyshevBasisMat}[1]{\QCO{#1}{\Mat{T}}} \newcommand{\EvaluateTwoLimits}[3]{#1\biggr\rvert_{#2}^{#3}} \newcommand{\EvaluateOneLimit}[2]{\left.#1\right\rvert_{#2}} \newcommand{\Limit}[2]{\lim\limits_{#1\rightarrow #2}} \newcommand{\LimitInline}[2]{\lim_{#1\rightarrow #2}} \newcommand{\DNE}{\operatorname{DNE}} \newcommand{\TotalDeriv}{D} \newcommand{\LagrangeDeriv}[1]{{#1}'} \newcommand{\KthLagrangeDeriv}[2]{{#1}^{(#2)}} \newcommand{\LeibnizSubDeriv}[2]{{#1}_{,#2}} \newcommand{\LeibnizFracDeriv}[2]{\frac{d}{d#2} #1} \newcommand{\KthLeibnizFracDeriv}[3]{\frac{d^{#2}}{d#3^{#2}}\Func[#1](#3)} \newcommand{\KthLeibnizFracSpecificFunction}[3]{\frac{d^{#2}}{d#3^{#2}}\Func[#1]} \newcommand{\Differential}[1][x]{\, \operatorname{d}{#1}} \newcommand{\FrechetDeriv}[2]{D{#1}\left(#2\right)} \newcommand{\GateauxDirectionBold}[1]{\Vec{\delta}#1} \newcommand{\GateauxDirection}[1]{\delta #1} \newcommand{\GateauxDerivBold}[2]{D#1(#2; \GateauxDirectionBold{#2})} \newcommand{\GateauxDeriv}[2]{D#1(#2; \GateauxDirection{#2})} \newcommand{\GateauxDerivWithDirection}[3]{D#1\left(#2 \ ;\ #3\right)} \newcommand{\GateauxDerivPartial}[2]{\frac{\partial #1}{\partial #2}} \newcommand{\KthGateauxDerivPartial}[3]{\frac{\partial^{#3} #1}{\partial #2^{#3}}} \newcommand{\Grad}[2]{\boldsymbol{\nabla}^{#1} #2} \newcommand{\Jac}{\Mat{J}} \newcommand{\Div}[2]{\boldsymbol{\nabla}^{#1} \bcdot #2} \newcommand{\Laplace}[2]{\boldsymbol{\Delta}^{#1} #2} \newcommand{\TaylorSeries}[2]{\mathcal{T}\left[\Func[#1]\right](#2)} \newcommand{\TruncatedTaylorSeries}[3]{\mathcal{T}_{#1}\left[\Func[#2]\right]\left(#3\right)} \newcommand{\Int}[2]{\int\limits_{#1}^{#2}} \newcommand{\IntDomain}[1]{\int\limits_{#1}} \newcommand{\IntInline}[2]{\int_{#1}^{#2}} \newcommand{\IntDomainInline}[1]{\int_{#1}} \newcommand{\DetJacobian}{\Det{\Jac}} \newcommand{\BigO}[1]{\mathcal{O}\left(#1\right)} \newcommand{\Flops}{\operatorname{flops}} \newcommand{\Interpolant}[2]{\mathcal{#1}^{h}} \newcommand{\ErrorApproxComp}{e} \newcommand{\ErrorApproxTen}{\Vec{\ErrorApproxComp}} \newcommand{\ErrorNewton}{\epsilon} \newcommand{\ApproximateIntegrationError}[1]{\tilde{e}_{#1}} \newcommand{\AnalyticApproximateIntegrationErrorDifference}[1]{\overbar{e}_{#1}} \newcommand{\erf}[1]{\mathrm{erf}\left(#1\right)} \newcommand{\erfc}[1]{\mathrm{erfc}\left(#1\right)} \newcommand{\HeavisideFunc}[1]{\mathit{H}\left(#1\right)} \newcommand{\DiracDelta}[2]{\delta_{D}\left(#1 - #2\right)} \newcommand{\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}}$

There are two major ways to create surfaces in Cubit. First, surfaces can be created in Cubit by fitting an analytic or spline surface over a set of bounding curves. In this case, the curves must form a closed loop, and only one loop of curves may be supplied. The second method, is by sweeping a curve about an axis, along a vector, or along another curve. The result of these surface creation commands is a "sheet body" or a body that has zero measurable volume (it does however have a volume entity). This body may be decomposed with booleans and special webcutting commands or it may be used as a tool to decompose other bodies. Booleans can be used to cut holes out of these surfaces.

##### 4.2.1.3.1Bounding Curves

The first form of this command produces an analytic or spline surface fit to cover the bounding curves.

To create a Surface by Bounding Curves

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Bounding Curves from the drop-down menu.

4. Enter in the appropriate values in the Curve ID(s) field. This can also be done using the Pick Widget function.

5. Click Apply.

Create Surface Curve <curve_id_1> <curve_id_2> <curve_id_3>...

Another version of this command creates a surface from a set of bounding curves that all lie on one surface. If the curves are selected they must lie on the surface, and they must create a closed loop. The On Surface option forces the surface to match the geometry of the underlying surface exactly.

Bound Curves with On Surface option

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Bounding Curves from the drop-down menu.

4. Click on the On Surface button.

5. Enter in the appropriate values for Curve ID(s) and On Surface. This can also be done using the Pick Widget function.

6. Click Apply.

Create Surface Curve <id_list> On Surface <surface_id>

##### 4.2.1.3.2Bounding Vertices or Nodes

The second form of this command uses vertices to fit an analytic spline surface. The On Surface option creates the surface from a set of nodes and vertices that all lie on one surface and restrains the surface to match the geometry of the underlying surface. The project option will project the nodes or vertices to the specified surface.

To create a Surface by bounding Vertices or Nodes

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Vertex List from the drop-down menu.

4. Select Vertex or Node from the Select menu.

5. Enter in the appropriate value for Vertex ID(s) or Node ID(s). This can also be done using the Pick Widget function.

6. Click on the On Surface button and enter the appropriate value in for Surface ID.

7. Click Apply.

Create Surface [Node|Vertex| <id_list>] [On Surface <surface_id> {Project} ]

##### 4.2.1.3.3Copy

The next form creates a surface using the same geometric description of the specified surface. The new surface will be a stand-alone sheet body that is geometrically identical to the user supplied surface.

To create a Surface by making a Copy

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Copy from the drop-down menu.

4. Enter in the appropriate value for Surface ID(s). This can also be done using the Pick Widget function.

5. Click on Transform Copied Surfaces and select Move, Rotate, Reflect or Scale.

6. Enter in the appropriate settings.

7. Click Apply.

Create Surface From Surface <surface_id>

##### 4.2.1.3.4Extended Surface

The fourth form of the command creates a surface that is extended from a given surface or list of surfaces. The specified surface’s geometry is examined and extended out "infinitely" relative to the current model in Cubit (i.e. extended to just beyond the bounding box of the entire model). The given surfaces are extended as shown in the table.

To create a Surface by Extending a Surface

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Extended Surface from the drop-down menu.

4. Enter in the appropriate value for Surface ID(s). This can also be done using the Pick Widget function.

5. Enter in any other appropriate settings.

6. Click Apply.

Create Surface Extended From Surface <surface_id>

Table 1. Surface Extension Results

 Surface Type Resulting Extended Surface Spherical Shell of Full Sphere Planar Plane of infinite size relative to model Toroidal Shell of Full Torus Conical, cone, cylinder... Shell of outside conic axially aligned with given conic of infinite height relative to model Spline Surface is extended to extents of the spline definition. This may not be any further than the surface itself, so caution should be used here.

Multiple surfaces can be offset at the same time to form a sheet body, by using the Create Sheet Extended from Surface command.

##### 4.2.1.3.5Planar Surface

The following commands create planar surfaces. The first passes a plane through 3 vertices, the second uses an existing plane, the third creates a plane normal to one of the global axes, and the fourth creates a plane normal to the tangent of a curve at a location along the curve. By default, the commands create the surface just large enough to intersect the bounding box of the entire model with minimum surface area. Optionally, you can give a list of bodies to intersect for this calculation. You can also extend the size of the surface by either a percentage distance or an absolute distance of the minimum area size. The plane can be previewed with the command Draw Plane [with]... (where the rest of the command is the same as that to create the surface).

To create a Planar Surface through 3 vertices

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Planar Surface from the drop-down menu.

4. Select Vertex from the Create Planar Surface With Plane menu.

5. Enter in the appropriate values for Vertex ID 1, 2 and 3. This can also be done using the Pick Widget function.

6. Enter in any other appropriate settings from this menu.

7. Click Apply.

Create Planar Surface [With] Plane Vertex <v1_id> [Vertex] <v2_id> [Vertex] <v3_id> [Intersecting] Body <id_range>] [Extended Percentage|Absolute <val>]

To create a Planar Surface using an Existing Plane

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Planar Surface from the drop-down menu.

4. Select Surface from the Create Planar Surface With Plane menu.

5. Enter in the appropriate value for Surface ID. This can also be done using the Pick Widget function.

6. Enter in any other appropriate settings from this menu.

7. Click Apply.

Create Planar Surface [With] Plane Surface <surface_id> [Intersecting] Body <id_range>] [Extended Percentage|Absolute <val>]

To create a Planar Surface normal to one of the global axes

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Planar Surface from the drop-down menu.

4. Select XYZ from the Create Planar Surface With Plane menu.

5. Select XY Plane, ZX Plane or YZ Plane from the select menu.

6. Enter in the desired Offset Value.

7. Enter in any other appropriate settings from this menu.

8. Click Apply.

Create Planar Surface [With] Plane {Xplane|Yplane|Zplane} [Offset <val>] [Intersecting] Body <id_range>] [Extended Percentage|Absolute <val>]

To create a Planar Surface normal to curve

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Planar Surface from the drop-down menu.

4. Select Normal To Curve from the Create Planar Surface With Plane menu.

5. Enter in the appropriate Curve ID value. This can also be done using the Pick Widget function.

6. Select Fraction, Distance, Position or Near Vertex from the Select menu.

7. Enter in any other appropriate settings from this menu.

8. Click Apply.

Create Planar Surface [With] Plane Normal To Curve <curve_id>{Fraction <f>| Distance <d> | Position <xval><yval><zval> | Close_to vertex <vertex_id>} [[From] Vertex <vertex_id> (optional for ’fraction’ & ’distance’)] [Intersecting] Body <id_range>] [Extended Percentage|Absolute <val>]

##### 4.2.1.3.6Net Surface

Net surfaces can be created with two different commands. A net surface passes through a set of curves in the u-direction and a set of curves in the v-direction (these u and v curves would looked like a mapped mesh). The first form of the command uses curves to create the net surface. The curves must pass within tolerance of each other to work. The second form uses a mapped mesh to create the surface. The mapped mesh can be of a single surface or a collection of mapped or submapped surfaces that form a logical rectangle. By default net surfaces are healed to take advantage of any possible internal simplification.

To create a Net Surface from UV curves

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Net Surface from the drop-down menu.

4. Select From UV Curve from the select menu.

5. Enter in the appropriate values for U Curve ID(s) and V Curve ID(s). This can also be done using the Pick Widget function.

6. Enter in any other appropriate settings from this menu.

7. Click Apply.

Create Surface Net U Curve <id_list> V Curve <id_list> [Tolerance <value>] [HEAL|Noheal]

To create a Net Surface from Mapped Surface

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Net Surface from the drop-down menu.

4. Select Mapped Surface from the select menu.

5. Enter in the appropriate value for Surface ID(s). This can also be done using the Pick Widget function. The surface must be meshed.

6. Enter in any other appropriate settings from this menu.

7. Click Apply.

Create Surface Net [From] [Mapped] Surface <id_list> [Tolerance <value>] [HEAL|Noheal]

A suggested geometry cleanup method is to use a virtual composite surface to map mesh a set of complicated surfaces then create a net surface from this mesh. Then the original surfaces can be removed with the noextend option and the new net surface combined back onto the body.

##### 4.2.1.3.7Offset

The following command creates surfaces offset from existing surfaces at the specified distances.

To create a Surface offset from an Existing Surface

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Offset from the drop-down menu.

4. Enter in the appropriate value for From Surface ID(s). This can also be done using the Pick Widget function.

5. Enter in the appropriate value for Offset Value.

6. Enter in any other approrpriate settings from this menu.

7. Click Apply.

Create Surface Offset [From] Surface <id_list> Distance <val>

The surface offset command will only translate the existing surfaces, without extending or trimming them. An alternate form of the command for sheet bodies will maintain connections between surface by extending or trimming as they are offset, shown in Figure 111. On the left, the surfaces are offset using the surface offset command. On the left, the surface is created by using the "sheet" version of the command.

Figure 111: Offsetting surfaces to form individual surfaces or sheet bodies

##### 4.2.1.3.8Skinning

The following command creates a skin surface from a list of curves. An example of a skin surface is to create a surface through a set of parallel lines.

To create a Surface by Skinning

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Skin Curve from the drop-down menu.

4. Enter in the appropriate values for Curve ID(s). This can also be done using the Pick Widget function.

5. Click Apply.

Create Surface Skin Curve <id_list>

##### 4.2.1.3.9Sweeping of Curves

A curve or a set of curves can be swept along a path to create new surfaces. The path may be specified as an axis and angle, a vector and distance, by indicating another curve or set of contiguous curves, or by specifying a target plane. The following commands show the options available:

To sweep a Curve along an Axis

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Sweep from the drop-down menu.

4. Select Axis/Angle from the Sweep Method menu.

5. Enter in the appropriate value for Curve ID(s). This can also be done using the Pick Widget function.

6. Select the appropriate Axis from the Axis of Rotation menu.

7. Enter in the appropriate values for Angle and Steps.

8. Enter in any other appropriate settings from this menu.

9. Click Apply.

Sweep Curve <curve_id_range> { Axis <xpoint ypoint zpoint xvector yvector zvector> | Xaxis | Yaxis | Zaxis } Angle <degrees> [Steps <Number_of_sweep_steps>] [Draft_angle <degrees>] [Draft_type <integer>] [Make_solid] [Include_mesh] [Keep][Rigid]

To sweep a Curve using a Vector

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Sweep from the drop-down menu.

4. Select Vector and Distance from the Sweep Method menu.

5. Enter in the appropriate value for Curve ID(s). This can also be done using the Pick Widget function.

6. Enter in the appropriate values in the Vector X,Y,Z field.

7. Enter in any other appropriate settings from this menu.

8. Click Apply.

Sweep Curve <curve_id_range> Vector <xvector yvector zvector> [Distance <distance>] [Draft_angle <degrees>] [Draft_type <integer>] [Include_mesh] [Keep] [Rigid]

To sweep a Curve along Curve

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Sweep from the drop-down menu.

4. Select Along Curve from the Sweep Method menu.

5. Enter in the appropriate value for Curve ID(s). This can also be done using the Pick Widget function.

6. Enter in any other appropriate settings from this menu.

7. Click Apply.

Sweep Curve <curve_id_range> Along Curve <refcurve_id_range> [Draft_angle <degrees>] [Draft_type <integer>] [Include_mesh] [Keep] [Rigid]

To sweep a Curve using a Target Volume

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Sweep from the drop-down menu.

4. Select Target Volume from the Sweep Method menu.

5. Enter in the appropriate values for Volume ID and Curve ID(s). This can also be done using the Pick Widget function.

6. Enter in the appropriate settings for Direction. Click on the Direction... button to open a separate window to specify settings.

7. Enter in the appropriate settings for Plane. Click on the Plane... button to open a separate window to specify settings.

8. Click Apply.

Sweep Curve <curve_id_range> Target Plane <options>

Sweep Curve <curve_id_range> Target {Volume|Body} <id> Direction {options} [Plane <options>] [Unite]

In the first command, the steps options provides a way of faceting the sweep, so instead of a smooth round sweep, there are facets to the surface. The make_solid option closes the newly-created surface to the axis, so that a solid is created instead of a surface.

In the above commands, the include_mesh option will create a surface mesh if the curve is already meshed (see figure below). The keep option will keep the original curve while creating the surface.

Figure 112

The sweep curve target plane command sweeps a curve until it hits a target plane. The options for the target plane are described under Specifying a Plane.

The last command sweeps a curve to a target volume or body and can only be used on sheet bodies. Use the direction keyword to specify the sweep direction and the plane keyword to specify a stopping plane. The unite keyword will unite the sheet bodies after sweeping

The other options are as follows:

draft_angle: determines how much drafting in of the surface is desired

draft_type:

0 => extended (draws two straight tangent lines from the ends of each segment until they intersect)

1 => rounded (create rounded corner between segments)

2 => natural (extends the shapes along their natural curve)

rigid: normally the curve will rotate to maintain its original orientation to the sweep path. The rigid option disallows this rotation.

##### 4.2.1.3.10Midsurface

Multisurfaces may be created midway between pairs of surfaces using the following command:

To create a Surface midway between pairs

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Midsurface from the drop-down menu.

4. Enter the appropriate values for Volume ID and Surface ID Pairs. This can also be done using the Pick Widget function.

5. Click Apply.

Create Midsurface {Body|Volume} <id> Surface <id11> <id12> ... <idN1> <idN2>

where N denotes the number of pairs of surfaces. An even number of surfaces must be specified, and the command will group them by pairs in the order in which they are provided. The resulting surface will be trimmed by the specified body or volume <id>. This replaces the create midplane command in previous versions of Cubit.

Figure 113: Multisurface created with the Create Midsurface command

Figure 114: Midsurface created from 2 pairs of cylindrical surfaces

Midsufaces can also be extracted without surface pair specification if the resulting surface is a single sheet of surfaces (no T intersections).

For automatic midsurface extraction

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Auto Midsurface from the drop-down menu.

4. Enter the appropriate values for Volume ID(s). This can also be done using the Pick Widget function.

5. Enter the appropriate values for Lower Bounds and Upper Bounds.

6. Enter in any other appropriate settings from this menu.

Create Midsurface {Body|Volume} <id_range> Auto [Delete] [Transparent] [Thickness] [Limit <lower_bound> <upper_bound>] [Preview]

Figure 115 shows a simple auto midsurface example. The command for the example is:

create midsurface volume 1 auto delete

Figure 115: Midsurface created from a volume

The command option descriptions are listed below.

auto enables the automatic mid-surface algorithm. Turning Auto off requires the user to specify a single surface pair to create a mid-surface.

transparent shows the successfully midsurfaced volumes as transparent in the graphics display

thickness applies a 2D property to the created mid-surface geometry.

limit search range gives the algorithm a range to find surface pairs within.

##### 4.2.1.3.11Weld Profile

Surfaces may be created by specifying a weld profile using the following command:

Create Surface Weld [Root] Location {options} Weld Surface <id_list> Length <val> [<val2>]

Weld surfaces can be used to create a simulated welded joint by sweeping the surface along the root curve and uniting the new body to the model. An example of the command is illustrated below. For a detailed description of the location specifier see Location Direction, and Axis Specification.

create surface weld root location vertex 25 weld surface 13 14 length 2

Figure 116: Weld Profile surface with length and root specifications

##### 4.2.1.3.12Creating A Surface From Mesh Entities

Surfaces may be created from the boundaries of meshed volumes, surfaces, and/or from individual quadrilateral mesh elements. The individual option makes it so you can enter multiple surfaces at once, and not have them merged together into a larger surface, but instead retain their own original boundaries. The optional tolerance value allows the user to specify a tolerance to which the resulting surface should be fit. The default value is 0.001. If surface creation fails, increasing the tolerance value can help.

Create Acis [From] {Surface <id_range> | Volume <id_range> | Face < id_range> [Individual]} [Tolerance <value>]

Figure 117: ACIS Surface created from a set of quadrilaterals

##### 4.2.1.3.13Creating a Circular Surface

This command creates a 2D circular surface. The surface will be centered at the origin and on the z-plane if a plane option is not specified.

To create a Cirular Surface using a radius

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Circle from the drop-down menu.

5. Enter in the appropriate Radius value.

6. Select XPlane, YPlane or ZPlane.

7. Click Apply.

create surface circle radius <value> {xplane|yplane|ZPLANE}

This command creates a 2D circular surface by specifying three vertices;the first vertex will be the center of the surface, the second vertex will be used to define the radius of the surface, and the third vertex will assist in defining the plane that the surface will lie in.

To create a 2D circular surface by specifying three vertices

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Circle from the drop-down menu.

4. Select Center Vertex from the Specify Circle Using menu.

5. Enter in the appropriate values for Center, Vertex 1 and Vertex 2. This can also be done using the Pick Widget function.

6. Click Apply.

create surface circle center vertex <v1_id> <v2_id> <v3_id>

This command creates a 2D circular surface by forming a circular curve through three points.

To create a 2D circular surface by forming a circular curve through three points.

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Circle from the drop-down menu.

4. Select Vertex List from the Specify Circle Using menu.

5. Enter in the appropriate values for Vertex 1, Vertex 2 and Vertex 3. This can also be done using the Pick Widget function.

6. Click Apply.

create surface circle vertex <v1_id> <v2_id> <v3_id>

##### 4.2.1.3.14Creating a Parallelogram

This command creates a 2D parallelogram surface, centered at the origin, by specifying three corner vertices.These vertices will form three consecutive corners of the parallelogram surface.

To create a 2D parallelogram surface

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Parallelogram from the drop-down menu.

4. Enter in the appropriate values for Vertex 1, Vertex 2 and Vertex 3. This can also be done using the Pick Widget function.

5. Click Apply.

create surface parallelogram vertex <v1_id> v2_<id> <v3_id>

##### 4.2.1.3.15Creating an Ellipse

This command creates a 2D elliptical surface, centered at the origin, by specifying at least a major radius.On an x-y plane this radius will be the radius along the x-direction.The minor radius will be the radius along the y-direction.By default, the surface will lie in the z-plane.

To create a 2D elliptical surface

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Ellipse from the drop-down menu.

5. Enter in the appropriate values for Major Radius and Minor Radius.

6. Select XPlane, YPlane or ZPlane.

7. Click Apply.

This command creates a 2D elliptical surface using three vertices.The first two vertices define the major and minor radii of the ellipse surface.The third point defines the center of the ellipse.It is important to note that a line from v1_id to v3_id must be orthogonal to a line from v2_id to v3_id, otherwise the command will fail.

To create a 2D elliptical surface using three vertices

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Ellipse from the drop-down menu.

4. Select Vertex List from the Specify Ellipse Using menu.

5. Enter in the appropriate values for Axis 1 Vertex ID, Axis 2 Vertex ID and Origin Vertex ID. This can also be done using the Pick Widget function.

6. Click Apply.

Create Surface Ellipse vertex <v1_id> <v2_id> <v3_id>

##### 4.2.1.3.16Creating a Rectangle

This command creates a rectangular surface centered at the origin.If only a width value is specified, the surface will be a square.On an x-y plane, the width value is the x-direction and the height is the y-direction.By default, the surface will lie in the z-plane.

To create a rectangular surface centered at the origin

1. On the Command Panel, click on Geometry and then Surface.

2. Click on the Create action button.

3. Select Rectangle from the drop-down menu.

4. Enter in the appropriate values for Width and Height (Optional).

5. Select XPlane, YPlane or ZPlane.

6. Click Apply.

Create Surface rectangle width <value> [height <value>] [xplane|yplane|ZPLANE]

##### 4.2.1.4Creating Vertices

$\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 basic commands available for creating new vertices directly in Cubit are detailed in this section.

##### 4.2.1.4.1XYZ location

The simplest form of this command is to specify the XYZ location of the vertex. It can also be created lying on a curve or surface in the geometric model by specifying the curve or surface id; the position of the vertex will be the point on the specified entity which is closest to the position specified on the command. With all of these commands, the user is able to specify the color of the vertex.

To create a Vertex by specifying the XYZ location

1. On the Command Panel, click on Geometry and then Vertex.

2. Click on the Create action button.

3. Select Coordinates from the drop-down menu.

4. Enter in the appropriate values for X Coordinate, Y Coordinate and Z Coordinate.

5. Select Curve or Surface from the Create On menu.

6. Enter in the appropriate values for Curve ID or Surface ID. This can also be done using the Pick Widget function.

7. Optionally, specify the color.

8. Click Apply.

Create Vertex <x><y><z> [On [Curve | Surface] <id>] [Color <color_name>]

##### 4.2.1.4.2On Curve - Fraction

A vertex can be positioned a certain fraction of the arc length along a curve using the second form of the command.

To create a Vertex from the On Curve options

1. On the Command Panel, click on Geometry and then Vertex.

2. Click on the Create action button.

3. Select On Curve from the drop-down menu.

4. Enter in the appropriate value for Curve ID(s). This can also be done using the Pick Widget function.

5. Select Fraction, Distance, Position, Close to Vertex, Segments or Midpoint from the Specify Location menu.

6. Enter in the remaining appropriate information for this menu.

7. Optionally, specify the color.

8. Click Apply.

Fraction: Divides the selected curve into segments based on the fraction value entered and creates a vertex at the end of the first segment. Specify from which direction by seleting Start, End or Vertex. For example, create a vertex at .25 (1/4) the length of a curve.

Distance: Creates a vertex on the selected curve the specified number of units away from the starting point (start, end, vertex, curve and surface). For example, create a vertex a distance of 2 along a curve with length 5.

Position: Creates a vertex at the location entered into the X,Y and Z coordinates.

Close to Vertex: Creates a vertex on the selected curve at the closest point to a specified vertex.

Segments: Divides the selected curve into a specified number of segments and creates a vertex at each endpoint.

Midpoint: Creates a vertex at the Midpoint of the selected curve.

Vertex 3 in the following example was created with this command:

create vertex on curve 1 fraction 0.25 from vertex 1

Figure 118: Create vertex a fraction of the length of a curve

##### 4.2.1.4.3On Curve - General

A more general purpose form of the command is also available for creating vertices on curves:

Create Vertex On Curve <id_list> { MIDPOINT | Start | End | Fraction <val 0.0 to 1.0> [From Vertex <id> | Start|End] | Distance <val> [From {Vertex|Curve|Surface} <id> | Start|End] | {{Close_To|At} Location {options} | Position <xval><yval><zval>|{Node|Vertex} <id>} | Extrema [Direction] {options} [Direction {options}] [Direction {options}] | Segment <num_segs> | Crossing {Curve|Surface} <id_list> [Bounded|Near] } [Color <color_name>]

It allows the vertex to be created at a fractional distance along the curve, at an actual distance from one of the curves ends, at the closest location to an xyz position or another vertex, or at a specified distance from a vertex, curve or surface. You can also preview the location first with the command Draw Location On Curve (where the rest of the command is identical to the Create Vertex form).

##### 4.2.1.4.4From Vertex

Create a vertex from an existing vertex.

Create Vertex from Vertex <id_list> [ On {Curve|Surface} <id> ] [Color <color_name>]

If ’on curve|surface’ option is used, the vertex is positioned on that curve or surface. When the ’on curve|surface’ is not used, the new vertex is positioned on the existing vertex.

##### 4.2.1.4.5At Arc

Another form simply creates vertices at arc or circle centers.

To create a Vertex in the Center of an Arc

1. On the Command Panel, click on Geometry and then Vertex.

2. Click on the Create action button.

3. Select Arc Center from the drop-down menu.

4. Enter in the appropriate value for Curve ID(s). This can also be done using the Pick Widget function.

5. Optionally, specify the color.

6. Click Apply.

Create Vertex Center Curve <id_list> [Color <color_name>]

##### 4.2.1.4.6At Intersection

The last form creates vertices at the intersection of two curves. If the bounded qualifier is used, the vertices are limited to lie on the curves, otherwise the extensions of the curves are also used to calculate the intersections. The near option is only valid for straight lines, where the closest point on each curve is created if they do not actually intersect (resulting in two new vertices).

To create a Vertex at an Intersection

1. On the Command Panel, click on Geometry and then Vertex.

2. Click on the Create action button.

3. Select At Intersection from the drop-down menu.

4. Enter in the appropriate values for Curve ID 1 and Curve ID 2. This can also be done using the Pick Widget function.

5. Enter in any other appropriate settings from this menu.

6. Optionally, specify the color.

7. Click Apply.

Create Vertex AtIntersection Curve <id1> <id2> [Bounded] [Near] [Color <color_name>]

##### 4.2.2Geometric Primitives

$\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 geometric primitives supported within Cubit are pre-defined templates of three-dimensional geometric shapes. Users can create specific instances of these shapes by providing values to the parameters associated with the chosen primitive. Primitives available in Cubit include the brick, cylinder, torus, prism, frustum, pyramid, and sphere. Each primitive, along with the command used to generate it and the parameters associated with it, are described next. For some primitives, several options can be used to generate them, and are described as well.

##### 4.2.2.1General Notes
• Primitives are created and given an ID equal to one plus the current highest body ID in the model.

• Primitive solids are created with their centroid at the origin or the world coordinate system.

• For primitives with a Height or Z parameter, the axis going through these primitives will be aligned with the Z axis.

• For primitives with a Major Radius and a Minor Radius, the Major Radius will be along the X axis, the Minor Radius along the Y axis.

• For primitives with a Top Radius, this radius will be that along the X axis; the Y axis radius will be computed using the Major, Minor and Top Radii given.

##### 4.2.2.2Creating Bricks

$\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}{\SurfaceRefC$