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
2022.4+26187-e1209cf7 Apr 14, 2022

#### 4.2Geometry Creation

$\newcommand{\QuantityFunctionOf} { % \if\relax\detokenize{#2}\relax % {#1} % \else {#1}(#2) % \fi } \newcommand{\QFO}{\QuantityFunctionOf{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOf} { % \if\relax\detokenize{#3}\relax % {#1}_{#2} % \else {#1}_{#2}(#3) % \fi } \newcommand{\SQFO}{\SubscriptedQuantityFunctionOf{#1}{#2}{#3}} \newcommand{\QuantityChildOf} { % \if\relax\detokenize{#1}\relax % {#2} % \else {#2}^{#1} % \fi } \newcommand{\QCO}{\QuantityChildOf{#1}{#2}} \newcommand{\QuantityRelatedTo} { % \if\relax\detokenize{#2}\relax % {#1} % \else {#1}[#2] % \fi } \newcommand{\QRT}{\QuantityRelatedTo{#1}{#2}} \newcommand{\QuantitySubscriptedBy} { % \if\relax\detokenize{#2}\relax % #1 % \else #1_{#2} % \fi } \newcommand{\QSB}{\QuantitySubscriptedBy{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOfChildOf} { % \if\relax\detokenize{#4}\relax % #1_{#2}^{#3} % \else #1_{#2}^{#3}(#4) % \fi } \newcommand{\SQFOCO}{\SubscriptedQuantityFunctionOfChildOf{#1}{#2}{#3}{#4}} \newcommand{\overbar}{\mkern 1.5mu\overline{\mkern-1.5mu#1\mkern-1.5mu}\mkern 1.5mu} \newcommand{\bcdot}{\boldsymbol{\cdot}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Logic %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SuchThat}{\, : \,} \newcommand{\DefEq}{\overset{\operatorname{def}}{=}} \newcommand{\True}{\textsf{True}} \newcommand{\False}{\textsf{False}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Arrays, tuples, and sets %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\ArrayRoster}{\left[#1\right]} \newcommand{\ArrayRosterI}{[#1]_{#2}} \newcommand{\ArrayEmpty}{\ArrayRoster{\hspace{1mm}}} \newcommand{\Tuple}{\mathsf{#1}}%was \mathsf \newcommand{\TupleRoster}{\left(#1\right)} \newcommand{\PointPair}{\TupleRoster{#1, #2}} \newcommand{\Set}{\mathsf{#1}}%was \mathsf \newcommand{\SetRoster}{\left\{ #1 \right\}} \newcommand{\SetRosterIndexed}{\SetRoster{#1}_{#2}^{#3}} \newcommand{\SetRosterPredicate}{\SetRoster{#1 \SuchThat #2}} \newcommand{\SetEmpty}{\varnothing} \newcommand{\SetPower}{\QuantityFunctionOf{\boldsymbol{\Set{P}}}{#1}} \newcommand{\SetNeighborhood}{\QuantityFunctionOf{\boldsymbol{\Set{B}}}{#1}} \newcommand{\Domain}{\Omega} \newcommand{\DomainBdry}{\Gamma} \newcommand{\IntervalClosed}{\left[#1, #2\right]} \newcommand{\IntervalOpen}{\left(#1, #2\right)} \newcommand{\IntervalClosedOpen}{\left[#1, #2\right)} \newcommand{\IntervalOpenClosed}{\left(#1, #2\right]} % special \newcommand{\Reals}{\mathbb{R}} \newcommand{\Naturals}{\mathbb{N}} \newcommand{\Integers}{\mathbb{Z}} \newcommand{\Field}{\mathbb{F}} % properties \newcommand{\Size}{\left\lvert #1 \right\rvert} \newcommand{\Union}{\bigcup\limits_{#1}^{#2} #3} \newcommand{\UnionInline}{\bigcup_{#1}^{#2} #3} \newcommand{\Intersect}{\bigcap\limits_{#1}^{#2} #3} \newcommand{\ElementWiseGreaterOrEqual}{\succeq} \newcommand{\ElemntWiseGreater}{\succ} \newcommand{\ElementWiseLessOrEqual}{\preceq} \newcommand{\ElementWiseLess}{\prec} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Infinite dimensional spaces %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SpaceLinear}{\mathnormal{#1}} \newcommand{\SpaceDual}{\SpaceLinear{#1}^*} % normed spaces \newcommand{\AbsoluteValue}{\Size{#1}} \newcommand{\Norm}{\left\lVert #2 \right\rVert_{#1}} \newcommand{\NormAbstract}{\Norm{}{#1}} \newcommand{\NormSemi}{\Size{#1}} \newcommand{\SpaceLinearNormed}{\left(\SpaceLinear{#1}, \NormAbstract{\bcdot} \right)} \newcommand{\SpaceBanach}{\mathfrak{#1}} % normed and complete % inner product spaces \newcommand{\SymmetricBilinear}{\left(#1, #2\right)} \newcommand{\InnerProduct}{\left\langle#1, #2\right\rangle} \newcommand{\SpaceInnerProduct}{\left(\SpaceLinear{#1}, \InnerProduct{\bcdot}{\bcdot}\right)} \newcommand{\SpaceHilbert}{\mathcal{#1}} \newcommand{\SpaceLTwo}{\SpaceHilbert{L}_2} \newcommand{\SpaceLTwoDef}{\SpaceLTwo\left(#1; #2\right)} \newcommand{\SpaceLInfty}{\SpaceHilbert{L}_\infty} \newcommand{\SpaceLTwoWeighted}{\SpaceLTwo^w} \newcommand{\SpaceSobolevK}{\SpaceHilbert{H}^{#1}} \newcommand{\SpaceSobolevKDef}{\SpaceSobolevK{1}\left(#2 ; #3\right)} % differentiable spaces \newcommand{\Cont}{\operatorname{cont}} \newcommand{\SpaceCont}{\SpaceHilbert{C}} \newcommand{\SpaceContDef}{\SpaceCont\left(#1 ; #2\right)} \newcommand{\SpaceContK}{\SpaceCont^{#1}} \newcommand{\SpaceContKDef}{\SpaceContK{#1}\left(#2; #3\right)} \newcommand{\SpaceContZero}{\SpaceContK{0}} \newcommand{\SpaceContInf}{\SpaceContK{\infty}} \newcommand{\SpaceContInfDef}{\SpaceContKDef{\infty}{#1}{#2}} \newcommand{\SpaceContKBounded}{\SpaceContK{#1}_{#2}} \newcommand{\SpaceContKBoundedDef}{\SpaceCont_{b}^{#1}\left(#2 ; #3\right)} % linear operator spaces \newcommand{\SpaceLinearOperator}{\mathscr{#1}} \newcommand{\SpaceLinearOperatorDef}{\SpaceLinearOperator{L}\left(#1 ; #2\right)} \newcommand{\SpaceLinearOperatorBoundedDef}{\SpaceLinearOperator{B}\left(#1 ; #2\right)} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Finite dimensional spaces %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SpaceLinearN}{\SpaceLinear{#1}^h} \newcommand{\SpaceHilbertN}{\SpaceHilbert{#1}^h} \newcommand{\SpaceVecRealN}{\Reals^{#1}} \newcommand{\SpacePoly}{\SpaceHilbert{P}^{#1}} \newcommand{\SpaceMatrixRealMN}{\Reals^{#1\times#2}} \newcommand{\SpacePolyDef}{\SpacePoly{#1}\left(#2 ; #3\right)} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Functions, vectors, and linear operators %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\Func}[f]{#1} \newcommand{\FuncAlt}[g]{#1} \newcommand{\FuncDef}{#1 \SuchThat #2 \rightarrow #3} \newcommand{\FuncApprox}{#1^h} \newcommand{\LinearOperator}{\SpaceLinearOperator{#1}} \newcommand{\LinearOperatorDef}{\FuncDef{#1}{#2}{#3}} \newcommand{\Functional}{\LinearOperator{#1}} \newcommand{\Projection}{\Pi} \newcommand{\VectorProjection}{\Projection_{#1} {\left(#2\right)}} \newcommand{\Mat}{\boldsymbol{#1}} \newcommand{\MatIJ}{\left[#1\right]_{#2#3}} \newcommand{\MatIdRow}{m} \newcommand{\MatIdCol}{n} \newcommand{\Identity}{\Mat{I}} \newcommand{\KroneckerDelta}{\Mat{\delta}} \newcommand{\LeviCivita}{\Mat{\epsilon}} \newcommand{\Jacobian}{\Mat{J}} \renewcommand{\Vec}{\boldsymbol{#1}} \newcommand{\VecChildOf}{\QCO{#2}{#1}} \newcommand{\VecI}{\{#1\}_{#2}} \newcommand{\ZeroVec}{\Vec{0}} \newcommand{\OneVec}{\Vec{1}} \newcommand{\ZeroMat}{\Mat{0}} \newcommand{\UnitNormalComp}{n} \newcommand{\UnitNormal}{\Vec{\UnitNormalComp}} % rename to UnitNormalTen \newcommand{\MacBracket}{\langle#1\rangle} \newcommand{\HeavisideFunc}{\mathit{H}\left(#1\right)} \newcommand{\DiracDelta}{\delta_{D}\left(#1 - #2\right)} \newcommand{\IdentityTenSym}{\mathbb{I}} \newcommand{\BraKet}{\langle#1\rangle} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Lagrange Optimization %%%%%%%%%%%%%%%%%%%%%%%%%%%% %\newcommand{\Min}{\min\limits_{#1}} %\newcommand{\Max}{\max\limits_{#1}} \newcommand{\FuncObjective}{\QFO{\Func}{#1}} \newcommand{\FuncEqualityConstraints}{\QFO{\Func[\Vec{g}]}{#1}} \newcommand{\VarDesign}{\Vec{\phi}} \newcommand{\VarState}{\QFO{\Vec{u}}{#1}} \newcommand{\FuncLagrangian}{\QFO{\mathscr{L}}{#1}} \newcommand{\FuncAugmentedLagrangian}{\QFO{\mathscr{L}_A}{#1}} \newcommand{\VecLambdaLM}{\QFO{\Vec{\lambda}}{#1}} \newcommand{\LambdaLM}{\QFO{\lambda}{#1}} \newcommand{\SolutionLocalOpt}{\left(#1\right)^*} \newcommand{\ProximalPoint}{\overbar{\VecLambdaLM{}}} \newcommand{\PenaltyParameter}{\rho} \newcommand{\Slacify}{\QSB{#1}{s}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Linear algebra %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\Prod}{\prod\limits_{#1}^{#2}} \newcommand{\ProdInline}{\prod_{#1}^{#2}} \newcommand{\TensorProduct}{\otimes} \newcommand{\Sum} { % COMMENTED OUT FOLLOWING PREVIOUS INSTANCES % \if\relax\detokenize{#2}\relax % \sum\limits_{#1} % \else \sum\limits_{#1}^{#2} % COMMENTED OUT FOLLOWING PREVIOUS INSTANCES % \fi } \newcommand{\SumInline}{\sum_{#1}^{#2}} \newcommand{\Rank}{\operatorname{rank}(#1)} \newcommand{\Nullity}{\operatorname{null}(#1)} \newcommand{\Image}{\operatorname{image}} \newcommand{\Range}{\operatorname{range}} \newcommand{\Inverse}{\left(#1\right)^{-1}} \newcommand{\inverse}{\overline{#1}} % clean up \newcommand{\Transpose}{\left(#1\right)^{T}} \newcommand{\InvTrans}{\left(#1\right)^{-T}} \newcommand{\Complement}{\overbar{#1}} \newcommand{\Adjoint}{\left(#1\right)^*} \newcommand{\OrthogonalComplement}{\left(#1\right)^\perp} \newcommand{\Det}{\QFO{\operatorname{det}}{#1}} \newcommand{\DCT}{\operatorname{DCT}} \newcommand{\IDCT}{\operatorname{IDCT}} \newcommand{\RealPart}{\QFO{\mathfrak{R}}{#1}} \newcommand{\Trace}{\QFO{\operatorname{tr}}{#1}} \newcommand{\Dev}{\QFO{\operatorname{dev}}{#1}} \newcommand{\DevDef}{\Dev{#1} \DefEq #1 - \frac{1}{3}\Trace{#1}\Identity} \newcommand{\dual}{{\bar{#1}}} \newcommand{\symind}{{\uppercase{#1}}} \newcommand{\symmetrizer}{{S}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Bases %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\BasisFuncCoeff}{\QSB{#1}{#2}} \newcommand{\BasisVec}{\QSB{#1}{#2}} \newcommand{\BasisVecChildOf}{\SQFOCO{#1}{#2}{#3}{}} \newcommand{\OrthogonalBasisVec}{\SQFOCO{#1}{#2}{\perp}{}} \newcommand{\OrthonormalBasisVec}{\overbar{\OrthogonalBasisVec{#1}{#2}}} \newcommand{\PolynomialDegree}{p} \newcommand{\BasisFuncId}{i} \newcommand{\BasisFuncIdAlt}{j} \newcommand{\BasisFuncIdAltAlt}{k} \newcommand{\BasisFunc}{\SQFO{#1}{#2}{#3}} \newcommand{\PowerBasisFunc}{\QCO{#2}{#1}} \newcommand{\LegendreBasisFunc}{\SQFO{\Func[P]}{#1}{#2}} \newcommand{\PreNormalizedLegendreBasisFunc}{\hat{\LegendreBasisFunc{#1}{#2}}} \newcommand{\ChebyshevBasisFunc}{\SQFO{\Func[T]}{#1}{#2}} \newcommand{\ChebyshevZeros}{\QSB{z}{#1}} \newcommand{\ChebyshevExtremizers}{\QSB{t}{#1}} \newcommand{\BernToChebMat}{\Mat{T}} \newcommand{\Chebfun}{\biggl(\, \sum_{#2=0}^{#1}{#3}_{#2}\ChebyshevBasisFunc{#2}{}\biggr)} \newcommand{\ChebfunVector}{\left[#1\right]_c} \newcommand{\LagrangeBasisFunc}{\SQFOCO{\Func[L]}{#1}{#2}{#3}} % properties \newcommand{\Span}{\operatorname{span}} \newcommand{\Dim}{\operatorname{dim}} \newcommand{\Support}{\operatorname{supp}(#1)} \newcommand{\SupportPos}{\operatorname{supp}_{+}(#1)} % operations \newcommand{\SumBasis}{\Sum{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\SumInlineBasis}{\SumInline{#1}{#2}{#3}_{#1}{#4}_{#1}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Calculus %%%%%%%%%%%%%%%%%%%%%%%%%%%% % limits \newcommand{\EvaluateTwoLimits}{#1\biggr\rvert_{#2}^{#3}} \newcommand{\EvaluateOneLimit}{\left.#1\right\rvert_{#2}} \newcommand{\Limit}{\lim\limits_{#1\rightarrow #2}} \newcommand{\LimitInline}{\lim_{#1\rightarrow #2}} \newcommand{\DNE}{\operatorname{DNE}} % differentiation \newcommand{\LagrangeDeriv}{{#1}'} \newcommand{\KthLagrangeDeriv}{{#1}^{(#2)}} \newcommand{\LeibnizSubDeriv}{{#1}_{,#2}} \newcommand{\LeibnizFracDeriv}{\frac{d}{d#2}{#1}} \newcommand{\KthLeibnizFracDeriv}{\frac{d^{#2}}{d#3^{#2}}\Func[#1](#3)} \newcommand{\KthLeibnizFracSpecificFunction}{\frac{d^{#2}}{d#3^{#2}}\Func[#1]} \newcommand{\Differential}[x]{\, \operatorname{d}{#1}} \newcommand{\FrechetDeriv}{D{#1}\left(#2\right)} \newcommand{\GateauxDirectionBold}{\Vec{\delta}#1} \newcommand{\GateauxDirection}{\delta #1} \newcommand{\GateauxDerivBold}{D#1(#2; \GateauxDirectionBold{#2})} \newcommand{\GateauxDeriv}{D#1(#2; \GateauxDirection{#2})} \newcommand{\GateauxDerivWithDirection}{D#1\left(#2 \ ;\ #3\right)} \newcommand{\GateauxDerivPartial}{\frac{\partial #1}{\partial #2}} \newcommand{\KthGateauxDerivPartial}{\frac{\partial^{#3} #1}{\partial #2^{#3}}} \newcommand{\Grad}{\boldsymbol{\nabla}^{#1} #2} \newcommand{\Jac}{\Mat{J}} \newcommand{\Div}{\boldsymbol{\nabla}^{#1} \bcdot #2} \newcommand{\Laplace}{\boldsymbol{\Delta}^{#1} #2} \newcommand{\TaylorSeries}{\mathcal{T}\left[\Func[#1]\right](#2)} \newcommand{\TruncatedTaylorSeries}{\mathcal{T}_{#1}\left[\Func[#2]\right]\left(#3\right)} % integration \newcommand{\Int}{\int\limits_{#1}^{#2}} \newcommand{\IntDomain}{\int\limits_{#1}} \newcommand{\IntInline}{\int_{#1}^{#2}} \newcommand{\IntDomainInline}{\int_{#1}} \newcommand{\DetJacobian}{\Det{\Jac}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Numerical Analysis %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\BigO}{\mathcal{O}\left(#1\right)} \newcommand{\Flops}{\operatorname{flops}} \newcommand{\Interpolant}{\mathcal{#1}^{h}} \newcommand{\ErrorApproxComp}{e} \newcommand{\ErrorApproxTen}{\Vec{\ErrorApproxComp}} \newcommand{\ErrorNewton}{\epsilon} % clean up \newcommand{\ApproximateIntegrationError}{\tilde{e}_{#1}} \newcommand{\AnalyticApproximateIntegrationErrorDifference}{\overbar{e}_{#1}}$$\newcommand{\GlosOne}{a} \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{\NumUsplineBasisFuncsOnMeshBezier}{\Size{\UsplineBasisFuncSetOnMeshBezier}} \newcommand{\NumUsplineBasisFuncsOnMeshUspline}{\Size{\UsplineBasisFuncSetOnMeshUspline}} \newcommand{\NumUsplineBasisFuncsOnElem}{\Size{\UsplineBasisFuncSet{\Elem}}} \newcommand{\NumBernsteinBasisFuncsOnMeshBezier}{\Size{\IndexSetOnMeshBezier}} \newcommand{\NumBernsteinBasisFuncsOnElem}{\Size{\IndexSet{\Elem}}} \newcommand{\NumElemsInMeshBezier}{\Size{\CellSet{\ParamDim}}} \newcommand{\ParentDomain}{\SymbolParentModifier{\SymbolDomain}} \newcommand{\ParentDomainChart}{\SymbolParentModifier{\Vec{\phi}}} \newcommand{\ParentDomainChartDetailed}{\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}{\ParentCoord_{#1}} \newcommand{\ParentGrevillePoint}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParentGrevillePointSet}{\QuantityFunctionOf{\Set{\SymbolParentModifier{G}}}{#1}} \newcommand{\BernsteinBasisFuncCoeff}{\SymbolArbitraryCoeffBernstein} \newcommand{\BernsteinBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffBernstein}}}{\MeshBezier}} \newcommand{\BernsteinBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffBernstein}}{\MeshBezier}} \newcommand{\BernFuncLowerDimCell}{\BernsteinBasisFunc^{#1}_{#2}} \newcommand{\BernFuncInterf}{\BernFuncLowerDimCell{\Interface}{#1}} \newcommand{\UsplineBasisFuncCoeff}{\SymbolArbitraryCoeffUspline} \newcommand{\UsplineBasisFuncCoeffAlt}{\SymbolArbitraryCoeffUsplineAlt} \newcommand{\UsplineBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffUspline}}}{\MeshUspline}} \newcommand{\UsplineBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffUspline}}{\MeshUspline}} \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{\ii}{\IndexOnCell{}{\BernsteinBasisFuncIndexTuple}} \newcommand{\jj}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAlt}} \newcommand{\kk}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAltAlt}} \newcommand{\BernsteinBasisFuncIndexTupleB}{\Set{\BernsteinBasisFuncIdB}} \newcommand{\BernsteinDegree}{\PolynomialDegree} \newcommand{\BernsteinDegreeAlt}{q} \newcommand{\BernsteinDegreeTuple}{\Tuple{\BernsteinDegree}} \newcommand{\BernsteinDegreeElevMatComp}{D} \newcommand{\BernsteinDegreeElevMat}{\Mat{\BernsteinDegreeElevMatComp}} \newcommand{\CompletePolynomial}{\AbsoluteValue{#1}} \newcommand{\BernsteinBasisFunc}{\SymbolBernstein} \newcommand{\BernsteinBasisFuncVec}{\QuantityFunctionOf{\QuantityChildOf{#1}{\Vec{\SymbolBernstein}}}{#2}} \newcommand{\BernsteinBasisFuncDetailed}{\BernsteinBasisFunc_{#1}^{#2}} \newcommand{\BernsteinSpace}{\SpaceHilbert{\SymbolBernstein}} \newcommand{\BernsteinRestriction}{#1\vert_{#2}} \newcommand{\Bezier}{B\'ezier } \newcommand{\MeshTopo}{\boldsymbol{\textsf{M}}}%changed from mathsf \newcommand{\MeshBezier}{\boldsymbol{\textsf{B}}}%changed from mathsf \newcommand{\CellArbitrary}{\Set{#1}} \newcommand{\Cell}{\CellArbitrary{c}} % k-cell \newcommand{\CellAlpha}{\CellArbitrary{a}} \newcommand{\CellBeta}{\CellArbitrary{b}} \newcommand{\CellGamma}{\CellArbitrary{c}} \newcommand{\CellToTheLeft}{\CellAlpha} \newcommand{\CellToTheRight}{\CellBeta} \newcommand{\CellBoundary}{\partial #1} \newcommand{\CellSet}{\Set{C}^{#1}} \newcommand{\CellSetAdjacent}{\QuantityFunctionOf{\Set{ADJ}^{#1}}{#2}} \newcommand{\CellSetCardinal}{\QuantityFunctionOf{\Set{CRD}}{#1}} \newcommand{\CellSetSupport}{\Support{#1}} \newcommand{\Elem}{\Set{E}} % d-cell \newcommand{\Interface}{\Set{I}} % (d-1)-cell \newcommand{\Smoothness}{\vartheta} \newcommand{\SmoothnessVar}{\rho} \newcommand{\SmoothnessSet}{\Set{\Smoothness}} \newcommand{\InterfaceSmoothness}{\QuantityChildOf{#1}{\Smoothness}} \newcommand{\MaxPerpCont}{\QuantityFunctionOf{\Smoothness^{\perp}_{\max}}{#1}} \newcommand{\Face}{\Set{f}} % 2-cell \newcommand{\Edge}{\Set{e}} % 1-cell \newcommand{\Vertex}{\Set{v}} % 0-cell \newcommand{\CodimTwoCell}{\Set{w}} % (d-2)-cell \newcommand{\KCell}{\Cell^\ArbDim} \newcommand{\KPlusOneCell}{\Cell^{\ArbDim+1}} \newcommand{\KCellAlpha}{\CellAlpha^\ArbDim} \newcommand{\KPlusOneCellBeta}{\CellBeta^{\ArbDim+1}} \newcommand{\KPlusOneCellAdjacentIndexedSubmeshDomain}{\QuantityChildOf{\CellAlpha\CellBeta}{\SubmeshDomain}} \newcommand{\MaxParallelDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\max}}{#1}} \newcommand{\MinParallelDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\min}}{#1}} \newcommand{\MaxPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\max}}{#1}} \newcommand{\MinPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\min}}{#1}} \newcommand{\MinParallelPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\min}}{#1,#2}} \newcommand{\MaxParallelPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\max}}{#1,#2}} \newcommand{\DegreeParallel}{\BernsteinDegree^{\parallel}} \newcommand{\DegreeParallelToEdge}{\DegreeParallel_{#1}(#2)} \newcommand{\DegreePerp}{\BernsteinDegree^{\perp}} \newcommand{\DegreePerpToInterface}{\DegreePerp_{#1}(#2)} \newcommand{\DegreeTupleParallelToKCell}{\Tuple{\BernsteinDegree}^{\parallel}_{#1}(#2)} \newcommand{\ChangeInDegree}{\Delta(\BernsteinDegree)_{#1}^{#2}} \newcommand{\IndexSet}{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\CompositeBVUnionIndexSet}{\QuantityFunctionOf{\Set{UID}}{#1}} \newcommand{\IndexSetPosCoeffs}{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\IndexSetSet}{\QuantityFunctionOf{\boldsymbol{\IndexSet{}}}{#1}} \newcommand{\IndexSetOnMeshBezier}{\IndexSet{\MeshBezier}} \newcommand{\IndexOnCell}{\QuantityChildOf{#1}{#2}} \newcommand{\IndexOnCellIJ}{\QuantityChildOf{#1}{\TupleRoster{#2,#3}}} \newcommand{\CellFromQuantity}{\QuantityFunctionOf{\operatorname{cell}}{#1}} \newcommand{\ExtractionOp}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{C}}{#2}}} \newcommand{\ExtractionOpSimple}{\QuantityFunctionOf{\Mat{C}}{#1}} \newcommand{\ReconstructOp}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{R}}{#2}}} \newcommand{\ReconstructOpSimple}{\QuantityFunctionOf{\Mat{R}}{#1}} \newcommand{\Gramian}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{G}}{#2}}} \newcommand{\GramianSimple}{\QuantityFunctionOf{\Mat{G}}{#1}} \newcommand{\BernsteinSpaceOnMeshBezier}{\QCO{\MeshBezier}{\BernsteinSpace}} \newcommand{\BernsteinTraceMappingMat}{\Mat{M}} \newcommand{\ParamDomain}{\SymbolParamModifier{\SymbolDomain}} \newcommand{\ParamDomainOnCell}{\QuantityChildOf{\Cell}{\ParamDomain}} \newcommand{\ParamDomainBdry}{\SymbolParamModifier{\SymbolDomainBdry}} \newcommand{\ParamDomainChart}{\QuantityFunctionOf{\Vec{\phi}^{#1}}{#2}} \newcommand{\ParamDim}{\SymbolDim} \newcommand{\ParamCoordSimple}{s} \newcommand{\ParamCoord}{\QCO{#1}{s}} \newcommand{\ParamCoordVecSimple}{\Vec{s}} \newcommand{\ParamCoordVec}{\QCO{#1}{\Vec{\ParamCoord{}}}} \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}{\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{\NormalParamCoordSet}{\QuantityFunctionOf{\ParamCoordVecSimple^{\perp}_{#1}}{#2}} \newcommand{\ParallelParamCoordSet}{\QuantityFunctionOf{\ParamCoordVecSimple^{\parallel}_{#1}}{#2}} \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}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParamModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParamGrevillePointSet}{\QuantityFunctionOf{\Set{\SymbolParamModifier{G}}}{#1}} \newcommand{\ParamDomainOnMeshBezier}{\QuantityChildOf{\MeshBezier}{\ParamDomain}} \newcommand{\ParamDomainOnMeshUspline}{\QuantityChildOf{\MeshUspline}{\ParamDomain}} \newcommand{\Submesh}{\boldsymbol{\mathsf{K}}}%changed from mathsf \newcommand{\SubmeshDomain}{\SymbolSubmeshModifier{\SymbolDomain}} \newcommand{\SubmeshDomainChart}{\QuantityFunctionOf{\Vec{\varphi}^{#1}}{#2}} \newcommand{\SubmeshDomainParameter}{\mathsf{\alpha}}%changed from mathsf \newcommand{\SubmeshDomainParameterVec}{\Vec{\SubmeshDomainParameter}} \newcommand{\SubmeshGrevillePoint}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\SubmeshGrevillePointSimple}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}{#1}} \newcommand{\SubmeshGrevilleMaxPoint}{\QuantityChildOf{#1}{\Set{\SymbolGrevillePoint}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSimple}{\Set{\SymbolGrevillePoint}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSet}{\QuantityChildOf{#1}{\Set{G}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSetSimple}{\Set{G}_{\max}} \newcommand{\SubmeshGrevilleMinPointSet}{\QuantityChildOf{#1}{\Set{G}}_{\min}} \newcommand{\SubmeshGrevilleMinPointSetSimple}{\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}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{G}}}{#1}} \newcommand{\SubmeshGrevillePointSetLeft}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GA}}}{#1}} \newcommand{\SubmeshGrevillePointSetRight}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GB}}}{#1}} \newcommand{\SubmeshGrevillePointSetElement}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GE}}_{#1}}{#2}} \newcommand{\SubmeshGrevillePointSetIntersect}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GI}}}{#1}} \newcommand{\SubmeshGrevillePointSetUnion}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GU}}}{#1}} \newcommand{\SubmeshGrevillePointSetSet}{\QuantityFunctionOf{\boldsymbol{\SubmeshGrevillePointSet{}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetLeft}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GA}}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetRight}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GB}}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetElement}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1}}{#2}} \newcommand{\SubmeshGrevilleDifferenceVectorsSetLeft}{\Delta\SubmeshGrevilleMaxPointSetLeft} \newcommand{\SubmeshGrevilleDifferenceVectorsSetRight}{\Delta\SubmeshGrevilleMaxPointSetRight} \newcommand{\SubmeshGrevilleDifferenceVector}{\Delta\SubmeshGrevilleMaxPoint{\GlosOne}} \newcommand{\SubmeshGrevilleDifferenceVectorLeft}{\Delta\SubmeshGrevilleMaxPointLeft} \newcommand{\SubmeshGrevilleDifferenceVectorRight}{\Delta\SubmeshGrevilleMaxPointRight} \newcommand{\SubmeshGrevilleDifferenceVectorsSet}{\Delta \SubmeshGrevillePointSet{\GlosOne}} \newcommand{\SubmeshGrevilleDistanceToCell}{\QuantityFunctionOf{\SymbolDistance}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCell}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMin}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\min}}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMax}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\max}}{#1, #2}} \newcommand{\SubmeshPerpProjection}{\QuantityFunctionOf{\Projection^{\perp}_{#1}}{#2}} \newcommand{\SubmeshParallelProjection}{\QuantityFunctionOf{\Projection^{\parallel}_{#1}}{#2}} \newcommand{\SubmeshStarProjection}{\QuantityFunctionOf{\Projection^{*}_{#1}}{#2}} \newcommand{\SubmeshPerpEquivalence}{\QuantityFunctionOf{\varpi^{\perp}_{#1}}{#2}} \newcommand{\SubmeshParallelEquivalence}{\QuantityFunctionOf{\varpi^{\parallel}_{#1}}{#2}} \newcommand{\SubmeshStarEquivalence}{\QuantityFunctionOf{\varpi^{*}_{#1}}{#2}} \newcommand{\AlignedSet}{{\boldsymbol{\textsf{Align}}}}%changed from mathsf \newcommand{\AlignedSetSet}{{\boldsymbol{\textsf{ALIGN}}}}%changed from mathsf \newcommand{\AlignmentSetOfSetsLeft}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetOfSetsRight}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetForInterfaceGrevillePoint}{\AlignedSet_{\SubmeshGrevillePoint{\Interface}{}}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRow}{\QuantityFunctionOf{\Set{NZ}_{#1}}{#2}} \newcommand{\AlignmentSetOfSetsOnLowerDCell}{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1,#2}^{\parallel}} \newcommand{\AlignmentSetOfSetsLeftThreeD}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \ii}^{\parallel}} \newcommand{\AlignmentSetOfSetsRightThreeD}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \ii}^{\parallel}} \newcommand{\MeshUspline}{\boldsymbol{\textsf{\SymbolUspline}}}%changed from mathsf \newcommand{\SetNeighborhoodOfInteraction}{\QuantityFunctionOf{\textsf{NI}}{#1}}%changed from mathsf \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}}%changed from mathsf \newcommand{\RayTailEdge}{\Edge} \newcommand{\RayTailVertexMaxContinuity}{\Smoothness_{#1}^{\max}} \newcommand{\RayTailEdgeMinDegree}{\BernsteinDegree_{#1}^{\min}} \newcommand{\RaySkeleton}{\operatorname{skel}(#1)} \newcommand{\RaySmoothness}{\Smoothness_{#1}^{#2}} \newcommand{\RayDegree}{\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}{\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}}%changed from mathsf \newcommand{\RibbonTailInterf}{\Interface} \newcommand{\RibbonTailCodimTwoCellMaxContinuity}{\Smoothness_{#1}^{\max}} \newcommand{\RibbonTailInterfMinDegree}{\BernsteinDegree_{#1}^{\min}} \newcommand{\RibbonSkeleton}{\operatorname{skel}(#1)} \newcommand{\RibbonSmoothness}{\Smoothness_{#1}^{#2}} \newcommand{\RibbonDegree}{\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}{\RibbonAlgBernIndexVariable_{#1}} \newcommand{\UsplineSpace}{\SpaceHilbert{\SymbolUspline}} \newcommand{\UsplineBasisFunc}{\SymbolBasisUspline} \newcommand{\UsplineBasisFuncDetailed}{\UsplineBasisFunc^{#1}_{#2}} \newcommand{\UsplineBasisFuncSet}{\QuantityFunctionOf{\Set{UF}}{#1}} \newcommand{\UsplineBasisFuncVec}{\QuantityFunctionOf{\QuantityChildOf{#1}{\Vec{\SymbolBasisUspline}}}{#2}} \newcommand{\UsplineBasisFuncSetOnMeshBezier}{\QuantityFunctionOf{\Set{UF}}{\MeshBezier}} \newcommand{\UsplineBasisFuncSetOnMeshUspline}{\QuantityFunctionOf{\Set{UF}}{\MeshUspline}} \newcommand{\UsplineBasisFuncSetSupport}{\Support{\UsplineBasisFuncSet{#1}}} \newcommand{\UsplineBasisFuncId}{A} \newcommand{\UsplineBasisFuncIdAlt}{B} \newcommand{\UsplineBasisFuncIdLocal}{a} \newcommand{\UsplineBasisFuncIdOne}{\UsplineBasisFuncId_0} \newcommand{\UsplineBasisFuncIdTwo}{\UsplineBasisFuncId_1} \newcommand{\UsplineBasisFuncNormalized}{\bar{\SymbolBasisUspline}} \newcommand{\UsplineBasisFuncParam}{\UsplineBasisFuncDetailed{\MeshBezier}{#1}} \newcommand{\UsplineDegree}{q} \newcommand{\UsplineNullVectorCoeff}{\SymbolUsplineLower}%{\MakeLowercase} \newcommand{\UsplineNullVector}{\Vec{\UsplineNullVectorCoeff}} \newcommand{\UsplineNullVectorIds}{\Set{id}} \newcommand{\UsplineNullVectorSet}{\boldsymbol{\textsf{UV}}}%changed from mathsf \newcommand{\UsplineNullVectorSetOfIndexSets}{\boldsymbol{\textsf{UI}}}%changed from mathsf \newcommand{\UsplineNullVectorSetOnMeshBezier}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshBezier}} \newcommand{\UsplineNullVectorSetOnMeshUspline}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshUspline}} \newcommand{\UsplineSpaceOnMeshUspline}{\QCO{\MeshUspline}{\UsplineSpace}} \newcommand{\UsplineCellToGlobalBasisFuncIndexMap}{\operatorname{ucg}(#1)} \newcommand{\UsplineCellToGlobalBasisFuncIndexMapDef}{\FuncDef{\operatorname{ucg}}{\MeshBezier\times\Integers}{\Integers}} \newcommand{\ContiguousIndexMap}{\QuantityFunctionOf{i_{#1}}} \newcommand{\Constraint}{R} %\newcommand{\ConstraintCoeff}{\MakeLowercase{\Constraint}} \newcommand{\ConstraintCoeff}{r} \newcommand{\ConstraintCoeffsSet}{\boldsymbol{\Set{\ConstraintCoeff}}} \newcommand{\ConstraintCoeffsVec}{\Vec{\ConstraintCoeff}} \newcommand{\ConstraintSet}{\QuantityFunctionOf{\Set{\Constraint}}{#1}} \newcommand{\ConstraintSetOnMeshBezier}{\ConstraintSet{\MeshBezier}} \newcommand{\ConstraintMat}{\QuantityFunctionOf{\Mat{\Constraint}}{#1}} \newcommand{\ConstraintMatOnMeshBezier}{\ConstraintMat{\MeshBezier}} \newcommand{\SparsestPossibleBasisOnCell}{\QFO{\Set{N}}{#1}} \newcommand{\NullVectorCoeff}{#1} \newcommand{\NullVector}{\QuantityFunctionOf{\Vec{v}}{#1}} \newcommand{\NullVectorArbitrary}{\QuantityFunctionOf{\Vec{#1}}{#2}} \newcommand{\KCellNullVectorForCellAlpha}{\NullVectorArbitrary{n}{}_{\KCellAlpha}} \newcommand{\KPlusOneCellNullVectorForCellBeta}{\NullVectorArbitrary{n}{}_{\KPlusOneCellBeta}} \newcommand{\NullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}}%changed from mathsf \newcommand{\CompositeNullVectorSet}{\NullVectorSet{#1}^{\prime\prime}} \newcommand{\SimpleNullVectorSet}{\NullVectorSet{#1}^{\prime}} \newcommand{\InterfaceNullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}}{#1}}%changed from mathsf \newcommand{\InterfaceNullVectorAlignedSubset}{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorSetOfIndexSets}{\QuantityFunctionOf{\boldsymbol{\textsf{BI}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetGrevilleSets}{\QuantityFunctionOf{\boldsymbol{\textsf{BG}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetOnMeshBezier}{\NullVectorSet{\MeshBezier}} \newcommand{\NullVectorSetSubordinateToNullVector}{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetSubordinateToNullVectorOnCell}{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorSetOnBdryOfNullVector}{\QuantityFunctionOf{\boldsymbol{\textsf{BD}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBV}}}{#1}}%changed from mathsf \newcommand{\NullVectorIndexEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBI}}}{#1}}%changed from mathsf \newcommand{\NullVectorGrevilleEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBG}}}{#1}}%changed from mathsf \newcommand{\NullVectorExpansionSet}{\QuantityFunctionOf{\boldsymbol{\textsf{XBV}}}{#1,#2}}%changed from mathsf \newcommand{\NullSpaceOperatorForm}{\QuantityFunctionOf{\SpaceHilbert{N}}{#1}} \newcommand{\NullSpaceOperatorFormOnMeshBezier}{\NullSpaceOperatorForm{\MeshBezier}} \newcommand{\NullSpaceVectorForm}{\QuantityFunctionOf{\Set{N}}{#1}} \newcommand{\NullVectorGrevillePointSet}{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}}%changed from mathsf \newcommand{\DegSmoothDiff}{\delta_{#1}^{#2}} \newcommand{\FaceEdgeDiff}{\Set{t}} \newcommand{\FaceEdgeDiffSet}{\Set{T}_{#1}} \newcommand{\PerpTuple}{\QuantityFunctionOf{\FaceEdgeDiff^\perp}{#1}} \newcommand{\ParallelTuple}{\QuantityFunctionOf{\FaceEdgeDiff^\parallel}{#1}} \newcommand{\ElemInterfDiff}{\Set{t}} \newcommand{\ElemInterfDiffSet}{\Set{T}_{#1}} \newcommand{\SpokeSymbol}{\rho} \newcommand{\ElemInterfPairSymbol}{t} \newcommand{\ElemKPlusOneCellPair}{\Set{\SpokeSymbol}} \newcommand{\Spoke}{\ElemKPlusOneCellPair} \newcommand{\ElemInterfPair}{\Set{\ElemInterfPairSymbol}} \newcommand{\EIDPerpTuple}{\QuantityFunctionOf{\ElemInterfDiff^\perp}{#1}} \newcommand{\EIDParallelTuple}{\QuantityFunctionOf{\ElemInterfDiff^\parallel}{#1}} \newcommand{\InclDist}{\QuantityFunctionOf{\textsf{inc}}{#1}}%changed from mathsf \newcommand{\InclDistSet}{\Set{INC}^{#1,#2}} \newcommand{\EdgeInclDist}{\InclDistSet{#2}{#3}_{#1}} \newcommand{\PerpEdgesSet}{\Set{E}^\perp} \newcommand{\PerpInterfacesSet}{\Set{IRF}^\perp} \newcommand{\PerpOfKPlusOneCellInterfSet}{\QuantityFunctionOf{\boldsymbol{\textsf{PI}}}{#1}}%changed from mathsf \newcommand{\PerpKPlusOneCellSet}{\QuantityFunctionOf{\boldsymbol{\textsf{PC}}}{#1}}%changed from mathsf \newcommand{\ElemKPlusOneCellPairPerp}{\QuantityFunctionOf{\Set{\SpokeSymbol}^\perp}{#1}} \newcommand{\ElemInterfPairPerp}{\QuantityFunctionOf{\Set{t}^\perp}{#1}} \newcommand{\ElemInterfPairParallel}{\QuantityFunctionOf{\Set{\ElemInterfPairSymbol}^\parallel}{#1}} \newcommand{\ElemKPlusOneCellPairParallelSet}{\QuantityFunctionOf{\Set{\SpokeSymbol}^\parallel}{#1}} \newcommand{\KPlusOneCellNullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}}{#1}}%changed from mathsf \newcommand{\KPlusOneCellNullVectorAlignedSubset}{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\Graph}{\QuantityFunctionOf{G}{#1}} \newcommand{\GraphCore}{K} \newcommand{\GraphDirectedEdge}{\Edge_{i,j}} \newcommand{\GraphDirectedEdgeIJ}{\Edge_{#1,#2}} \newcommand{\GraphCoreToVertex}{\QuantityFunctionOf{\Vertex}{#1}} \newcommand{\GraphCoreChildren}{\QuantityFunctionOf{\operatorname{children}}{#1}} \newcommand{\GraphVertexToCore}{\QuantityFunctionOf{\GraphCore}{#1}} \newcommand{\GraphInteractingEdges}{\Set{IE}} \newcommand{\GraphCoveredEdges}{\Set{CE}} \newcommand{\GraphFailedEdges}{\Set{FE}} \newcommand{\GraphCandidateEdges}{\Set{XE}} \newcommand{\UsplineClass}{\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{\AlgNameBuildRayOfMaximumCouplingLength}{\textit{BuildRayOfMaximumCouplingLength}} \newcommand{\AlgNameBuildRibbonOfMaximumCouplingLength}{\textit{BuildRibbonOfMaximumCouplingLength}} \newcommand{\AlgNameComputeCoreGraph}{ComputeCoreGraph} \newcommand{\SymbolParentModifier}{\overbar{#1}} \newcommand{\SymbolParamModifier}{\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{\UpperDBMat}{\Mat{U}} \newcommand{\LowerWeightDBMat}{\Mat{W}} \newcommand{\RationalSplineWeightSymbol}{w} \newcommand{\NURBSWeight}{\RationalSplineWeightSymbol} \newcommand{\WeightFunc}[\RationalSplineWeightSymbol]{#1} \newcommand{\DBParamWeight}{\omega} \newcommand{\DualBCoeff}{d}$$\newcommand{\SymbolTime}{t} \newcommand{\SymbolClosestPointMap}{\kappa} \newcommand{\SymbolManifold}{m} \newcommand{\SymbolVolume}{v} \newcommand{\SymbolSurface}{s} \newcommand{\SymbolCurve}{c} \newcommand{\SymbolPoint}{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{\SymbolEnvModifier}{\star\mspace{-1mu} #1} \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{\Partition{}}{\ParamDomain}} \newcommand{\SpatialDim}{\SymbolSpatialDim} \newcommand{\SpatialDomain}{\Reals^{\SymbolSpatialDim}} \newcommand{\SpatialCoord}{\SymbolSpatialCoord} \newcommand{\SpatialCoordUpper}{\SymbolSpatialCoordUpper} \newcommand{\SpatialCoordVec}{\Vec{\SpatialCoord}} \newcommand{\SpatialCoordVecSet}{\QuantityFunctionOf{\boldsymbol{\Set{\SpatialCoordUpper}}}{#1}} \newcommand{\UsplineBasisFuncSpatial}{\UsplineBasisFuncDetailed{\SpatialCoord}{#1}} \newcommand{\Manifold}{\QuantityRelatedTo{\Set{\SymbolManifold}}{#1}} \newcommand{\Volume}{\QuantityRelatedTo{\Set{\SymbolVolume}}{#1}} \newcommand{\Surface}{\QuantityRelatedTo{\Set{\SymbolSurface}}{#1}} \newcommand{\Curve}{\QuantityRelatedTo{\Set{\SymbolCurve}}{#1}} \newcommand{\Point}{\QuantityRelatedTo{\Set{\SymbolPoint}}{#1}} \newcommand{\ManifoldCAD}{\Manifold{\SymbolCAD}} \newcommand{\ManifoldCADModified}{\Manifold{\SymbolCADModified}} \newcommand{\ManifoldCADEnv}{\SymbolEnvModifier{\ManifoldCAD}} \newcommand{\ManifoldCADModifiedEnv}{\SymbolEnvModifier{\ManifoldCADModified}} \newcommand{\ManifoldPartition}{\Manifold{\Partition{}}} \newcommand{\ManifoldBezier}{\Manifold{\MeshBezier}} \newcommand{\ManifoldUspline}{\Manifold{\MeshUspline}} \newcommand{\ManifoldUsplineEnv}{\SymbolEnvModifier{\ManifoldUspline}} \newcommand{\VolumeEnv}{\SymbolEnvModifier{\Volume{}}} \newcommand{\dVolume}{\Differential[\Volume{}]} \newcommand{\VolumeIndicator}{\SymbolIndicator} \newcommand{\SurfaceEnv}{\SymbolEnvModifier{\Surface{}}} \newcommand{\SurfaceCAD}{\Surface{\SymbolCAD}} \newcommand{\SurfaceCADModified}{\Surface{\SymbolCADModified}} \newcommand{\SurfaceMesh}{\Surface{\Partition{}}} \newcommand{\SurfaceUspline}{\Surface{\MeshUspline}} \newcommand{\SurfaceWildCard}{\Surface{}^{\SymbolWildCard}} \newcommand{\dSurface}{\Differential[\Surface{}]} \newcommand{\CurveCAD}{\Curve{\SymbolCAD}} \newcommand{\CurveCADModified}{\Curve{\SymbolCADModified}} \newcommand{\CurveMesh}{\Curve{\Partition{}}} \newcommand{\CurveUspline}{\Curve{\MeshUspline}} \newcommand{\dCurve}{\Differential[\Curve{}]} \newcommand{\PointCAD}{\Point{\SymbolCAD}} \newcommand{\PointCADModified}{\Point{\SymbolCADModified}} \newcommand{\PointUspline}{\Point{\MeshUspline}} \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{\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{\ManifoldMap}{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldTemporalMap}{\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}{\FuncDef{\ManifoldMap{#1}{#2}}{#1}{#2}} \newcommand{\ManifoldMapInverseDef}{\FuncDef{\Inverse{\ManifoldMap{#1}{#2}}}{#2}{#1}} \newcommand{\ManifoldTemporalMapDef}{\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}{\QCO{#1}{#2}} \newcommand{\ManifoldCoordVecDetailed}{\QCO{#1}{\Vec{#2}}} \newcommand{\ManifoldCoord}{x} \newcommand{\ManifoldCoordVec}{\Vec{x}} \newcommand{\ManifoldPartitionMapCoord}{\ManifoldCoordDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldPartitionMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldPartitionMap}{\ManifoldCoordVec}} \newcommand{\ManifoldCADMapCoord}{\ManifoldCoordDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldCADMap}{\ManifoldCoordVec}} \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{\Segment}{\QuantityChildOf{#1}{\SymbolSegment}} \newcommand{\SegmentOfVolumeEnv}{\Segment{\VolumeEnv}} \newcommand{\Hex}{\Segment{}_{h}} \newcommand{\Tet}{\Segment{}_{t}} \newcommand{\SegmentParamDomain}{\QuantityRelatedTo{\ParamDomain}{#1}} \newcommand{\SegmentParamDomainOfVolumeEnv}{\QuantityRelatedTo{\ParamDomain}{\Segment{\VolumeEnv}}} \newcommand{\SegmentSet}{\QuantityFunctionOf{\SymbolSegmentSet}{#1}} \newcommand{\SegmentSetOutside}{\SegmentSet{}^{\SymbolOutside}} \newcommand{\SegmentSetInside}{\SegmentSet{}^{\SymbolInside}} \newcommand{\SegmentSetHybrid}{\SegmentSet{}^{\SymbolHybrid}} \newcommand{\Partition}{\QuantityFunctionOf{\SymbolPartition}{#1}} \newcommand{\PartitionBezierExtraction}{\QuantityFunctionOf{\SymbolPartition^{B}}{#1}} \newcommand{\PartitionTessellation}{\QuantityFunctionOf{\SymbolPartition^{T}}{#1}} \newcommand{\PartitionTessellationOfUspline}{\PartitionTessellation{\MeshUspline}} \newcommand{\PartitionTessellationMap}{\QuantityRelatedTo{#2}{#1}} \newcommand{\BoundingVolume}{\QuantityFunctionOf{\Set{bv}}{#1}} \newcommand{\BoundingVolumeSet}{\QuantityFunctionOf{\Set{BV}}{#1}} \newcommand{\BoundingVolumeTree}{\QuantityFunctionOf{\Set{BVH}}{#1}} \newcommand{\AxisAlignedBoundingBox}{\QuantityFunctionOf{\Set{AABB}}{#1}} \newcommand{\SimplexMap}{\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}{\SymbolEnvModifier{\QuadraturePoint{#1}{#2}}} \newcommand{\QuadraturePoint}{\SymbolQuadraturePoint_{#1}^{#2}} \newcommand{\QuadraturePointToElemIndexMap}{\operatorname{qe}(#1)} \newcommand{\QuadratureWeightEnv}{\SymbolEnvModifier{\QuadratureWeight{#1}{#2}}} \newcommand{\QuadratureWeight}{\SymbolQuadratureWeight_{#1}^{#2}} \newcommand{\QuadratureSet}{\Set{\SymbolQuadratureSet}} \newcommand{\QuadratureSetInside}{\QuadratureSet^{\SymbolInside}} \newcommand{\QuadratureSetOutside}{\QuadratureSet^{\SymbolOutside}} \newcommand{\QuadratureSubdDepth}{k} \newcommand{\ClosestPointMap}{\QuantityChildOf{#1}{\Vec{\SymbolClosestPointMap}}} \newcommand{\ClosestPointMapCAD}{\ClosestPointMap{\SymbolCAD}} \newcommand{\ClosestPointMapCADModified}{\ClosestPointMap{\SymbolCADModified}} \newcommand{\ProjectionInto}{\QuantityRelatedTo{\SymbolProjection}{#1}} \newcommand{\ProjectionIntoBernsteinCell}{\ProjectionInto{\Cell}} \newcommand{\ProjectionIntoBernsteinElem}{\ProjectionInto{\Elem}} \newcommand{\ProjectionIntoMeshBezier}{\ProjectionInto{\MeshBezier}} \newcommand{\ProjectionIntoMeshUspline}{\ProjectionInto{\MeshUspline}}$$\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}{\ManifoldCoordDetailed{#1}{X}} \newcommand{\RefCoordVec}{\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}{\UsplineBasisFuncDetailed{\CurveRef}{#1}} \newcommand{\UsplineBasisFuncOverSurfaceRefDisp}{\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}{\ManifoldCoordDetailed{#1}{x}} \newcommand{\CurrCoordVec}{\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}{\Grad{\VolumeEnvRefMap}{#1}} \newcommand{\VolumeRefMap}{\ManifoldMap{\ParamDomain}{\VolumeRef}} \newcommand{\GenericGradOverVolumeRefMap}{\Grad{\VolumeRefMap}{#1}} \newcommand{\SurfaceRefDispMap}{\ManifoldMap{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMap}{\ManifoldMap{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\CurveRefMap}{\ManifoldMap{\ParamDomain}{\CurveRef}} \newcommand{\GenericGradOverCurveRefMap}{\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}{\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}{U} \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{\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{\KinematicElast}{#1^e} \newcommand{\KinematicPlast}{#1^p} \newcommand{\DivVolumeEnvRef}{\Div{\VolumeEnvRefCoordVec}{#1}} \newcommand{\DivVolumeEnvCurr}{\Div{\VolumeEnvCurrCoordVec}{#1}} \newcommand{\UnitNormalRefComp}{N} \newcommand{\UnitNormalRefTen}{\Vec{N}} \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{\StressKirchhoffComp}{\tau} \newcommand{\StressKirchhoffTen}{\Mat{\tau}} \newcommand{\StressKirchhoffVoigt}{\tilde{\StressKirchhoffTen}} \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{\MaterialThermalExpansion}{\alpha_{\text{thermal}}} \newcommand{\CrossSectArea}{\SymbolArea} \newcommand{\Length}{\SymbolLength} \newcommand{\PenaltyStiffness}{\SymbolPenalty_{\SymbolStiffness}} \newcommand{\PenaltyDisp}{\SymbolPenalty_{\SymbolDisp}} \newcommand{\BodyForceRefComp}{B} \newcommand{\BodyForceRefTen}{\Vec{\BodyForceRefComp}} \newcommand{\BodyForceCurrComp}{\SymbolBodyForce} \newcommand{\BodyForceCurrTen}{\Vec{\BodyForceCurrComp}} \newcommand{\TracForceRefComp}{H} \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{G}} \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}{\QFO{\Energy}{#1}} \newcommand{\EnergyEnv}{\SymbolEnvModifier{\Energy}} \newcommand{\EnergyInside}{\Energy^{\SymbolInside}} \newcommand{\EnergyOutside}{\Energy^{\SymbolOutside}} \newcommand{\EnergyConstraint}{\Energy^{\LagrangeMultCurrComp}} \newcommand{\EnergyDensityStrain}{\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{\FlexOne}{\mathcal{F}_{1}} \newcommand{\FlexInfty}{\mathcal{F}_{\infty}} \newcommand{\Flex}{\mathcal{F}_{#1}} \newcommand{\FlexIt}{\mathcal{F}} \newcommand{\FlexFEA}{\mathcal{F}_{\bar{0}}} \newcommand{\FlexFEAModified}{\mathcal{F}_{0}} \newcommand{\FlexImmersed}{\mathcal{F}_{\infty}} \newcommand{\FlexSpectrum}{\overleftrightarrow{\mathcal{F}}} \newcommand{\FlexSpectrumId}{i} \newcommand{\TimeStep}{\Delta \SymbolTime} \newcommand{\SpectralRadius}{\rho_{\infty}} \newcommand{\SymbolDisp}{u} \newcommand{\SymbolVelocity}{v} \newcommand{\SymbolAcceleration}{a} \newcommand{\SymbolMass}{M} \newcommand{\SymbolLength}{L} \newcommand{\SymbolArea}{A} \newcommand{\SymbolConstraint}{g} \newcommand{\SymbolPenalty}{\varepsilon} \newcommand{\SymbolLagrangeMultRef}{\Lambda} \newcommand{\SymbolLagrangeMultCurr}{\lambda} \newcommand{\SymbolFict}{f} \newcommand{\SymbolTracForce}{h} \newcommand{\SymbolBodyForce}{b} \newcommand{\SymbolVolumeRef}{V} \newcommand{\SymbolSurfaceRef}{S} \newcommand{\SymbolCurveRef}{C} \newcommand{\SymbolPointRef}{P} \newcommand{\SymbolVolumeCurr}{\SymbolVolume} \newcommand{\SymbolSurfaceCurr}{\SymbolSurface} \newcommand{\SymbolCurveCurr}{\SymbolCurve} \newcommand{\SymbolPointCurr}{\SymbolPoint} \newcommand{\SymbolDeformGrad}{F} \newcommand{\SymbolStrainGreenLagrange}{E} \newcommand{\SymbolDeformCauchyGreenLeft}{b} \newcommand{\SymbolDeformCauchyGreenRight}{C} \newcommand{\SymbolStrainDisp}{B} \newcommand{\SymbolStrainSymGrad}{\epsilon} \newcommand{\SymbolEnergy}{\Pi} \newcommand{\SymbolEnergyDensityStrain}{\Psi} \newcommand{\SymbolResidual}{R} \newcommand{\SymbolForce}{F} \newcommand{\SymbolStiffness}{K} \newcommand{\SymbolSolution}{d}$

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 105:

##### 4.2.1Bottom-Up Geometry Creation

$\newcommand{\QuantityFunctionOf} { % \if\relax\detokenize{#2}\relax % {#1} % \else {#1}(#2) % \fi } \newcommand{\QFO}{\QuantityFunctionOf{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOf} { % \if\relax\detokenize{#3}\relax % {#1}_{#2} % \else {#1}_{#2}(#3) % \fi } \newcommand{\SQFO}{\SubscriptedQuantityFunctionOf{#1}{#2}{#3}} \newcommand{\QuantityChildOf} { % \if\relax\detokenize{#1}\relax % {#2} % \else {#2}^{#1} % \fi } \newcommand{\QCO}{\QuantityChildOf{#1}{#2}} \newcommand{\QuantityRelatedTo} { % \if\relax\detokenize{#2}\relax % {#1} % \else {#1}[#2] % \fi } \newcommand{\QRT}{\QuantityRelatedTo{#1}{#2}} \newcommand{\QuantitySubscriptedBy} { % \if\relax\detokenize{#2}\relax % #1 % \else #1_{#2} % \fi } \newcommand{\QSB}{\QuantitySubscriptedBy{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOfChildOf} { % \if\relax\detokenize{#4}\relax % #1_{#2}^{#3} % \else #1_{#2}^{#3}(#4) % \fi } \newcommand{\SQFOCO}{\SubscriptedQuantityFunctionOfChildOf{#1}{#2}{#3}{#4}} \newcommand{\overbar}{\mkern 1.5mu\overline{\mkern-1.5mu#1\mkern-1.5mu}\mkern 1.5mu} \newcommand{\bcdot}{\boldsymbol{\cdot}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Logic %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SuchThat}{\, : \,} \newcommand{\DefEq}{\overset{\operatorname{def}}{=}} \newcommand{\True}{\textsf{True}} \newcommand{\False}{\textsf{False}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Arrays, tuples, and sets %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\ArrayRoster}{\left[#1\right]} \newcommand{\ArrayRosterI}{[#1]_{#2}} \newcommand{\ArrayEmpty}{\ArrayRoster{\hspace{1mm}}} \newcommand{\Tuple}{\mathsf{#1}}%was \mathsf \newcommand{\TupleRoster}{\left(#1\right)} \newcommand{\PointPair}{\TupleRoster{#1, #2}} \newcommand{\Set}{\mathsf{#1}}%was \mathsf \newcommand{\SetRoster}{\left\{ #1 \right\}} \newcommand{\SetRosterIndexed}{\SetRoster{#1}_{#2}^{#3}} \newcommand{\SetRosterPredicate}{\SetRoster{#1 \SuchThat #2}} \newcommand{\SetEmpty}{\varnothing} \newcommand{\SetPower}{\QuantityFunctionOf{\boldsymbol{\Set{P}}}{#1}} \newcommand{\SetNeighborhood}{\QuantityFunctionOf{\boldsymbol{\Set{B}}}{#1}} \newcommand{\Domain}{\Omega} \newcommand{\DomainBdry}{\Gamma} \newcommand{\IntervalClosed}{\left[#1, #2\right]} \newcommand{\IntervalOpen}{\left(#1, #2\right)} \newcommand{\IntervalClosedOpen}{\left[#1, #2\right)} \newcommand{\IntervalOpenClosed}{\left(#1, #2\right]} % special \newcommand{\Reals}{\mathbb{R}} \newcommand{\Naturals}{\mathbb{N}} \newcommand{\Integers}{\mathbb{Z}} \newcommand{\Field}{\mathbb{F}} % properties \newcommand{\Size}{\left\lvert #1 \right\rvert} \newcommand{\Union}{\bigcup\limits_{#1}^{#2} #3} \newcommand{\UnionInline}{\bigcup_{#1}^{#2} #3} \newcommand{\Intersect}{\bigcap\limits_{#1}^{#2} #3} \newcommand{\ElementWiseGreaterOrEqual}{\succeq} \newcommand{\ElemntWiseGreater}{\succ} \newcommand{\ElementWiseLessOrEqual}{\preceq} \newcommand{\ElementWiseLess}{\prec} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Infinite dimensional spaces %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SpaceLinear}{\mathnormal{#1}} \newcommand{\SpaceDual}{\SpaceLinear{#1}^*} % normed spaces \newcommand{\AbsoluteValue}{\Size{#1}} \newcommand{\Norm}{\left\lVert #2 \right\rVert_{#1}} \newcommand{\NormAbstract}{\Norm{}{#1}} \newcommand{\NormSemi}{\Size{#1}} \newcommand{\SpaceLinearNormed}{\left(\SpaceLinear{#1}, \NormAbstract{\bcdot} \right)} \newcommand{\SpaceBanach}{\mathfrak{#1}} % normed and complete % inner product spaces \newcommand{\SymmetricBilinear}{\left(#1, #2\right)} \newcommand{\InnerProduct}{\left\langle#1, #2\right\rangle} \newcommand{\SpaceInnerProduct}{\left(\SpaceLinear{#1}, \InnerProduct{\bcdot}{\bcdot}\right)} \newcommand{\SpaceHilbert}{\mathcal{#1}} \newcommand{\SpaceLTwo}{\SpaceHilbert{L}_2} \newcommand{\SpaceLTwoDef}{\SpaceLTwo\left(#1; #2\right)} \newcommand{\SpaceLInfty}{\SpaceHilbert{L}_\infty} \newcommand{\SpaceLTwoWeighted}{\SpaceLTwo^w} \newcommand{\SpaceSobolevK}{\SpaceHilbert{H}^{#1}} \newcommand{\SpaceSobolevKDef}{\SpaceSobolevK{1}\left(#2 ; #3\right)} % differentiable spaces \newcommand{\Cont}{\operatorname{cont}} \newcommand{\SpaceCont}{\SpaceHilbert{C}} \newcommand{\SpaceContDef}{\SpaceCont\left(#1 ; #2\right)} \newcommand{\SpaceContK}{\SpaceCont^{#1}} \newcommand{\SpaceContKDef}{\SpaceContK{#1}\left(#2; #3\right)} \newcommand{\SpaceContZero}{\SpaceContK{0}} \newcommand{\SpaceContInf}{\SpaceContK{\infty}} \newcommand{\SpaceContInfDef}{\SpaceContKDef{\infty}{#1}{#2}} \newcommand{\SpaceContKBounded}{\SpaceContK{#1}_{#2}} \newcommand{\SpaceContKBoundedDef}{\SpaceCont_{b}^{#1}\left(#2 ; #3\right)} % linear operator spaces \newcommand{\SpaceLinearOperator}{\mathscr{#1}} \newcommand{\SpaceLinearOperatorDef}{\SpaceLinearOperator{L}\left(#1 ; #2\right)} \newcommand{\SpaceLinearOperatorBoundedDef}{\SpaceLinearOperator{B}\left(#1 ; #2\right)} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Finite dimensional spaces %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SpaceLinearN}{\SpaceLinear{#1}^h} \newcommand{\SpaceHilbertN}{\SpaceHilbert{#1}^h} \newcommand{\SpaceVecRealN}{\Reals^{#1}} \newcommand{\SpacePoly}{\SpaceHilbert{P}^{#1}} \newcommand{\SpaceMatrixRealMN}{\Reals^{#1\times#2}} \newcommand{\SpacePolyDef}{\SpacePoly{#1}\left(#2 ; #3\right)} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Functions, vectors, and linear operators %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\Func}[f]{#1} \newcommand{\FuncAlt}[g]{#1} \newcommand{\FuncDef}{#1 \SuchThat #2 \rightarrow #3} \newcommand{\FuncApprox}{#1^h} \newcommand{\LinearOperator}{\SpaceLinearOperator{#1}} \newcommand{\LinearOperatorDef}{\FuncDef{#1}{#2}{#3}} \newcommand{\Functional}{\LinearOperator{#1}} \newcommand{\Projection}{\Pi} \newcommand{\VectorProjection}{\Projection_{#1} {\left(#2\right)}} \newcommand{\Mat}{\boldsymbol{#1}} \newcommand{\MatIJ}{\left[#1\right]_{#2#3}} \newcommand{\MatIdRow}{m} \newcommand{\MatIdCol}{n} \newcommand{\Identity}{\Mat{I}} \newcommand{\KroneckerDelta}{\Mat{\delta}} \newcommand{\LeviCivita}{\Mat{\epsilon}} \newcommand{\Jacobian}{\Mat{J}} \renewcommand{\Vec}{\boldsymbol{#1}} \newcommand{\VecChildOf}{\QCO{#2}{#1}} \newcommand{\VecI}{\{#1\}_{#2}} \newcommand{\ZeroVec}{\Vec{0}} \newcommand{\OneVec}{\Vec{1}} \newcommand{\ZeroMat}{\Mat{0}} \newcommand{\UnitNormalComp}{n} \newcommand{\UnitNormal}{\Vec{\UnitNormalComp}} % rename to UnitNormalTen \newcommand{\MacBracket}{\langle#1\rangle} \newcommand{\HeavisideFunc}{\mathit{H}\left(#1\right)} \newcommand{\DiracDelta}{\delta_{D}\left(#1 - #2\right)} \newcommand{\IdentityTenSym}{\mathbb{I}} \newcommand{\BraKet}{\langle#1\rangle} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Lagrange Optimization %%%%%%%%%%%%%%%%%%%%%%%%%%%% %\newcommand{\Min}{\min\limits_{#1}} %\newcommand{\Max}{\max\limits_{#1}} \newcommand{\FuncObjective}{\QFO{\Func}{#1}} \newcommand{\FuncEqualityConstraints}{\QFO{\Func[\Vec{g}]}{#1}} \newcommand{\VarDesign}{\Vec{\phi}} \newcommand{\VarState}{\QFO{\Vec{u}}{#1}} \newcommand{\FuncLagrangian}{\QFO{\mathscr{L}}{#1}} \newcommand{\FuncAugmentedLagrangian}{\QFO{\mathscr{L}_A}{#1}} \newcommand{\VecLambdaLM}{\QFO{\Vec{\lambda}}{#1}} \newcommand{\LambdaLM}{\QFO{\lambda}{#1}} \newcommand{\SolutionLocalOpt}{\left(#1\right)^*} \newcommand{\ProximalPoint}{\overbar{\VecLambdaLM{}}} \newcommand{\PenaltyParameter}{\rho} \newcommand{\Slacify}{\QSB{#1}{s}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Linear algebra %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\Prod}{\prod\limits_{#1}^{#2}} \newcommand{\ProdInline}{\prod_{#1}^{#2}} \newcommand{\TensorProduct}{\otimes} \newcommand{\Sum} { % COMMENTED OUT FOLLOWING PREVIOUS INSTANCES % \if\relax\detokenize{#2}\relax % \sum\limits_{#1} % \else \sum\limits_{#1}^{#2} % COMMENTED OUT FOLLOWING PREVIOUS INSTANCES % \fi } \newcommand{\SumInline}{\sum_{#1}^{#2}} \newcommand{\Rank}{\operatorname{rank}(#1)} \newcommand{\Nullity}{\operatorname{null}(#1)} \newcommand{\Image}{\operatorname{image}} \newcommand{\Range}{\operatorname{range}} \newcommand{\Inverse}{\left(#1\right)^{-1}} \newcommand{\inverse}{\overline{#1}} % clean up \newcommand{\Transpose}{\left(#1\right)^{T}} \newcommand{\InvTrans}{\left(#1\right)^{-T}} \newcommand{\Complement}{\overbar{#1}} \newcommand{\Adjoint}{\left(#1\right)^*} \newcommand{\OrthogonalComplement}{\left(#1\right)^\perp} \newcommand{\Det}{\QFO{\operatorname{det}}{#1}} \newcommand{\DCT}{\operatorname{DCT}} \newcommand{\IDCT}{\operatorname{IDCT}} \newcommand{\RealPart}{\QFO{\mathfrak{R}}{#1}} \newcommand{\Trace}{\QFO{\operatorname{tr}}{#1}} \newcommand{\Dev}{\QFO{\operatorname{dev}}{#1}} \newcommand{\DevDef}{\Dev{#1} \DefEq #1 - \frac{1}{3}\Trace{#1}\Identity} \newcommand{\dual}{{\bar{#1}}} \newcommand{\symind}{{\uppercase{#1}}} \newcommand{\symmetrizer}{{S}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Bases %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\BasisFuncCoeff}{\QSB{#1}{#2}} \newcommand{\BasisVec}{\QSB{#1}{#2}} \newcommand{\BasisVecChildOf}{\SQFOCO{#1}{#2}{#3}{}} \newcommand{\OrthogonalBasisVec}{\SQFOCO{#1}{#2}{\perp}{}} \newcommand{\OrthonormalBasisVec}{\overbar{\OrthogonalBasisVec{#1}{#2}}} \newcommand{\PolynomialDegree}{p} \newcommand{\BasisFuncId}{i} \newcommand{\BasisFuncIdAlt}{j} \newcommand{\BasisFuncIdAltAlt}{k} \newcommand{\BasisFunc}{\SQFO{#1}{#2}{#3}} \newcommand{\PowerBasisFunc}{\QCO{#2}{#1}} \newcommand{\LegendreBasisFunc}{\SQFO{\Func[P]}{#1}{#2}} \newcommand{\PreNormalizedLegendreBasisFunc}{\hat{\LegendreBasisFunc{#1}{#2}}} \newcommand{\ChebyshevBasisFunc}{\SQFO{\Func[T]}{#1}{#2}} \newcommand{\ChebyshevZeros}{\QSB{z}{#1}} \newcommand{\ChebyshevExtremizers}{\QSB{t}{#1}} \newcommand{\BernToChebMat}{\Mat{T}} \newcommand{\Chebfun}{\biggl(\, \sum_{#2=0}^{#1}{#3}_{#2}\ChebyshevBasisFunc{#2}{}\biggr)} \newcommand{\ChebfunVector}{\left[#1\right]_c} \newcommand{\LagrangeBasisFunc}{\SQFOCO{\Func[L]}{#1}{#2}{#3}} % properties \newcommand{\Span}{\operatorname{span}} \newcommand{\Dim}{\operatorname{dim}} \newcommand{\Support}{\operatorname{supp}(#1)} \newcommand{\SupportPos}{\operatorname{supp}_{+}(#1)} % operations \newcommand{\SumBasis}{\Sum{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\SumInlineBasis}{\SumInline{#1}{#2}{#3}_{#1}{#4}_{#1}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Calculus %%%%%%%%%%%%%%%%%%%%%%%%%%%% % limits \newcommand{\EvaluateTwoLimits}{#1\biggr\rvert_{#2}^{#3}} \newcommand{\EvaluateOneLimit}{\left.#1\right\rvert_{#2}} \newcommand{\Limit}{\lim\limits_{#1\rightarrow #2}} \newcommand{\LimitInline}{\lim_{#1\rightarrow #2}} \newcommand{\DNE}{\operatorname{DNE}} % differentiation \newcommand{\LagrangeDeriv}{{#1}'} \newcommand{\KthLagrangeDeriv}{{#1}^{(#2)}} \newcommand{\LeibnizSubDeriv}{{#1}_{,#2}} \newcommand{\LeibnizFracDeriv}{\frac{d}{d#2}{#1}} \newcommand{\KthLeibnizFracDeriv}{\frac{d^{#2}}{d#3^{#2}}\Func[#1](#3)} \newcommand{\KthLeibnizFracSpecificFunction}{\frac{d^{#2}}{d#3^{#2}}\Func[#1]} \newcommand{\Differential}[x]{\, \operatorname{d}{#1}} \newcommand{\FrechetDeriv}{D{#1}\left(#2\right)} \newcommand{\GateauxDirectionBold}{\Vec{\delta}#1} \newcommand{\GateauxDirection}{\delta #1} \newcommand{\GateauxDerivBold}{D#1(#2; \GateauxDirectionBold{#2})} \newcommand{\GateauxDeriv}{D#1(#2; \GateauxDirection{#2})} \newcommand{\GateauxDerivWithDirection}{D#1\left(#2 \ ;\ #3\right)} \newcommand{\GateauxDerivPartial}{\frac{\partial #1}{\partial #2}} \newcommand{\KthGateauxDerivPartial}{\frac{\partial^{#3} #1}{\partial #2^{#3}}} \newcommand{\Grad}{\boldsymbol{\nabla}^{#1} #2} \newcommand{\Jac}{\Mat{J}} \newcommand{\Div}{\boldsymbol{\nabla}^{#1} \bcdot #2} \newcommand{\Laplace}{\boldsymbol{\Delta}^{#1} #2} \newcommand{\TaylorSeries}{\mathcal{T}\left[\Func[#1]\right](#2)} \newcommand{\TruncatedTaylorSeries}{\mathcal{T}_{#1}\left[\Func[#2]\right]\left(#3\right)} % integration \newcommand{\Int}{\int\limits_{#1}^{#2}} \newcommand{\IntDomain}{\int\limits_{#1}} \newcommand{\IntInline}{\int_{#1}^{#2}} \newcommand{\IntDomainInline}{\int_{#1}} \newcommand{\DetJacobian}{\Det{\Jac}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Numerical Analysis %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\BigO}{\mathcal{O}\left(#1\right)} \newcommand{\Flops}{\operatorname{flops}} \newcommand{\Interpolant}{\mathcal{#1}^{h}} \newcommand{\ErrorApproxComp}{e} \newcommand{\ErrorApproxTen}{\Vec{\ErrorApproxComp}} \newcommand{\ErrorNewton}{\epsilon} % clean up \newcommand{\ApproximateIntegrationError}{\tilde{e}_{#1}} \newcommand{\AnalyticApproximateIntegrationErrorDifference}{\overbar{e}_{#1}}$$\newcommand{\GlosOne}{a} \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{\NumUsplineBasisFuncsOnMeshBezier}{\Size{\UsplineBasisFuncSetOnMeshBezier}} \newcommand{\NumUsplineBasisFuncsOnMeshUspline}{\Size{\UsplineBasisFuncSetOnMeshUspline}} \newcommand{\NumUsplineBasisFuncsOnElem}{\Size{\UsplineBasisFuncSet{\Elem}}} \newcommand{\NumBernsteinBasisFuncsOnMeshBezier}{\Size{\IndexSetOnMeshBezier}} \newcommand{\NumBernsteinBasisFuncsOnElem}{\Size{\IndexSet{\Elem}}} \newcommand{\NumElemsInMeshBezier}{\Size{\CellSet{\ParamDim}}} \newcommand{\ParentDomain}{\SymbolParentModifier{\SymbolDomain}} \newcommand{\ParentDomainChart}{\SymbolParentModifier{\Vec{\phi}}} \newcommand{\ParentDomainChartDetailed}{\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}{\ParentCoord_{#1}} \newcommand{\ParentGrevillePoint}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParentGrevillePointSet}{\QuantityFunctionOf{\Set{\SymbolParentModifier{G}}}{#1}} \newcommand{\BernsteinBasisFuncCoeff}{\SymbolArbitraryCoeffBernstein} \newcommand{\BernsteinBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffBernstein}}}{\MeshBezier}} \newcommand{\BernsteinBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffBernstein}}{\MeshBezier}} \newcommand{\BernFuncLowerDimCell}{\BernsteinBasisFunc^{#1}_{#2}} \newcommand{\BernFuncInterf}{\BernFuncLowerDimCell{\Interface}{#1}} \newcommand{\UsplineBasisFuncCoeff}{\SymbolArbitraryCoeffUspline} \newcommand{\UsplineBasisFuncCoeffAlt}{\SymbolArbitraryCoeffUsplineAlt} \newcommand{\UsplineBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffUspline}}}{\MeshUspline}} \newcommand{\UsplineBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffUspline}}{\MeshUspline}} \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{\ii}{\IndexOnCell{}{\BernsteinBasisFuncIndexTuple}} \newcommand{\jj}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAlt}} \newcommand{\kk}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAltAlt}} \newcommand{\BernsteinBasisFuncIndexTupleB}{\Set{\BernsteinBasisFuncIdB}} \newcommand{\BernsteinDegree}{\PolynomialDegree} \newcommand{\BernsteinDegreeAlt}{q} \newcommand{\BernsteinDegreeTuple}{\Tuple{\BernsteinDegree}} \newcommand{\BernsteinDegreeElevMatComp}{D} \newcommand{\BernsteinDegreeElevMat}{\Mat{\BernsteinDegreeElevMatComp}} \newcommand{\CompletePolynomial}{\AbsoluteValue{#1}} \newcommand{\BernsteinBasisFunc}{\SymbolBernstein} \newcommand{\BernsteinBasisFuncVec}{\QuantityFunctionOf{\QuantityChildOf{#1}{\Vec{\SymbolBernstein}}}{#2}} \newcommand{\BernsteinBasisFuncDetailed}{\BernsteinBasisFunc_{#1}^{#2}} \newcommand{\BernsteinSpace}{\SpaceHilbert{\SymbolBernstein}} \newcommand{\BernsteinRestriction}{#1\vert_{#2}} \newcommand{\Bezier}{B\'ezier } \newcommand{\MeshTopo}{\boldsymbol{\textsf{M}}}%changed from mathsf \newcommand{\MeshBezier}{\boldsymbol{\textsf{B}}}%changed from mathsf \newcommand{\CellArbitrary}{\Set{#1}} \newcommand{\Cell}{\CellArbitrary{c}} % k-cell \newcommand{\CellAlpha}{\CellArbitrary{a}} \newcommand{\CellBeta}{\CellArbitrary{b}} \newcommand{\CellGamma}{\CellArbitrary{c}} \newcommand{\CellToTheLeft}{\CellAlpha} \newcommand{\CellToTheRight}{\CellBeta} \newcommand{\CellBoundary}{\partial #1} \newcommand{\CellSet}{\Set{C}^{#1}} \newcommand{\CellSetAdjacent}{\QuantityFunctionOf{\Set{ADJ}^{#1}}{#2}} \newcommand{\CellSetCardinal}{\QuantityFunctionOf{\Set{CRD}}{#1}} \newcommand{\CellSetSupport}{\Support{#1}} \newcommand{\Elem}{\Set{E}} % d-cell \newcommand{\Interface}{\Set{I}} % (d-1)-cell \newcommand{\Smoothness}{\vartheta} \newcommand{\SmoothnessVar}{\rho} \newcommand{\SmoothnessSet}{\Set{\Smoothness}} \newcommand{\InterfaceSmoothness}{\QuantityChildOf{#1}{\Smoothness}} \newcommand{\MaxPerpCont}{\QuantityFunctionOf{\Smoothness^{\perp}_{\max}}{#1}} \newcommand{\Face}{\Set{f}} % 2-cell \newcommand{\Edge}{\Set{e}} % 1-cell \newcommand{\Vertex}{\Set{v}} % 0-cell \newcommand{\CodimTwoCell}{\Set{w}} % (d-2)-cell \newcommand{\KCell}{\Cell^\ArbDim} \newcommand{\KPlusOneCell}{\Cell^{\ArbDim+1}} \newcommand{\KCellAlpha}{\CellAlpha^\ArbDim} \newcommand{\KPlusOneCellBeta}{\CellBeta^{\ArbDim+1}} \newcommand{\KPlusOneCellAdjacentIndexedSubmeshDomain}{\QuantityChildOf{\CellAlpha\CellBeta}{\SubmeshDomain}} \newcommand{\MaxParallelDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\max}}{#1}} \newcommand{\MinParallelDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\min}}{#1}} \newcommand{\MaxPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\max}}{#1}} \newcommand{\MinPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\min}}{#1}} \newcommand{\MinParallelPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\min}}{#1,#2}} \newcommand{\MaxParallelPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\max}}{#1,#2}} \newcommand{\DegreeParallel}{\BernsteinDegree^{\parallel}} \newcommand{\DegreeParallelToEdge}{\DegreeParallel_{#1}(#2)} \newcommand{\DegreePerp}{\BernsteinDegree^{\perp}} \newcommand{\DegreePerpToInterface}{\DegreePerp_{#1}(#2)} \newcommand{\DegreeTupleParallelToKCell}{\Tuple{\BernsteinDegree}^{\parallel}_{#1}(#2)} \newcommand{\ChangeInDegree}{\Delta(\BernsteinDegree)_{#1}^{#2}} \newcommand{\IndexSet}{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\CompositeBVUnionIndexSet}{\QuantityFunctionOf{\Set{UID}}{#1}} \newcommand{\IndexSetPosCoeffs}{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\IndexSetSet}{\QuantityFunctionOf{\boldsymbol{\IndexSet{}}}{#1}} \newcommand{\IndexSetOnMeshBezier}{\IndexSet{\MeshBezier}} \newcommand{\IndexOnCell}{\QuantityChildOf{#1}{#2}} \newcommand{\IndexOnCellIJ}{\QuantityChildOf{#1}{\TupleRoster{#2,#3}}} \newcommand{\CellFromQuantity}{\QuantityFunctionOf{\operatorname{cell}}{#1}} \newcommand{\ExtractionOp}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{C}}{#2}}} \newcommand{\ExtractionOpSimple}{\QuantityFunctionOf{\Mat{C}}{#1}} \newcommand{\ReconstructOp}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{R}}{#2}}} \newcommand{\ReconstructOpSimple}{\QuantityFunctionOf{\Mat{R}}{#1}} \newcommand{\Gramian}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{G}}{#2}}} \newcommand{\GramianSimple}{\QuantityFunctionOf{\Mat{G}}{#1}} \newcommand{\BernsteinSpaceOnMeshBezier}{\QCO{\MeshBezier}{\BernsteinSpace}} \newcommand{\BernsteinTraceMappingMat}{\Mat{M}} \newcommand{\ParamDomain}{\SymbolParamModifier{\SymbolDomain}} \newcommand{\ParamDomainOnCell}{\QuantityChildOf{\Cell}{\ParamDomain}} \newcommand{\ParamDomainBdry}{\SymbolParamModifier{\SymbolDomainBdry}} \newcommand{\ParamDomainChart}{\QuantityFunctionOf{\Vec{\phi}^{#1}}{#2}} \newcommand{\ParamDim}{\SymbolDim} \newcommand{\ParamCoordSimple}{s} \newcommand{\ParamCoord}{\QCO{#1}{s}} \newcommand{\ParamCoordVecSimple}{\Vec{s}} \newcommand{\ParamCoordVec}{\QCO{#1}{\Vec{\ParamCoord{}}}} \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}{\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{\NormalParamCoordSet}{\QuantityFunctionOf{\ParamCoordVecSimple^{\perp}_{#1}}{#2}} \newcommand{\ParallelParamCoordSet}{\QuantityFunctionOf{\ParamCoordVecSimple^{\parallel}_{#1}}{#2}} \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}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParamModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParamGrevillePointSet}{\QuantityFunctionOf{\Set{\SymbolParamModifier{G}}}{#1}} \newcommand{\ParamDomainOnMeshBezier}{\QuantityChildOf{\MeshBezier}{\ParamDomain}} \newcommand{\ParamDomainOnMeshUspline}{\QuantityChildOf{\MeshUspline}{\ParamDomain}} \newcommand{\Submesh}{\boldsymbol{\mathsf{K}}}%changed from mathsf \newcommand{\SubmeshDomain}{\SymbolSubmeshModifier{\SymbolDomain}} \newcommand{\SubmeshDomainChart}{\QuantityFunctionOf{\Vec{\varphi}^{#1}}{#2}} \newcommand{\SubmeshDomainParameter}{\mathsf{\alpha}}%changed from mathsf \newcommand{\SubmeshDomainParameterVec}{\Vec{\SubmeshDomainParameter}} \newcommand{\SubmeshGrevillePoint}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\SubmeshGrevillePointSimple}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}{#1}} \newcommand{\SubmeshGrevilleMaxPoint}{\QuantityChildOf{#1}{\Set{\SymbolGrevillePoint}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSimple}{\Set{\SymbolGrevillePoint}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSet}{\QuantityChildOf{#1}{\Set{G}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSetSimple}{\Set{G}_{\max}} \newcommand{\SubmeshGrevilleMinPointSet}{\QuantityChildOf{#1}{\Set{G}}_{\min}} \newcommand{\SubmeshGrevilleMinPointSetSimple}{\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}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{G}}}{#1}} \newcommand{\SubmeshGrevillePointSetLeft}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GA}}}{#1}} \newcommand{\SubmeshGrevillePointSetRight}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GB}}}{#1}} \newcommand{\SubmeshGrevillePointSetElement}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GE}}_{#1}}{#2}} \newcommand{\SubmeshGrevillePointSetIntersect}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GI}}}{#1}} \newcommand{\SubmeshGrevillePointSetUnion}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GU}}}{#1}} \newcommand{\SubmeshGrevillePointSetSet}{\QuantityFunctionOf{\boldsymbol{\SubmeshGrevillePointSet{}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetLeft}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GA}}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetRight}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GB}}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetElement}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1}}{#2}} \newcommand{\SubmeshGrevilleDifferenceVectorsSetLeft}{\Delta\SubmeshGrevilleMaxPointSetLeft} \newcommand{\SubmeshGrevilleDifferenceVectorsSetRight}{\Delta\SubmeshGrevilleMaxPointSetRight} \newcommand{\SubmeshGrevilleDifferenceVector}{\Delta\SubmeshGrevilleMaxPoint{\GlosOne}} \newcommand{\SubmeshGrevilleDifferenceVectorLeft}{\Delta\SubmeshGrevilleMaxPointLeft} \newcommand{\SubmeshGrevilleDifferenceVectorRight}{\Delta\SubmeshGrevilleMaxPointRight} \newcommand{\SubmeshGrevilleDifferenceVectorsSet}{\Delta \SubmeshGrevillePointSet{\GlosOne}} \newcommand{\SubmeshGrevilleDistanceToCell}{\QuantityFunctionOf{\SymbolDistance}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCell}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMin}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\min}}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMax}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\max}}{#1, #2}} \newcommand{\SubmeshPerpProjection}{\QuantityFunctionOf{\Projection^{\perp}_{#1}}{#2}} \newcommand{\SubmeshParallelProjection}{\QuantityFunctionOf{\Projection^{\parallel}_{#1}}{#2}} \newcommand{\SubmeshStarProjection}{\QuantityFunctionOf{\Projection^{*}_{#1}}{#2}} \newcommand{\SubmeshPerpEquivalence}{\QuantityFunctionOf{\varpi^{\perp}_{#1}}{#2}} \newcommand{\SubmeshParallelEquivalence}{\QuantityFunctionOf{\varpi^{\parallel}_{#1}}{#2}} \newcommand{\SubmeshStarEquivalence}{\QuantityFunctionOf{\varpi^{*}_{#1}}{#2}} \newcommand{\AlignedSet}{{\boldsymbol{\textsf{Align}}}}%changed from mathsf \newcommand{\AlignedSetSet}{{\boldsymbol{\textsf{ALIGN}}}}%changed from mathsf \newcommand{\AlignmentSetOfSetsLeft}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetOfSetsRight}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetForInterfaceGrevillePoint}{\AlignedSet_{\SubmeshGrevillePoint{\Interface}{}}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRow}{\QuantityFunctionOf{\Set{NZ}_{#1}}{#2}} \newcommand{\AlignmentSetOfSetsOnLowerDCell}{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1,#2}^{\parallel}} \newcommand{\AlignmentSetOfSetsLeftThreeD}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \ii}^{\parallel}} \newcommand{\AlignmentSetOfSetsRightThreeD}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \ii}^{\parallel}} \newcommand{\MeshUspline}{\boldsymbol{\textsf{\SymbolUspline}}}%changed from mathsf \newcommand{\SetNeighborhoodOfInteraction}{\QuantityFunctionOf{\textsf{NI}}{#1}}%changed from mathsf \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}}%changed from mathsf \newcommand{\RayTailEdge}{\Edge} \newcommand{\RayTailVertexMaxContinuity}{\Smoothness_{#1}^{\max}} \newcommand{\RayTailEdgeMinDegree}{\BernsteinDegree_{#1}^{\min}} \newcommand{\RaySkeleton}{\operatorname{skel}(#1)} \newcommand{\RaySmoothness}{\Smoothness_{#1}^{#2}} \newcommand{\RayDegree}{\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}{\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}}%changed from mathsf \newcommand{\RibbonTailInterf}{\Interface} \newcommand{\RibbonTailCodimTwoCellMaxContinuity}{\Smoothness_{#1}^{\max}} \newcommand{\RibbonTailInterfMinDegree}{\BernsteinDegree_{#1}^{\min}} \newcommand{\RibbonSkeleton}{\operatorname{skel}(#1)} \newcommand{\RibbonSmoothness}{\Smoothness_{#1}^{#2}} \newcommand{\RibbonDegree}{\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}{\RibbonAlgBernIndexVariable_{#1}} \newcommand{\UsplineSpace}{\SpaceHilbert{\SymbolUspline}} \newcommand{\UsplineBasisFunc}{\SymbolBasisUspline} \newcommand{\UsplineBasisFuncDetailed}{\UsplineBasisFunc^{#1}_{#2}} \newcommand{\UsplineBasisFuncSet}{\QuantityFunctionOf{\Set{UF}}{#1}} \newcommand{\UsplineBasisFuncVec}{\QuantityFunctionOf{\QuantityChildOf{#1}{\Vec{\SymbolBasisUspline}}}{#2}} \newcommand{\UsplineBasisFuncSetOnMeshBezier}{\QuantityFunctionOf{\Set{UF}}{\MeshBezier}} \newcommand{\UsplineBasisFuncSetOnMeshUspline}{\QuantityFunctionOf{\Set{UF}}{\MeshUspline}} \newcommand{\UsplineBasisFuncSetSupport}{\Support{\UsplineBasisFuncSet{#1}}} \newcommand{\UsplineBasisFuncId}{A} \newcommand{\UsplineBasisFuncIdAlt}{B} \newcommand{\UsplineBasisFuncIdLocal}{a} \newcommand{\UsplineBasisFuncIdOne}{\UsplineBasisFuncId_0} \newcommand{\UsplineBasisFuncIdTwo}{\UsplineBasisFuncId_1} \newcommand{\UsplineBasisFuncNormalized}{\bar{\SymbolBasisUspline}} \newcommand{\UsplineBasisFuncParam}{\UsplineBasisFuncDetailed{\MeshBezier}{#1}} \newcommand{\UsplineDegree}{q} \newcommand{\UsplineNullVectorCoeff}{\SymbolUsplineLower}%{\MakeLowercase} \newcommand{\UsplineNullVector}{\Vec{\UsplineNullVectorCoeff}} \newcommand{\UsplineNullVectorIds}{\Set{id}} \newcommand{\UsplineNullVectorSet}{\boldsymbol{\textsf{UV}}}%changed from mathsf \newcommand{\UsplineNullVectorSetOfIndexSets}{\boldsymbol{\textsf{UI}}}%changed from mathsf \newcommand{\UsplineNullVectorSetOnMeshBezier}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshBezier}} \newcommand{\UsplineNullVectorSetOnMeshUspline}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshUspline}} \newcommand{\UsplineSpaceOnMeshUspline}{\QCO{\MeshUspline}{\UsplineSpace}} \newcommand{\UsplineCellToGlobalBasisFuncIndexMap}{\operatorname{ucg}(#1)} \newcommand{\UsplineCellToGlobalBasisFuncIndexMapDef}{\FuncDef{\operatorname{ucg}}{\MeshBezier\times\Integers}{\Integers}} \newcommand{\ContiguousIndexMap}{\QuantityFunctionOf{i_{#1}}} \newcommand{\Constraint}{R} %\newcommand{\ConstraintCoeff}{\MakeLowercase{\Constraint}} \newcommand{\ConstraintCoeff}{r} \newcommand{\ConstraintCoeffsSet}{\boldsymbol{\Set{\ConstraintCoeff}}} \newcommand{\ConstraintCoeffsVec}{\Vec{\ConstraintCoeff}} \newcommand{\ConstraintSet}{\QuantityFunctionOf{\Set{\Constraint}}{#1}} \newcommand{\ConstraintSetOnMeshBezier}{\ConstraintSet{\MeshBezier}} \newcommand{\ConstraintMat}{\QuantityFunctionOf{\Mat{\Constraint}}{#1}} \newcommand{\ConstraintMatOnMeshBezier}{\ConstraintMat{\MeshBezier}} \newcommand{\SparsestPossibleBasisOnCell}{\QFO{\Set{N}}{#1}} \newcommand{\NullVectorCoeff}{#1} \newcommand{\NullVector}{\QuantityFunctionOf{\Vec{v}}{#1}} \newcommand{\NullVectorArbitrary}{\QuantityFunctionOf{\Vec{#1}}{#2}} \newcommand{\KCellNullVectorForCellAlpha}{\NullVectorArbitrary{n}{}_{\KCellAlpha}} \newcommand{\KPlusOneCellNullVectorForCellBeta}{\NullVectorArbitrary{n}{}_{\KPlusOneCellBeta}} \newcommand{\NullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}}%changed from mathsf \newcommand{\CompositeNullVectorSet}{\NullVectorSet{#1}^{\prime\prime}} \newcommand{\SimpleNullVectorSet}{\NullVectorSet{#1}^{\prime}} \newcommand{\InterfaceNullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}}{#1}}%changed from mathsf \newcommand{\InterfaceNullVectorAlignedSubset}{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorSetOfIndexSets}{\QuantityFunctionOf{\boldsymbol{\textsf{BI}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetGrevilleSets}{\QuantityFunctionOf{\boldsymbol{\textsf{BG}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetOnMeshBezier}{\NullVectorSet{\MeshBezier}} \newcommand{\NullVectorSetSubordinateToNullVector}{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetSubordinateToNullVectorOnCell}{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorSetOnBdryOfNullVector}{\QuantityFunctionOf{\boldsymbol{\textsf{BD}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBV}}}{#1}}%changed from mathsf \newcommand{\NullVectorIndexEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBI}}}{#1}}%changed from mathsf \newcommand{\NullVectorGrevilleEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBG}}}{#1}}%changed from mathsf \newcommand{\NullVectorExpansionSet}{\QuantityFunctionOf{\boldsymbol{\textsf{XBV}}}{#1,#2}}%changed from mathsf \newcommand{\NullSpaceOperatorForm}{\QuantityFunctionOf{\SpaceHilbert{N}}{#1}} \newcommand{\NullSpaceOperatorFormOnMeshBezier}{\NullSpaceOperatorForm{\MeshBezier}} \newcommand{\NullSpaceVectorForm}{\QuantityFunctionOf{\Set{N}}{#1}} \newcommand{\NullVectorGrevillePointSet}{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}}%changed from mathsf \newcommand{\DegSmoothDiff}{\delta_{#1}^{#2}} \newcommand{\FaceEdgeDiff}{\Set{t}} \newcommand{\FaceEdgeDiffSet}{\Set{T}_{#1}} \newcommand{\PerpTuple}{\QuantityFunctionOf{\FaceEdgeDiff^\perp}{#1}} \newcommand{\ParallelTuple}{\QuantityFunctionOf{\FaceEdgeDiff^\parallel}{#1}} \newcommand{\ElemInterfDiff}{\Set{t}} \newcommand{\ElemInterfDiffSet}{\Set{T}_{#1}} \newcommand{\SpokeSymbol}{\rho} \newcommand{\ElemInterfPairSymbol}{t} \newcommand{\ElemKPlusOneCellPair}{\Set{\SpokeSymbol}} \newcommand{\Spoke}{\ElemKPlusOneCellPair} \newcommand{\ElemInterfPair}{\Set{\ElemInterfPairSymbol}} \newcommand{\EIDPerpTuple}{\QuantityFunctionOf{\ElemInterfDiff^\perp}{#1}} \newcommand{\EIDParallelTuple}{\QuantityFunctionOf{\ElemInterfDiff^\parallel}{#1}} \newcommand{\InclDist}{\QuantityFunctionOf{\textsf{inc}}{#1}}%changed from mathsf \newcommand{\InclDistSet}{\Set{INC}^{#1,#2}} \newcommand{\EdgeInclDist}{\InclDistSet{#2}{#3}_{#1}} \newcommand{\PerpEdgesSet}{\Set{E}^\perp} \newcommand{\PerpInterfacesSet}{\Set{IRF}^\perp} \newcommand{\PerpOfKPlusOneCellInterfSet}{\QuantityFunctionOf{\boldsymbol{\textsf{PI}}}{#1}}%changed from mathsf \newcommand{\PerpKPlusOneCellSet}{\QuantityFunctionOf{\boldsymbol{\textsf{PC}}}{#1}}%changed from mathsf \newcommand{\ElemKPlusOneCellPairPerp}{\QuantityFunctionOf{\Set{\SpokeSymbol}^\perp}{#1}} \newcommand{\ElemInterfPairPerp}{\QuantityFunctionOf{\Set{t}^\perp}{#1}} \newcommand{\ElemInterfPairParallel}{\QuantityFunctionOf{\Set{\ElemInterfPairSymbol}^\parallel}{#1}} \newcommand{\ElemKPlusOneCellPairParallelSet}{\QuantityFunctionOf{\Set{\SpokeSymbol}^\parallel}{#1}} \newcommand{\KPlusOneCellNullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}}{#1}}%changed from mathsf \newcommand{\KPlusOneCellNullVectorAlignedSubset}{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\Graph}{\QuantityFunctionOf{G}{#1}} \newcommand{\GraphCore}{K} \newcommand{\GraphDirectedEdge}{\Edge_{i,j}} \newcommand{\GraphDirectedEdgeIJ}{\Edge_{#1,#2}} \newcommand{\GraphCoreToVertex}{\QuantityFunctionOf{\Vertex}{#1}} \newcommand{\GraphCoreChildren}{\QuantityFunctionOf{\operatorname{children}}{#1}} \newcommand{\GraphVertexToCore}{\QuantityFunctionOf{\GraphCore}{#1}} \newcommand{\GraphInteractingEdges}{\Set{IE}} \newcommand{\GraphCoveredEdges}{\Set{CE}} \newcommand{\GraphFailedEdges}{\Set{FE}} \newcommand{\GraphCandidateEdges}{\Set{XE}} \newcommand{\UsplineClass}{\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{\AlgNameBuildRayOfMaximumCouplingLength}{\textit{BuildRayOfMaximumCouplingLength}} \newcommand{\AlgNameBuildRibbonOfMaximumCouplingLength}{\textit{BuildRibbonOfMaximumCouplingLength}} \newcommand{\AlgNameComputeCoreGraph}{ComputeCoreGraph} \newcommand{\SymbolParentModifier}{\overbar{#1}} \newcommand{\SymbolParamModifier}{\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{\UpperDBMat}{\Mat{U}} \newcommand{\LowerWeightDBMat}{\Mat{W}} \newcommand{\RationalSplineWeightSymbol}{w} \newcommand{\NURBSWeight}{\RationalSplineWeightSymbol} \newcommand{\WeightFunc}[\RationalSplineWeightSymbol]{#1} \newcommand{\DBParamWeight}{\omega} \newcommand{\DualBCoeff}{d}$$\newcommand{\SymbolTime}{t} \newcommand{\SymbolClosestPointMap}{\kappa} \newcommand{\SymbolManifold}{m} \newcommand{\SymbolVolume}{v} \newcommand{\SymbolSurface}{s} \newcommand{\SymbolCurve}{c} \newcommand{\SymbolPoint}{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{\SymbolEnvModifier}{\star\mspace{-1mu} #1} \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{\Partition{}}{\ParamDomain}} \newcommand{\SpatialDim}{\SymbolSpatialDim} \newcommand{\SpatialDomain}{\Reals^{\SymbolSpatialDim}} \newcommand{\SpatialCoord}{\SymbolSpatialCoord} \newcommand{\SpatialCoordUpper}{\SymbolSpatialCoordUpper} \newcommand{\SpatialCoordVec}{\Vec{\SpatialCoord}} \newcommand{\SpatialCoordVecSet}{\QuantityFunctionOf{\boldsymbol{\Set{\SpatialCoordUpper}}}{#1}} \newcommand{\UsplineBasisFuncSpatial}{\UsplineBasisFuncDetailed{\SpatialCoord}{#1}} \newcommand{\Manifold}{\QuantityRelatedTo{\Set{\SymbolManifold}}{#1}} \newcommand{\Volume}{\QuantityRelatedTo{\Set{\SymbolVolume}}{#1}} \newcommand{\Surface}{\QuantityRelatedTo{\Set{\SymbolSurface}}{#1}} \newcommand{\Curve}{\QuantityRelatedTo{\Set{\SymbolCurve}}{#1}} \newcommand{\Point}{\QuantityRelatedTo{\Set{\SymbolPoint}}{#1}} \newcommand{\ManifoldCAD}{\Manifold{\SymbolCAD}} \newcommand{\ManifoldCADModified}{\Manifold{\SymbolCADModified}} \newcommand{\ManifoldCADEnv}{\SymbolEnvModifier{\ManifoldCAD}} \newcommand{\ManifoldCADModifiedEnv}{\SymbolEnvModifier{\ManifoldCADModified}} \newcommand{\ManifoldPartition}{\Manifold{\Partition{}}} \newcommand{\ManifoldBezier}{\Manifold{\MeshBezier}} \newcommand{\ManifoldUspline}{\Manifold{\MeshUspline}} \newcommand{\ManifoldUsplineEnv}{\SymbolEnvModifier{\ManifoldUspline}} \newcommand{\VolumeEnv}{\SymbolEnvModifier{\Volume{}}} \newcommand{\dVolume}{\Differential[\Volume{}]} \newcommand{\VolumeIndicator}{\SymbolIndicator} \newcommand{\SurfaceEnv}{\SymbolEnvModifier{\Surface{}}} \newcommand{\SurfaceCAD}{\Surface{\SymbolCAD}} \newcommand{\SurfaceCADModified}{\Surface{\SymbolCADModified}} \newcommand{\SurfaceMesh}{\Surface{\Partition{}}} \newcommand{\SurfaceUspline}{\Surface{\MeshUspline}} \newcommand{\SurfaceWildCard}{\Surface{}^{\SymbolWildCard}} \newcommand{\dSurface}{\Differential[\Surface{}]} \newcommand{\CurveCAD}{\Curve{\SymbolCAD}} \newcommand{\CurveCADModified}{\Curve{\SymbolCADModified}} \newcommand{\CurveMesh}{\Curve{\Partition{}}} \newcommand{\CurveUspline}{\Curve{\MeshUspline}} \newcommand{\dCurve}{\Differential[\Curve{}]} \newcommand{\PointCAD}{\Point{\SymbolCAD}} \newcommand{\PointCADModified}{\Point{\SymbolCADModified}} \newcommand{\PointUspline}{\Point{\MeshUspline}} \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{\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{\ManifoldMap}{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldTemporalMap}{\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}{\FuncDef{\ManifoldMap{#1}{#2}}{#1}{#2}} \newcommand{\ManifoldMapInverseDef}{\FuncDef{\Inverse{\ManifoldMap{#1}{#2}}}{#2}{#1}} \newcommand{\ManifoldTemporalMapDef}{\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}{\QCO{#1}{#2}} \newcommand{\ManifoldCoordVecDetailed}{\QCO{#1}{\Vec{#2}}} \newcommand{\ManifoldCoord}{x} \newcommand{\ManifoldCoordVec}{\Vec{x}} \newcommand{\ManifoldPartitionMapCoord}{\ManifoldCoordDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldPartitionMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldPartitionMap}{\ManifoldCoordVec}} \newcommand{\ManifoldCADMapCoord}{\ManifoldCoordDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldCADMap}{\ManifoldCoordVec}} \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{\Segment}{\QuantityChildOf{#1}{\SymbolSegment}} \newcommand{\SegmentOfVolumeEnv}{\Segment{\VolumeEnv}} \newcommand{\Hex}{\Segment{}_{h}} \newcommand{\Tet}{\Segment{}_{t}} \newcommand{\SegmentParamDomain}{\QuantityRelatedTo{\ParamDomain}{#1}} \newcommand{\SegmentParamDomainOfVolumeEnv}{\QuantityRelatedTo{\ParamDomain}{\Segment{\VolumeEnv}}} \newcommand{\SegmentSet}{\QuantityFunctionOf{\SymbolSegmentSet}{#1}} \newcommand{\SegmentSetOutside}{\SegmentSet{}^{\SymbolOutside}} \newcommand{\SegmentSetInside}{\SegmentSet{}^{\SymbolInside}} \newcommand{\SegmentSetHybrid}{\SegmentSet{}^{\SymbolHybrid}} \newcommand{\Partition}{\QuantityFunctionOf{\SymbolPartition}{#1}} \newcommand{\PartitionBezierExtraction}{\QuantityFunctionOf{\SymbolPartition^{B}}{#1}} \newcommand{\PartitionTessellation}{\QuantityFunctionOf{\SymbolPartition^{T}}{#1}} \newcommand{\PartitionTessellationOfUspline}{\PartitionTessellation{\MeshUspline}} \newcommand{\PartitionTessellationMap}{\QuantityRelatedTo{#2}{#1}} \newcommand{\BoundingVolume}{\QuantityFunctionOf{\Set{bv}}{#1}} \newcommand{\BoundingVolumeSet}{\QuantityFunctionOf{\Set{BV}}{#1}} \newcommand{\BoundingVolumeTree}{\QuantityFunctionOf{\Set{BVH}}{#1}} \newcommand{\AxisAlignedBoundingBox}{\QuantityFunctionOf{\Set{AABB}}{#1}} \newcommand{\SimplexMap}{\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}{\SymbolEnvModifier{\QuadraturePoint{#1}{#2}}} \newcommand{\QuadraturePoint}{\SymbolQuadraturePoint_{#1}^{#2}} \newcommand{\QuadraturePointToElemIndexMap}{\operatorname{qe}(#1)} \newcommand{\QuadratureWeightEnv}{\SymbolEnvModifier{\QuadratureWeight{#1}{#2}}} \newcommand{\QuadratureWeight}{\SymbolQuadratureWeight_{#1}^{#2}} \newcommand{\QuadratureSet}{\Set{\SymbolQuadratureSet}} \newcommand{\QuadratureSetInside}{\QuadratureSet^{\SymbolInside}} \newcommand{\QuadratureSetOutside}{\QuadratureSet^{\SymbolOutside}} \newcommand{\QuadratureSubdDepth}{k} \newcommand{\ClosestPointMap}{\QuantityChildOf{#1}{\Vec{\SymbolClosestPointMap}}} \newcommand{\ClosestPointMapCAD}{\ClosestPointMap{\SymbolCAD}} \newcommand{\ClosestPointMapCADModified}{\ClosestPointMap{\SymbolCADModified}} \newcommand{\ProjectionInto}{\QuantityRelatedTo{\SymbolProjection}{#1}} \newcommand{\ProjectionIntoBernsteinCell}{\ProjectionInto{\Cell}} \newcommand{\ProjectionIntoBernsteinElem}{\ProjectionInto{\Elem}} \newcommand{\ProjectionIntoMeshBezier}{\ProjectionInto{\MeshBezier}} \newcommand{\ProjectionIntoMeshUspline}{\ProjectionInto{\MeshUspline}}$$\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}{\ManifoldCoordDetailed{#1}{X}} \newcommand{\RefCoordVec}{\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}{\UsplineBasisFuncDetailed{\CurveRef}{#1}} \newcommand{\UsplineBasisFuncOverSurfaceRefDisp}{\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}{\ManifoldCoordDetailed{#1}{x}} \newcommand{\CurrCoordVec}{\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}{\Grad{\VolumeEnvRefMap}{#1}} \newcommand{\VolumeRefMap}{\ManifoldMap{\ParamDomain}{\VolumeRef}} \newcommand{\GenericGradOverVolumeRefMap}{\Grad{\VolumeRefMap}{#1}} \newcommand{\SurfaceRefDispMap}{\ManifoldMap{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMap}{\ManifoldMap{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\CurveRefMap}{\ManifoldMap{\ParamDomain}{\CurveRef}} \newcommand{\GenericGradOverCurveRefMap}{\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}{\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}{U} \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{\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{\KinematicElast}{#1^e} \newcommand{\KinematicPlast}{#1^p} \newcommand{\DivVolumeEnvRef}{\Div{\VolumeEnvRefCoordVec}{#1}} \newcommand{\DivVolumeEnvCurr}{\Div{\VolumeEnvCurrCoordVec}{#1}} \newcommand{\UnitNormalRefComp}{N} \newcommand{\UnitNormalRefTen}{\Vec{N}} \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{\StressKirchhoffComp}{\tau} \newcommand{\StressKirchhoffTen}{\Mat{\tau}} \newcommand{\StressKirchhoffVoigt}{\tilde{\StressKirchhoffTen}} \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{\MaterialThermalExpansion}{\alpha_{\text{thermal}}} \newcommand{\CrossSectArea}{\SymbolArea} \newcommand{\Length}{\SymbolLength} \newcommand{\PenaltyStiffness}{\SymbolPenalty_{\SymbolStiffness}} \newcommand{\PenaltyDisp}{\SymbolPenalty_{\SymbolDisp}} \newcommand{\BodyForceRefComp}{B} \newcommand{\BodyForceRefTen}{\Vec{\BodyForceRefComp}} \newcommand{\BodyForceCurrComp}{\SymbolBodyForce} \newcommand{\BodyForceCurrTen}{\Vec{\BodyForceCurrComp}} \newcommand{\TracForceRefComp}{H} \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{G}} \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}{\QFO{\Energy}{#1}} \newcommand{\EnergyEnv}{\SymbolEnvModifier{\Energy}} \newcommand{\EnergyInside}{\Energy^{\SymbolInside}} \newcommand{\EnergyOutside}{\Energy^{\SymbolOutside}} \newcommand{\EnergyConstraint}{\Energy^{\LagrangeMultCurrComp}} \newcommand{\EnergyDensityStrain}{\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{\FlexOne}{\mathcal{F}_{1}} \newcommand{\FlexInfty}{\mathcal{F}_{\infty}} \newcommand{\Flex}{\mathcal{F}_{#1}} \newcommand{\FlexIt}{\mathcal{F}} \newcommand{\FlexFEA}{\mathcal{F}_{\bar{0}}} \newcommand{\FlexFEAModified}{\mathcal{F}_{0}} \newcommand{\FlexImmersed}{\mathcal{F}_{\infty}} \newcommand{\FlexSpectrum}{\overleftrightarrow{\mathcal{F}}} \newcommand{\FlexSpectrumId}{i} \newcommand{\TimeStep}{\Delta \SymbolTime} \newcommand{\SpectralRadius}{\rho_{\infty}} \newcommand{\SymbolDisp}{u} \newcommand{\SymbolVelocity}{v} \newcommand{\SymbolAcceleration}{a} \newcommand{\SymbolMass}{M} \newcommand{\SymbolLength}{L} \newcommand{\SymbolArea}{A} \newcommand{\SymbolConstraint}{g} \newcommand{\SymbolPenalty}{\varepsilon} \newcommand{\SymbolLagrangeMultRef}{\Lambda} \newcommand{\SymbolLagrangeMultCurr}{\lambda} \newcommand{\SymbolFict}{f} \newcommand{\SymbolTracForce}{h} \newcommand{\SymbolBodyForce}{b} \newcommand{\SymbolVolumeRef}{V} \newcommand{\SymbolSurfaceRef}{S} \newcommand{\SymbolCurveRef}{C} \newcommand{\SymbolPointRef}{P} \newcommand{\SymbolVolumeCurr}{\SymbolVolume} \newcommand{\SymbolSurfaceCurr}{\SymbolSurface} \newcommand{\SymbolCurveCurr}{\SymbolCurve} \newcommand{\SymbolPointCurr}{\SymbolPoint} \newcommand{\SymbolDeformGrad}{F} \newcommand{\SymbolStrainGreenLagrange}{E} \newcommand{\SymbolDeformCauchyGreenLeft}{b} \newcommand{\SymbolDeformCauchyGreenRight}{C} \newcommand{\SymbolStrainDisp}{B} \newcommand{\SymbolStrainSymGrad}{\epsilon} \newcommand{\SymbolEnergy}{\Pi} \newcommand{\SymbolEnergyDensityStrain}{\Psi} \newcommand{\SymbolResidual}{R} \newcommand{\SymbolForce}{F} \newcommand{\SymbolStiffness}{K} \newcommand{\SymbolSolution}{d}$

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} { % \if\relax\detokenize{#2}\relax % {#1} % \else {#1}(#2) % \fi } \newcommand{\QFO}{\QuantityFunctionOf{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOf} { % \if\relax\detokenize{#3}\relax % {#1}_{#2} % \else {#1}_{#2}(#3) % \fi } \newcommand{\SQFO}{\SubscriptedQuantityFunctionOf{#1}{#2}{#3}} \newcommand{\QuantityChildOf} { % \if\relax\detokenize{#1}\relax % {#2} % \else {#2}^{#1} % \fi } \newcommand{\QCO}{\QuantityChildOf{#1}{#2}} \newcommand{\QuantityRelatedTo} { % \if\relax\detokenize{#2}\relax % {#1} % \else {#1}[#2] % \fi } \newcommand{\QRT}{\QuantityRelatedTo{#1}{#2}} \newcommand{\QuantitySubscriptedBy} { % \if\relax\detokenize{#2}\relax % #1 % \else #1_{#2} % \fi } \newcommand{\QSB}{\QuantitySubscriptedBy{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOfChildOf} { % \if\relax\detokenize{#4}\relax % #1_{#2}^{#3} % \else #1_{#2}^{#3}(#4) % \fi } \newcommand{\SQFOCO}{\SubscriptedQuantityFunctionOfChildOf{#1}{#2}{#3}{#4}} \newcommand{\overbar}{\mkern 1.5mu\overline{\mkern-1.5mu#1\mkern-1.5mu}\mkern 1.5mu} \newcommand{\bcdot}{\boldsymbol{\cdot}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Logic %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SuchThat}{\, : \,} \newcommand{\DefEq}{\overset{\operatorname{def}}{=}} \newcommand{\True}{\textsf{True}} \newcommand{\False}{\textsf{False}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Arrays, tuples, and sets %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\ArrayRoster}{\left[#1\right]} \newcommand{\ArrayRosterI}{[#1]_{#2}} \newcommand{\ArrayEmpty}{\ArrayRoster{\hspace{1mm}}} \newcommand{\Tuple}{\mathsf{#1}}%was \mathsf \newcommand{\TupleRoster}{\left(#1\right)} \newcommand{\PointPair}{\TupleRoster{#1, #2}} \newcommand{\Set}{\mathsf{#1}}%was \mathsf \newcommand{\SetRoster}{\left\{ #1 \right\}} \newcommand{\SetRosterIndexed}{\SetRoster{#1}_{#2}^{#3}} \newcommand{\SetRosterPredicate}{\SetRoster{#1 \SuchThat #2}} \newcommand{\SetEmpty}{\varnothing} \newcommand{\SetPower}{\QuantityFunctionOf{\boldsymbol{\Set{P}}}{#1}} \newcommand{\SetNeighborhood}{\QuantityFunctionOf{\boldsymbol{\Set{B}}}{#1}} \newcommand{\Domain}{\Omega} \newcommand{\DomainBdry}{\Gamma} \newcommand{\IntervalClosed}{\left[#1, #2\right]} \newcommand{\IntervalOpen}{\left(#1, #2\right)} \newcommand{\IntervalClosedOpen}{\left[#1, #2\right)} \newcommand{\IntervalOpenClosed}{\left(#1, #2\right]} % special \newcommand{\Reals}{\mathbb{R}} \newcommand{\Naturals}{\mathbb{N}} \newcommand{\Integers}{\mathbb{Z}} \newcommand{\Field}{\mathbb{F}} % properties \newcommand{\Size}{\left\lvert #1 \right\rvert} \newcommand{\Union}{\bigcup\limits_{#1}^{#2} #3} \newcommand{\UnionInline}{\bigcup_{#1}^{#2} #3} \newcommand{\Intersect}{\bigcap\limits_{#1}^{#2} #3} \newcommand{\ElementWiseGreaterOrEqual}{\succeq} \newcommand{\ElemntWiseGreater}{\succ} \newcommand{\ElementWiseLessOrEqual}{\preceq} \newcommand{\ElementWiseLess}{\prec} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Infinite dimensional spaces %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SpaceLinear}{\mathnormal{#1}} \newcommand{\SpaceDual}{\SpaceLinear{#1}^*} % normed spaces \newcommand{\AbsoluteValue}{\Size{#1}} \newcommand{\Norm}{\left\lVert #2 \right\rVert_{#1}} \newcommand{\NormAbstract}{\Norm{}{#1}} \newcommand{\NormSemi}{\Size{#1}} \newcommand{\SpaceLinearNormed}{\left(\SpaceLinear{#1}, \NormAbstract{\bcdot} \right)} \newcommand{\SpaceBanach}{\mathfrak{#1}} % normed and complete % inner product spaces \newcommand{\SymmetricBilinear}{\left(#1, #2\right)} \newcommand{\InnerProduct}{\left\langle#1, #2\right\rangle} \newcommand{\SpaceInnerProduct}{\left(\SpaceLinear{#1}, \InnerProduct{\bcdot}{\bcdot}\right)} \newcommand{\SpaceHilbert}{\mathcal{#1}} \newcommand{\SpaceLTwo}{\SpaceHilbert{L}_2} \newcommand{\SpaceLTwoDef}{\SpaceLTwo\left(#1; #2\right)} \newcommand{\SpaceLInfty}{\SpaceHilbert{L}_\infty} \newcommand{\SpaceLTwoWeighted}{\SpaceLTwo^w} \newcommand{\SpaceSobolevK}{\SpaceHilbert{H}^{#1}} \newcommand{\SpaceSobolevKDef}{\SpaceSobolevK{1}\left(#2 ; #3\right)} % differentiable spaces \newcommand{\Cont}{\operatorname{cont}} \newcommand{\SpaceCont}{\SpaceHilbert{C}} \newcommand{\SpaceContDef}{\SpaceCont\left(#1 ; #2\right)} \newcommand{\SpaceContK}{\SpaceCont^{#1}} \newcommand{\SpaceContKDef}{\SpaceContK{#1}\left(#2; #3\right)} \newcommand{\SpaceContZero}{\SpaceContK{0}} \newcommand{\SpaceContInf}{\SpaceContK{\infty}} \newcommand{\SpaceContInfDef}{\SpaceContKDef{\infty}{#1}{#2}} \newcommand{\SpaceContKBounded}{\SpaceContK{#1}_{#2}} \newcommand{\SpaceContKBoundedDef}{\SpaceCont_{b}^{#1}\left(#2 ; #3\right)} % linear operator spaces \newcommand{\SpaceLinearOperator}{\mathscr{#1}} \newcommand{\SpaceLinearOperatorDef}{\SpaceLinearOperator{L}\left(#1 ; #2\right)} \newcommand{\SpaceLinearOperatorBoundedDef}{\SpaceLinearOperator{B}\left(#1 ; #2\right)} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Finite dimensional spaces %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SpaceLinearN}{\SpaceLinear{#1}^h} \newcommand{\SpaceHilbertN}{\SpaceHilbert{#1}^h} \newcommand{\SpaceVecRealN}{\Reals^{#1}} \newcommand{\SpacePoly}{\SpaceHilbert{P}^{#1}} \newcommand{\SpaceMatrixRealMN}{\Reals^{#1\times#2}} \newcommand{\SpacePolyDef}{\SpacePoly{#1}\left(#2 ; #3\right)} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Functions, vectors, and linear operators %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\Func}[f]{#1} \newcommand{\FuncAlt}[g]{#1} \newcommand{\FuncDef}{#1 \SuchThat #2 \rightarrow #3} \newcommand{\FuncApprox}{#1^h} \newcommand{\LinearOperator}{\SpaceLinearOperator{#1}} \newcommand{\LinearOperatorDef}{\FuncDef{#1}{#2}{#3}} \newcommand{\Functional}{\LinearOperator{#1}} \newcommand{\Projection}{\Pi} \newcommand{\VectorProjection}{\Projection_{#1} {\left(#2\right)}} \newcommand{\Mat}{\boldsymbol{#1}} \newcommand{\MatIJ}{\left[#1\right]_{#2#3}} \newcommand{\MatIdRow}{m} \newcommand{\MatIdCol}{n} \newcommand{\Identity}{\Mat{I}} \newcommand{\KroneckerDelta}{\Mat{\delta}} \newcommand{\LeviCivita}{\Mat{\epsilon}} \newcommand{\Jacobian}{\Mat{J}} \renewcommand{\Vec}{\boldsymbol{#1}} \newcommand{\VecChildOf}{\QCO{#2}{#1}} \newcommand{\VecI}{\{#1\}_{#2}} \newcommand{\ZeroVec}{\Vec{0}} \newcommand{\OneVec}{\Vec{1}} \newcommand{\ZeroMat}{\Mat{0}} \newcommand{\UnitNormalComp}{n} \newcommand{\UnitNormal}{\Vec{\UnitNormalComp}} % rename to UnitNormalTen \newcommand{\MacBracket}{\langle#1\rangle} \newcommand{\HeavisideFunc}{\mathit{H}\left(#1\right)} \newcommand{\DiracDelta}{\delta_{D}\left(#1 - #2\right)} \newcommand{\IdentityTenSym}{\mathbb{I}} \newcommand{\BraKet}{\langle#1\rangle} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Lagrange Optimization %%%%%%%%%%%%%%%%%%%%%%%%%%%% %\newcommand{\Min}{\min\limits_{#1}} %\newcommand{\Max}{\max\limits_{#1}} \newcommand{\FuncObjective}{\QFO{\Func}{#1}} \newcommand{\FuncEqualityConstraints}{\QFO{\Func[\Vec{g}]}{#1}} \newcommand{\VarDesign}{\Vec{\phi}} \newcommand{\VarState}{\QFO{\Vec{u}}{#1}} \newcommand{\FuncLagrangian}{\QFO{\mathscr{L}}{#1}} \newcommand{\FuncAugmentedLagrangian}{\QFO{\mathscr{L}_A}{#1}} \newcommand{\VecLambdaLM}{\QFO{\Vec{\lambda}}{#1}} \newcommand{\LambdaLM}{\QFO{\lambda}{#1}} \newcommand{\SolutionLocalOpt}{\left(#1\right)^*} \newcommand{\ProximalPoint}{\overbar{\VecLambdaLM{}}} \newcommand{\PenaltyParameter}{\rho} \newcommand{\Slacify}{\QSB{#1}{s}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Linear algebra %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\Prod}{\prod\limits_{#1}^{#2}} \newcommand{\ProdInline}{\prod_{#1}^{#2}} \newcommand{\TensorProduct}{\otimes} \newcommand{\Sum} { % COMMENTED OUT FOLLOWING PREVIOUS INSTANCES % \if\relax\detokenize{#2}\relax % \sum\limits_{#1} % \else \sum\limits_{#1}^{#2} % COMMENTED OUT FOLLOWING PREVIOUS INSTANCES % \fi } \newcommand{\SumInline}{\sum_{#1}^{#2}} \newcommand{\Rank}{\operatorname{rank}(#1)} \newcommand{\Nullity}{\operatorname{null}(#1)} \newcommand{\Image}{\operatorname{image}} \newcommand{\Range}{\operatorname{range}} \newcommand{\Inverse}{\left(#1\right)^{-1}} \newcommand{\inverse}{\overline{#1}} % clean up \newcommand{\Transpose}{\left(#1\right)^{T}} \newcommand{\InvTrans}{\left(#1\right)^{-T}} \newcommand{\Complement}{\overbar{#1}} \newcommand{\Adjoint}{\left(#1\right)^*} \newcommand{\OrthogonalComplement}{\left(#1\right)^\perp} \newcommand{\Det}{\QFO{\operatorname{det}}{#1}} \newcommand{\DCT}{\operatorname{DCT}} \newcommand{\IDCT}{\operatorname{IDCT}} \newcommand{\RealPart}{\QFO{\mathfrak{R}}{#1}} \newcommand{\Trace}{\QFO{\operatorname{tr}}{#1}} \newcommand{\Dev}{\QFO{\operatorname{dev}}{#1}} \newcommand{\DevDef}{\Dev{#1} \DefEq #1 - \frac{1}{3}\Trace{#1}\Identity} \newcommand{\dual}{{\bar{#1}}} \newcommand{\symind}{{\uppercase{#1}}} \newcommand{\symmetrizer}{{S}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Bases %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\BasisFuncCoeff}{\QSB{#1}{#2}} \newcommand{\BasisVec}{\QSB{#1}{#2}} \newcommand{\BasisVecChildOf}{\SQFOCO{#1}{#2}{#3}{}} \newcommand{\OrthogonalBasisVec}{\SQFOCO{#1}{#2}{\perp}{}} \newcommand{\OrthonormalBasisVec}{\overbar{\OrthogonalBasisVec{#1}{#2}}} \newcommand{\PolynomialDegree}{p} \newcommand{\BasisFuncId}{i} \newcommand{\BasisFuncIdAlt}{j} \newcommand{\BasisFuncIdAltAlt}{k} \newcommand{\BasisFunc}{\SQFO{#1}{#2}{#3}} \newcommand{\PowerBasisFunc}{\QCO{#2}{#1}} \newcommand{\LegendreBasisFunc}{\SQFO{\Func[P]}{#1}{#2}} \newcommand{\PreNormalizedLegendreBasisFunc}{\hat{\LegendreBasisFunc{#1}{#2}}} \newcommand{\ChebyshevBasisFunc}{\SQFO{\Func[T]}{#1}{#2}} \newcommand{\ChebyshevZeros}{\QSB{z}{#1}} \newcommand{\ChebyshevExtremizers}{\QSB{t}{#1}} \newcommand{\BernToChebMat}{\Mat{T}} \newcommand{\Chebfun}{\biggl(\, \sum_{#2=0}^{#1}{#3}_{#2}\ChebyshevBasisFunc{#2}{}\biggr)} \newcommand{\ChebfunVector}{\left[#1\right]_c} \newcommand{\LagrangeBasisFunc}{\SQFOCO{\Func[L]}{#1}{#2}{#3}} % properties \newcommand{\Span}{\operatorname{span}} \newcommand{\Dim}{\operatorname{dim}} \newcommand{\Support}{\operatorname{supp}(#1)} \newcommand{\SupportPos}{\operatorname{supp}_{+}(#1)} % operations \newcommand{\SumBasis}{\Sum{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\SumInlineBasis}{\SumInline{#1}{#2}{#3}_{#1}{#4}_{#1}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Calculus %%%%%%%%%%%%%%%%%%%%%%%%%%%% % limits \newcommand{\EvaluateTwoLimits}{#1\biggr\rvert_{#2}^{#3}} \newcommand{\EvaluateOneLimit}{\left.#1\right\rvert_{#2}} \newcommand{\Limit}{\lim\limits_{#1\rightarrow #2}} \newcommand{\LimitInline}{\lim_{#1\rightarrow #2}} \newcommand{\DNE}{\operatorname{DNE}} % differentiation \newcommand{\LagrangeDeriv}{{#1}'} \newcommand{\KthLagrangeDeriv}{{#1}^{(#2)}} \newcommand{\LeibnizSubDeriv}{{#1}_{,#2}} \newcommand{\LeibnizFracDeriv}{\frac{d}{d#2}{#1}} \newcommand{\KthLeibnizFracDeriv}{\frac{d^{#2}}{d#3^{#2}}\Func[#1](#3)} \newcommand{\KthLeibnizFracSpecificFunction}{\frac{d^{#2}}{d#3^{#2}}\Func[#1]} \newcommand{\Differential}[x]{\, \operatorname{d}{#1}} \newcommand{\FrechetDeriv}{D{#1}\left(#2\right)} \newcommand{\GateauxDirectionBold}{\Vec{\delta}#1} \newcommand{\GateauxDirection}{\delta #1} \newcommand{\GateauxDerivBold}{D#1(#2; \GateauxDirectionBold{#2})} \newcommand{\GateauxDeriv}{D#1(#2; \GateauxDirection{#2})} \newcommand{\GateauxDerivWithDirection}{D#1\left(#2 \ ;\ #3\right)} \newcommand{\GateauxDerivPartial}{\frac{\partial #1}{\partial #2}} \newcommand{\KthGateauxDerivPartial}{\frac{\partial^{#3} #1}{\partial #2^{#3}}} \newcommand{\Grad}{\boldsymbol{\nabla}^{#1} #2} \newcommand{\Jac}{\Mat{J}} \newcommand{\Div}{\boldsymbol{\nabla}^{#1} \bcdot #2} \newcommand{\Laplace}{\boldsymbol{\Delta}^{#1} #2} \newcommand{\TaylorSeries}{\mathcal{T}\left[\Func[#1]\right](#2)} \newcommand{\TruncatedTaylorSeries}{\mathcal{T}_{#1}\left[\Func[#2]\right]\left(#3\right)} % integration \newcommand{\Int}{\int\limits_{#1}^{#2}} \newcommand{\IntDomain}{\int\limits_{#1}} \newcommand{\IntInline}{\int_{#1}^{#2}} \newcommand{\IntDomainInline}{\int_{#1}} \newcommand{\DetJacobian}{\Det{\Jac}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Numerical Analysis %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\BigO}{\mathcal{O}\left(#1\right)} \newcommand{\Flops}{\operatorname{flops}} \newcommand{\Interpolant}{\mathcal{#1}^{h}} \newcommand{\ErrorApproxComp}{e} \newcommand{\ErrorApproxTen}{\Vec{\ErrorApproxComp}} \newcommand{\ErrorNewton}{\epsilon} % clean up \newcommand{\ApproximateIntegrationError}{\tilde{e}_{#1}} \newcommand{\AnalyticApproximateIntegrationErrorDifference}{\overbar{e}_{#1}}$$\newcommand{\GlosOne}{a} \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{\NumUsplineBasisFuncsOnMeshBezier}{\Size{\UsplineBasisFuncSetOnMeshBezier}} \newcommand{\NumUsplineBasisFuncsOnMeshUspline}{\Size{\UsplineBasisFuncSetOnMeshUspline}} \newcommand{\NumUsplineBasisFuncsOnElem}{\Size{\UsplineBasisFuncSet{\Elem}}} \newcommand{\NumBernsteinBasisFuncsOnMeshBezier}{\Size{\IndexSetOnMeshBezier}} \newcommand{\NumBernsteinBasisFuncsOnElem}{\Size{\IndexSet{\Elem}}} \newcommand{\NumElemsInMeshBezier}{\Size{\CellSet{\ParamDim}}} \newcommand{\ParentDomain}{\SymbolParentModifier{\SymbolDomain}} \newcommand{\ParentDomainChart}{\SymbolParentModifier{\Vec{\phi}}} \newcommand{\ParentDomainChartDetailed}{\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}{\ParentCoord_{#1}} \newcommand{\ParentGrevillePoint}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParentGrevillePointSet}{\QuantityFunctionOf{\Set{\SymbolParentModifier{G}}}{#1}} \newcommand{\BernsteinBasisFuncCoeff}{\SymbolArbitraryCoeffBernstein} \newcommand{\BernsteinBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffBernstein}}}{\MeshBezier}} \newcommand{\BernsteinBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffBernstein}}{\MeshBezier}} \newcommand{\BernFuncLowerDimCell}{\BernsteinBasisFunc^{#1}_{#2}} \newcommand{\BernFuncInterf}{\BernFuncLowerDimCell{\Interface}{#1}} \newcommand{\UsplineBasisFuncCoeff}{\SymbolArbitraryCoeffUspline} \newcommand{\UsplineBasisFuncCoeffAlt}{\SymbolArbitraryCoeffUsplineAlt} \newcommand{\UsplineBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffUspline}}}{\MeshUspline}} \newcommand{\UsplineBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffUspline}}{\MeshUspline}} \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{\ii}{\IndexOnCell{}{\BernsteinBasisFuncIndexTuple}} \newcommand{\jj}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAlt}} \newcommand{\kk}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAltAlt}} \newcommand{\BernsteinBasisFuncIndexTupleB}{\Set{\BernsteinBasisFuncIdB}} \newcommand{\BernsteinDegree}{\PolynomialDegree} \newcommand{\BernsteinDegreeAlt}{q} \newcommand{\BernsteinDegreeTuple}{\Tuple{\BernsteinDegree}} \newcommand{\BernsteinDegreeElevMatComp}{D} \newcommand{\BernsteinDegreeElevMat}{\Mat{\BernsteinDegreeElevMatComp}} \newcommand{\CompletePolynomial}{\AbsoluteValue{#1}} \newcommand{\BernsteinBasisFunc}{\SymbolBernstein} \newcommand{\BernsteinBasisFuncVec}{\QuantityFunctionOf{\QuantityChildOf{#1}{\Vec{\SymbolBernstein}}}{#2}} \newcommand{\BernsteinBasisFuncDetailed}{\BernsteinBasisFunc_{#1}^{#2}} \newcommand{\BernsteinSpace}{\SpaceHilbert{\SymbolBernstein}} \newcommand{\BernsteinRestriction}{#1\vert_{#2}} \newcommand{\Bezier}{B\'ezier } \newcommand{\MeshTopo}{\boldsymbol{\textsf{M}}}%changed from mathsf \newcommand{\MeshBezier}{\boldsymbol{\textsf{B}}}%changed from mathsf \newcommand{\CellArbitrary}{\Set{#1}} \newcommand{\Cell}{\CellArbitrary{c}} % k-cell \newcommand{\CellAlpha}{\CellArbitrary{a}} \newcommand{\CellBeta}{\CellArbitrary{b}} \newcommand{\CellGamma}{\CellArbitrary{c}} \newcommand{\CellToTheLeft}{\CellAlpha} \newcommand{\CellToTheRight}{\CellBeta} \newcommand{\CellBoundary}{\partial #1} \newcommand{\CellSet}{\Set{C}^{#1}} \newcommand{\CellSetAdjacent}{\QuantityFunctionOf{\Set{ADJ}^{#1}}{#2}} \newcommand{\CellSetCardinal}{\QuantityFunctionOf{\Set{CRD}}{#1}} \newcommand{\CellSetSupport}{\Support{#1}} \newcommand{\Elem}{\Set{E}} % d-cell \newcommand{\Interface}{\Set{I}} % (d-1)-cell \newcommand{\Smoothness}{\vartheta} \newcommand{\SmoothnessVar}{\rho} \newcommand{\SmoothnessSet}{\Set{\Smoothness}} \newcommand{\InterfaceSmoothness}{\QuantityChildOf{#1}{\Smoothness}} \newcommand{\MaxPerpCont}{\QuantityFunctionOf{\Smoothness^{\perp}_{\max}}{#1}} \newcommand{\Face}{\Set{f}} % 2-cell \newcommand{\Edge}{\Set{e}} % 1-cell \newcommand{\Vertex}{\Set{v}} % 0-cell \newcommand{\CodimTwoCell}{\Set{w}} % (d-2)-cell \newcommand{\KCell}{\Cell^\ArbDim} \newcommand{\KPlusOneCell}{\Cell^{\ArbDim+1}} \newcommand{\KCellAlpha}{\CellAlpha^\ArbDim} \newcommand{\KPlusOneCellBeta}{\CellBeta^{\ArbDim+1}} \newcommand{\KPlusOneCellAdjacentIndexedSubmeshDomain}{\QuantityChildOf{\CellAlpha\CellBeta}{\SubmeshDomain}} \newcommand{\MaxParallelDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\max}}{#1}} \newcommand{\MinParallelDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\min}}{#1}} \newcommand{\MaxPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\max}}{#1}} \newcommand{\MinPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\min}}{#1}} \newcommand{\MinParallelPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\min}}{#1,#2}} \newcommand{\MaxParallelPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\max}}{#1,#2}} \newcommand{\DegreeParallel}{\BernsteinDegree^{\parallel}} \newcommand{\DegreeParallelToEdge}{\DegreeParallel_{#1}(#2)} \newcommand{\DegreePerp}{\BernsteinDegree^{\perp}} \newcommand{\DegreePerpToInterface}{\DegreePerp_{#1}(#2)} \newcommand{\DegreeTupleParallelToKCell}{\Tuple{\BernsteinDegree}^{\parallel}_{#1}(#2)} \newcommand{\ChangeInDegree}{\Delta(\BernsteinDegree)_{#1}^{#2}} \newcommand{\IndexSet}{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\CompositeBVUnionIndexSet}{\QuantityFunctionOf{\Set{UID}}{#1}} \newcommand{\IndexSetPosCoeffs}{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\IndexSetSet}{\QuantityFunctionOf{\boldsymbol{\IndexSet{}}}{#1}} \newcommand{\IndexSetOnMeshBezier}{\IndexSet{\MeshBezier}} \newcommand{\IndexOnCell}{\QuantityChildOf{#1}{#2}} \newcommand{\IndexOnCellIJ}{\QuantityChildOf{#1}{\TupleRoster{#2,#3}}} \newcommand{\CellFromQuantity}{\QuantityFunctionOf{\operatorname{cell}}{#1}} \newcommand{\ExtractionOp}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{C}}{#2}}} \newcommand{\ExtractionOpSimple}{\QuantityFunctionOf{\Mat{C}}{#1}} \newcommand{\ReconstructOp}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{R}}{#2}}} \newcommand{\ReconstructOpSimple}{\QuantityFunctionOf{\Mat{R}}{#1}} \newcommand{\Gramian}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{G}}{#2}}} \newcommand{\GramianSimple}{\QuantityFunctionOf{\Mat{G}}{#1}} \newcommand{\BernsteinSpaceOnMeshBezier}{\QCO{\MeshBezier}{\BernsteinSpace}} \newcommand{\BernsteinTraceMappingMat}{\Mat{M}} \newcommand{\ParamDomain}{\SymbolParamModifier{\SymbolDomain}} \newcommand{\ParamDomainOnCell}{\QuantityChildOf{\Cell}{\ParamDomain}} \newcommand{\ParamDomainBdry}{\SymbolParamModifier{\SymbolDomainBdry}} \newcommand{\ParamDomainChart}{\QuantityFunctionOf{\Vec{\phi}^{#1}}{#2}} \newcommand{\ParamDim}{\SymbolDim} \newcommand{\ParamCoordSimple}{s} \newcommand{\ParamCoord}{\QCO{#1}{s}} \newcommand{\ParamCoordVecSimple}{\Vec{s}} \newcommand{\ParamCoordVec}{\QCO{#1}{\Vec{\ParamCoord{}}}} \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}{\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{\NormalParamCoordSet}{\QuantityFunctionOf{\ParamCoordVecSimple^{\perp}_{#1}}{#2}} \newcommand{\ParallelParamCoordSet}{\QuantityFunctionOf{\ParamCoordVecSimple^{\parallel}_{#1}}{#2}} \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}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParamModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParamGrevillePointSet}{\QuantityFunctionOf{\Set{\SymbolParamModifier{G}}}{#1}} \newcommand{\ParamDomainOnMeshBezier}{\QuantityChildOf{\MeshBezier}{\ParamDomain}} \newcommand{\ParamDomainOnMeshUspline}{\QuantityChildOf{\MeshUspline}{\ParamDomain}} \newcommand{\Submesh}{\boldsymbol{\mathsf{K}}}%changed from mathsf \newcommand{\SubmeshDomain}{\SymbolSubmeshModifier{\SymbolDomain}} \newcommand{\SubmeshDomainChart}{\QuantityFunctionOf{\Vec{\varphi}^{#1}}{#2}} \newcommand{\SubmeshDomainParameter}{\mathsf{\alpha}}%changed from mathsf \newcommand{\SubmeshDomainParameterVec}{\Vec{\SubmeshDomainParameter}} \newcommand{\SubmeshGrevillePoint}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\SubmeshGrevillePointSimple}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}{#1}} \newcommand{\SubmeshGrevilleMaxPoint}{\QuantityChildOf{#1}{\Set{\SymbolGrevillePoint}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSimple}{\Set{\SymbolGrevillePoint}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSet}{\QuantityChildOf{#1}{\Set{G}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSetSimple}{\Set{G}_{\max}} \newcommand{\SubmeshGrevilleMinPointSet}{\QuantityChildOf{#1}{\Set{G}}_{\min}} \newcommand{\SubmeshGrevilleMinPointSetSimple}{\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}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{G}}}{#1}} \newcommand{\SubmeshGrevillePointSetLeft}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GA}}}{#1}} \newcommand{\SubmeshGrevillePointSetRight}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GB}}}{#1}} \newcommand{\SubmeshGrevillePointSetElement}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GE}}_{#1}}{#2}} \newcommand{\SubmeshGrevillePointSetIntersect}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GI}}}{#1}} \newcommand{\SubmeshGrevillePointSetUnion}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GU}}}{#1}} \newcommand{\SubmeshGrevillePointSetSet}{\QuantityFunctionOf{\boldsymbol{\SubmeshGrevillePointSet{}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetLeft}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GA}}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetRight}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GB}}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetElement}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1}}{#2}} \newcommand{\SubmeshGrevilleDifferenceVectorsSetLeft}{\Delta\SubmeshGrevilleMaxPointSetLeft} \newcommand{\SubmeshGrevilleDifferenceVectorsSetRight}{\Delta\SubmeshGrevilleMaxPointSetRight} \newcommand{\SubmeshGrevilleDifferenceVector}{\Delta\SubmeshGrevilleMaxPoint{\GlosOne}} \newcommand{\SubmeshGrevilleDifferenceVectorLeft}{\Delta\SubmeshGrevilleMaxPointLeft} \newcommand{\SubmeshGrevilleDifferenceVectorRight}{\Delta\SubmeshGrevilleMaxPointRight} \newcommand{\SubmeshGrevilleDifferenceVectorsSet}{\Delta \SubmeshGrevillePointSet{\GlosOne}} \newcommand{\SubmeshGrevilleDistanceToCell}{\QuantityFunctionOf{\SymbolDistance}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCell}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMin}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\min}}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMax}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\max}}{#1, #2}} \newcommand{\SubmeshPerpProjection}{\QuantityFunctionOf{\Projection^{\perp}_{#1}}{#2}} \newcommand{\SubmeshParallelProjection}{\QuantityFunctionOf{\Projection^{\parallel}_{#1}}{#2}} \newcommand{\SubmeshStarProjection}{\QuantityFunctionOf{\Projection^{*}_{#1}}{#2}} \newcommand{\SubmeshPerpEquivalence}{\QuantityFunctionOf{\varpi^{\perp}_{#1}}{#2}} \newcommand{\SubmeshParallelEquivalence}{\QuantityFunctionOf{\varpi^{\parallel}_{#1}}{#2}} \newcommand{\SubmeshStarEquivalence}{\QuantityFunctionOf{\varpi^{*}_{#1}}{#2}} \newcommand{\AlignedSet}{{\boldsymbol{\textsf{Align}}}}%changed from mathsf \newcommand{\AlignedSetSet}{{\boldsymbol{\textsf{ALIGN}}}}%changed from mathsf \newcommand{\AlignmentSetOfSetsLeft}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetOfSetsRight}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetForInterfaceGrevillePoint}{\AlignedSet_{\SubmeshGrevillePoint{\Interface}{}}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRow}{\QuantityFunctionOf{\Set{NZ}_{#1}}{#2}} \newcommand{\AlignmentSetOfSetsOnLowerDCell}{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1,#2}^{\parallel}} \newcommand{\AlignmentSetOfSetsLeftThreeD}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \ii}^{\parallel}} \newcommand{\AlignmentSetOfSetsRightThreeD}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \ii}^{\parallel}} \newcommand{\MeshUspline}{\boldsymbol{\textsf{\SymbolUspline}}}%changed from mathsf \newcommand{\SetNeighborhoodOfInteraction}{\QuantityFunctionOf{\textsf{NI}}{#1}}%changed from mathsf \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}}%changed from mathsf \newcommand{\RayTailEdge}{\Edge} \newcommand{\RayTailVertexMaxContinuity}{\Smoothness_{#1}^{\max}} \newcommand{\RayTailEdgeMinDegree}{\BernsteinDegree_{#1}^{\min}} \newcommand{\RaySkeleton}{\operatorname{skel}(#1)} \newcommand{\RaySmoothness}{\Smoothness_{#1}^{#2}} \newcommand{\RayDegree}{\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}{\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}}%changed from mathsf \newcommand{\RibbonTailInterf}{\Interface} \newcommand{\RibbonTailCodimTwoCellMaxContinuity}{\Smoothness_{#1}^{\max}} \newcommand{\RibbonTailInterfMinDegree}{\BernsteinDegree_{#1}^{\min}} \newcommand{\RibbonSkeleton}{\operatorname{skel}(#1)} \newcommand{\RibbonSmoothness}{\Smoothness_{#1}^{#2}} \newcommand{\RibbonDegree}{\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}{\RibbonAlgBernIndexVariable_{#1}} \newcommand{\UsplineSpace}{\SpaceHilbert{\SymbolUspline}} \newcommand{\UsplineBasisFunc}{\SymbolBasisUspline} \newcommand{\UsplineBasisFuncDetailed}{\UsplineBasisFunc^{#1}_{#2}} \newcommand{\UsplineBasisFuncSet}{\QuantityFunctionOf{\Set{UF}}{#1}} \newcommand{\UsplineBasisFuncVec}{\QuantityFunctionOf{\QuantityChildOf{#1}{\Vec{\SymbolBasisUspline}}}{#2}} \newcommand{\UsplineBasisFuncSetOnMeshBezier}{\QuantityFunctionOf{\Set{UF}}{\MeshBezier}} \newcommand{\UsplineBasisFuncSetOnMeshUspline}{\QuantityFunctionOf{\Set{UF}}{\MeshUspline}} \newcommand{\UsplineBasisFuncSetSupport}{\Support{\UsplineBasisFuncSet{#1}}} \newcommand{\UsplineBasisFuncId}{A} \newcommand{\UsplineBasisFuncIdAlt}{B} \newcommand{\UsplineBasisFuncIdLocal}{a} \newcommand{\UsplineBasisFuncIdOne}{\UsplineBasisFuncId_0} \newcommand{\UsplineBasisFuncIdTwo}{\UsplineBasisFuncId_1} \newcommand{\UsplineBasisFuncNormalized}{\bar{\SymbolBasisUspline}} \newcommand{\UsplineBasisFuncParam}{\UsplineBasisFuncDetailed{\MeshBezier}{#1}} \newcommand{\UsplineDegree}{q} \newcommand{\UsplineNullVectorCoeff}{\SymbolUsplineLower}%{\MakeLowercase} \newcommand{\UsplineNullVector}{\Vec{\UsplineNullVectorCoeff}} \newcommand{\UsplineNullVectorIds}{\Set{id}} \newcommand{\UsplineNullVectorSet}{\boldsymbol{\textsf{UV}}}%changed from mathsf \newcommand{\UsplineNullVectorSetOfIndexSets}{\boldsymbol{\textsf{UI}}}%changed from mathsf \newcommand{\UsplineNullVectorSetOnMeshBezier}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshBezier}} \newcommand{\UsplineNullVectorSetOnMeshUspline}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshUspline}} \newcommand{\UsplineSpaceOnMeshUspline}{\QCO{\MeshUspline}{\UsplineSpace}} \newcommand{\UsplineCellToGlobalBasisFuncIndexMap}{\operatorname{ucg}(#1)} \newcommand{\UsplineCellToGlobalBasisFuncIndexMapDef}{\FuncDef{\operatorname{ucg}}{\MeshBezier\times\Integers}{\Integers}} \newcommand{\ContiguousIndexMap}{\QuantityFunctionOf{i_{#1}}} \newcommand{\Constraint}{R} %\newcommand{\ConstraintCoeff}{\MakeLowercase{\Constraint}} \newcommand{\ConstraintCoeff}{r} \newcommand{\ConstraintCoeffsSet}{\boldsymbol{\Set{\ConstraintCoeff}}} \newcommand{\ConstraintCoeffsVec}{\Vec{\ConstraintCoeff}} \newcommand{\ConstraintSet}{\QuantityFunctionOf{\Set{\Constraint}}{#1}} \newcommand{\ConstraintSetOnMeshBezier}{\ConstraintSet{\MeshBezier}} \newcommand{\ConstraintMat}{\QuantityFunctionOf{\Mat{\Constraint}}{#1}} \newcommand{\ConstraintMatOnMeshBezier}{\ConstraintMat{\MeshBezier}} \newcommand{\SparsestPossibleBasisOnCell}{\QFO{\Set{N}}{#1}} \newcommand{\NullVectorCoeff}{#1} \newcommand{\NullVector}{\QuantityFunctionOf{\Vec{v}}{#1}} \newcommand{\NullVectorArbitrary}{\QuantityFunctionOf{\Vec{#1}}{#2}} \newcommand{\KCellNullVectorForCellAlpha}{\NullVectorArbitrary{n}{}_{\KCellAlpha}} \newcommand{\KPlusOneCellNullVectorForCellBeta}{\NullVectorArbitrary{n}{}_{\KPlusOneCellBeta}} \newcommand{\NullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}}%changed from mathsf \newcommand{\CompositeNullVectorSet}{\NullVectorSet{#1}^{\prime\prime}} \newcommand{\SimpleNullVectorSet}{\NullVectorSet{#1}^{\prime}} \newcommand{\InterfaceNullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}}{#1}}%changed from mathsf \newcommand{\InterfaceNullVectorAlignedSubset}{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorSetOfIndexSets}{\QuantityFunctionOf{\boldsymbol{\textsf{BI}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetGrevilleSets}{\QuantityFunctionOf{\boldsymbol{\textsf{BG}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetOnMeshBezier}{\NullVectorSet{\MeshBezier}} \newcommand{\NullVectorSetSubordinateToNullVector}{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetSubordinateToNullVectorOnCell}{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorSetOnBdryOfNullVector}{\QuantityFunctionOf{\boldsymbol{\textsf{BD}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBV}}}{#1}}%changed from mathsf \newcommand{\NullVectorIndexEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBI}}}{#1}}%changed from mathsf \newcommand{\NullVectorGrevilleEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBG}}}{#1}}%changed from mathsf \newcommand{\NullVectorExpansionSet}{\QuantityFunctionOf{\boldsymbol{\textsf{XBV}}}{#1,#2}}%changed from mathsf \newcommand{\NullSpaceOperatorForm}{\QuantityFunctionOf{\SpaceHilbert{N}}{#1}} \newcommand{\NullSpaceOperatorFormOnMeshBezier}{\NullSpaceOperatorForm{\MeshBezier}} \newcommand{\NullSpaceVectorForm}{\QuantityFunctionOf{\Set{N}}{#1}} \newcommand{\NullVectorGrevillePointSet}{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}}%changed from mathsf \newcommand{\DegSmoothDiff}{\delta_{#1}^{#2}} \newcommand{\FaceEdgeDiff}{\Set{t}} \newcommand{\FaceEdgeDiffSet}{\Set{T}_{#1}} \newcommand{\PerpTuple}{\QuantityFunctionOf{\FaceEdgeDiff^\perp}{#1}} \newcommand{\ParallelTuple}{\QuantityFunctionOf{\FaceEdgeDiff^\parallel}{#1}} \newcommand{\ElemInterfDiff}{\Set{t}} \newcommand{\ElemInterfDiffSet}{\Set{T}_{#1}} \newcommand{\SpokeSymbol}{\rho} \newcommand{\ElemInterfPairSymbol}{t} \newcommand{\ElemKPlusOneCellPair}{\Set{\SpokeSymbol}} \newcommand{\Spoke}{\ElemKPlusOneCellPair} \newcommand{\ElemInterfPair}{\Set{\ElemInterfPairSymbol}} \newcommand{\EIDPerpTuple}{\QuantityFunctionOf{\ElemInterfDiff^\perp}{#1}} \newcommand{\EIDParallelTuple}{\QuantityFunctionOf{\ElemInterfDiff^\parallel}{#1}} \newcommand{\InclDist}{\QuantityFunctionOf{\textsf{inc}}{#1}}%changed from mathsf \newcommand{\InclDistSet}{\Set{INC}^{#1,#2}} \newcommand{\EdgeInclDist}{\InclDistSet{#2}{#3}_{#1}} \newcommand{\PerpEdgesSet}{\Set{E}^\perp} \newcommand{\PerpInterfacesSet}{\Set{IRF}^\perp} \newcommand{\PerpOfKPlusOneCellInterfSet}{\QuantityFunctionOf{\boldsymbol{\textsf{PI}}}{#1}}%changed from mathsf \newcommand{\PerpKPlusOneCellSet}{\QuantityFunctionOf{\boldsymbol{\textsf{PC}}}{#1}}%changed from mathsf \newcommand{\ElemKPlusOneCellPairPerp}{\QuantityFunctionOf{\Set{\SpokeSymbol}^\perp}{#1}} \newcommand{\ElemInterfPairPerp}{\QuantityFunctionOf{\Set{t}^\perp}{#1}} \newcommand{\ElemInterfPairParallel}{\QuantityFunctionOf{\Set{\ElemInterfPairSymbol}^\parallel}{#1}} \newcommand{\ElemKPlusOneCellPairParallelSet}{\QuantityFunctionOf{\Set{\SpokeSymbol}^\parallel}{#1}} \newcommand{\KPlusOneCellNullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}}{#1}}%changed from mathsf \newcommand{\KPlusOneCellNullVectorAlignedSubset}{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\Graph}{\QuantityFunctionOf{G}{#1}} \newcommand{\GraphCore}{K} \newcommand{\GraphDirectedEdge}{\Edge_{i,j}} \newcommand{\GraphDirectedEdgeIJ}{\Edge_{#1,#2}} \newcommand{\GraphCoreToVertex}{\QuantityFunctionOf{\Vertex}{#1}} \newcommand{\GraphCoreChildren}{\QuantityFunctionOf{\operatorname{children}}{#1}} \newcommand{\GraphVertexToCore}{\QuantityFunctionOf{\GraphCore}{#1}} \newcommand{\GraphInteractingEdges}{\Set{IE}} \newcommand{\GraphCoveredEdges}{\Set{CE}} \newcommand{\GraphFailedEdges}{\Set{FE}} \newcommand{\GraphCandidateEdges}{\Set{XE}} \newcommand{\UsplineClass}{\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{\AlgNameBuildRayOfMaximumCouplingLength}{\textit{BuildRayOfMaximumCouplingLength}} \newcommand{\AlgNameBuildRibbonOfMaximumCouplingLength}{\textit{BuildRibbonOfMaximumCouplingLength}} \newcommand{\AlgNameComputeCoreGraph}{ComputeCoreGraph} \newcommand{\SymbolParentModifier}{\overbar{#1}} \newcommand{\SymbolParamModifier}{\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{\UpperDBMat}{\Mat{U}} \newcommand{\LowerWeightDBMat}{\Mat{W}} \newcommand{\RationalSplineWeightSymbol}{w} \newcommand{\NURBSWeight}{\RationalSplineWeightSymbol} \newcommand{\WeightFunc}[\RationalSplineWeightSymbol]{#1} \newcommand{\DBParamWeight}{\omega} \newcommand{\DualBCoeff}{d}$$\newcommand{\SymbolTime}{t} \newcommand{\SymbolClosestPointMap}{\kappa} \newcommand{\SymbolManifold}{m} \newcommand{\SymbolVolume}{v} \newcommand{\SymbolSurface}{s} \newcommand{\SymbolCurve}{c} \newcommand{\SymbolPoint}{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{\SymbolEnvModifier}{\star\mspace{-1mu} #1} \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{\Partition{}}{\ParamDomain}} \newcommand{\SpatialDim}{\SymbolSpatialDim} \newcommand{\SpatialDomain}{\Reals^{\SymbolSpatialDim}} \newcommand{\SpatialCoord}{\SymbolSpatialCoord} \newcommand{\SpatialCoordUpper}{\SymbolSpatialCoordUpper} \newcommand{\SpatialCoordVec}{\Vec{\SpatialCoord}} \newcommand{\SpatialCoordVecSet}{\QuantityFunctionOf{\boldsymbol{\Set{\SpatialCoordUpper}}}{#1}} \newcommand{\UsplineBasisFuncSpatial}{\UsplineBasisFuncDetailed{\SpatialCoord}{#1}} \newcommand{\Manifold}{\QuantityRelatedTo{\Set{\SymbolManifold}}{#1}} \newcommand{\Volume}{\QuantityRelatedTo{\Set{\SymbolVolume}}{#1}} \newcommand{\Surface}{\QuantityRelatedTo{\Set{\SymbolSurface}}{#1}} \newcommand{\Curve}{\QuantityRelatedTo{\Set{\SymbolCurve}}{#1}} \newcommand{\Point}{\QuantityRelatedTo{\Set{\SymbolPoint}}{#1}} \newcommand{\ManifoldCAD}{\Manifold{\SymbolCAD}} \newcommand{\ManifoldCADModified}{\Manifold{\SymbolCADModified}} \newcommand{\ManifoldCADEnv}{\SymbolEnvModifier{\ManifoldCAD}} \newcommand{\ManifoldCADModifiedEnv}{\SymbolEnvModifier{\ManifoldCADModified}} \newcommand{\ManifoldPartition}{\Manifold{\Partition{}}} \newcommand{\ManifoldBezier}{\Manifold{\MeshBezier}} \newcommand{\ManifoldUspline}{\Manifold{\MeshUspline}} \newcommand{\ManifoldUsplineEnv}{\SymbolEnvModifier{\ManifoldUspline}} \newcommand{\VolumeEnv}{\SymbolEnvModifier{\Volume{}}} \newcommand{\dVolume}{\Differential[\Volume{}]} \newcommand{\VolumeIndicator}{\SymbolIndicator} \newcommand{\SurfaceEnv}{\SymbolEnvModifier{\Surface{}}} \newcommand{\SurfaceCAD}{\Surface{\SymbolCAD}} \newcommand{\SurfaceCADModified}{\Surface{\SymbolCADModified}} \newcommand{\SurfaceMesh}{\Surface{\Partition{}}} \newcommand{\SurfaceUspline}{\Surface{\MeshUspline}} \newcommand{\SurfaceWildCard}{\Surface{}^{\SymbolWildCard}} \newcommand{\dSurface}{\Differential[\Surface{}]} \newcommand{\CurveCAD}{\Curve{\SymbolCAD}} \newcommand{\CurveCADModified}{\Curve{\SymbolCADModified}} \newcommand{\CurveMesh}{\Curve{\Partition{}}} \newcommand{\CurveUspline}{\Curve{\MeshUspline}} \newcommand{\dCurve}{\Differential[\Curve{}]} \newcommand{\PointCAD}{\Point{\SymbolCAD}} \newcommand{\PointCADModified}{\Point{\SymbolCADModified}} \newcommand{\PointUspline}{\Point{\MeshUspline}} \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{\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{\ManifoldMap}{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldTemporalMap}{\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}{\FuncDef{\ManifoldMap{#1}{#2}}{#1}{#2}} \newcommand{\ManifoldMapInverseDef}{\FuncDef{\Inverse{\ManifoldMap{#1}{#2}}}{#2}{#1}} \newcommand{\ManifoldTemporalMapDef}{\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}{\QCO{#1}{#2}} \newcommand{\ManifoldCoordVecDetailed}{\QCO{#1}{\Vec{#2}}} \newcommand{\ManifoldCoord}{x} \newcommand{\ManifoldCoordVec}{\Vec{x}} \newcommand{\ManifoldPartitionMapCoord}{\ManifoldCoordDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldPartitionMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldPartitionMap}{\ManifoldCoordVec}} \newcommand{\ManifoldCADMapCoord}{\ManifoldCoordDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldCADMap}{\ManifoldCoordVec}} \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{\Segment}{\QuantityChildOf{#1}{\SymbolSegment}} \newcommand{\SegmentOfVolumeEnv}{\Segment{\VolumeEnv}} \newcommand{\Hex}{\Segment{}_{h}} \newcommand{\Tet}{\Segment{}_{t}} \newcommand{\SegmentParamDomain}{\QuantityRelatedTo{\ParamDomain}{#1}} \newcommand{\SegmentParamDomainOfVolumeEnv}{\QuantityRelatedTo{\ParamDomain}{\Segment{\VolumeEnv}}} \newcommand{\SegmentSet}{\QuantityFunctionOf{\SymbolSegmentSet}{#1}} \newcommand{\SegmentSetOutside}{\SegmentSet{}^{\SymbolOutside}} \newcommand{\SegmentSetInside}{\SegmentSet{}^{\SymbolInside}} \newcommand{\SegmentSetHybrid}{\SegmentSet{}^{\SymbolHybrid}} \newcommand{\Partition}{\QuantityFunctionOf{\SymbolPartition}{#1}} \newcommand{\PartitionBezierExtraction}{\QuantityFunctionOf{\SymbolPartition^{B}}{#1}} \newcommand{\PartitionTessellation}{\QuantityFunctionOf{\SymbolPartition^{T}}{#1}} \newcommand{\PartitionTessellationOfUspline}{\PartitionTessellation{\MeshUspline}} \newcommand{\PartitionTessellationMap}{\QuantityRelatedTo{#2}{#1}} \newcommand{\BoundingVolume}{\QuantityFunctionOf{\Set{bv}}{#1}} \newcommand{\BoundingVolumeSet}{\QuantityFunctionOf{\Set{BV}}{#1}} \newcommand{\BoundingVolumeTree}{\QuantityFunctionOf{\Set{BVH}}{#1}} \newcommand{\AxisAlignedBoundingBox}{\QuantityFunctionOf{\Set{AABB}}{#1}} \newcommand{\SimplexMap}{\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}{\SymbolEnvModifier{\QuadraturePoint{#1}{#2}}} \newcommand{\QuadraturePoint}{\SymbolQuadraturePoint_{#1}^{#2}} \newcommand{\QuadraturePointToElemIndexMap}{\operatorname{qe}(#1)} \newcommand{\QuadratureWeightEnv}{\SymbolEnvModifier{\QuadratureWeight{#1}{#2}}} \newcommand{\QuadratureWeight}{\SymbolQuadratureWeight_{#1}^{#2}} \newcommand{\QuadratureSet}{\Set{\SymbolQuadratureSet}} \newcommand{\QuadratureSetInside}{\QuadratureSet^{\SymbolInside}} \newcommand{\QuadratureSetOutside}{\QuadratureSet^{\SymbolOutside}} \newcommand{\QuadratureSubdDepth}{k} \newcommand{\ClosestPointMap}{\QuantityChildOf{#1}{\Vec{\SymbolClosestPointMap}}} \newcommand{\ClosestPointMapCAD}{\ClosestPointMap{\SymbolCAD}} \newcommand{\ClosestPointMapCADModified}{\ClosestPointMap{\SymbolCADModified}} \newcommand{\ProjectionInto}{\QuantityRelatedTo{\SymbolProjection}{#1}} \newcommand{\ProjectionIntoBernsteinCell}{\ProjectionInto{\Cell}} \newcommand{\ProjectionIntoBernsteinElem}{\ProjectionInto{\Elem}} \newcommand{\ProjectionIntoMeshBezier}{\ProjectionInto{\MeshBezier}} \newcommand{\ProjectionIntoMeshUspline}{\ProjectionInto{\MeshUspline}}$$\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}{\ManifoldCoordDetailed{#1}{X}} \newcommand{\RefCoordVec}{\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}{\UsplineBasisFuncDetailed{\CurveRef}{#1}} \newcommand{\UsplineBasisFuncOverSurfaceRefDisp}{\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}{\ManifoldCoordDetailed{#1}{x}} \newcommand{\CurrCoordVec}{\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}{\Grad{\VolumeEnvRefMap}{#1}} \newcommand{\VolumeRefMap}{\ManifoldMap{\ParamDomain}{\VolumeRef}} \newcommand{\GenericGradOverVolumeRefMap}{\Grad{\VolumeRefMap}{#1}} \newcommand{\SurfaceRefDispMap}{\ManifoldMap{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMap}{\ManifoldMap{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\CurveRefMap}{\ManifoldMap{\ParamDomain}{\CurveRef}} \newcommand{\GenericGradOverCurveRefMap}{\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}{\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}{U} \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{\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{\KinematicElast}{#1^e} \newcommand{\KinematicPlast}{#1^p} \newcommand{\DivVolumeEnvRef}{\Div{\VolumeEnvRefCoordVec}{#1}} \newcommand{\DivVolumeEnvCurr}{\Div{\VolumeEnvCurrCoordVec}{#1}} \newcommand{\UnitNormalRefComp}{N} \newcommand{\UnitNormalRefTen}{\Vec{N}} \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{\StressKirchhoffComp}{\tau} \newcommand{\StressKirchhoffTen}{\Mat{\tau}} \newcommand{\StressKirchhoffVoigt}{\tilde{\StressKirchhoffTen}} \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{\MaterialThermalExpansion}{\alpha_{\text{thermal}}} \newcommand{\CrossSectArea}{\SymbolArea} \newcommand{\Length}{\SymbolLength} \newcommand{\PenaltyStiffness}{\SymbolPenalty_{\SymbolStiffness}} \newcommand{\PenaltyDisp}{\SymbolPenalty_{\SymbolDisp}} \newcommand{\BodyForceRefComp}{B} \newcommand{\BodyForceRefTen}{\Vec{\BodyForceRefComp}} \newcommand{\BodyForceCurrComp}{\SymbolBodyForce} \newcommand{\BodyForceCurrTen}{\Vec{\BodyForceCurrComp}} \newcommand{\TracForceRefComp}{H} \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{G}} \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}{\QFO{\Energy}{#1}} \newcommand{\EnergyEnv}{\SymbolEnvModifier{\Energy}} \newcommand{\EnergyInside}{\Energy^{\SymbolInside}} \newcommand{\EnergyOutside}{\Energy^{\SymbolOutside}} \newcommand{\EnergyConstraint}{\Energy^{\LagrangeMultCurrComp}} \newcommand{\EnergyDensityStrain}{\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{\FlexOne}{\mathcal{F}_{1}} \newcommand{\FlexInfty}{\mathcal{F}_{\infty}} \newcommand{\Flex}{\mathcal{F}_{#1}} \newcommand{\FlexIt}{\mathcal{F}} \newcommand{\FlexFEA}{\mathcal{F}_{\bar{0}}} \newcommand{\FlexFEAModified}{\mathcal{F}_{0}} \newcommand{\FlexImmersed}{\mathcal{F}_{\infty}} \newcommand{\FlexSpectrum}{\overleftrightarrow{\mathcal{F}}} \newcommand{\FlexSpectrumId}{i} \newcommand{\TimeStep}{\Delta \SymbolTime} \newcommand{\SpectralRadius}{\rho_{\infty}} \newcommand{\SymbolDisp}{u} \newcommand{\SymbolVelocity}{v} \newcommand{\SymbolAcceleration}{a} \newcommand{\SymbolMass}{M} \newcommand{\SymbolLength}{L} \newcommand{\SymbolArea}{A} \newcommand{\SymbolConstraint}{g} \newcommand{\SymbolPenalty}{\varepsilon} \newcommand{\SymbolLagrangeMultRef}{\Lambda} \newcommand{\SymbolLagrangeMultCurr}{\lambda} \newcommand{\SymbolFict}{f} \newcommand{\SymbolTracForce}{h} \newcommand{\SymbolBodyForce}{b} \newcommand{\SymbolVolumeRef}{V} \newcommand{\SymbolSurfaceRef}{S} \newcommand{\SymbolCurveRef}{C} \newcommand{\SymbolPointRef}{P} \newcommand{\SymbolVolumeCurr}{\SymbolVolume} \newcommand{\SymbolSurfaceCurr}{\SymbolSurface} \newcommand{\SymbolCurveCurr}{\SymbolCurve} \newcommand{\SymbolPointCurr}{\SymbolPoint} \newcommand{\SymbolDeformGrad}{F} \newcommand{\SymbolStrainGreenLagrange}{E} \newcommand{\SymbolDeformCauchyGreenLeft}{b} \newcommand{\SymbolDeformCauchyGreenRight}{C} \newcommand{\SymbolStrainDisp}{B} \newcommand{\SymbolStrainSymGrad}{\epsilon} \newcommand{\SymbolEnergy}{\Pi} \newcommand{\SymbolEnergyDensityStrain}{\Psi} \newcommand{\SymbolResidual}{R} \newcommand{\SymbolForce}{F} \newcommand{\SymbolStiffness}{K} \newcommand{\SymbolSolution}{d}$

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 106: 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 107: 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 108: 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 109: 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 110: 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 111: Mesh before loft. Single swept volume with a large paved face. Figure 112: 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 113: 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 114: 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 115:

##### 4.2.1.2Creating Curves

$\newcommand{\QuantityFunctionOf} { % \if\relax\detokenize{#2}\relax % {#1} % \else {#1}(#2) % \fi } \newcommand{\QFO}{\QuantityFunctionOf{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOf} { % \if\relax\detokenize{#3}\relax % {#1}_{#2} % \else {#1}_{#2}(#3) % \fi } \newcommand{\SQFO}{\SubscriptedQuantityFunctionOf{#1}{#2}{#3}} \newcommand{\QuantityChildOf} { % \if\relax\detokenize{#1}\relax % {#2} % \else {#2}^{#1} % \fi } \newcommand{\QCO}{\QuantityChildOf{#1}{#2}} \newcommand{\QuantityRelatedTo} { % \if\relax\detokenize{#2}\relax % {#1} % \else {#1}[#2] % \fi } \newcommand{\QRT}{\QuantityRelatedTo{#1}{#2}} \newcommand{\QuantitySubscriptedBy} { % \if\relax\detokenize{#2}\relax % #1 % \else #1_{#2} % \fi } \newcommand{\QSB}{\QuantitySubscriptedBy{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOfChildOf} { % \if\relax\detokenize{#4}\relax % #1_{#2}^{#3} % \else #1_{#2}^{#3}(#4) % \fi } \newcommand{\SQFOCO}{\SubscriptedQuantityFunctionOfChildOf{#1}{#2}{#3}{#4}} \newcommand{\overbar}{\mkern 1.5mu\overline{\mkern-1.5mu#1\mkern-1.5mu}\mkern 1.5mu} \newcommand{\bcdot}{\boldsymbol{\cdot}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Logic %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SuchThat}{\, : \,} \newcommand{\DefEq}{\overset{\operatorname{def}}{=}} \newcommand{\True}{\textsf{True}} \newcommand{\False}{\textsf{False}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Arrays, tuples, and sets %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\ArrayRoster}{\left[#1\right]} \newcommand{\ArrayRosterI}{[#1]_{#2}} \newcommand{\ArrayEmpty}{\ArrayRoster{\hspace{1mm}}} \newcommand{\Tuple}{\mathsf{#1}}%was \mathsf \newcommand{\TupleRoster}{\left(#1\right)} \newcommand{\PointPair}{\TupleRoster{#1, #2}} \newcommand{\Set}{\mathsf{#1}}%was \mathsf \newcommand{\SetRoster}{\left\{ #1 \right\}} \newcommand{\SetRosterIndexed}{\SetRoster{#1}_{#2}^{#3}} \newcommand{\SetRosterPredicate}{\SetRoster{#1 \SuchThat #2}} \newcommand{\SetEmpty}{\varnothing} \newcommand{\SetPower}{\QuantityFunctionOf{\boldsymbol{\Set{P}}}{#1}} \newcommand{\SetNeighborhood}{\QuantityFunctionOf{\boldsymbol{\Set{B}}}{#1}} \newcommand{\Domain}{\Omega} \newcommand{\DomainBdry}{\Gamma} \newcommand{\IntervalClosed}{\left[#1, #2\right]} \newcommand{\IntervalOpen}{\left(#1, #2\right)} \newcommand{\IntervalClosedOpen}{\left[#1, #2\right)} \newcommand{\IntervalOpenClosed}{\left(#1, #2\right]} % special \newcommand{\Reals}{\mathbb{R}} \newcommand{\Naturals}{\mathbb{N}} \newcommand{\Integers}{\mathbb{Z}} \newcommand{\Field}{\mathbb{F}} % properties \newcommand{\Size}{\left\lvert #1 \right\rvert} \newcommand{\Union}{\bigcup\limits_{#1}^{#2} #3} \newcommand{\UnionInline}{\bigcup_{#1}^{#2} #3} \newcommand{\Intersect}{\bigcap\limits_{#1}^{#2} #3} \newcommand{\ElementWiseGreaterOrEqual}{\succeq} \newcommand{\ElemntWiseGreater}{\succ} \newcommand{\ElementWiseLessOrEqual}{\preceq} \newcommand{\ElementWiseLess}{\prec} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Infinite dimensional spaces %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SpaceLinear}{\mathnormal{#1}} \newcommand{\SpaceDual}{\SpaceLinear{#1}^*} % normed spaces \newcommand{\AbsoluteValue}{\Size{#1}} \newcommand{\Norm}{\left\lVert #2 \right\rVert_{#1}} \newcommand{\NormAbstract}{\Norm{}{#1}} \newcommand{\NormSemi}{\Size{#1}} \newcommand{\SpaceLinearNormed}{\left(\SpaceLinear{#1}, \NormAbstract{\bcdot} \right)} \newcommand{\SpaceBanach}{\mathfrak{#1}} % normed and complete % inner product spaces \newcommand{\SymmetricBilinear}{\left(#1, #2\right)} \newcommand{\InnerProduct}{\left\langle#1, #2\right\rangle} \newcommand{\SpaceInnerProduct}{\left(\SpaceLinear{#1}, \InnerProduct{\bcdot}{\bcdot}\right)} \newcommand{\SpaceHilbert}{\mathcal{#1}} \newcommand{\SpaceLTwo}{\SpaceHilbert{L}_2} \newcommand{\SpaceLTwoDef}{\SpaceLTwo\left(#1; #2\right)} \newcommand{\SpaceLInfty}{\SpaceHilbert{L}_\infty} \newcommand{\SpaceLTwoWeighted}{\SpaceLTwo^w} \newcommand{\SpaceSobolevK}{\SpaceHilbert{H}^{#1}} \newcommand{\SpaceSobolevKDef}{\SpaceSobolevK{1}\left(#2 ; #3\right)} % differentiable spaces \newcommand{\Cont}{\operatorname{cont}} \newcommand{\SpaceCont}{\SpaceHilbert{C}} \newcommand{\SpaceContDef}{\SpaceCont\left(#1 ; #2\right)} \newcommand{\SpaceContK}{\SpaceCont^{#1}} \newcommand{\SpaceContKDef}{\SpaceContK{#1}\left(#2; #3\right)} \newcommand{\SpaceContZero}{\SpaceContK{0}} \newcommand{\SpaceContInf}{\SpaceContK{\infty}} \newcommand{\SpaceContInfDef}{\SpaceContKDef{\infty}{#1}{#2}} \newcommand{\SpaceContKBounded}{\SpaceContK{#1}_{#2}} \newcommand{\SpaceContKBoundedDef}{\SpaceCont_{b}^{#1}\left(#2 ; #3\right)} % linear operator spaces \newcommand{\SpaceLinearOperator}{\mathscr{#1}} \newcommand{\SpaceLinearOperatorDef}{\SpaceLinearOperator{L}\left(#1 ; #2\right)} \newcommand{\SpaceLinearOperatorBoundedDef}{\SpaceLinearOperator{B}\left(#1 ; #2\right)} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Finite dimensional spaces %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SpaceLinearN}{\SpaceLinear{#1}^h} \newcommand{\SpaceHilbertN}{\SpaceHilbert{#1}^h} \newcommand{\SpaceVecRealN}{\Reals^{#1}} \newcommand{\SpacePoly}{\SpaceHilbert{P}^{#1}} \newcommand{\SpaceMatrixRealMN}{\Reals^{#1\times#2}} \newcommand{\SpacePolyDef}{\SpacePoly{#1}\left(#2 ; #3\right)} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Functions, vectors, and linear operators %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\Func}[f]{#1} \newcommand{\FuncAlt}[g]{#1} \newcommand{\FuncDef}{#1 \SuchThat #2 \rightarrow #3} \newcommand{\FuncApprox}{#1^h} \newcommand{\LinearOperator}{\SpaceLinearOperator{#1}} \newcommand{\LinearOperatorDef}{\FuncDef{#1}{#2}{#3}} \newcommand{\Functional}{\LinearOperator{#1}} \newcommand{\Projection}{\Pi} \newcommand{\VectorProjection}{\Projection_{#1} {\left(#2\right)}} \newcommand{\Mat}{\boldsymbol{#1}} \newcommand{\MatIJ}{\left[#1\right]_{#2#3}} \newcommand{\MatIdRow}{m} \newcommand{\MatIdCol}{n} \newcommand{\Identity}{\Mat{I}} \newcommand{\KroneckerDelta}{\Mat{\delta}} \newcommand{\LeviCivita}{\Mat{\epsilon}} \newcommand{\Jacobian}{\Mat{J}} \renewcommand{\Vec}{\boldsymbol{#1}} \newcommand{\VecChildOf}{\QCO{#2}{#1}} \newcommand{\VecI}{\{#1\}_{#2}} \newcommand{\ZeroVec}{\Vec{0}} \newcommand{\OneVec}{\Vec{1}} \newcommand{\ZeroMat}{\Mat{0}} \newcommand{\UnitNormalComp}{n} \newcommand{\UnitNormal}{\Vec{\UnitNormalComp}} % rename to UnitNormalTen \newcommand{\MacBracket}{\langle#1\rangle} \newcommand{\HeavisideFunc}{\mathit{H}\left(#1\right)} \newcommand{\DiracDelta}{\delta_{D}\left(#1 - #2\right)} \newcommand{\IdentityTenSym}{\mathbb{I}} \newcommand{\BraKet}{\langle#1\rangle} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Lagrange Optimization %%%%%%%%%%%%%%%%%%%%%%%%%%%% %\newcommand{\Min}{\min\limits_{#1}} %\newcommand{\Max}{\max\limits_{#1}} \newcommand{\FuncObjective}{\QFO{\Func}{#1}} \newcommand{\FuncEqualityConstraints}{\QFO{\Func[\Vec{g}]}{#1}} \newcommand{\VarDesign}{\Vec{\phi}} \newcommand{\VarState}{\QFO{\Vec{u}}{#1}} \newcommand{\FuncLagrangian}{\QFO{\mathscr{L}}{#1}} \newcommand{\FuncAugmentedLagrangian}{\QFO{\mathscr{L}_A}{#1}} \newcommand{\VecLambdaLM}{\QFO{\Vec{\lambda}}{#1}} \newcommand{\LambdaLM}{\QFO{\lambda}{#1}} \newcommand{\SolutionLocalOpt}{\left(#1\right)^*} \newcommand{\ProximalPoint}{\overbar{\VecLambdaLM{}}} \newcommand{\PenaltyParameter}{\rho} \newcommand{\Slacify}{\QSB{#1}{s}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Linear algebra %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\Prod}{\prod\limits_{#1}^{#2}} \newcommand{\ProdInline}{\prod_{#1}^{#2}} \newcommand{\TensorProduct}{\otimes} \newcommand{\Sum} { % COMMENTED OUT FOLLOWING PREVIOUS INSTANCES % \if\relax\detokenize{#2}\relax % \sum\limits_{#1} % \else \sum\limits_{#1}^{#2} % COMMENTED OUT FOLLOWING PREVIOUS INSTANCES % \fi } \newcommand{\SumInline}{\sum_{#1}^{#2}} \newcommand{\Rank}{\operatorname{rank}(#1)} \newcommand{\Nullity}{\operatorname{null}(#1)} \newcommand{\Image}{\operatorname{image}} \newcommand{\Range}{\operatorname{range}} \newcommand{\Inverse}{\left(#1\right)^{-1}} \newcommand{\inverse}{\overline{#1}} % clean up \newcommand{\Transpose}{\left(#1\right)^{T}} \newcommand{\InvTrans}{\left(#1\right)^{-T}} \newcommand{\Complement}{\overbar{#1}} \newcommand{\Adjoint}{\left(#1\right)^*} \newcommand{\OrthogonalComplement}{\left(#1\right)^\perp} \newcommand{\Det}{\QFO{\operatorname{det}}{#1}} \newcommand{\DCT}{\operatorname{DCT}} \newcommand{\IDCT}{\operatorname{IDCT}} \newcommand{\RealPart}{\QFO{\mathfrak{R}}{#1}} \newcommand{\Trace}{\QFO{\operatorname{tr}}{#1}} \newcommand{\Dev}{\QFO{\operatorname{dev}}{#1}} \newcommand{\DevDef}{\Dev{#1} \DefEq #1 - \frac{1}{3}\Trace{#1}\Identity} \newcommand{\dual}{{\bar{#1}}} \newcommand{\symind}{{\uppercase{#1}}} \newcommand{\symmetrizer}{{S}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Bases %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\BasisFuncCoeff}{\QSB{#1}{#2}} \newcommand{\BasisVec}{\QSB{#1}{#2}} \newcommand{\BasisVecChildOf}{\SQFOCO{#1}{#2}{#3}{}} \newcommand{\OrthogonalBasisVec}{\SQFOCO{#1}{#2}{\perp}{}} \newcommand{\OrthonormalBasisVec}{\overbar{\OrthogonalBasisVec{#1}{#2}}} \newcommand{\PolynomialDegree}{p} \newcommand{\BasisFuncId}{i} \newcommand{\BasisFuncIdAlt}{j} \newcommand{\BasisFuncIdAltAlt}{k} \newcommand{\BasisFunc}{\SQFO{#1}{#2}{#3}} \newcommand{\PowerBasisFunc}{\QCO{#2}{#1}} \newcommand{\LegendreBasisFunc}{\SQFO{\Func[P]}{#1}{#2}} \newcommand{\PreNormalizedLegendreBasisFunc}{\hat{\LegendreBasisFunc{#1}{#2}}} \newcommand{\ChebyshevBasisFunc}{\SQFO{\Func[T]}{#1}{#2}} \newcommand{\ChebyshevZeros}{\QSB{z}{#1}} \newcommand{\ChebyshevExtremizers}{\QSB{t}{#1}} \newcommand{\BernToChebMat}{\Mat{T}} \newcommand{\Chebfun}{\biggl(\, \sum_{#2=0}^{#1}{#3}_{#2}\ChebyshevBasisFunc{#2}{}\biggr)} \newcommand{\ChebfunVector}{\left[#1\right]_c} \newcommand{\LagrangeBasisFunc}{\SQFOCO{\Func[L]}{#1}{#2}{#3}} % properties \newcommand{\Span}{\operatorname{span}} \newcommand{\Dim}{\operatorname{dim}} \newcommand{\Support}{\operatorname{supp}(#1)} \newcommand{\SupportPos}{\operatorname{supp}_{+}(#1)} % operations \newcommand{\SumBasis}{\Sum{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\SumInlineBasis}{\SumInline{#1}{#2}{#3}_{#1}{#4}_{#1}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Calculus %%%%%%%%%%%%%%%%%%%%%%%%%%%% % limits \newcommand{\EvaluateTwoLimits}{#1\biggr\rvert_{#2}^{#3}} \newcommand{\EvaluateOneLimit}{\left.#1\right\rvert_{#2}} \newcommand{\Limit}{\lim\limits_{#1\rightarrow #2}} \newcommand{\LimitInline}{\lim_{#1\rightarrow #2}} \newcommand{\DNE}{\operatorname{DNE}} % differentiation \newcommand{\LagrangeDeriv}{{#1}'} \newcommand{\KthLagrangeDeriv}{{#1}^{(#2)}} \newcommand{\LeibnizSubDeriv}{{#1}_{,#2}} \newcommand{\LeibnizFracDeriv}{\frac{d}{d#2}{#1}} \newcommand{\KthLeibnizFracDeriv}{\frac{d^{#2}}{d#3^{#2}}\Func[#1](#3)} \newcommand{\KthLeibnizFracSpecificFunction}{\frac{d^{#2}}{d#3^{#2}}\Func[#1]} \newcommand{\Differential}[x]{\, \operatorname{d}{#1}} \newcommand{\FrechetDeriv}{D{#1}\left(#2\right)} \newcommand{\GateauxDirectionBold}{\Vec{\delta}#1} \newcommand{\GateauxDirection}{\delta #1} \newcommand{\GateauxDerivBold}{D#1(#2; \GateauxDirectionBold{#2})} \newcommand{\GateauxDeriv}{D#1(#2; \GateauxDirection{#2})} \newcommand{\GateauxDerivWithDirection}{D#1\left(#2 \ ;\ #3\right)} \newcommand{\GateauxDerivPartial}{\frac{\partial #1}{\partial #2}} \newcommand{\KthGateauxDerivPartial}{\frac{\partial^{#3} #1}{\partial #2^{#3}}} \newcommand{\Grad}{\boldsymbol{\nabla}^{#1} #2} \newcommand{\Jac}{\Mat{J}} \newcommand{\Div}{\boldsymbol{\nabla}^{#1} \bcdot #2} \newcommand{\Laplace}{\boldsymbol{\Delta}^{#1} #2} \newcommand{\TaylorSeries}{\mathcal{T}\left[\Func[#1]\right](#2)} \newcommand{\TruncatedTaylorSeries}{\mathcal{T}_{#1}\left[\Func[#2]\right]\left(#3\right)} % integration \newcommand{\Int}{\int\limits_{#1}^{#2}} \newcommand{\IntDomain}{\int\limits_{#1}} \newcommand{\IntInline}{\int_{#1}^{#2}} \newcommand{\IntDomainInline}{\int_{#1}} \newcommand{\DetJacobian}{\Det{\Jac}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Numerical Analysis %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\BigO}{\mathcal{O}\left(#1\right)} \newcommand{\Flops}{\operatorname{flops}} \newcommand{\Interpolant}{\mathcal{#1}^{h}} \newcommand{\ErrorApproxComp}{e} \newcommand{\ErrorApproxTen}{\Vec{\ErrorApproxComp}} \newcommand{\ErrorNewton}{\epsilon} % clean up \newcommand{\ApproximateIntegrationError}{\tilde{e}_{#1}} \newcommand{\AnalyticApproximateIntegrationErrorDifference}{\overbar{e}_{#1}}$$\newcommand{\GlosOne}{a} \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{\NumUsplineBasisFuncsOnMeshBezier}{\Size{\UsplineBasisFuncSetOnMeshBezier}} \newcommand{\NumUsplineBasisFuncsOnMeshUspline}{\Size{\UsplineBasisFuncSetOnMeshUspline}} \newcommand{\NumUsplineBasisFuncsOnElem}{\Size{\UsplineBasisFuncSet{\Elem}}} \newcommand{\NumBernsteinBasisFuncsOnMeshBezier}{\Size{\IndexSetOnMeshBezier}} \newcommand{\NumBernsteinBasisFuncsOnElem}{\Size{\IndexSet{\Elem}}} \newcommand{\NumElemsInMeshBezier}{\Size{\CellSet{\ParamDim}}} \newcommand{\ParentDomain}{\SymbolParentModifier{\SymbolDomain}} \newcommand{\ParentDomainChart}{\SymbolParentModifier{\Vec{\phi}}} \newcommand{\ParentDomainChartDetailed}{\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}{\ParentCoord_{#1}} \newcommand{\ParentGrevillePoint}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParentGrevillePointSet}{\QuantityFunctionOf{\Set{\SymbolParentModifier{G}}}{#1}} \newcommand{\BernsteinBasisFuncCoeff}{\SymbolArbitraryCoeffBernstein} \newcommand{\BernsteinBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffBernstein}}}{\MeshBezier}} \newcommand{\BernsteinBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffBernstein}}{\MeshBezier}} \newcommand{\BernFuncLowerDimCell}{\BernsteinBasisFunc^{#1}_{#2}} \newcommand{\BernFuncInterf}{\BernFuncLowerDimCell{\Interface}{#1}} \newcommand{\UsplineBasisFuncCoeff}{\SymbolArbitraryCoeffUspline} \newcommand{\UsplineBasisFuncCoeffAlt}{\SymbolArbitraryCoeffUsplineAlt} \newcommand{\UsplineBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffUspline}}}{\MeshUspline}} \newcommand{\UsplineBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffUspline}}{\MeshUspline}} \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{\ii}{\IndexOnCell{}{\BernsteinBasisFuncIndexTuple}} \newcommand{\jj}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAlt}} \newcommand{\kk}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAltAlt}} \newcommand{\BernsteinBasisFuncIndexTupleB}{\Set{\BernsteinBasisFuncIdB}} \newcommand{\BernsteinDegree}{\PolynomialDegree} \newcommand{\BernsteinDegreeAlt}{q} \newcommand{\BernsteinDegreeTuple}{\Tuple{\BernsteinDegree}} \newcommand{\BernsteinDegreeElevMatComp}{D} \newcommand{\BernsteinDegreeElevMat}{\Mat{\BernsteinDegreeElevMatComp}} \newcommand{\CompletePolynomial}{\AbsoluteValue{#1}} \newcommand{\BernsteinBasisFunc}{\SymbolBernstein} \newcommand{\BernsteinBasisFuncVec}{\QuantityFunctionOf{\QuantityChildOf{#1}{\Vec{\SymbolBernstein}}}{#2}} \newcommand{\BernsteinBasisFuncDetailed}{\BernsteinBasisFunc_{#1}^{#2}} \newcommand{\BernsteinSpace}{\SpaceHilbert{\SymbolBernstein}} \newcommand{\BernsteinRestriction}{#1\vert_{#2}} \newcommand{\Bezier}{B\'ezier } \newcommand{\MeshTopo}{\boldsymbol{\textsf{M}}}%changed from mathsf \newcommand{\MeshBezier}{\boldsymbol{\textsf{B}}}%changed from mathsf \newcommand{\CellArbitrary}{\Set{#1}} \newcommand{\Cell}{\CellArbitrary{c}} % k-cell \newcommand{\CellAlpha}{\CellArbitrary{a}} \newcommand{\CellBeta}{\CellArbitrary{b}} \newcommand{\CellGamma}{\CellArbitrary{c}} \newcommand{\CellToTheLeft}{\CellAlpha} \newcommand{\CellToTheRight}{\CellBeta} \newcommand{\CellBoundary}{\partial #1} \newcommand{\CellSet}{\Set{C}^{#1}} \newcommand{\CellSetAdjacent}{\QuantityFunctionOf{\Set{ADJ}^{#1}}{#2}} \newcommand{\CellSetCardinal}{\QuantityFunctionOf{\Set{CRD}}{#1}} \newcommand{\CellSetSupport}{\Support{#1}} \newcommand{\Elem}{\Set{E}} % d-cell \newcommand{\Interface}{\Set{I}} % (d-1)-cell \newcommand{\Smoothness}{\vartheta} \newcommand{\SmoothnessVar}{\rho} \newcommand{\SmoothnessSet}{\Set{\Smoothness}} \newcommand{\InterfaceSmoothness}{\QuantityChildOf{#1}{\Smoothness}} \newcommand{\MaxPerpCont}{\QuantityFunctionOf{\Smoothness^{\perp}_{\max}}{#1}} \newcommand{\Face}{\Set{f}} % 2-cell \newcommand{\Edge}{\Set{e}} % 1-cell \newcommand{\Vertex}{\Set{v}} % 0-cell \newcommand{\CodimTwoCell}{\Set{w}} % (d-2)-cell \newcommand{\KCell}{\Cell^\ArbDim} \newcommand{\KPlusOneCell}{\Cell^{\ArbDim+1}} \newcommand{\KCellAlpha}{\CellAlpha^\ArbDim} \newcommand{\KPlusOneCellBeta}{\CellBeta^{\ArbDim+1}} \newcommand{\KPlusOneCellAdjacentIndexedSubmeshDomain}{\QuantityChildOf{\CellAlpha\CellBeta}{\SubmeshDomain}} \newcommand{\MaxParallelDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\max}}{#1}} \newcommand{\MinParallelDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\min}}{#1}} \newcommand{\MaxPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\max}}{#1}} \newcommand{\MinPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\min}}{#1}} \newcommand{\MinParallelPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\min}}{#1,#2}} \newcommand{\MaxParallelPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\max}}{#1,#2}} \newcommand{\DegreeParallel}{\BernsteinDegree^{\parallel}} \newcommand{\DegreeParallelToEdge}{\DegreeParallel_{#1}(#2)} \newcommand{\DegreePerp}{\BernsteinDegree^{\perp}} \newcommand{\DegreePerpToInterface}{\DegreePerp_{#1}(#2)} \newcommand{\DegreeTupleParallelToKCell}{\Tuple{\BernsteinDegree}^{\parallel}_{#1}(#2)} \newcommand{\ChangeInDegree}{\Delta(\BernsteinDegree)_{#1}^{#2}} \newcommand{\IndexSet}{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\CompositeBVUnionIndexSet}{\QuantityFunctionOf{\Set{UID}}{#1}} \newcommand{\IndexSetPosCoeffs}{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\IndexSetSet}{\QuantityFunctionOf{\boldsymbol{\IndexSet{}}}{#1}} \newcommand{\IndexSetOnMeshBezier}{\IndexSet{\MeshBezier}} \newcommand{\IndexOnCell}{\QuantityChildOf{#1}{#2}} \newcommand{\IndexOnCellIJ}{\QuantityChildOf{#1}{\TupleRoster{#2,#3}}} \newcommand{\CellFromQuantity}{\QuantityFunctionOf{\operatorname{cell}}{#1}} \newcommand{\ExtractionOp}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{C}}{#2}}} \newcommand{\ExtractionOpSimple}{\QuantityFunctionOf{\Mat{C}}{#1}} \newcommand{\ReconstructOp}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{R}}{#2}}} \newcommand{\ReconstructOpSimple}{\QuantityFunctionOf{\Mat{R}}{#1}} \newcommand{\Gramian}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{G}}{#2}}} \newcommand{\GramianSimple}{\QuantityFunctionOf{\Mat{G}}{#1}} \newcommand{\BernsteinSpaceOnMeshBezier}{\QCO{\MeshBezier}{\BernsteinSpace}} \newcommand{\BernsteinTraceMappingMat}{\Mat{M}} \newcommand{\ParamDomain}{\SymbolParamModifier{\SymbolDomain}} \newcommand{\ParamDomainOnCell}{\QuantityChildOf{\Cell}{\ParamDomain}} \newcommand{\ParamDomainBdry}{\SymbolParamModifier{\SymbolDomainBdry}} \newcommand{\ParamDomainChart}{\QuantityFunctionOf{\Vec{\phi}^{#1}}{#2}} \newcommand{\ParamDim}{\SymbolDim} \newcommand{\ParamCoordSimple}{s} \newcommand{\ParamCoord}{\QCO{#1}{s}} \newcommand{\ParamCoordVecSimple}{\Vec{s}} \newcommand{\ParamCoordVec}{\QCO{#1}{\Vec{\ParamCoord{}}}} \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}{\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{\NormalParamCoordSet}{\QuantityFunctionOf{\ParamCoordVecSimple^{\perp}_{#1}}{#2}} \newcommand{\ParallelParamCoordSet}{\QuantityFunctionOf{\ParamCoordVecSimple^{\parallel}_{#1}}{#2}} \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}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParamModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParamGrevillePointSet}{\QuantityFunctionOf{\Set{\SymbolParamModifier{G}}}{#1}} \newcommand{\ParamDomainOnMeshBezier}{\QuantityChildOf{\MeshBezier}{\ParamDomain}} \newcommand{\ParamDomainOnMeshUspline}{\QuantityChildOf{\MeshUspline}{\ParamDomain}} \newcommand{\Submesh}{\boldsymbol{\mathsf{K}}}%changed from mathsf \newcommand{\SubmeshDomain}{\SymbolSubmeshModifier{\SymbolDomain}} \newcommand{\SubmeshDomainChart}{\QuantityFunctionOf{\Vec{\varphi}^{#1}}{#2}} \newcommand{\SubmeshDomainParameter}{\mathsf{\alpha}}%changed from mathsf \newcommand{\SubmeshDomainParameterVec}{\Vec{\SubmeshDomainParameter}} \newcommand{\SubmeshGrevillePoint}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\SubmeshGrevillePointSimple}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}{#1}} \newcommand{\SubmeshGrevilleMaxPoint}{\QuantityChildOf{#1}{\Set{\SymbolGrevillePoint}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSimple}{\Set{\SymbolGrevillePoint}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSet}{\QuantityChildOf{#1}{\Set{G}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSetSimple}{\Set{G}_{\max}} \newcommand{\SubmeshGrevilleMinPointSet}{\QuantityChildOf{#1}{\Set{G}}_{\min}} \newcommand{\SubmeshGrevilleMinPointSetSimple}{\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}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{G}}}{#1}} \newcommand{\SubmeshGrevillePointSetLeft}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GA}}}{#1}} \newcommand{\SubmeshGrevillePointSetRight}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GB}}}{#1}} \newcommand{\SubmeshGrevillePointSetElement}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GE}}_{#1}}{#2}} \newcommand{\SubmeshGrevillePointSetIntersect}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GI}}}{#1}} \newcommand{\SubmeshGrevillePointSetUnion}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GU}}}{#1}} \newcommand{\SubmeshGrevillePointSetSet}{\QuantityFunctionOf{\boldsymbol{\SubmeshGrevillePointSet{}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetLeft}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GA}}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetRight}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GB}}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetElement}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1}}{#2}} \newcommand{\SubmeshGrevilleDifferenceVectorsSetLeft}{\Delta\SubmeshGrevilleMaxPointSetLeft} \newcommand{\SubmeshGrevilleDifferenceVectorsSetRight}{\Delta\SubmeshGrevilleMaxPointSetRight} \newcommand{\SubmeshGrevilleDifferenceVector}{\Delta\SubmeshGrevilleMaxPoint{\GlosOne}} \newcommand{\SubmeshGrevilleDifferenceVectorLeft}{\Delta\SubmeshGrevilleMaxPointLeft} \newcommand{\SubmeshGrevilleDifferenceVectorRight}{\Delta\SubmeshGrevilleMaxPointRight} \newcommand{\SubmeshGrevilleDifferenceVectorsSet}{\Delta \SubmeshGrevillePointSet{\GlosOne}} \newcommand{\SubmeshGrevilleDistanceToCell}{\QuantityFunctionOf{\SymbolDistance}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCell}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMin}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\min}}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMax}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\max}}{#1, #2}} \newcommand{\SubmeshPerpProjection}{\QuantityFunctionOf{\Projection^{\perp}_{#1}}{#2}} \newcommand{\SubmeshParallelProjection}{\QuantityFunctionOf{\Projection^{\parallel}_{#1}}{#2}} \newcommand{\SubmeshStarProjection}{\QuantityFunctionOf{\Projection^{*}_{#1}}{#2}} \newcommand{\SubmeshPerpEquivalence}{\QuantityFunctionOf{\varpi^{\perp}_{#1}}{#2}} \newcommand{\SubmeshParallelEquivalence}{\QuantityFunctionOf{\varpi^{\parallel}_{#1}}{#2}} \newcommand{\SubmeshStarEquivalence}{\QuantityFunctionOf{\varpi^{*}_{#1}}{#2}} \newcommand{\AlignedSet}{{\boldsymbol{\textsf{Align}}}}%changed from mathsf \newcommand{\AlignedSetSet}{{\boldsymbol{\textsf{ALIGN}}}}%changed from mathsf \newcommand{\AlignmentSetOfSetsLeft}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetOfSetsRight}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetForInterfaceGrevillePoint}{\AlignedSet_{\SubmeshGrevillePoint{\Interface}{}}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRow}{\QuantityFunctionOf{\Set{NZ}_{#1}}{#2}} \newcommand{\AlignmentSetOfSetsOnLowerDCell}{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1,#2}^{\parallel}} \newcommand{\AlignmentSetOfSetsLeftThreeD}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \ii}^{\parallel}} \newcommand{\AlignmentSetOfSetsRightThreeD}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \ii}^{\parallel}} \newcommand{\MeshUspline}{\boldsymbol{\textsf{\SymbolUspline}}}%changed from mathsf \newcommand{\SetNeighborhoodOfInteraction}{\QuantityFunctionOf{\textsf{NI}}{#1}}%changed from mathsf \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}}%changed from mathsf \newcommand{\RayTailEdge}{\Edge} \newcommand{\RayTailVertexMaxContinuity}{\Smoothness_{#1}^{\max}} \newcommand{\RayTailEdgeMinDegree}{\BernsteinDegree_{#1}^{\min}} \newcommand{\RaySkeleton}{\operatorname{skel}(#1)} \newcommand{\RaySmoothness}{\Smoothness_{#1}^{#2}} \newcommand{\RayDegree}{\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}{\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}}%changed from mathsf \newcommand{\RibbonTailInterf}{\Interface} \newcommand{\RibbonTailCodimTwoCellMaxContinuity}{\Smoothness_{#1}^{\max}} \newcommand{\RibbonTailInterfMinDegree}{\BernsteinDegree_{#1}^{\min}} \newcommand{\RibbonSkeleton}{\operatorname{skel}(#1)} \newcommand{\RibbonSmoothness}{\Smoothness_{#1}^{#2}} \newcommand{\RibbonDegree}{\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}{\RibbonAlgBernIndexVariable_{#1}} \newcommand{\UsplineSpace}{\SpaceHilbert{\SymbolUspline}} \newcommand{\UsplineBasisFunc}{\SymbolBasisUspline} \newcommand{\UsplineBasisFuncDetailed}{\UsplineBasisFunc^{#1}_{#2}} \newcommand{\UsplineBasisFuncSet}{\QuantityFunctionOf{\Set{UF}}{#1}} \newcommand{\UsplineBasisFuncVec}{\QuantityFunctionOf{\QuantityChildOf{#1}{\Vec{\SymbolBasisUspline}}}{#2}} \newcommand{\UsplineBasisFuncSetOnMeshBezier}{\QuantityFunctionOf{\Set{UF}}{\MeshBezier}} \newcommand{\UsplineBasisFuncSetOnMeshUspline}{\QuantityFunctionOf{\Set{UF}}{\MeshUspline}} \newcommand{\UsplineBasisFuncSetSupport}{\Support{\UsplineBasisFuncSet{#1}}} \newcommand{\UsplineBasisFuncId}{A} \newcommand{\UsplineBasisFuncIdAlt}{B} \newcommand{\UsplineBasisFuncIdLocal}{a} \newcommand{\UsplineBasisFuncIdOne}{\UsplineBasisFuncId_0} \newcommand{\UsplineBasisFuncIdTwo}{\UsplineBasisFuncId_1} \newcommand{\UsplineBasisFuncNormalized}{\bar{\SymbolBasisUspline}} \newcommand{\UsplineBasisFuncParam}{\UsplineBasisFuncDetailed{\MeshBezier}{#1}} \newcommand{\UsplineDegree}{q} \newcommand{\UsplineNullVectorCoeff}{\SymbolUsplineLower}%{\MakeLowercase} \newcommand{\UsplineNullVector}{\Vec{\UsplineNullVectorCoeff}} \newcommand{\UsplineNullVectorIds}{\Set{id}} \newcommand{\UsplineNullVectorSet}{\boldsymbol{\textsf{UV}}}%changed from mathsf \newcommand{\UsplineNullVectorSetOfIndexSets}{\boldsymbol{\textsf{UI}}}%changed from mathsf \newcommand{\UsplineNullVectorSetOnMeshBezier}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshBezier}} \newcommand{\UsplineNullVectorSetOnMeshUspline}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshUspline}} \newcommand{\UsplineSpaceOnMeshUspline}{\QCO{\MeshUspline}{\UsplineSpace}} \newcommand{\UsplineCellToGlobalBasisFuncIndexMap}{\operatorname{ucg}(#1)} \newcommand{\UsplineCellToGlobalBasisFuncIndexMapDef}{\FuncDef{\operatorname{ucg}}{\MeshBezier\times\Integers}{\Integers}} \newcommand{\ContiguousIndexMap}{\QuantityFunctionOf{i_{#1}}} \newcommand{\Constraint}{R} %\newcommand{\ConstraintCoeff}{\MakeLowercase{\Constraint}} \newcommand{\ConstraintCoeff}{r} \newcommand{\ConstraintCoeffsSet}{\boldsymbol{\Set{\ConstraintCoeff}}} \newcommand{\ConstraintCoeffsVec}{\Vec{\ConstraintCoeff}} \newcommand{\ConstraintSet}{\QuantityFunctionOf{\Set{\Constraint}}{#1}} \newcommand{\ConstraintSetOnMeshBezier}{\ConstraintSet{\MeshBezier}} \newcommand{\ConstraintMat}{\QuantityFunctionOf{\Mat{\Constraint}}{#1}} \newcommand{\ConstraintMatOnMeshBezier}{\ConstraintMat{\MeshBezier}} \newcommand{\SparsestPossibleBasisOnCell}{\QFO{\Set{N}}{#1}} \newcommand{\NullVectorCoeff}{#1} \newcommand{\NullVector}{\QuantityFunctionOf{\Vec{v}}{#1}} \newcommand{\NullVectorArbitrary}{\QuantityFunctionOf{\Vec{#1}}{#2}} \newcommand{\KCellNullVectorForCellAlpha}{\NullVectorArbitrary{n}{}_{\KCellAlpha}} \newcommand{\KPlusOneCellNullVectorForCellBeta}{\NullVectorArbitrary{n}{}_{\KPlusOneCellBeta}} \newcommand{\NullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}}%changed from mathsf \newcommand{\CompositeNullVectorSet}{\NullVectorSet{#1}^{\prime\prime}} \newcommand{\SimpleNullVectorSet}{\NullVectorSet{#1}^{\prime}} \newcommand{\InterfaceNullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}}{#1}}%changed from mathsf \newcommand{\InterfaceNullVectorAlignedSubset}{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorSetOfIndexSets}{\QuantityFunctionOf{\boldsymbol{\textsf{BI}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetGrevilleSets}{\QuantityFunctionOf{\boldsymbol{\textsf{BG}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetOnMeshBezier}{\NullVectorSet{\MeshBezier}} \newcommand{\NullVectorSetSubordinateToNullVector}{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetSubordinateToNullVectorOnCell}{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorSetOnBdryOfNullVector}{\QuantityFunctionOf{\boldsymbol{\textsf{BD}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBV}}}{#1}}%changed from mathsf \newcommand{\NullVectorIndexEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBI}}}{#1}}%changed from mathsf \newcommand{\NullVectorGrevilleEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBG}}}{#1}}%changed from mathsf \newcommand{\NullVectorExpansionSet}{\QuantityFunctionOf{\boldsymbol{\textsf{XBV}}}{#1,#2}}%changed from mathsf \newcommand{\NullSpaceOperatorForm}{\QuantityFunctionOf{\SpaceHilbert{N}}{#1}} \newcommand{\NullSpaceOperatorFormOnMeshBezier}{\NullSpaceOperatorForm{\MeshBezier}} \newcommand{\NullSpaceVectorForm}{\QuantityFunctionOf{\Set{N}}{#1}} \newcommand{\NullVectorGrevillePointSet}{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}}%changed from mathsf \newcommand{\DegSmoothDiff}{\delta_{#1}^{#2}} \newcommand{\FaceEdgeDiff}{\Set{t}} \newcommand{\FaceEdgeDiffSet}{\Set{T}_{#1}} \newcommand{\PerpTuple}{\QuantityFunctionOf{\FaceEdgeDiff^\perp}{#1}} \newcommand{\ParallelTuple}{\QuantityFunctionOf{\FaceEdgeDiff^\parallel}{#1}} \newcommand{\ElemInterfDiff}{\Set{t}} \newcommand{\ElemInterfDiffSet}{\Set{T}_{#1}} \newcommand{\SpokeSymbol}{\rho} \newcommand{\ElemInterfPairSymbol}{t} \newcommand{\ElemKPlusOneCellPair}{\Set{\SpokeSymbol}} \newcommand{\Spoke}{\ElemKPlusOneCellPair} \newcommand{\ElemInterfPair}{\Set{\ElemInterfPairSymbol}} \newcommand{\EIDPerpTuple}{\QuantityFunctionOf{\ElemInterfDiff^\perp}{#1}} \newcommand{\EIDParallelTuple}{\QuantityFunctionOf{\ElemInterfDiff^\parallel}{#1}} \newcommand{\InclDist}{\QuantityFunctionOf{\textsf{inc}}{#1}}%changed from mathsf \newcommand{\InclDistSet}{\Set{INC}^{#1,#2}} \newcommand{\EdgeInclDist}{\InclDistSet{#2}{#3}_{#1}} \newcommand{\PerpEdgesSet}{\Set{E}^\perp} \newcommand{\PerpInterfacesSet}{\Set{IRF}^\perp} \newcommand{\PerpOfKPlusOneCellInterfSet}{\QuantityFunctionOf{\boldsymbol{\textsf{PI}}}{#1}}%changed from mathsf \newcommand{\PerpKPlusOneCellSet}{\QuantityFunctionOf{\boldsymbol{\textsf{PC}}}{#1}}%changed from mathsf \newcommand{\ElemKPlusOneCellPairPerp}{\QuantityFunctionOf{\Set{\SpokeSymbol}^\perp}{#1}} \newcommand{\ElemInterfPairPerp}{\QuantityFunctionOf{\Set{t}^\perp}{#1}} \newcommand{\ElemInterfPairParallel}{\QuantityFunctionOf{\Set{\ElemInterfPairSymbol}^\parallel}{#1}} \newcommand{\ElemKPlusOneCellPairParallelSet}{\QuantityFunctionOf{\Set{\SpokeSymbol}^\parallel}{#1}} \newcommand{\KPlusOneCellNullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}}{#1}}%changed from mathsf \newcommand{\KPlusOneCellNullVectorAlignedSubset}{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\Graph}{\QuantityFunctionOf{G}{#1}} \newcommand{\GraphCore}{K} \newcommand{\GraphDirectedEdge}{\Edge_{i,j}} \newcommand{\GraphDirectedEdgeIJ}{\Edge_{#1,#2}} \newcommand{\GraphCoreToVertex}{\QuantityFunctionOf{\Vertex}{#1}} \newcommand{\GraphCoreChildren}{\QuantityFunctionOf{\operatorname{children}}{#1}} \newcommand{\GraphVertexToCore}{\QuantityFunctionOf{\GraphCore}{#1}} \newcommand{\GraphInteractingEdges}{\Set{IE}} \newcommand{\GraphCoveredEdges}{\Set{CE}} \newcommand{\GraphFailedEdges}{\Set{FE}} \newcommand{\GraphCandidateEdges}{\Set{XE}} \newcommand{\UsplineClass}{\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{\AlgNameBuildRayOfMaximumCouplingLength}{\textit{BuildRayOfMaximumCouplingLength}} \newcommand{\AlgNameBuildRibbonOfMaximumCouplingLength}{\textit{BuildRibbonOfMaximumCouplingLength}} \newcommand{\AlgNameComputeCoreGraph}{ComputeCoreGraph} \newcommand{\SymbolParentModifier}{\overbar{#1}} \newcommand{\SymbolParamModifier}{\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{\UpperDBMat}{\Mat{U}} \newcommand{\LowerWeightDBMat}{\Mat{W}} \newcommand{\RationalSplineWeightSymbol}{w} \newcommand{\NURBSWeight}{\RationalSplineWeightSymbol} \newcommand{\WeightFunc}[\RationalSplineWeightSymbol]{#1} \newcommand{\DBParamWeight}{\omega} \newcommand{\DualBCoeff}{d}$$\newcommand{\SymbolTime}{t} \newcommand{\SymbolClosestPointMap}{\kappa} \newcommand{\SymbolManifold}{m} \newcommand{\SymbolVolume}{v} \newcommand{\SymbolSurface}{s} \newcommand{\SymbolCurve}{c} \newcommand{\SymbolPoint}{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{\SymbolEnvModifier}{\star\mspace{-1mu} #1} \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{\Partition{}}{\ParamDomain}} \newcommand{\SpatialDim}{\SymbolSpatialDim} \newcommand{\SpatialDomain}{\Reals^{\SymbolSpatialDim}} \newcommand{\SpatialCoord}{\SymbolSpatialCoord} \newcommand{\SpatialCoordUpper}{\SymbolSpatialCoordUpper} \newcommand{\SpatialCoordVec}{\Vec{\SpatialCoord}} \newcommand{\SpatialCoordVecSet}{\QuantityFunctionOf{\boldsymbol{\Set{\SpatialCoordUpper}}}{#1}} \newcommand{\UsplineBasisFuncSpatial}{\UsplineBasisFuncDetailed{\SpatialCoord}{#1}} \newcommand{\Manifold}{\QuantityRelatedTo{\Set{\SymbolManifold}}{#1}} \newcommand{\Volume}{\QuantityRelatedTo{\Set{\SymbolVolume}}{#1}} \newcommand{\Surface}{\QuantityRelatedTo{\Set{\SymbolSurface}}{#1}} \newcommand{\Curve}{\QuantityRelatedTo{\Set{\SymbolCurve}}{#1}} \newcommand{\Point}{\QuantityRelatedTo{\Set{\SymbolPoint}}{#1}} \newcommand{\ManifoldCAD}{\Manifold{\SymbolCAD}} \newcommand{\ManifoldCADModified}{\Manifold{\SymbolCADModified}} \newcommand{\ManifoldCADEnv}{\SymbolEnvModifier{\ManifoldCAD}} \newcommand{\ManifoldCADModifiedEnv}{\SymbolEnvModifier{\ManifoldCADModified}} \newcommand{\ManifoldPartition}{\Manifold{\Partition{}}} \newcommand{\ManifoldBezier}{\Manifold{\MeshBezier}} \newcommand{\ManifoldUspline}{\Manifold{\MeshUspline}} \newcommand{\ManifoldUsplineEnv}{\SymbolEnvModifier{\ManifoldUspline}} \newcommand{\VolumeEnv}{\SymbolEnvModifier{\Volume{}}} \newcommand{\dVolume}{\Differential[\Volume{}]} \newcommand{\VolumeIndicator}{\SymbolIndicator} \newcommand{\SurfaceEnv}{\SymbolEnvModifier{\Surface{}}} \newcommand{\SurfaceCAD}{\Surface{\SymbolCAD}} \newcommand{\SurfaceCADModified}{\Surface{\SymbolCADModified}} \newcommand{\SurfaceMesh}{\Surface{\Partition{}}} \newcommand{\SurfaceUspline}{\Surface{\MeshUspline}} \newcommand{\SurfaceWildCard}{\Surface{}^{\SymbolWildCard}} \newcommand{\dSurface}{\Differential[\Surface{}]} \newcommand{\CurveCAD}{\Curve{\SymbolCAD}} \newcommand{\CurveCADModified}{\Curve{\SymbolCADModified}} \newcommand{\CurveMesh}{\Curve{\Partition{}}} \newcommand{\CurveUspline}{\Curve{\MeshUspline}} \newcommand{\dCurve}{\Differential[\Curve{}]} \newcommand{\PointCAD}{\Point{\SymbolCAD}} \newcommand{\PointCADModified}{\Point{\SymbolCADModified}} \newcommand{\PointUspline}{\Point{\MeshUspline}} \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{\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{\ManifoldMap}{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldTemporalMap}{\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}{\FuncDef{\ManifoldMap{#1}{#2}}{#1}{#2}} \newcommand{\ManifoldMapInverseDef}{\FuncDef{\Inverse{\ManifoldMap{#1}{#2}}}{#2}{#1}} \newcommand{\ManifoldTemporalMapDef}{\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}{\QCO{#1}{#2}} \newcommand{\ManifoldCoordVecDetailed}{\QCO{#1}{\Vec{#2}}} \newcommand{\ManifoldCoord}{x} \newcommand{\ManifoldCoordVec}{\Vec{x}} \newcommand{\ManifoldPartitionMapCoord}{\ManifoldCoordDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldPartitionMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldPartitionMap}{\ManifoldCoordVec}} \newcommand{\ManifoldCADMapCoord}{\ManifoldCoordDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldCADMap}{\ManifoldCoordVec}} \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{\Segment}{\QuantityChildOf{#1}{\SymbolSegment}} \newcommand{\SegmentOfVolumeEnv}{\Segment{\VolumeEnv}} \newcommand{\Hex}{\Segment{}_{h}} \newcommand{\Tet}{\Segment{}_{t}} \newcommand{\SegmentParamDomain}{\QuantityRelatedTo{\ParamDomain}{#1}} \newcommand{\SegmentParamDomainOfVolumeEnv}{\QuantityRelatedTo{\ParamDomain}{\Segment{\VolumeEnv}}} \newcommand{\SegmentSet}{\QuantityFunctionOf{\SymbolSegmentSet}{#1}} \newcommand{\SegmentSetOutside}{\SegmentSet{}^{\SymbolOutside}} \newcommand{\SegmentSetInside}{\SegmentSet{}^{\SymbolInside}} \newcommand{\SegmentSetHybrid}{\SegmentSet{}^{\SymbolHybrid}} \newcommand{\Partition}{\QuantityFunctionOf{\SymbolPartition}{#1}} \newcommand{\PartitionBezierExtraction}{\QuantityFunctionOf{\SymbolPartition^{B}}{#1}} \newcommand{\PartitionTessellation}{\QuantityFunctionOf{\SymbolPartition^{T}}{#1}} \newcommand{\PartitionTessellationOfUspline}{\PartitionTessellation{\MeshUspline}} \newcommand{\PartitionTessellationMap}{\QuantityRelatedTo{#2}{#1}} \newcommand{\BoundingVolume}{\QuantityFunctionOf{\Set{bv}}{#1}} \newcommand{\BoundingVolumeSet}{\QuantityFunctionOf{\Set{BV}}{#1}} \newcommand{\BoundingVolumeTree}{\QuantityFunctionOf{\Set{BVH}}{#1}} \newcommand{\AxisAlignedBoundingBox}{\QuantityFunctionOf{\Set{AABB}}{#1}} \newcommand{\SimplexMap}{\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}{\SymbolEnvModifier{\QuadraturePoint{#1}{#2}}} \newcommand{\QuadraturePoint}{\SymbolQuadraturePoint_{#1}^{#2}} \newcommand{\QuadraturePointToElemIndexMap}{\operatorname{qe}(#1)} \newcommand{\QuadratureWeightEnv}{\SymbolEnvModifier{\QuadratureWeight{#1}{#2}}} \newcommand{\QuadratureWeight}{\SymbolQuadratureWeight_{#1}^{#2}} \newcommand{\QuadratureSet}{\Set{\SymbolQuadratureSet}} \newcommand{\QuadratureSetInside}{\QuadratureSet^{\SymbolInside}} \newcommand{\QuadratureSetOutside}{\QuadratureSet^{\SymbolOutside}} \newcommand{\QuadratureSubdDepth}{k} \newcommand{\ClosestPointMap}{\QuantityChildOf{#1}{\Vec{\SymbolClosestPointMap}}} \newcommand{\ClosestPointMapCAD}{\ClosestPointMap{\SymbolCAD}} \newcommand{\ClosestPointMapCADModified}{\ClosestPointMap{\SymbolCADModified}} \newcommand{\ProjectionInto}{\QuantityRelatedTo{\SymbolProjection}{#1}} \newcommand{\ProjectionIntoBernsteinCell}{\ProjectionInto{\Cell}} \newcommand{\ProjectionIntoBernsteinElem}{\ProjectionInto{\Elem}} \newcommand{\ProjectionIntoMeshBezier}{\ProjectionInto{\MeshBezier}} \newcommand{\ProjectionIntoMeshUspline}{\ProjectionInto{\MeshUspline}}$$\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}{\ManifoldCoordDetailed{#1}{X}} \newcommand{\RefCoordVec}{\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}{\UsplineBasisFuncDetailed{\CurveRef}{#1}} \newcommand{\UsplineBasisFuncOverSurfaceRefDisp}{\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}{\ManifoldCoordDetailed{#1}{x}} \newcommand{\CurrCoordVec}{\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}{\Grad{\VolumeEnvRefMap}{#1}} \newcommand{\VolumeRefMap}{\ManifoldMap{\ParamDomain}{\VolumeRef}} \newcommand{\GenericGradOverVolumeRefMap}{\Grad{\VolumeRefMap}{#1}} \newcommand{\SurfaceRefDispMap}{\ManifoldMap{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMap}{\ManifoldMap{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\CurveRefMap}{\ManifoldMap{\ParamDomain}{\CurveRef}} \newcommand{\GenericGradOverCurveRefMap}{\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}{\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}{U} \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{\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{\KinematicElast}{#1^e} \newcommand{\KinematicPlast}{#1^p} \newcommand{\DivVolumeEnvRef}{\Div{\VolumeEnvRefCoordVec}{#1}} \newcommand{\DivVolumeEnvCurr}{\Div{\VolumeEnvCurrCoordVec}{#1}} \newcommand{\UnitNormalRefComp}{N} \newcommand{\UnitNormalRefTen}{\Vec{N}} \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{\StressKirchhoffComp}{\tau} \newcommand{\StressKirchhoffTen}{\Mat{\tau}} \newcommand{\StressKirchhoffVoigt}{\tilde{\StressKirchhoffTen}} \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{\MaterialThermalExpansion}{\alpha_{\text{thermal}}} \newcommand{\CrossSectArea}{\SymbolArea} \newcommand{\Length}{\SymbolLength} \newcommand{\PenaltyStiffness}{\SymbolPenalty_{\SymbolStiffness}} \newcommand{\PenaltyDisp}{\SymbolPenalty_{\SymbolDisp}} \newcommand{\BodyForceRefComp}{B} \newcommand{\BodyForceRefTen}{\Vec{\BodyForceRefComp}} \newcommand{\BodyForceCurrComp}{\SymbolBodyForce} \newcommand{\BodyForceCurrTen}{\Vec{\BodyForceCurrComp}} \newcommand{\TracForceRefComp}{H} \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{G}} \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}{\QFO{\Energy}{#1}} \newcommand{\EnergyEnv}{\SymbolEnvModifier{\Energy}} \newcommand{\EnergyInside}{\Energy^{\SymbolInside}} \newcommand{\EnergyOutside}{\Energy^{\SymbolOutside}} \newcommand{\EnergyConstraint}{\Energy^{\LagrangeMultCurrComp}} \newcommand{\EnergyDensityStrain}{\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{\FlexOne}{\mathcal{F}_{1}} \newcommand{\FlexInfty}{\mathcal{F}_{\infty}} \newcommand{\Flex}{\mathcal{F}_{#1}} \newcommand{\FlexIt}{\mathcal{F}} \newcommand{\FlexFEA}{\mathcal{F}_{\bar{0}}} \newcommand{\FlexFEAModified}{\mathcal{F}_{0}} \newcommand{\FlexImmersed}{\mathcal{F}_{\infty}} \newcommand{\FlexSpectrum}{\overleftrightarrow{\mathcal{F}}} \newcommand{\FlexSpectrumId}{i} \newcommand{\TimeStep}{\Delta \SymbolTime} \newcommand{\SpectralRadius}{\rho_{\infty}} \newcommand{\SymbolDisp}{u} \newcommand{\SymbolVelocity}{v} \newcommand{\SymbolAcceleration}{a} \newcommand{\SymbolMass}{M} \newcommand{\SymbolLength}{L} \newcommand{\SymbolArea}{A} \newcommand{\SymbolConstraint}{g} \newcommand{\SymbolPenalty}{\varepsilon} \newcommand{\SymbolLagrangeMultRef}{\Lambda} \newcommand{\SymbolLagrangeMultCurr}{\lambda} \newcommand{\SymbolFict}{f} \newcommand{\SymbolTracForce}{h} \newcommand{\SymbolBodyForce}{b} \newcommand{\SymbolVolumeRef}{V} \newcommand{\SymbolSurfaceRef}{S} \newcommand{\SymbolCurveRef}{C} \newcommand{\SymbolPointRef}{P} \newcommand{\SymbolVolumeCurr}{\SymbolVolume} \newcommand{\SymbolSurfaceCurr}{\SymbolSurface} \newcommand{\SymbolCurveCurr}{\SymbolCurve} \newcommand{\SymbolPointCurr}{\SymbolPoint} \newcommand{\SymbolDeformGrad}{F} \newcommand{\SymbolStrainGreenLagrange}{E} \newcommand{\SymbolDeformCauchyGreenLeft}{b} \newcommand{\SymbolDeformCauchyGreenRight}{C} \newcommand{\SymbolStrainDisp}{B} \newcommand{\SymbolStrainSymGrad}{\epsilon} \newcommand{\SymbolEnergy}{\Pi} \newcommand{\SymbolEnergyDensityStrain}{\Psi} \newcommand{\SymbolResidual}{R} \newcommand{\SymbolForce}{F} \newcommand{\SymbolStiffness}{K} \newcommand{\SymbolSolution}{d}$

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 116 shows a example of a curve generated from the mesh.  Figure 116: 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 117. Figure 117: 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 118: Create tangent curve with locations and tangent directions

create curve tangent vertex 1 vertex 3

merge vertex all Figure 119: 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} { % \if\relax\detokenize{#2}\relax % {#1} % \else {#1}(#2) % \fi } \newcommand{\QFO}{\QuantityFunctionOf{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOf} { % \if\relax\detokenize{#3}\relax % {#1}_{#2} % \else {#1}_{#2}(#3) % \fi } \newcommand{\SQFO}{\SubscriptedQuantityFunctionOf{#1}{#2}{#3}} \newcommand{\QuantityChildOf} { % \if\relax\detokenize{#1}\relax % {#2} % \else {#2}^{#1} % \fi } \newcommand{\QCO}{\QuantityChildOf{#1}{#2}} \newcommand{\QuantityRelatedTo} { % \if\relax\detokenize{#2}\relax % {#1} % \else {#1}[#2] % \fi } \newcommand{\QRT}{\QuantityRelatedTo{#1}{#2}} \newcommand{\QuantitySubscriptedBy} { % \if\relax\detokenize{#2}\relax % #1 % \else #1_{#2} % \fi } \newcommand{\QSB}{\QuantitySubscriptedBy{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOfChildOf} { % \if\relax\detokenize{#4}\relax % #1_{#2}^{#3} % \else #1_{#2}^{#3}(#4) % \fi } \newcommand{\SQFOCO}{\SubscriptedQuantityFunctionOfChildOf{#1}{#2}{#3}{#4}} \newcommand{\overbar}{\mkern 1.5mu\overline{\mkern-1.5mu#1\mkern-1.5mu}\mkern 1.5mu} \newcommand{\bcdot}{\boldsymbol{\cdot}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Logic %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SuchThat}{\, : \,} \newcommand{\DefEq}{\overset{\operatorname{def}}{=}} \newcommand{\True}{\textsf{True}} \newcommand{\False}{\textsf{False}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Arrays, tuples, and sets %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\ArrayRoster}{\left[#1\right]} \newcommand{\ArrayRosterI}{[#1]_{#2}} \newcommand{\ArrayEmpty}{\ArrayRoster{\hspace{1mm}}} \newcommand{\Tuple}{\mathsf{#1}}%was \mathsf \newcommand{\TupleRoster}{\left(#1\right)} \newcommand{\PointPair}{\TupleRoster{#1, #2}} \newcommand{\Set}{\mathsf{#1}}%was \mathsf \newcommand{\SetRoster}{\left\{ #1 \right\}} \newcommand{\SetRosterIndexed}{\SetRoster{#1}_{#2}^{#3}} \newcommand{\SetRosterPredicate}{\SetRoster{#1 \SuchThat #2}} \newcommand{\SetEmpty}{\varnothing} \newcommand{\SetPower}{\QuantityFunctionOf{\boldsymbol{\Set{P}}}{#1}} \newcommand{\SetNeighborhood}{\QuantityFunctionOf{\boldsymbol{\Set{B}}}{#1}} \newcommand{\Domain}{\Omega} \newcommand{\DomainBdry}{\Gamma} \newcommand{\IntervalClosed}{\left[#1, #2\right]} \newcommand{\IntervalOpen}{\left(#1, #2\right)} \newcommand{\IntervalClosedOpen}{\left[#1, #2\right)} \newcommand{\IntervalOpenClosed}{\left(#1, #2\right]} % special \newcommand{\Reals}{\mathbb{R}} \newcommand{\Naturals}{\mathbb{N}} \newcommand{\Integers}{\mathbb{Z}} \newcommand{\Field}{\mathbb{F}} % properties \newcommand{\Size}{\left\lvert #1 \right\rvert} \newcommand{\Union}{\bigcup\limits_{#1}^{#2} #3} \newcommand{\UnionInline}{\bigcup_{#1}^{#2} #3} \newcommand{\Intersect}{\bigcap\limits_{#1}^{#2} #3} \newcommand{\ElementWiseGreaterOrEqual}{\succeq} \newcommand{\ElemntWiseGreater}{\succ} \newcommand{\ElementWiseLessOrEqual}{\preceq} \newcommand{\ElementWiseLess}{\prec} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Infinite dimensional spaces %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SpaceLinear}{\mathnormal{#1}} \newcommand{\SpaceDual}{\SpaceLinear{#1}^*} % normed spaces \newcommand{\AbsoluteValue}{\Size{#1}} \newcommand{\Norm}{\left\lVert #2 \right\rVert_{#1}} \newcommand{\NormAbstract}{\Norm{}{#1}} \newcommand{\NormSemi}{\Size{#1}} \newcommand{\SpaceLinearNormed}{\left(\SpaceLinear{#1}, \NormAbstract{\bcdot} \right)} \newcommand{\SpaceBanach}{\mathfrak{#1}} % normed and complete % inner product spaces \newcommand{\SymmetricBilinear}{\left(#1, #2\right)} \newcommand{\InnerProduct}{\left\langle#1, #2\right\rangle} \newcommand{\SpaceInnerProduct}{\left(\SpaceLinear{#1}, \InnerProduct{\bcdot}{\bcdot}\right)} \newcommand{\SpaceHilbert}{\mathcal{#1}} \newcommand{\SpaceLTwo}{\SpaceHilbert{L}_2} \newcommand{\SpaceLTwoDef}{\SpaceLTwo\left(#1; #2\right)} \newcommand{\SpaceLInfty}{\SpaceHilbert{L}_\infty} \newcommand{\SpaceLTwoWeighted}{\SpaceLTwo^w} \newcommand{\SpaceSobolevK}{\SpaceHilbert{H}^{#1}} \newcommand{\SpaceSobolevKDef}{\SpaceSobolevK{1}\left(#2 ; #3\right)} % differentiable spaces \newcommand{\Cont}{\operatorname{cont}} \newcommand{\SpaceCont}{\SpaceHilbert{C}} \newcommand{\SpaceContDef}{\SpaceCont\left(#1 ; #2\right)} \newcommand{\SpaceContK}{\SpaceCont^{#1}} \newcommand{\SpaceContKDef}{\SpaceContK{#1}\left(#2; #3\right)} \newcommand{\SpaceContZero}{\SpaceContK{0}} \newcommand{\SpaceContInf}{\SpaceContK{\infty}} \newcommand{\SpaceContInfDef}{\SpaceContKDef{\infty}{#1}{#2}} \newcommand{\SpaceContKBounded}{\SpaceContK{#1}_{#2}} \newcommand{\SpaceContKBoundedDef}{\SpaceCont_{b}^{#1}\left(#2 ; #3\right)} % linear operator spaces \newcommand{\SpaceLinearOperator}{\mathscr{#1}} \newcommand{\SpaceLinearOperatorDef}{\SpaceLinearOperator{L}\left(#1 ; #2\right)} \newcommand{\SpaceLinearOperatorBoundedDef}{\SpaceLinearOperator{B}\left(#1 ; #2\right)} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Finite dimensional spaces %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SpaceLinearN}{\SpaceLinear{#1}^h} \newcommand{\SpaceHilbertN}{\SpaceHilbert{#1}^h} \newcommand{\SpaceVecRealN}{\Reals^{#1}} \newcommand{\SpacePoly}{\SpaceHilbert{P}^{#1}} \newcommand{\SpaceMatrixRealMN}{\Reals^{#1\times#2}} \newcommand{\SpacePolyDef}{\SpacePoly{#1}\left(#2 ; #3\right)} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Functions, vectors, and linear operators %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\Func}[f]{#1} \newcommand{\FuncAlt}[g]{#1} \newcommand{\FuncDef}{#1 \SuchThat #2 \rightarrow #3} \newcommand{\FuncApprox}{#1^h} \newcommand{\LinearOperator}{\SpaceLinearOperator{#1}} \newcommand{\LinearOperatorDef}{\FuncDef{#1}{#2}{#3}} \newcommand{\Functional}{\LinearOperator{#1}} \newcommand{\Projection}{\Pi} \newcommand{\VectorProjection}{\Projection_{#1} {\left(#2\right)}} \newcommand{\Mat}{\boldsymbol{#1}} \newcommand{\MatIJ}{\left[#1\right]_{#2#3}} \newcommand{\MatIdRow}{m} \newcommand{\MatIdCol}{n} \newcommand{\Identity}{\Mat{I}} \newcommand{\KroneckerDelta}{\Mat{\delta}} \newcommand{\LeviCivita}{\Mat{\epsilon}} \newcommand{\Jacobian}{\Mat{J}} \renewcommand{\Vec}{\boldsymbol{#1}} \newcommand{\VecChildOf}{\QCO{#2}{#1}} \newcommand{\VecI}{\{#1\}_{#2}} \newcommand{\ZeroVec}{\Vec{0}} \newcommand{\OneVec}{\Vec{1}} \newcommand{\ZeroMat}{\Mat{0}} \newcommand{\UnitNormalComp}{n} \newcommand{\UnitNormal}{\Vec{\UnitNormalComp}} % rename to UnitNormalTen \newcommand{\MacBracket}{\langle#1\rangle} \newcommand{\HeavisideFunc}{\mathit{H}\left(#1\right)} \newcommand{\DiracDelta}{\delta_{D}\left(#1 - #2\right)} \newcommand{\IdentityTenSym}{\mathbb{I}} \newcommand{\BraKet}{\langle#1\rangle} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Lagrange Optimization %%%%%%%%%%%%%%%%%%%%%%%%%%%% %\newcommand{\Min}{\min\limits_{#1}} %\newcommand{\Max}{\max\limits_{#1}} \newcommand{\FuncObjective}{\QFO{\Func}{#1}} \newcommand{\FuncEqualityConstraints}{\QFO{\Func[\Vec{g}]}{#1}} \newcommand{\VarDesign}{\Vec{\phi}} \newcommand{\VarState}{\QFO{\Vec{u}}{#1}} \newcommand{\FuncLagrangian}{\QFO{\mathscr{L}}{#1}} \newcommand{\FuncAugmentedLagrangian}{\QFO{\mathscr{L}_A}{#1}} \newcommand{\VecLambdaLM}{\QFO{\Vec{\lambda}}{#1}} \newcommand{\LambdaLM}{\QFO{\lambda}{#1}} \newcommand{\SolutionLocalOpt}{\left(#1\right)^*} \newcommand{\ProximalPoint}{\overbar{\VecLambdaLM{}}} \newcommand{\PenaltyParameter}{\rho} \newcommand{\Slacify}{\QSB{#1}{s}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Linear algebra %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\Prod}{\prod\limits_{#1}^{#2}} \newcommand{\ProdInline}{\prod_{#1}^{#2}} \newcommand{\TensorProduct}{\otimes} \newcommand{\Sum} { % COMMENTED OUT FOLLOWING PREVIOUS INSTANCES % \if\relax\detokenize{#2}\relax % \sum\limits_{#1} % \else \sum\limits_{#1}^{#2} % COMMENTED OUT FOLLOWING PREVIOUS INSTANCES % \fi } \newcommand{\SumInline}{\sum_{#1}^{#2}} \newcommand{\Rank}{\operatorname{rank}(#1)} \newcommand{\Nullity}{\operatorname{null}(#1)} \newcommand{\Image}{\operatorname{image}} \newcommand{\Range}{\operatorname{range}} \newcommand{\Inverse}{\left(#1\right)^{-1}} \newcommand{\inverse}{\overline{#1}} % clean up \newcommand{\Transpose}{\left(#1\right)^{T}} \newcommand{\InvTrans}{\left(#1\right)^{-T}} \newcommand{\Complement}{\overbar{#1}} \newcommand{\Adjoint}{\left(#1\right)^*} \newcommand{\OrthogonalComplement}{\left(#1\right)^\perp} \newcommand{\Det}{\QFO{\operatorname{det}}{#1}} \newcommand{\DCT}{\operatorname{DCT}} \newcommand{\IDCT}{\operatorname{IDCT}} \newcommand{\RealPart}{\QFO{\mathfrak{R}}{#1}} \newcommand{\Trace}{\QFO{\operatorname{tr}}{#1}} \newcommand{\Dev}{\QFO{\operatorname{dev}}{#1}} \newcommand{\DevDef}{\Dev{#1} \DefEq #1 - \frac{1}{3}\Trace{#1}\Identity} \newcommand{\dual}{{\bar{#1}}} \newcommand{\symind}{{\uppercase{#1}}} \newcommand{\symmetrizer}{{S}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Bases %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\BasisFuncCoeff}{\QSB{#1}{#2}} \newcommand{\BasisVec}{\QSB{#1}{#2}} \newcommand{\BasisVecChildOf}{\SQFOCO{#1}{#2}{#3}{}} \newcommand{\OrthogonalBasisVec}{\SQFOCO{#1}{#2}{\perp}{}} \newcommand{\OrthonormalBasisVec}{\overbar{\OrthogonalBasisVec{#1}{#2}}} \newcommand{\PolynomialDegree}{p} \newcommand{\BasisFuncId}{i} \newcommand{\BasisFuncIdAlt}{j} \newcommand{\BasisFuncIdAltAlt}{k} \newcommand{\BasisFunc}{\SQFO{#1}{#2}{#3}} \newcommand{\PowerBasisFunc}{\QCO{#2}{#1}} \newcommand{\LegendreBasisFunc}{\SQFO{\Func[P]}{#1}{#2}} \newcommand{\PreNormalizedLegendreBasisFunc}{\hat{\LegendreBasisFunc{#1}{#2}}} \newcommand{\ChebyshevBasisFunc}{\SQFO{\Func[T]}{#1}{#2}} \newcommand{\ChebyshevZeros}{\QSB{z}{#1}} \newcommand{\ChebyshevExtremizers}{\QSB{t}{#1}} \newcommand{\BernToChebMat}{\Mat{T}} \newcommand{\Chebfun}{\biggl(\, \sum_{#2=0}^{#1}{#3}_{#2}\ChebyshevBasisFunc{#2}{}\biggr)} \newcommand{\ChebfunVector}{\left[#1\right]_c} \newcommand{\LagrangeBasisFunc}{\SQFOCO{\Func[L]}{#1}{#2}{#3}} % properties \newcommand{\Span}{\operatorname{span}} \newcommand{\Dim}{\operatorname{dim}} \newcommand{\Support}{\operatorname{supp}(#1)} \newcommand{\SupportPos}{\operatorname{supp}_{+}(#1)} % operations \newcommand{\SumBasis}{\Sum{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\SumInlineBasis}{\SumInline{#1}{#2}{#3}_{#1}{#4}_{#1}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Calculus %%%%%%%%%%%%%%%%%%%%%%%%%%%% % limits \newcommand{\EvaluateTwoLimits}{#1\biggr\rvert_{#2}^{#3}} \newcommand{\EvaluateOneLimit}{\left.#1\right\rvert_{#2}} \newcommand{\Limit}{\lim\limits_{#1\rightarrow #2}} \newcommand{\LimitInline}{\lim_{#1\rightarrow #2}} \newcommand{\DNE}{\operatorname{DNE}} % differentiation \newcommand{\LagrangeDeriv}{{#1}'} \newcommand{\KthLagrangeDeriv}{{#1}^{(#2)}} \newcommand{\LeibnizSubDeriv}{{#1}_{,#2}} \newcommand{\LeibnizFracDeriv}{\frac{d}{d#2}{#1}} \newcommand{\KthLeibnizFracDeriv}{\frac{d^{#2}}{d#3^{#2}}\Func[#1](#3)} \newcommand{\KthLeibnizFracSpecificFunction}{\frac{d^{#2}}{d#3^{#2}}\Func[#1]} \newcommand{\Differential}[x]{\, \operatorname{d}{#1}} \newcommand{\FrechetDeriv}{D{#1}\left(#2\right)} \newcommand{\GateauxDirectionBold}{\Vec{\delta}#1} \newcommand{\GateauxDirection}{\delta #1} \newcommand{\GateauxDerivBold}{D#1(#2; \GateauxDirectionBold{#2})} \newcommand{\GateauxDeriv}{D#1(#2; \GateauxDirection{#2})} \newcommand{\GateauxDerivWithDirection}{D#1\left(#2 \ ;\ #3\right)} \newcommand{\GateauxDerivPartial}{\frac{\partial #1}{\partial #2}} \newcommand{\KthGateauxDerivPartial}{\frac{\partial^{#3} #1}{\partial #2^{#3}}} \newcommand{\Grad}{\boldsymbol{\nabla}^{#1} #2} \newcommand{\Jac}{\Mat{J}} \newcommand{\Div}{\boldsymbol{\nabla}^{#1} \bcdot #2} \newcommand{\Laplace}{\boldsymbol{\Delta}^{#1} #2} \newcommand{\TaylorSeries}{\mathcal{T}\left[\Func[#1]\right](#2)} \newcommand{\TruncatedTaylorSeries}{\mathcal{T}_{#1}\left[\Func[#2]\right]\left(#3\right)} % integration \newcommand{\Int}{\int\limits_{#1}^{#2}} \newcommand{\IntDomain}{\int\limits_{#1}} \newcommand{\IntInline}{\int_{#1}^{#2}} \newcommand{\IntDomainInline}{\int_{#1}} \newcommand{\DetJacobian}{\Det{\Jac}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Numerical Analysis %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\BigO}{\mathcal{O}\left(#1\right)} \newcommand{\Flops}{\operatorname{flops}} \newcommand{\Interpolant}{\mathcal{#1}^{h}} \newcommand{\ErrorApproxComp}{e} \newcommand{\ErrorApproxTen}{\Vec{\ErrorApproxComp}} \newcommand{\ErrorNewton}{\epsilon} % clean up \newcommand{\ApproximateIntegrationError}{\tilde{e}_{#1}} \newcommand{\AnalyticApproximateIntegrationErrorDifference}{\overbar{e}_{#1}}$$\newcommand{\GlosOne}{a} \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{\NumUsplineBasisFuncsOnMeshBezier}{\Size{\UsplineBasisFuncSetOnMeshBezier}} \newcommand{\NumUsplineBasisFuncsOnMeshUspline}{\Size{\UsplineBasisFuncSetOnMeshUspline}} \newcommand{\NumUsplineBasisFuncsOnElem}{\Size{\UsplineBasisFuncSet{\Elem}}} \newcommand{\NumBernsteinBasisFuncsOnMeshBezier}{\Size{\IndexSetOnMeshBezier}} \newcommand{\NumBernsteinBasisFuncsOnElem}{\Size{\IndexSet{\Elem}}} \newcommand{\NumElemsInMeshBezier}{\Size{\CellSet{\ParamDim}}} \newcommand{\ParentDomain}{\SymbolParentModifier{\SymbolDomain}} \newcommand{\ParentDomainChart}{\SymbolParentModifier{\Vec{\phi}}} \newcommand{\ParentDomainChartDetailed}{\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}{\ParentCoord_{#1}} \newcommand{\ParentGrevillePoint}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParentGrevillePointSet}{\QuantityFunctionOf{\Set{\SymbolParentModifier{G}}}{#1}} \newcommand{\BernsteinBasisFuncCoeff}{\SymbolArbitraryCoeffBernstein} \newcommand{\BernsteinBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffBernstein}}}{\MeshBezier}} \newcommand{\BernsteinBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffBernstein}}{\MeshBezier}} \newcommand{\BernFuncLowerDimCell}{\BernsteinBasisFunc^{#1}_{#2}} \newcommand{\BernFuncInterf}{\BernFuncLowerDimCell{\Interface}{#1}} \newcommand{\UsplineBasisFuncCoeff}{\SymbolArbitraryCoeffUspline} \newcommand{\UsplineBasisFuncCoeffAlt}{\SymbolArbitraryCoeffUsplineAlt} \newcommand{\UsplineBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffUspline}}}{\MeshUspline}} \newcommand{\UsplineBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffUspline}}{\MeshUspline}} \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{\ii}{\IndexOnCell{}{\BernsteinBasisFuncIndexTuple}} \newcommand{\jj}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAlt}} \newcommand{\kk}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAltAlt}} \newcommand{\BernsteinBasisFuncIndexTupleB}{\Set{\BernsteinBasisFuncIdB}} \newcommand{\BernsteinDegree}{\PolynomialDegree} \newcommand{\BernsteinDegreeAlt}{q} \newcommand{\BernsteinDegreeTuple}{\Tuple{\BernsteinDegree}} \newcommand{\BernsteinDegreeElevMatComp}{D} \newcommand{\BernsteinDegreeElevMat}{\Mat{\BernsteinDegreeElevMatComp}} \newcommand{\CompletePolynomial}{\AbsoluteValue{#1}} \newcommand{\BernsteinBasisFunc}{\SymbolBernstein} \newcommand{\BernsteinBasisFuncVec}{\QuantityFunctionOf{\QuantityChildOf{#1}{\Vec{\SymbolBernstein}}}{#2}} \newcommand{\BernsteinBasisFuncDetailed}{\BernsteinBasisFunc_{#1}^{#2}} \newcommand{\BernsteinSpace}{\SpaceHilbert{\SymbolBernstein}} \newcommand{\BernsteinRestriction}{#1\vert_{#2}} \newcommand{\Bezier}{B\'ezier } \newcommand{\MeshTopo}{\boldsymbol{\textsf{M}}}%changed from mathsf \newcommand{\MeshBezier}{\boldsymbol{\textsf{B}}}%changed from mathsf \newcommand{\CellArbitrary}{\Set{#1}} \newcommand{\Cell}{\CellArbitrary{c}} % k-cell \newcommand{\CellAlpha}{\CellArbitrary{a}} \newcommand{\CellBeta}{\CellArbitrary{b}} \newcommand{\CellGamma}{\CellArbitrary{c}} \newcommand{\CellToTheLeft}{\CellAlpha} \newcommand{\CellToTheRight}{\CellBeta} \newcommand{\CellBoundary}{\partial #1} \newcommand{\CellSet}{\Set{C}^{#1}} \newcommand{\CellSetAdjacent}{\QuantityFunctionOf{\Set{ADJ}^{#1}}{#2}} \newcommand{\CellSetCardinal}{\QuantityFunctionOf{\Set{CRD}}{#1}} \newcommand{\CellSetSupport}{\Support{#1}} \newcommand{\Elem}{\Set{E}} % d-cell \newcommand{\Interface}{\Set{I}} % (d-1)-cell \newcommand{\Smoothness}{\vartheta} \newcommand{\SmoothnessVar}{\rho} \newcommand{\SmoothnessSet}{\Set{\Smoothness}} \newcommand{\InterfaceSmoothness}{\QuantityChildOf{#1}{\Smoothness}} \newcommand{\MaxPerpCont}{\QuantityFunctionOf{\Smoothness^{\perp}_{\max}}{#1}} \newcommand{\Face}{\Set{f}} % 2-cell \newcommand{\Edge}{\Set{e}} % 1-cell \newcommand{\Vertex}{\Set{v}} % 0-cell \newcommand{\CodimTwoCell}{\Set{w}} % (d-2)-cell \newcommand{\KCell}{\Cell^\ArbDim} \newcommand{\KPlusOneCell}{\Cell^{\ArbDim+1}} \newcommand{\KCellAlpha}{\CellAlpha^\ArbDim} \newcommand{\KPlusOneCellBeta}{\CellBeta^{\ArbDim+1}} \newcommand{\KPlusOneCellAdjacentIndexedSubmeshDomain}{\QuantityChildOf{\CellAlpha\CellBeta}{\SubmeshDomain}} \newcommand{\MaxParallelDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\max}}{#1}} \newcommand{\MinParallelDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\min}}{#1}} \newcommand{\MaxPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\max}}{#1}} \newcommand{\MinPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\min}}{#1}} \newcommand{\MinParallelPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\min}}{#1,#2}} \newcommand{\MaxParallelPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\max}}{#1,#2}} \newcommand{\DegreeParallel}{\BernsteinDegree^{\parallel}} \newcommand{\DegreeParallelToEdge}{\DegreeParallel_{#1}(#2)} \newcommand{\DegreePerp}{\BernsteinDegree^{\perp}} \newcommand{\DegreePerpToInterface}{\DegreePerp_{#1}(#2)} \newcommand{\DegreeTupleParallelToKCell}{\Tuple{\BernsteinDegree}^{\parallel}_{#1}(#2)} \newcommand{\ChangeInDegree}{\Delta(\BernsteinDegree)_{#1}^{#2}} \newcommand{\IndexSet}{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\CompositeBVUnionIndexSet}{\QuantityFunctionOf{\Set{UID}}{#1}} \newcommand{\IndexSetPosCoeffs}{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\IndexSetSet}{\QuantityFunctionOf{\boldsymbol{\IndexSet{}}}{#1}} \newcommand{\IndexSetOnMeshBezier}{\IndexSet{\MeshBezier}} \newcommand{\IndexOnCell}{\QuantityChildOf{#1}{#2}} \newcommand{\IndexOnCellIJ}{\QuantityChildOf{#1}{\TupleRoster{#2,#3}}} \newcommand{\CellFromQuantity}{\QuantityFunctionOf{\operatorname{cell}}{#1}} \newcommand{\ExtractionOp}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{C}}{#2}}} \newcommand{\ExtractionOpSimple}{\QuantityFunctionOf{\Mat{C}}{#1}} \newcommand{\ReconstructOp}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{R}}{#2}}} \newcommand{\ReconstructOpSimple}{\QuantityFunctionOf{\Mat{R}}{#1}} \newcommand{\Gramian}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{G}}{#2}}} \newcommand{\GramianSimple}{\QuantityFunctionOf{\Mat{G}}{#1}} \newcommand{\BernsteinSpaceOnMeshBezier}{\QCO{\MeshBezier}{\BernsteinSpace}} \newcommand{\BernsteinTraceMappingMat}{\Mat{M}} \newcommand{\ParamDomain}{\SymbolParamModifier{\SymbolDomain}} \newcommand{\ParamDomainOnCell}{\QuantityChildOf{\Cell}{\ParamDomain}} \newcommand{\ParamDomainBdry}{\SymbolParamModifier{\SymbolDomainBdry}} \newcommand{\ParamDomainChart}{\QuantityFunctionOf{\Vec{\phi}^{#1}}{#2}} \newcommand{\ParamDim}{\SymbolDim} \newcommand{\ParamCoordSimple}{s} \newcommand{\ParamCoord}{\QCO{#1}{s}} \newcommand{\ParamCoordVecSimple}{\Vec{s}} \newcommand{\ParamCoordVec}{\QCO{#1}{\Vec{\ParamCoord{}}}} \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}{\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{\NormalParamCoordSet}{\QuantityFunctionOf{\ParamCoordVecSimple^{\perp}_{#1}}{#2}} \newcommand{\ParallelParamCoordSet}{\QuantityFunctionOf{\ParamCoordVecSimple^{\parallel}_{#1}}{#2}} \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}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParamModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParamGrevillePointSet}{\QuantityFunctionOf{\Set{\SymbolParamModifier{G}}}{#1}} \newcommand{\ParamDomainOnMeshBezier}{\QuantityChildOf{\MeshBezier}{\ParamDomain}} \newcommand{\ParamDomainOnMeshUspline}{\QuantityChildOf{\MeshUspline}{\ParamDomain}} \newcommand{\Submesh}{\boldsymbol{\mathsf{K}}}%changed from mathsf \newcommand{\SubmeshDomain}{\SymbolSubmeshModifier{\SymbolDomain}} \newcommand{\SubmeshDomainChart}{\QuantityFunctionOf{\Vec{\varphi}^{#1}}{#2}} \newcommand{\SubmeshDomainParameter}{\mathsf{\alpha}}%changed from mathsf \newcommand{\SubmeshDomainParameterVec}{\Vec{\SubmeshDomainParameter}} \newcommand{\SubmeshGrevillePoint}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\SubmeshGrevillePointSimple}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}{#1}} \newcommand{\SubmeshGrevilleMaxPoint}{\QuantityChildOf{#1}{\Set{\SymbolGrevillePoint}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSimple}{\Set{\SymbolGrevillePoint}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSet}{\QuantityChildOf{#1}{\Set{G}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSetSimple}{\Set{G}_{\max}} \newcommand{\SubmeshGrevilleMinPointSet}{\QuantityChildOf{#1}{\Set{G}}_{\min}} \newcommand{\SubmeshGrevilleMinPointSetSimple}{\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}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{G}}}{#1}} \newcommand{\SubmeshGrevillePointSetLeft}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GA}}}{#1}} \newcommand{\SubmeshGrevillePointSetRight}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GB}}}{#1}} \newcommand{\SubmeshGrevillePointSetElement}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GE}}_{#1}}{#2}} \newcommand{\SubmeshGrevillePointSetIntersect}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GI}}}{#1}} \newcommand{\SubmeshGrevillePointSetUnion}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GU}}}{#1}} \newcommand{\SubmeshGrevillePointSetSet}{\QuantityFunctionOf{\boldsymbol{\SubmeshGrevillePointSet{}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetLeft}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GA}}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetRight}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GB}}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetElement}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1}}{#2}} \newcommand{\SubmeshGrevilleDifferenceVectorsSetLeft}{\Delta\SubmeshGrevilleMaxPointSetLeft} \newcommand{\SubmeshGrevilleDifferenceVectorsSetRight}{\Delta\SubmeshGrevilleMaxPointSetRight} \newcommand{\SubmeshGrevilleDifferenceVector}{\Delta\SubmeshGrevilleMaxPoint{\GlosOne}} \newcommand{\SubmeshGrevilleDifferenceVectorLeft}{\Delta\SubmeshGrevilleMaxPointLeft} \newcommand{\SubmeshGrevilleDifferenceVectorRight}{\Delta\SubmeshGrevilleMaxPointRight} \newcommand{\SubmeshGrevilleDifferenceVectorsSet}{\Delta \SubmeshGrevillePointSet{\GlosOne}} \newcommand{\SubmeshGrevilleDistanceToCell}{\QuantityFunctionOf{\SymbolDistance}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCell}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMin}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\min}}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMax}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\max}}{#1, #2}} \newcommand{\SubmeshPerpProjection}{\QuantityFunctionOf{\Projection^{\perp}_{#1}}{#2}} \newcommand{\SubmeshParallelProjection}{\QuantityFunctionOf{\Projection^{\parallel}_{#1}}{#2}} \newcommand{\SubmeshStarProjection}{\QuantityFunctionOf{\Projection^{*}_{#1}}{#2}} \newcommand{\SubmeshPerpEquivalence}{\QuantityFunctionOf{\varpi^{\perp}_{#1}}{#2}} \newcommand{\SubmeshParallelEquivalence}{\QuantityFunctionOf{\varpi^{\parallel}_{#1}}{#2}} \newcommand{\SubmeshStarEquivalence}{\QuantityFunctionOf{\varpi^{*}_{#1}}{#2}} \newcommand{\AlignedSet}{{\boldsymbol{\textsf{Align}}}}%changed from mathsf \newcommand{\AlignedSetSet}{{\boldsymbol{\textsf{ALIGN}}}}%changed from mathsf \newcommand{\AlignmentSetOfSetsLeft}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetOfSetsRight}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetForInterfaceGrevillePoint}{\AlignedSet_{\SubmeshGrevillePoint{\Interface}{}}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRow}{\QuantityFunctionOf{\Set{NZ}_{#1}}{#2}} \newcommand{\AlignmentSetOfSetsOnLowerDCell}{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1,#2}^{\parallel}} \newcommand{\AlignmentSetOfSetsLeftThreeD}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \ii}^{\parallel}} \newcommand{\AlignmentSetOfSetsRightThreeD}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \ii}^{\parallel}} \newcommand{\MeshUspline}{\boldsymbol{\textsf{\SymbolUspline}}}%changed from mathsf \newcommand{\SetNeighborhoodOfInteraction}{\QuantityFunctionOf{\textsf{NI}}{#1}}%changed from mathsf \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}}%changed from mathsf \newcommand{\RayTailEdge}{\Edge} \newcommand{\RayTailVertexMaxContinuity}{\Smoothness_{#1}^{\max}} \newcommand{\RayTailEdgeMinDegree}{\BernsteinDegree_{#1}^{\min}} \newcommand{\RaySkeleton}{\operatorname{skel}(#1)} \newcommand{\RaySmoothness}{\Smoothness_{#1}^{#2}} \newcommand{\RayDegree}{\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}{\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}}%changed from mathsf \newcommand{\RibbonTailInterf}{\Interface} \newcommand{\RibbonTailCodimTwoCellMaxContinuity}{\Smoothness_{#1}^{\max}} \newcommand{\RibbonTailInterfMinDegree}{\BernsteinDegree_{#1}^{\min}} \newcommand{\RibbonSkeleton}{\operatorname{skel}(#1)} \newcommand{\RibbonSmoothness}{\Smoothness_{#1}^{#2}} \newcommand{\RibbonDegree}{\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}{\RibbonAlgBernIndexVariable_{#1}} \newcommand{\UsplineSpace}{\SpaceHilbert{\SymbolUspline}} \newcommand{\UsplineBasisFunc}{\SymbolBasisUspline} \newcommand{\UsplineBasisFuncDetailed}{\UsplineBasisFunc^{#1}_{#2}} \newcommand{\UsplineBasisFuncSet}{\QuantityFunctionOf{\Set{UF}}{#1}} \newcommand{\UsplineBasisFuncVec}{\QuantityFunctionOf{\QuantityChildOf{#1}{\Vec{\SymbolBasisUspline}}}{#2}} \newcommand{\UsplineBasisFuncSetOnMeshBezier}{\QuantityFunctionOf{\Set{UF}}{\MeshBezier}} \newcommand{\UsplineBasisFuncSetOnMeshUspline}{\QuantityFunctionOf{\Set{UF}}{\MeshUspline}} \newcommand{\UsplineBasisFuncSetSupport}{\Support{\UsplineBasisFuncSet{#1}}} \newcommand{\UsplineBasisFuncId}{A} \newcommand{\UsplineBasisFuncIdAlt}{B} \newcommand{\UsplineBasisFuncIdLocal}{a} \newcommand{\UsplineBasisFuncIdOne}{\UsplineBasisFuncId_0} \newcommand{\UsplineBasisFuncIdTwo}{\UsplineBasisFuncId_1} \newcommand{\UsplineBasisFuncNormalized}{\bar{\SymbolBasisUspline}} \newcommand{\UsplineBasisFuncParam}{\UsplineBasisFuncDetailed{\MeshBezier}{#1}} \newcommand{\UsplineDegree}{q} \newcommand{\UsplineNullVectorCoeff}{\SymbolUsplineLower}%{\MakeLowercase} \newcommand{\UsplineNullVector}{\Vec{\UsplineNullVectorCoeff}} \newcommand{\UsplineNullVectorIds}{\Set{id}} \newcommand{\UsplineNullVectorSet}{\boldsymbol{\textsf{UV}}}%changed from mathsf \newcommand{\UsplineNullVectorSetOfIndexSets}{\boldsymbol{\textsf{UI}}}%changed from mathsf \newcommand{\UsplineNullVectorSetOnMeshBezier}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshBezier}} \newcommand{\UsplineNullVectorSetOnMeshUspline}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshUspline}} \newcommand{\UsplineSpaceOnMeshUspline}{\QCO{\MeshUspline}{\UsplineSpace}} \newcommand{\UsplineCellToGlobalBasisFuncIndexMap}{\operatorname{ucg}(#1)} \newcommand{\UsplineCellToGlobalBasisFuncIndexMapDef}{\FuncDef{\operatorname{ucg}}{\MeshBezier\times\Integers}{\Integers}} \newcommand{\ContiguousIndexMap}{\QuantityFunctionOf{i_{#1}}} \newcommand{\Constraint}{R} %\newcommand{\ConstraintCoeff}{\MakeLowercase{\Constraint}} \newcommand{\ConstraintCoeff}{r} \newcommand{\ConstraintCoeffsSet}{\boldsymbol{\Set{\ConstraintCoeff}}} \newcommand{\ConstraintCoeffsVec}{\Vec{\ConstraintCoeff}} \newcommand{\ConstraintSet}{\QuantityFunctionOf{\Set{\Constraint}}{#1}} \newcommand{\ConstraintSetOnMeshBezier}{\ConstraintSet{\MeshBezier}} \newcommand{\ConstraintMat}{\QuantityFunctionOf{\Mat{\Constraint}}{#1}} \newcommand{\ConstraintMatOnMeshBezier}{\ConstraintMat{\MeshBezier}} \newcommand{\SparsestPossibleBasisOnCell}{\QFO{\Set{N}}{#1}} \newcommand{\NullVectorCoeff}{#1} \newcommand{\NullVector}{\QuantityFunctionOf{\Vec{v}}{#1}} \newcommand{\NullVectorArbitrary}{\QuantityFunctionOf{\Vec{#1}}{#2}} \newcommand{\KCellNullVectorForCellAlpha}{\NullVectorArbitrary{n}{}_{\KCellAlpha}} \newcommand{\KPlusOneCellNullVectorForCellBeta}{\NullVectorArbitrary{n}{}_{\KPlusOneCellBeta}} \newcommand{\NullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}}%changed from mathsf \newcommand{\CompositeNullVectorSet}{\NullVectorSet{#1}^{\prime\prime}} \newcommand{\SimpleNullVectorSet}{\NullVectorSet{#1}^{\prime}} \newcommand{\InterfaceNullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}}{#1}}%changed from mathsf \newcommand{\InterfaceNullVectorAlignedSubset}{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorSetOfIndexSets}{\QuantityFunctionOf{\boldsymbol{\textsf{BI}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetGrevilleSets}{\QuantityFunctionOf{\boldsymbol{\textsf{BG}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetOnMeshBezier}{\NullVectorSet{\MeshBezier}} \newcommand{\NullVectorSetSubordinateToNullVector}{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetSubordinateToNullVectorOnCell}{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorSetOnBdryOfNullVector}{\QuantityFunctionOf{\boldsymbol{\textsf{BD}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBV}}}{#1}}%changed from mathsf \newcommand{\NullVectorIndexEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBI}}}{#1}}%changed from mathsf \newcommand{\NullVectorGrevilleEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBG}}}{#1}}%changed from mathsf \newcommand{\NullVectorExpansionSet}{\QuantityFunctionOf{\boldsymbol{\textsf{XBV}}}{#1,#2}}%changed from mathsf \newcommand{\NullSpaceOperatorForm}{\QuantityFunctionOf{\SpaceHilbert{N}}{#1}} \newcommand{\NullSpaceOperatorFormOnMeshBezier}{\NullSpaceOperatorForm{\MeshBezier}} \newcommand{\NullSpaceVectorForm}{\QuantityFunctionOf{\Set{N}}{#1}} \newcommand{\NullVectorGrevillePointSet}{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}}%changed from mathsf \newcommand{\DegSmoothDiff}{\delta_{#1}^{#2}} \newcommand{\FaceEdgeDiff}{\Set{t}} \newcommand{\FaceEdgeDiffSet}{\Set{T}_{#1}} \newcommand{\PerpTuple}{\QuantityFunctionOf{\FaceEdgeDiff^\perp}{#1}} \newcommand{\ParallelTuple}{\QuantityFunctionOf{\FaceEdgeDiff^\parallel}{#1}} \newcommand{\ElemInterfDiff}{\Set{t}} \newcommand{\ElemInterfDiffSet}{\Set{T}_{#1}} \newcommand{\SpokeSymbol}{\rho} \newcommand{\ElemInterfPairSymbol}{t} \newcommand{\ElemKPlusOneCellPair}{\Set{\SpokeSymbol}} \newcommand{\Spoke}{\ElemKPlusOneCellPair} \newcommand{\ElemInterfPair}{\Set{\ElemInterfPairSymbol}} \newcommand{\EIDPerpTuple}{\QuantityFunctionOf{\ElemInterfDiff^\perp}{#1}} \newcommand{\EIDParallelTuple}{\QuantityFunctionOf{\ElemInterfDiff^\parallel}{#1}} \newcommand{\InclDist}{\QuantityFunctionOf{\textsf{inc}}{#1}}%changed from mathsf \newcommand{\InclDistSet}{\Set{INC}^{#1,#2}} \newcommand{\EdgeInclDist}{\InclDistSet{#2}{#3}_{#1}} \newcommand{\PerpEdgesSet}{\Set{E}^\perp} \newcommand{\PerpInterfacesSet}{\Set{IRF}^\perp} \newcommand{\PerpOfKPlusOneCellInterfSet}{\QuantityFunctionOf{\boldsymbol{\textsf{PI}}}{#1}}%changed from mathsf \newcommand{\PerpKPlusOneCellSet}{\QuantityFunctionOf{\boldsymbol{\textsf{PC}}}{#1}}%changed from mathsf \newcommand{\ElemKPlusOneCellPairPerp}{\QuantityFunctionOf{\Set{\SpokeSymbol}^\perp}{#1}} \newcommand{\ElemInterfPairPerp}{\QuantityFunctionOf{\Set{t}^\perp}{#1}} \newcommand{\ElemInterfPairParallel}{\QuantityFunctionOf{\Set{\ElemInterfPairSymbol}^\parallel}{#1}} \newcommand{\ElemKPlusOneCellPairParallelSet}{\QuantityFunctionOf{\Set{\SpokeSymbol}^\parallel}{#1}} \newcommand{\KPlusOneCellNullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}}{#1}}%changed from mathsf \newcommand{\KPlusOneCellNullVectorAlignedSubset}{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\Graph}{\QuantityFunctionOf{G}{#1}} \newcommand{\GraphCore}{K} \newcommand{\GraphDirectedEdge}{\Edge_{i,j}} \newcommand{\GraphDirectedEdgeIJ}{\Edge_{#1,#2}} \newcommand{\GraphCoreToVertex}{\QuantityFunctionOf{\Vertex}{#1}} \newcommand{\GraphCoreChildren}{\QuantityFunctionOf{\operatorname{children}}{#1}} \newcommand{\GraphVertexToCore}{\QuantityFunctionOf{\GraphCore}{#1}} \newcommand{\GraphInteractingEdges}{\Set{IE}} \newcommand{\GraphCoveredEdges}{\Set{CE}} \newcommand{\GraphFailedEdges}{\Set{FE}} \newcommand{\GraphCandidateEdges}{\Set{XE}} \newcommand{\UsplineClass}{\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{\AlgNameBuildRayOfMaximumCouplingLength}{\textit{BuildRayOfMaximumCouplingLength}} \newcommand{\AlgNameBuildRibbonOfMaximumCouplingLength}{\textit{BuildRibbonOfMaximumCouplingLength}} \newcommand{\AlgNameComputeCoreGraph}{ComputeCoreGraph} \newcommand{\SymbolParentModifier}{\overbar{#1}} \newcommand{\SymbolParamModifier}{\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{\UpperDBMat}{\Mat{U}} \newcommand{\LowerWeightDBMat}{\Mat{W}} \newcommand{\RationalSplineWeightSymbol}{w} \newcommand{\NURBSWeight}{\RationalSplineWeightSymbol} \newcommand{\WeightFunc}[\RationalSplineWeightSymbol]{#1} \newcommand{\DBParamWeight}{\omega} \newcommand{\DualBCoeff}{d}$$\newcommand{\SymbolTime}{t} \newcommand{\SymbolClosestPointMap}{\kappa} \newcommand{\SymbolManifold}{m} \newcommand{\SymbolVolume}{v} \newcommand{\SymbolSurface}{s} \newcommand{\SymbolCurve}{c} \newcommand{\SymbolPoint}{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{\SymbolEnvModifier}{\star\mspace{-1mu} #1} \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{\Partition{}}{\ParamDomain}} \newcommand{\SpatialDim}{\SymbolSpatialDim} \newcommand{\SpatialDomain}{\Reals^{\SymbolSpatialDim}} \newcommand{\SpatialCoord}{\SymbolSpatialCoord} \newcommand{\SpatialCoordUpper}{\SymbolSpatialCoordUpper} \newcommand{\SpatialCoordVec}{\Vec{\SpatialCoord}} \newcommand{\SpatialCoordVecSet}{\QuantityFunctionOf{\boldsymbol{\Set{\SpatialCoordUpper}}}{#1}} \newcommand{\UsplineBasisFuncSpatial}{\UsplineBasisFuncDetailed{\SpatialCoord}{#1}} \newcommand{\Manifold}{\QuantityRelatedTo{\Set{\SymbolManifold}}{#1}} \newcommand{\Volume}{\QuantityRelatedTo{\Set{\SymbolVolume}}{#1}} \newcommand{\Surface}{\QuantityRelatedTo{\Set{\SymbolSurface}}{#1}} \newcommand{\Curve}{\QuantityRelatedTo{\Set{\SymbolCurve}}{#1}} \newcommand{\Point}{\QuantityRelatedTo{\Set{\SymbolPoint}}{#1}} \newcommand{\ManifoldCAD}{\Manifold{\SymbolCAD}} \newcommand{\ManifoldCADModified}{\Manifold{\SymbolCADModified}} \newcommand{\ManifoldCADEnv}{\SymbolEnvModifier{\ManifoldCAD}} \newcommand{\ManifoldCADModifiedEnv}{\SymbolEnvModifier{\ManifoldCADModified}} \newcommand{\ManifoldPartition}{\Manifold{\Partition{}}} \newcommand{\ManifoldBezier}{\Manifold{\MeshBezier}} \newcommand{\ManifoldUspline}{\Manifold{\MeshUspline}} \newcommand{\ManifoldUsplineEnv}{\SymbolEnvModifier{\ManifoldUspline}} \newcommand{\VolumeEnv}{\SymbolEnvModifier{\Volume{}}} \newcommand{\dVolume}{\Differential[\Volume{}]} \newcommand{\VolumeIndicator}{\SymbolIndicator} \newcommand{\SurfaceEnv}{\SymbolEnvModifier{\Surface{}}} \newcommand{\SurfaceCAD}{\Surface{\SymbolCAD}} \newcommand{\SurfaceCADModified}{\Surface{\SymbolCADModified}} \newcommand{\SurfaceMesh}{\Surface{\Partition{}}} \newcommand{\SurfaceUspline}{\Surface{\MeshUspline}} \newcommand{\SurfaceWildCard}{\Surface{}^{\SymbolWildCard}} \newcommand{\dSurface}{\Differential[\Surface{}]} \newcommand{\CurveCAD}{\Curve{\SymbolCAD}} \newcommand{\CurveCADModified}{\Curve{\SymbolCADModified}} \newcommand{\CurveMesh}{\Curve{\Partition{}}} \newcommand{\CurveUspline}{\Curve{\MeshUspline}} \newcommand{\dCurve}{\Differential[\Curve{}]} \newcommand{\PointCAD}{\Point{\SymbolCAD}} \newcommand{\PointCADModified}{\Point{\SymbolCADModified}} \newcommand{\PointUspline}{\Point{\MeshUspline}} \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{\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{\ManifoldMap}{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldTemporalMap}{\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}{\FuncDef{\ManifoldMap{#1}{#2}}{#1}{#2}} \newcommand{\ManifoldMapInverseDef}{\FuncDef{\Inverse{\ManifoldMap{#1}{#2}}}{#2}{#1}} \newcommand{\ManifoldTemporalMapDef}{\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}{\QCO{#1}{#2}} \newcommand{\ManifoldCoordVecDetailed}{\QCO{#1}{\Vec{#2}}} \newcommand{\ManifoldCoord}{x} \newcommand{\ManifoldCoordVec}{\Vec{x}} \newcommand{\ManifoldPartitionMapCoord}{\ManifoldCoordDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldPartitionMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldPartitionMap}{\ManifoldCoordVec}} \newcommand{\ManifoldCADMapCoord}{\ManifoldCoordDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldCADMap}{\ManifoldCoordVec}} \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{\Segment}{\QuantityChildOf{#1}{\SymbolSegment}} \newcommand{\SegmentOfVolumeEnv}{\Segment{\VolumeEnv}} \newcommand{\Hex}{\Segment{}_{h}} \newcommand{\Tet}{\Segment{}_{t}} \newcommand{\SegmentParamDomain}{\QuantityRelatedTo{\ParamDomain}{#1}} \newcommand{\SegmentParamDomainOfVolumeEnv}{\QuantityRelatedTo{\ParamDomain}{\Segment{\VolumeEnv}}} \newcommand{\SegmentSet}{\QuantityFunctionOf{\SymbolSegmentSet}{#1}} \newcommand{\SegmentSetOutside}{\SegmentSet{}^{\SymbolOutside}} \newcommand{\SegmentSetInside}{\SegmentSet{}^{\SymbolInside}} \newcommand{\SegmentSetHybrid}{\SegmentSet{}^{\SymbolHybrid}} \newcommand{\Partition}{\QuantityFunctionOf{\SymbolPartition}{#1}} \newcommand{\PartitionBezierExtraction}{\QuantityFunctionOf{\SymbolPartition^{B}}{#1}} \newcommand{\PartitionTessellation}{\QuantityFunctionOf{\SymbolPartition^{T}}{#1}} \newcommand{\PartitionTessellationOfUspline}{\PartitionTessellation{\MeshUspline}} \newcommand{\PartitionTessellationMap}{\QuantityRelatedTo{#2}{#1}} \newcommand{\BoundingVolume}{\QuantityFunctionOf{\Set{bv}}{#1}} \newcommand{\BoundingVolumeSet}{\QuantityFunctionOf{\Set{BV}}{#1}} \newcommand{\BoundingVolumeTree}{\QuantityFunctionOf{\Set{BVH}}{#1}} \newcommand{\AxisAlignedBoundingBox}{\QuantityFunctionOf{\Set{AABB}}{#1}} \newcommand{\SimplexMap}{\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}{\SymbolEnvModifier{\QuadraturePoint{#1}{#2}}} \newcommand{\QuadraturePoint}{\SymbolQuadraturePoint_{#1}^{#2}} \newcommand{\QuadraturePointToElemIndexMap}{\operatorname{qe}(#1)} \newcommand{\QuadratureWeightEnv}{\SymbolEnvModifier{\QuadratureWeight{#1}{#2}}} \newcommand{\QuadratureWeight}{\SymbolQuadratureWeight_{#1}^{#2}} \newcommand{\QuadratureSet}{\Set{\SymbolQuadratureSet}} \newcommand{\QuadratureSetInside}{\QuadratureSet^{\SymbolInside}} \newcommand{\QuadratureSetOutside}{\QuadratureSet^{\SymbolOutside}} \newcommand{\QuadratureSubdDepth}{k} \newcommand{\ClosestPointMap}{\QuantityChildOf{#1}{\Vec{\SymbolClosestPointMap}}} \newcommand{\ClosestPointMapCAD}{\ClosestPointMap{\SymbolCAD}} \newcommand{\ClosestPointMapCADModified}{\ClosestPointMap{\SymbolCADModified}} \newcommand{\ProjectionInto}{\QuantityRelatedTo{\SymbolProjection}{#1}} \newcommand{\ProjectionIntoBernsteinCell}{\ProjectionInto{\Cell}} \newcommand{\ProjectionIntoBernsteinElem}{\ProjectionInto{\Elem}} \newcommand{\ProjectionIntoMeshBezier}{\ProjectionInto{\MeshBezier}} \newcommand{\ProjectionIntoMeshUspline}{\ProjectionInto{\MeshUspline}}$$\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}{\ManifoldCoordDetailed{#1}{X}} \newcommand{\RefCoordVec}{\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}{\UsplineBasisFuncDetailed{\CurveRef}{#1}} \newcommand{\UsplineBasisFuncOverSurfaceRefDisp}{\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}{\ManifoldCoordDetailed{#1}{x}} \newcommand{\CurrCoordVec}{\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}{\Grad{\VolumeEnvRefMap}{#1}} \newcommand{\VolumeRefMap}{\ManifoldMap{\ParamDomain}{\VolumeRef}} \newcommand{\GenericGradOverVolumeRefMap}{\Grad{\VolumeRefMap}{#1}} \newcommand{\SurfaceRefDispMap}{\ManifoldMap{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMap}{\ManifoldMap{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\CurveRefMap}{\ManifoldMap{\ParamDomain}{\CurveRef}} \newcommand{\GenericGradOverCurveRefMap}{\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}{\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}{U} \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{\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{\KinematicElast}{#1^e} \newcommand{\KinematicPlast}{#1^p} \newcommand{\DivVolumeEnvRef}{\Div{\VolumeEnvRefCoordVec}{#1}} \newcommand{\DivVolumeEnvCurr}{\Div{\VolumeEnvCurrCoordVec}{#1}} \newcommand{\UnitNormalRefComp}{N} \newcommand{\UnitNormalRefTen}{\Vec{N}} \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{\StressKirchhoffComp}{\tau} \newcommand{\StressKirchhoffTen}{\Mat{\tau}} \newcommand{\StressKirchhoffVoigt}{\tilde{\StressKirchhoffTen}} \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{\MaterialThermalExpansion}{\alpha_{\text{thermal}}} \newcommand{\CrossSectArea}{\SymbolArea} \newcommand{\Length}{\SymbolLength} \newcommand{\PenaltyStiffness}{\SymbolPenalty_{\SymbolStiffness}} \newcommand{\PenaltyDisp}{\SymbolPenalty_{\SymbolDisp}} \newcommand{\BodyForceRefComp}{B} \newcommand{\BodyForceRefTen}{\Vec{\BodyForceRefComp}} \newcommand{\BodyForceCurrComp}{\SymbolBodyForce} \newcommand{\BodyForceCurrTen}{\Vec{\BodyForceCurrComp}} \newcommand{\TracForceRefComp}{H} \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{G}} \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}{\QFO{\Energy}{#1}} \newcommand{\EnergyEnv}{\SymbolEnvModifier{\Energy}} \newcommand{\EnergyInside}{\Energy^{\SymbolInside}} \newcommand{\EnergyOutside}{\Energy^{\SymbolOutside}} \newcommand{\EnergyConstraint}{\Energy^{\LagrangeMultCurrComp}} \newcommand{\EnergyDensityStrain}{\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{\FlexOne}{\mathcal{F}_{1}} \newcommand{\FlexInfty}{\mathcal{F}_{\infty}} \newcommand{\Flex}{\mathcal{F}_{#1}} \newcommand{\FlexIt}{\mathcal{F}} \newcommand{\FlexFEA}{\mathcal{F}_{\bar{0}}} \newcommand{\FlexFEAModified}{\mathcal{F}_{0}} \newcommand{\FlexImmersed}{\mathcal{F}_{\infty}} \newcommand{\FlexSpectrum}{\overleftrightarrow{\mathcal{F}}} \newcommand{\FlexSpectrumId}{i} \newcommand{\TimeStep}{\Delta \SymbolTime} \newcommand{\SpectralRadius}{\rho_{\infty}} \newcommand{\SymbolDisp}{u} \newcommand{\SymbolVelocity}{v} \newcommand{\SymbolAcceleration}{a} \newcommand{\SymbolMass}{M} \newcommand{\SymbolLength}{L} \newcommand{\SymbolArea}{A} \newcommand{\SymbolConstraint}{g} \newcommand{\SymbolPenalty}{\varepsilon} \newcommand{\SymbolLagrangeMultRef}{\Lambda} \newcommand{\SymbolLagrangeMultCurr}{\lambda} \newcommand{\SymbolFict}{f} \newcommand{\SymbolTracForce}{h} \newcommand{\SymbolBodyForce}{b} \newcommand{\SymbolVolumeRef}{V} \newcommand{\SymbolSurfaceRef}{S} \newcommand{\SymbolCurveRef}{C} \newcommand{\SymbolPointRef}{P} \newcommand{\SymbolVolumeCurr}{\SymbolVolume} \newcommand{\SymbolSurfaceCurr}{\SymbolSurface} \newcommand{\SymbolCurveCurr}{\SymbolCurve} \newcommand{\SymbolPointCurr}{\SymbolPoint} \newcommand{\SymbolDeformGrad}{F} \newcommand{\SymbolStrainGreenLagrange}{E} \newcommand{\SymbolDeformCauchyGreenLeft}{b} \newcommand{\SymbolDeformCauchyGreenRight}{C} \newcommand{\SymbolStrainDisp}{B} \newcommand{\SymbolStrainSymGrad}{\epsilon} \newcommand{\SymbolEnergy}{\Pi} \newcommand{\SymbolEnergyDensityStrain}{\Psi} \newcommand{\SymbolResidual}{R} \newcommand{\SymbolForce}{F} \newcommand{\SymbolStiffness}{K} \newcommand{\SymbolSolution}{d}$

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 120. 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 120: 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 121:

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 122: Multisurface created with the Create Midsurface command Figure 123: 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 124 shows a simple auto midsurface example. The command for the example is:

create midsurface volume 1 auto delete Figure 124: 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 125: 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 126: 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} { % \if\relax\detokenize{#2}\relax % {#1} % \else {#1}(#2) % \fi } \newcommand{\QFO}{\QuantityFunctionOf{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOf} { % \if\relax\detokenize{#3}\relax % {#1}_{#2} % \else {#1}_{#2}(#3) % \fi } \newcommand{\SQFO}{\SubscriptedQuantityFunctionOf{#1}{#2}{#3}} \newcommand{\QuantityChildOf} { % \if\relax\detokenize{#1}\relax % {#2} % \else {#2}^{#1} % \fi } \newcommand{\QCO}{\QuantityChildOf{#1}{#2}} \newcommand{\QuantityRelatedTo} { % \if\relax\detokenize{#2}\relax % {#1} % \else {#1}[#2] % \fi } \newcommand{\QRT}{\QuantityRelatedTo{#1}{#2}} \newcommand{\QuantitySubscriptedBy} { % \if\relax\detokenize{#2}\relax % #1 % \else #1_{#2} % \fi } \newcommand{\QSB}{\QuantitySubscriptedBy{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOfChildOf} { % \if\relax\detokenize{#4}\relax % #1_{#2}^{#3} % \else #1_{#2}^{#3}(#4) % \fi } \newcommand{\SQFOCO}{\SubscriptedQuantityFunctionOfChildOf{#1}{#2}{#3}{#4}} \newcommand{\overbar}{\mkern 1.5mu\overline{\mkern-1.5mu#1\mkern-1.5mu}\mkern 1.5mu} \newcommand{\bcdot}{\boldsymbol{\cdot}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Logic %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SuchThat}{\, : \,} \newcommand{\DefEq}{\overset{\operatorname{def}}{=}} \newcommand{\True}{\textsf{True}} \newcommand{\False}{\textsf{False}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Arrays, tuples, and sets %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\ArrayRoster}{\left[#1\right]} \newcommand{\ArrayRosterI}{[#1]_{#2}} \newcommand{\ArrayEmpty}{\ArrayRoster{\hspace{1mm}}} \newcommand{\Tuple}{\mathsf{#1}}%was \mathsf \newcommand{\TupleRoster}{\left(#1\right)} \newcommand{\PointPair}{\TupleRoster{#1, #2}} \newcommand{\Set}{\mathsf{#1}}%was \mathsf \newcommand{\SetRoster}{\left\{ #1 \right\}} \newcommand{\SetRosterIndexed}{\SetRoster{#1}_{#2}^{#3}} \newcommand{\SetRosterPredicate}{\SetRoster{#1 \SuchThat #2}} \newcommand{\SetEmpty}{\varnothing} \newcommand{\SetPower}{\QuantityFunctionOf{\boldsymbol{\Set{P}}}{#1}} \newcommand{\SetNeighborhood}{\QuantityFunctionOf{\boldsymbol{\Set{B}}}{#1}} \newcommand{\Domain}{\Omega} \newcommand{\DomainBdry}{\Gamma} \newcommand{\IntervalClosed}{\left[#1, #2\right]} \newcommand{\IntervalOpen}{\left(#1, #2\right)} \newcommand{\IntervalClosedOpen}{\left[#1, #2\right)} \newcommand{\IntervalOpenClosed}{\left(#1, #2\right]} % special \newcommand{\Reals}{\mathbb{R}} \newcommand{\Naturals}{\mathbb{N}} \newcommand{\Integers}{\mathbb{Z}} \newcommand{\Field}{\mathbb{F}} % properties \newcommand{\Size}{\left\lvert #1 \right\rvert} \newcommand{\Union}{\bigcup\limits_{#1}^{#2} #3} \newcommand{\UnionInline}{\bigcup_{#1}^{#2} #3} \newcommand{\Intersect}{\bigcap\limits_{#1}^{#2} #3} \newcommand{\ElementWiseGreaterOrEqual}{\succeq} \newcommand{\ElemntWiseGreater}{\succ} \newcommand{\ElementWiseLessOrEqual}{\preceq} \newcommand{\ElementWiseLess}{\prec} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Infinite dimensional spaces %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SpaceLinear}{\mathnormal{#1}} \newcommand{\SpaceDual}{\SpaceLinear{#1}^*} % normed spaces \newcommand{\AbsoluteValue}{\Size{#1}} \newcommand{\Norm}{\left\lVert #2 \right\rVert_{#1}} \newcommand{\NormAbstract}{\Norm{}{#1}} \newcommand{\NormSemi}{\Size{#1}} \newcommand{\SpaceLinearNormed}{\left(\SpaceLinear{#1}, \NormAbstract{\bcdot} \right)} \newcommand{\SpaceBanach}{\mathfrak{#1}} % normed and complete % inner product spaces \newcommand{\SymmetricBilinear}{\left(#1, #2\right)} \newcommand{\InnerProduct}{\left\langle#1, #2\right\rangle} \newcommand{\SpaceInnerProduct}{\left(\SpaceLinear{#1}, \InnerProduct{\bcdot}{\bcdot}\right)} \newcommand{\SpaceHilbert}{\mathcal{#1}} \newcommand{\SpaceLTwo}{\SpaceHilbert{L}_2} \newcommand{\SpaceLTwoDef}{\SpaceLTwo\left(#1; #2\right)} \newcommand{\SpaceLInfty}{\SpaceHilbert{L}_\infty} \newcommand{\SpaceLTwoWeighted}{\SpaceLTwo^w} \newcommand{\SpaceSobolevK}{\SpaceHilbert{H}^{#1}} \newcommand{\SpaceSobolevKDef}{\SpaceSobolevK{1}\left(#2 ; #3\right)} % differentiable spaces \newcommand{\Cont}{\operatorname{cont}} \newcommand{\SpaceCont}{\SpaceHilbert{C}} \newcommand{\SpaceContDef}{\SpaceCont\left(#1 ; #2\right)} \newcommand{\SpaceContK}{\SpaceCont^{#1}} \newcommand{\SpaceContKDef}{\SpaceContK{#1}\left(#2; #3\right)} \newcommand{\SpaceContZero}{\SpaceContK{0}} \newcommand{\SpaceContInf}{\SpaceContK{\infty}} \newcommand{\SpaceContInfDef}{\SpaceContKDef{\infty}{#1}{#2}} \newcommand{\SpaceContKBounded}{\SpaceContK{#1}_{#2}} \newcommand{\SpaceContKBoundedDef}{\SpaceCont_{b}^{#1}\left(#2 ; #3\right)} % linear operator spaces \newcommand{\SpaceLinearOperator}{\mathscr{#1}} \newcommand{\SpaceLinearOperatorDef}{\SpaceLinearOperator{L}\left(#1 ; #2\right)} \newcommand{\SpaceLinearOperatorBoundedDef}{\SpaceLinearOperator{B}\left(#1 ; #2\right)} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Finite dimensional spaces %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SpaceLinearN}{\SpaceLinear{#1}^h} \newcommand{\SpaceHilbertN}{\SpaceHilbert{#1}^h} \newcommand{\SpaceVecRealN}{\Reals^{#1}} \newcommand{\SpacePoly}{\SpaceHilbert{P}^{#1}} \newcommand{\SpaceMatrixRealMN}{\Reals^{#1\times#2}} \newcommand{\SpacePolyDef}{\SpacePoly{#1}\left(#2 ; #3\right)} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Functions, vectors, and linear operators %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\Func}[f]{#1} \newcommand{\FuncAlt}[g]{#1} \newcommand{\FuncDef}{#1 \SuchThat #2 \rightarrow #3} \newcommand{\FuncApprox}{#1^h} \newcommand{\LinearOperator}{\SpaceLinearOperator{#1}} \newcommand{\LinearOperatorDef}{\FuncDef{#1}{#2}{#3}} \newcommand{\Functional}{\LinearOperator{#1}} \newcommand{\Projection}{\Pi} \newcommand{\VectorProjection}{\Projection_{#1} {\left(#2\right)}} \newcommand{\Mat}{\boldsymbol{#1}} \newcommand{\MatIJ}{\left[#1\right]_{#2#3}} \newcommand{\MatIdRow}{m} \newcommand{\MatIdCol}{n} \newcommand{\Identity}{\Mat{I}} \newcommand{\KroneckerDelta}{\Mat{\delta}} \newcommand{\LeviCivita}{\Mat{\epsilon}} \newcommand{\Jacobian}{\Mat{J}} \renewcommand{\Vec}{\boldsymbol{#1}} \newcommand{\VecChildOf}{\QCO{#2}{#1}} \newcommand{\VecI}{\{#1\}_{#2}} \newcommand{\ZeroVec}{\Vec{0}} \newcommand{\OneVec}{\Vec{1}} \newcommand{\ZeroMat}{\Mat{0}} \newcommand{\UnitNormalComp}{n} \newcommand{\UnitNormal}{\Vec{\UnitNormalComp}} % rename to UnitNormalTen \newcommand{\MacBracket}{\langle#1\rangle} \newcommand{\HeavisideFunc}{\mathit{H}\left(#1\right)} \newcommand{\DiracDelta}{\delta_{D}\left(#1 - #2\right)} \newcommand{\IdentityTenSym}{\mathbb{I}} \newcommand{\BraKet}{\langle#1\rangle} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Lagrange Optimization %%%%%%%%%%%%%%%%%%%%%%%%%%%% %\newcommand{\Min}{\min\limits_{#1}} %\newcommand{\Max}{\max\limits_{#1}} \newcommand{\FuncObjective}{\QFO{\Func}{#1}} \newcommand{\FuncEqualityConstraints}{\QFO{\Func[\Vec{g}]}{#1}} \newcommand{\VarDesign}{\Vec{\phi}} \newcommand{\VarState}{\QFO{\Vec{u}}{#1}} \newcommand{\FuncLagrangian}{\QFO{\mathscr{L}}{#1}} \newcommand{\FuncAugmentedLagrangian}{\QFO{\mathscr{L}_A}{#1}} \newcommand{\VecLambdaLM}{\QFO{\Vec{\lambda}}{#1}} \newcommand{\LambdaLM}{\QFO{\lambda}{#1}} \newcommand{\SolutionLocalOpt}{\left(#1\right)^*} \newcommand{\ProximalPoint}{\overbar{\VecLambdaLM{}}} \newcommand{\PenaltyParameter}{\rho} \newcommand{\Slacify}{\QSB{#1}{s}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Linear algebra %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\Prod}{\prod\limits_{#1}^{#2}} \newcommand{\ProdInline}{\prod_{#1}^{#2}} \newcommand{\TensorProduct}{\otimes} \newcommand{\Sum} { % COMMENTED OUT FOLLOWING PREVIOUS INSTANCES % \if\relax\detokenize{#2}\relax % \sum\limits_{#1} % \else \sum\limits_{#1}^{#2} % COMMENTED OUT FOLLOWING PREVIOUS INSTANCES % \fi } \newcommand{\SumInline}{\sum_{#1}^{#2}} \newcommand{\Rank}{\operatorname{rank}(#1)} \newcommand{\Nullity}{\operatorname{null}(#1)} \newcommand{\Image}{\operatorname{image}} \newcommand{\Range}{\operatorname{range}} \newcommand{\Inverse}{\left(#1\right)^{-1}} \newcommand{\inverse}{\overline{#1}} % clean up \newcommand{\Transpose}{\left(#1\right)^{T}} \newcommand{\InvTrans}{\left(#1\right)^{-T}} \newcommand{\Complement}{\overbar{#1}} \newcommand{\Adjoint}{\left(#1\right)^*} \newcommand{\OrthogonalComplement}{\left(#1\right)^\perp} \newcommand{\Det}{\QFO{\operatorname{det}}{#1}} \newcommand{\DCT}{\operatorname{DCT}} \newcommand{\IDCT}{\operatorname{IDCT}} \newcommand{\RealPart}{\QFO{\mathfrak{R}}{#1}} \newcommand{\Trace}{\QFO{\operatorname{tr}}{#1}} \newcommand{\Dev}{\QFO{\operatorname{dev}}{#1}} \newcommand{\DevDef}{\Dev{#1} \DefEq #1 - \frac{1}{3}\Trace{#1}\Identity} \newcommand{\dual}{{\bar{#1}}} \newcommand{\symind}{{\uppercase{#1}}} \newcommand{\symmetrizer}{{S}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Bases %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\BasisFuncCoeff}{\QSB{#1}{#2}} \newcommand{\BasisVec}{\QSB{#1}{#2}} \newcommand{\BasisVecChildOf}{\SQFOCO{#1}{#2}{#3}{}} \newcommand{\OrthogonalBasisVec}{\SQFOCO{#1}{#2}{\perp}{}} \newcommand{\OrthonormalBasisVec}{\overbar{\OrthogonalBasisVec{#1}{#2}}} \newcommand{\PolynomialDegree}{p} \newcommand{\BasisFuncId}{i} \newcommand{\BasisFuncIdAlt}{j} \newcommand{\BasisFuncIdAltAlt}{k} \newcommand{\BasisFunc}{\SQFO{#1}{#2}{#3}} \newcommand{\PowerBasisFunc}{\QCO{#2}{#1}} \newcommand{\LegendreBasisFunc}{\SQFO{\Func[P]}{#1}{#2}} \newcommand{\PreNormalizedLegendreBasisFunc}{\hat{\LegendreBasisFunc{#1}{#2}}} \newcommand{\ChebyshevBasisFunc}{\SQFO{\Func[T]}{#1}{#2}} \newcommand{\ChebyshevZeros}{\QSB{z}{#1}} \newcommand{\ChebyshevExtremizers}{\QSB{t}{#1}} \newcommand{\BernToChebMat}{\Mat{T}} \newcommand{\Chebfun}{\biggl(\, \sum_{#2=0}^{#1}{#3}_{#2}\ChebyshevBasisFunc{#2}{}\biggr)} \newcommand{\ChebfunVector}{\left[#1\right]_c} \newcommand{\LagrangeBasisFunc}{\SQFOCO{\Func[L]}{#1}{#2}{#3}} % properties \newcommand{\Span}{\operatorname{span}} \newcommand{\Dim}{\operatorname{dim}} \newcommand{\Support}{\operatorname{supp}(#1)} \newcommand{\SupportPos}{\operatorname{supp}_{+}(#1)} % operations \newcommand{\SumBasis}{\Sum{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\SumInlineBasis}{\SumInline{#1}{#2}{#3}_{#1}{#4}_{#1}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Calculus %%%%%%%%%%%%%%%%%%%%%%%%%%%% % limits \newcommand{\EvaluateTwoLimits}{#1\biggr\rvert_{#2}^{#3}} \newcommand{\EvaluateOneLimit}{\left.#1\right\rvert_{#2}} \newcommand{\Limit}{\lim\limits_{#1\rightarrow #2}} \newcommand{\LimitInline}{\lim_{#1\rightarrow #2}} \newcommand{\DNE}{\operatorname{DNE}} % differentiation \newcommand{\LagrangeDeriv}{{#1}'} \newcommand{\KthLagrangeDeriv}{{#1}^{(#2)}} \newcommand{\LeibnizSubDeriv}{{#1}_{,#2}} \newcommand{\LeibnizFracDeriv}{\frac{d}{d#2}{#1}} \newcommand{\KthLeibnizFracDeriv}{\frac{d^{#2}}{d#3^{#2}}\Func[#1](#3)} \newcommand{\KthLeibnizFracSpecificFunction}{\frac{d^{#2}}{d#3^{#2}}\Func[#1]} \newcommand{\Differential}[x]{\, \operatorname{d}{#1}} \newcommand{\FrechetDeriv}{D{#1}\left(#2\right)} \newcommand{\GateauxDirectionBold}{\Vec{\delta}#1} \newcommand{\GateauxDirection}{\delta #1} \newcommand{\GateauxDerivBold}{D#1(#2; \GateauxDirectionBold{#2})} \newcommand{\GateauxDeriv}{D#1(#2; \GateauxDirection{#2})} \newcommand{\GateauxDerivWithDirection}{D#1\left(#2 \ ;\ #3\right)} \newcommand{\GateauxDerivPartial}{\frac{\partial #1}{\partial #2}} \newcommand{\KthGateauxDerivPartial}{\frac{\partial^{#3} #1}{\partial #2^{#3}}} \newcommand{\Grad}{\boldsymbol{\nabla}^{#1} #2} \newcommand{\Jac}{\Mat{J}} \newcommand{\Div}{\boldsymbol{\nabla}^{#1} \bcdot #2} \newcommand{\Laplace}{\boldsymbol{\Delta}^{#1} #2} \newcommand{\TaylorSeries}{\mathcal{T}\left[\Func[#1]\right](#2)} \newcommand{\TruncatedTaylorSeries}{\mathcal{T}_{#1}\left[\Func[#2]\right]\left(#3\right)} % integration \newcommand{\Int}{\int\limits_{#1}^{#2}} \newcommand{\IntDomain}{\int\limits_{#1}} \newcommand{\IntInline}{\int_{#1}^{#2}} \newcommand{\IntDomainInline}{\int_{#1}} \newcommand{\DetJacobian}{\Det{\Jac}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Numerical Analysis %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\BigO}{\mathcal{O}\left(#1\right)} \newcommand{\Flops}{\operatorname{flops}} \newcommand{\Interpolant}{\mathcal{#1}^{h}} \newcommand{\ErrorApproxComp}{e} \newcommand{\ErrorApproxTen}{\Vec{\ErrorApproxComp}} \newcommand{\ErrorNewton}{\epsilon} % clean up \newcommand{\ApproximateIntegrationError}{\tilde{e}_{#1}} \newcommand{\AnalyticApproximateIntegrationErrorDifference}{\overbar{e}_{#1}}$$\newcommand{\GlosOne}{a} \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{\NumUsplineBasisFuncsOnMeshBezier}{\Size{\UsplineBasisFuncSetOnMeshBezier}} \newcommand{\NumUsplineBasisFuncsOnMeshUspline}{\Size{\UsplineBasisFuncSetOnMeshUspline}} \newcommand{\NumUsplineBasisFuncsOnElem}{\Size{\UsplineBasisFuncSet{\Elem}}} \newcommand{\NumBernsteinBasisFuncsOnMeshBezier}{\Size{\IndexSetOnMeshBezier}} \newcommand{\NumBernsteinBasisFuncsOnElem}{\Size{\IndexSet{\Elem}}} \newcommand{\NumElemsInMeshBezier}{\Size{\CellSet{\ParamDim}}} \newcommand{\ParentDomain}{\SymbolParentModifier{\SymbolDomain}} \newcommand{\ParentDomainChart}{\SymbolParentModifier{\Vec{\phi}}} \newcommand{\ParentDomainChartDetailed}{\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}{\ParentCoord_{#1}} \newcommand{\ParentGrevillePoint}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParentGrevillePointSet}{\QuantityFunctionOf{\Set{\SymbolParentModifier{G}}}{#1}} \newcommand{\BernsteinBasisFuncCoeff}{\SymbolArbitraryCoeffBernstein} \newcommand{\BernsteinBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffBernstein}}}{\MeshBezier}} \newcommand{\BernsteinBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffBernstein}}{\MeshBezier}} \newcommand{\BernFuncLowerDimCell}{\BernsteinBasisFunc^{#1}_{#2}} \newcommand{\BernFuncInterf}{\BernFuncLowerDimCell{\Interface}{#1}} \newcommand{\UsplineBasisFuncCoeff}{\SymbolArbitraryCoeffUspline} \newcommand{\UsplineBasisFuncCoeffAlt}{\SymbolArbitraryCoeffUsplineAlt} \newcommand{\UsplineBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffUspline}}}{\MeshUspline}} \newcommand{\UsplineBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffUspline}}{\MeshUspline}} \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{\ii}{\IndexOnCell{}{\BernsteinBasisFuncIndexTuple}} \newcommand{\jj}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAlt}} \newcommand{\kk}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAltAlt}} \newcommand{\BernsteinBasisFuncIndexTupleB}{\Set{\BernsteinBasisFuncIdB}} \newcommand{\BernsteinDegree}{\PolynomialDegree} \newcommand{\BernsteinDegreeAlt}{q} \newcommand{\BernsteinDegreeTuple}{\Tuple{\BernsteinDegree}} \newcommand{\BernsteinDegreeElevMatComp}{D} \newcommand{\BernsteinDegreeElevMat}{\Mat{\BernsteinDegreeElevMatComp}} \newcommand{\CompletePolynomial}{\AbsoluteValue{#1}} \newcommand{\BernsteinBasisFunc}{\SymbolBernstein} \newcommand{\BernsteinBasisFuncVec}{\QuantityFunctionOf{\QuantityChildOf{#1}{\Vec{\SymbolBernstein}}}{#2}} \newcommand{\BernsteinBasisFuncDetailed}{\BernsteinBasisFunc_{#1}^{#2}} \newcommand{\BernsteinSpace}{\SpaceHilbert{\SymbolBernstein}} \newcommand{\BernsteinRestriction}{#1\vert_{#2}} \newcommand{\Bezier}{B\'ezier } \newcommand{\MeshTopo}{\boldsymbol{\textsf{M}}}%changed from mathsf \newcommand{\MeshBezier}{\boldsymbol{\textsf{B}}}%changed from mathsf \newcommand{\CellArbitrary}{\Set{#1}} \newcommand{\Cell}{\CellArbitrary{c}} % k-cell \newcommand{\CellAlpha}{\CellArbitrary{a}} \newcommand{\CellBeta}{\CellArbitrary{b}} \newcommand{\CellGamma}{\CellArbitrary{c}} \newcommand{\CellToTheLeft}{\CellAlpha} \newcommand{\CellToTheRight}{\CellBeta} \newcommand{\CellBoundary}{\partial #1} \newcommand{\CellSet}{\Set{C}^{#1}} \newcommand{\CellSetAdjacent}{\QuantityFunctionOf{\Set{ADJ}^{#1}}{#2}} \newcommand{\CellSetCardinal}{\QuantityFunctionOf{\Set{CRD}}{#1}} \newcommand{\CellSetSupport}{\Support{#1}} \newcommand{\Elem}{\Set{E}} % d-cell \newcommand{\Interface}{\Set{I}} % (d-1)-cell \newcommand{\Smoothness}{\vartheta} \newcommand{\SmoothnessVar}{\rho} \newcommand{\SmoothnessSet}{\Set{\Smoothness}} \newcommand{\InterfaceSmoothness}{\QuantityChildOf{#1}{\Smoothness}} \newcommand{\MaxPerpCont}{\QuantityFunctionOf{\Smoothness^{\perp}_{\max}}{#1}} \newcommand{\Face}{\Set{f}} % 2-cell \newcommand{\Edge}{\Set{e}} % 1-cell \newcommand{\Vertex}{\Set{v}} % 0-cell \newcommand{\CodimTwoCell}{\Set{w}} % (d-2)-cell \newcommand{\KCell}{\Cell^\ArbDim} \newcommand{\KPlusOneCell}{\Cell^{\ArbDim+1}} \newcommand{\KCellAlpha}{\CellAlpha^\ArbDim} \newcommand{\KPlusOneCellBeta}{\CellBeta^{\ArbDim+1}} \newcommand{\KPlusOneCellAdjacentIndexedSubmeshDomain}{\QuantityChildOf{\CellAlpha\CellBeta}{\SubmeshDomain}} \newcommand{\MaxParallelDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\max}}{#1}} \newcommand{\MinParallelDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\min}}{#1}} \newcommand{\MaxPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\max}}{#1}} \newcommand{\MinPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\min}}{#1}} \newcommand{\MinParallelPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\min}}{#1,#2}} \newcommand{\MaxParallelPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\max}}{#1,#2}} \newcommand{\DegreeParallel}{\BernsteinDegree^{\parallel}} \newcommand{\DegreeParallelToEdge}{\DegreeParallel_{#1}(#2)} \newcommand{\DegreePerp}{\BernsteinDegree^{\perp}} \newcommand{\DegreePerpToInterface}{\DegreePerp_{#1}(#2)} \newcommand{\DegreeTupleParallelToKCell}{\Tuple{\BernsteinDegree}^{\parallel}_{#1}(#2)} \newcommand{\ChangeInDegree}{\Delta(\BernsteinDegree)_{#1}^{#2}} \newcommand{\IndexSet}{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\CompositeBVUnionIndexSet}{\QuantityFunctionOf{\Set{UID}}{#1}} \newcommand{\IndexSetPosCoeffs}{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\IndexSetSet}{\QuantityFunctionOf{\boldsymbol{\IndexSet{}}}{#1}} \newcommand{\IndexSetOnMeshBezier}{\IndexSet{\MeshBezier}} \newcommand{\IndexOnCell}{\QuantityChildOf{#1}{#2}} \newcommand{\IndexOnCellIJ}{\QuantityChildOf{#1}{\TupleRoster{#2,#3}}} \newcommand{\CellFromQuantity}{\QuantityFunctionOf{\operatorname{cell}}{#1}} \newcommand{\ExtractionOp}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{C}}{#2}}} \newcommand{\ExtractionOpSimple}{\QuantityFunctionOf{\Mat{C}}{#1}} \newcommand{\ReconstructOp}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{R}}{#2}}} \newcommand{\ReconstructOpSimple}{\QuantityFunctionOf{\Mat{R}}{#1}} \newcommand{\Gramian}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{G}}{#2}}} \newcommand{\GramianSimple}{\QuantityFunctionOf{\Mat{G}}{#1}} \newcommand{\BernsteinSpaceOnMeshBezier}{\QCO{\MeshBezier}{\BernsteinSpace}} \newcommand{\BernsteinTraceMappingMat}{\Mat{M}} \newcommand{\ParamDomain}{\SymbolParamModifier{\SymbolDomain}} \newcommand{\ParamDomainOnCell}{\QuantityChildOf{\Cell}{\ParamDomain}} \newcommand{\ParamDomainBdry}{\SymbolParamModifier{\SymbolDomainBdry}} \newcommand{\ParamDomainChart}{\QuantityFunctionOf{\Vec{\phi}^{#1}}{#2}} \newcommand{\ParamDim}{\SymbolDim} \newcommand{\ParamCoordSimple}{s} \newcommand{\ParamCoord}{\QCO{#1}{s}} \newcommand{\ParamCoordVecSimple}{\Vec{s}} \newcommand{\ParamCoordVec}{\QCO{#1}{\Vec{\ParamCoord{}}}} \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}{\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{\NormalParamCoordSet}{\QuantityFunctionOf{\ParamCoordVecSimple^{\perp}_{#1}}{#2}} \newcommand{\ParallelParamCoordSet}{\QuantityFunctionOf{\ParamCoordVecSimple^{\parallel}_{#1}}{#2}} \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}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParamModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParamGrevillePointSet}{\QuantityFunctionOf{\Set{\SymbolParamModifier{G}}}{#1}} \newcommand{\ParamDomainOnMeshBezier}{\QuantityChildOf{\MeshBezier}{\ParamDomain}} \newcommand{\ParamDomainOnMeshUspline}{\QuantityChildOf{\MeshUspline}{\ParamDomain}} \newcommand{\Submesh}{\boldsymbol{\mathsf{K}}}%changed from mathsf \newcommand{\SubmeshDomain}{\SymbolSubmeshModifier{\SymbolDomain}} \newcommand{\SubmeshDomainChart}{\QuantityFunctionOf{\Vec{\varphi}^{#1}}{#2}} \newcommand{\SubmeshDomainParameter}{\mathsf{\alpha}}%changed from mathsf \newcommand{\SubmeshDomainParameterVec}{\Vec{\SubmeshDomainParameter}} \newcommand{\SubmeshGrevillePoint}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\SubmeshGrevillePointSimple}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}{#1}} \newcommand{\SubmeshGrevilleMaxPoint}{\QuantityChildOf{#1}{\Set{\SymbolGrevillePoint}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSimple}{\Set{\SymbolGrevillePoint}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSet}{\QuantityChildOf{#1}{\Set{G}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSetSimple}{\Set{G}_{\max}} \newcommand{\SubmeshGrevilleMinPointSet}{\QuantityChildOf{#1}{\Set{G}}_{\min}} \newcommand{\SubmeshGrevilleMinPointSetSimple}{\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}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{G}}}{#1}} \newcommand{\SubmeshGrevillePointSetLeft}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GA}}}{#1}} \newcommand{\SubmeshGrevillePointSetRight}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GB}}}{#1}} \newcommand{\SubmeshGrevillePointSetElement}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GE}}_{#1}}{#2}} \newcommand{\SubmeshGrevillePointSetIntersect}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GI}}}{#1}} \newcommand{\SubmeshGrevillePointSetUnion}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GU}}}{#1}} \newcommand{\SubmeshGrevillePointSetSet}{\QuantityFunctionOf{\boldsymbol{\SubmeshGrevillePointSet{}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetLeft}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GA}}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetRight}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GB}}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetElement}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1}}{#2}} \newcommand{\SubmeshGrevilleDifferenceVectorsSetLeft}{\Delta\SubmeshGrevilleMaxPointSetLeft} \newcommand{\SubmeshGrevilleDifferenceVectorsSetRight}{\Delta\SubmeshGrevilleMaxPointSetRight} \newcommand{\SubmeshGrevilleDifferenceVector}{\Delta\SubmeshGrevilleMaxPoint{\GlosOne}} \newcommand{\SubmeshGrevilleDifferenceVectorLeft}{\Delta\SubmeshGrevilleMaxPointLeft} \newcommand{\SubmeshGrevilleDifferenceVectorRight}{\Delta\SubmeshGrevilleMaxPointRight} \newcommand{\SubmeshGrevilleDifferenceVectorsSet}{\Delta \SubmeshGrevillePointSet{\GlosOne}} \newcommand{\SubmeshGrevilleDistanceToCell}{\QuantityFunctionOf{\SymbolDistance}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCell}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMin}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\min}}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMax}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\max}}{#1, #2}} \newcommand{\SubmeshPerpProjection}{\QuantityFunctionOf{\Projection^{\perp}_{#1}}{#2}} \newcommand{\SubmeshParallelProjection}{\QuantityFunctionOf{\Projection^{\parallel}_{#1}}{#2}} \newcommand{\SubmeshStarProjection}{\QuantityFunctionOf{\Projection^{*}_{#1}}{#2}} \newcommand{\SubmeshPerpEquivalence}{\QuantityFunctionOf{\varpi^{\perp}_{#1}}{#2}} \newcommand{\SubmeshParallelEquivalence}{\QuantityFunctionOf{\varpi^{\parallel}_{#1}}{#2}} \newcommand{\SubmeshStarEquivalence}{\QuantityFunctionOf{\varpi^{*}_{#1}}{#2}} \newcommand{\AlignedSet}{{\boldsymbol{\textsf{Align}}}}%changed from mathsf \newcommand{\AlignedSetSet}{{\boldsymbol{\textsf{ALIGN}}}}%changed from mathsf \newcommand{\AlignmentSetOfSetsLeft}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetOfSetsRight}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetForInterfaceGrevillePoint}{\AlignedSet_{\SubmeshGrevillePoint{\Interface}{}}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRow}{\QuantityFunctionOf{\Set{NZ}_{#1}}{#2}} \newcommand{\AlignmentSetOfSetsOnLowerDCell}{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1,#2}^{\parallel}} \newcommand{\AlignmentSetOfSetsLeftThreeD}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \ii}^{\parallel}} \newcommand{\AlignmentSetOfSetsRightThreeD}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \ii}^{\parallel}} \newcommand{\MeshUspline}{\boldsymbol{\textsf{\SymbolUspline}}}%changed from mathsf \newcommand{\SetNeighborhoodOfInteraction}{\QuantityFunctionOf{\textsf{NI}}{#1}}%changed from mathsf \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}}%changed from mathsf \newcommand{\RayTailEdge}{\Edge} \newcommand{\RayTailVertexMaxContinuity}{\Smoothness_{#1}^{\max}} \newcommand{\RayTailEdgeMinDegree}{\BernsteinDegree_{#1}^{\min}} \newcommand{\RaySkeleton}{\operatorname{skel}(#1)} \newcommand{\RaySmoothness}{\Smoothness_{#1}^{#2}} \newcommand{\RayDegree}{\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}{\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}}%changed from mathsf \newcommand{\RibbonTailInterf}{\Interface} \newcommand{\RibbonTailCodimTwoCellMaxContinuity}{\Smoothness_{#1}^{\max}} \newcommand{\RibbonTailInterfMinDegree}{\BernsteinDegree_{#1}^{\min}} \newcommand{\RibbonSkeleton}{\operatorname{skel}(#1)} \newcommand{\RibbonSmoothness}{\Smoothness_{#1}^{#2}} \newcommand{\RibbonDegree}{\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}{\RibbonAlgBernIndexVariable_{#1}} \newcommand{\UsplineSpace}{\SpaceHilbert{\SymbolUspline}} \newcommand{\UsplineBasisFunc}{\SymbolBasisUspline} \newcommand{\UsplineBasisFuncDetailed}{\UsplineBasisFunc^{#1}_{#2}} \newcommand{\UsplineBasisFuncSet}{\QuantityFunctionOf{\Set{UF}}{#1}} \newcommand{\UsplineBasisFuncVec}{\QuantityFunctionOf{\QuantityChildOf{#1}{\Vec{\SymbolBasisUspline}}}{#2}} \newcommand{\UsplineBasisFuncSetOnMeshBezier}{\QuantityFunctionOf{\Set{UF}}{\MeshBezier}} \newcommand{\UsplineBasisFuncSetOnMeshUspline}{\QuantityFunctionOf{\Set{UF}}{\MeshUspline}} \newcommand{\UsplineBasisFuncSetSupport}{\Support{\UsplineBasisFuncSet{#1}}} \newcommand{\UsplineBasisFuncId}{A} \newcommand{\UsplineBasisFuncIdAlt}{B} \newcommand{\UsplineBasisFuncIdLocal}{a} \newcommand{\UsplineBasisFuncIdOne}{\UsplineBasisFuncId_0} \newcommand{\UsplineBasisFuncIdTwo}{\UsplineBasisFuncId_1} \newcommand{\UsplineBasisFuncNormalized}{\bar{\SymbolBasisUspline}} \newcommand{\UsplineBasisFuncParam}{\UsplineBasisFuncDetailed{\MeshBezier}{#1}} \newcommand{\UsplineDegree}{q} \newcommand{\UsplineNullVectorCoeff}{\SymbolUsplineLower}%{\MakeLowercase} \newcommand{\UsplineNullVector}{\Vec{\UsplineNullVectorCoeff}} \newcommand{\UsplineNullVectorIds}{\Set{id}} \newcommand{\UsplineNullVectorSet}{\boldsymbol{\textsf{UV}}}%changed from mathsf \newcommand{\UsplineNullVectorSetOfIndexSets}{\boldsymbol{\textsf{UI}}}%changed from mathsf \newcommand{\UsplineNullVectorSetOnMeshBezier}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshBezier}} \newcommand{\UsplineNullVectorSetOnMeshUspline}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshUspline}} \newcommand{\UsplineSpaceOnMeshUspline}{\QCO{\MeshUspline}{\UsplineSpace}} \newcommand{\UsplineCellToGlobalBasisFuncIndexMap}{\operatorname{ucg}(#1)} \newcommand{\UsplineCellToGlobalBasisFuncIndexMapDef}{\FuncDef{\operatorname{ucg}}{\MeshBezier\times\Integers}{\Integers}} \newcommand{\ContiguousIndexMap}{\QuantityFunctionOf{i_{#1}}} \newcommand{\Constraint}{R} %\newcommand{\ConstraintCoeff}{\MakeLowercase{\Constraint}} \newcommand{\ConstraintCoeff}{r} \newcommand{\ConstraintCoeffsSet}{\boldsymbol{\Set{\ConstraintCoeff}}} \newcommand{\ConstraintCoeffsVec}{\Vec{\ConstraintCoeff}} \newcommand{\ConstraintSet}{\QuantityFunctionOf{\Set{\Constraint}}{#1}} \newcommand{\ConstraintSetOnMeshBezier}{\ConstraintSet{\MeshBezier}} \newcommand{\ConstraintMat}{\QuantityFunctionOf{\Mat{\Constraint}}{#1}} \newcommand{\ConstraintMatOnMeshBezier}{\ConstraintMat{\MeshBezier}} \newcommand{\SparsestPossibleBasisOnCell}{\QFO{\Set{N}}{#1}} \newcommand{\NullVectorCoeff}{#1} \newcommand{\NullVector}{\QuantityFunctionOf{\Vec{v}}{#1}} \newcommand{\NullVectorArbitrary}{\QuantityFunctionOf{\Vec{#1}}{#2}} \newcommand{\KCellNullVectorForCellAlpha}{\NullVectorArbitrary{n}{}_{\KCellAlpha}} \newcommand{\KPlusOneCellNullVectorForCellBeta}{\NullVectorArbitrary{n}{}_{\KPlusOneCellBeta}} \newcommand{\NullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}}%changed from mathsf \newcommand{\CompositeNullVectorSet}{\NullVectorSet{#1}^{\prime\prime}} \newcommand{\SimpleNullVectorSet}{\NullVectorSet{#1}^{\prime}} \newcommand{\InterfaceNullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}}{#1}}%changed from mathsf \newcommand{\InterfaceNullVectorAlignedSubset}{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorSetOfIndexSets}{\QuantityFunctionOf{\boldsymbol{\textsf{BI}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetGrevilleSets}{\QuantityFunctionOf{\boldsymbol{\textsf{BG}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetOnMeshBezier}{\NullVectorSet{\MeshBezier}} \newcommand{\NullVectorSetSubordinateToNullVector}{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetSubordinateToNullVectorOnCell}{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorSetOnBdryOfNullVector}{\QuantityFunctionOf{\boldsymbol{\textsf{BD}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBV}}}{#1}}%changed from mathsf \newcommand{\NullVectorIndexEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBI}}}{#1}}%changed from mathsf \newcommand{\NullVectorGrevilleEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBG}}}{#1}}%changed from mathsf \newcommand{\NullVectorExpansionSet}{\QuantityFunctionOf{\boldsymbol{\textsf{XBV}}}{#1,#2}}%changed from mathsf \newcommand{\NullSpaceOperatorForm}{\QuantityFunctionOf{\SpaceHilbert{N}}{#1}} \newcommand{\NullSpaceOperatorFormOnMeshBezier}{\NullSpaceOperatorForm{\MeshBezier}} \newcommand{\NullSpaceVectorForm}{\QuantityFunctionOf{\Set{N}}{#1}} \newcommand{\NullVectorGrevillePointSet}{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}}%changed from mathsf \newcommand{\DegSmoothDiff}{\delta_{#1}^{#2}} \newcommand{\FaceEdgeDiff}{\Set{t}} \newcommand{\FaceEdgeDiffSet}{\Set{T}_{#1}} \newcommand{\PerpTuple}{\QuantityFunctionOf{\FaceEdgeDiff^\perp}{#1}} \newcommand{\ParallelTuple}{\QuantityFunctionOf{\FaceEdgeDiff^\parallel}{#1}} \newcommand{\ElemInterfDiff}{\Set{t}} \newcommand{\ElemInterfDiffSet}{\Set{T}_{#1}} \newcommand{\SpokeSymbol}{\rho} \newcommand{\ElemInterfPairSymbol}{t} \newcommand{\ElemKPlusOneCellPair}{\Set{\SpokeSymbol}} \newcommand{\Spoke}{\ElemKPlusOneCellPair} \newcommand{\ElemInterfPair}{\Set{\ElemInterfPairSymbol}} \newcommand{\EIDPerpTuple}{\QuantityFunctionOf{\ElemInterfDiff^\perp}{#1}} \newcommand{\EIDParallelTuple}{\QuantityFunctionOf{\ElemInterfDiff^\parallel}{#1}} \newcommand{\InclDist}{\QuantityFunctionOf{\textsf{inc}}{#1}}%changed from mathsf \newcommand{\InclDistSet}{\Set{INC}^{#1,#2}} \newcommand{\EdgeInclDist}{\InclDistSet{#2}{#3}_{#1}} \newcommand{\PerpEdgesSet}{\Set{E}^\perp} \newcommand{\PerpInterfacesSet}{\Set{IRF}^\perp} \newcommand{\PerpOfKPlusOneCellInterfSet}{\QuantityFunctionOf{\boldsymbol{\textsf{PI}}}{#1}}%changed from mathsf \newcommand{\PerpKPlusOneCellSet}{\QuantityFunctionOf{\boldsymbol{\textsf{PC}}}{#1}}%changed from mathsf \newcommand{\ElemKPlusOneCellPairPerp}{\QuantityFunctionOf{\Set{\SpokeSymbol}^\perp}{#1}} \newcommand{\ElemInterfPairPerp}{\QuantityFunctionOf{\Set{t}^\perp}{#1}} \newcommand{\ElemInterfPairParallel}{\QuantityFunctionOf{\Set{\ElemInterfPairSymbol}^\parallel}{#1}} \newcommand{\ElemKPlusOneCellPairParallelSet}{\QuantityFunctionOf{\Set{\SpokeSymbol}^\parallel}{#1}} \newcommand{\KPlusOneCellNullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}}{#1}}%changed from mathsf \newcommand{\KPlusOneCellNullVectorAlignedSubset}{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\Graph}{\QuantityFunctionOf{G}{#1}} \newcommand{\GraphCore}{K} \newcommand{\GraphDirectedEdge}{\Edge_{i,j}} \newcommand{\GraphDirectedEdgeIJ}{\Edge_{#1,#2}} \newcommand{\GraphCoreToVertex}{\QuantityFunctionOf{\Vertex}{#1}} \newcommand{\GraphCoreChildren}{\QuantityFunctionOf{\operatorname{children}}{#1}} \newcommand{\GraphVertexToCore}{\QuantityFunctionOf{\GraphCore}{#1}} \newcommand{\GraphInteractingEdges}{\Set{IE}} \newcommand{\GraphCoveredEdges}{\Set{CE}} \newcommand{\GraphFailedEdges}{\Set{FE}} \newcommand{\GraphCandidateEdges}{\Set{XE}} \newcommand{\UsplineClass}{\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{\AlgNameBuildRayOfMaximumCouplingLength}{\textit{BuildRayOfMaximumCouplingLength}} \newcommand{\AlgNameBuildRibbonOfMaximumCouplingLength}{\textit{BuildRibbonOfMaximumCouplingLength}} \newcommand{\AlgNameComputeCoreGraph}{ComputeCoreGraph} \newcommand{\SymbolParentModifier}{\overbar{#1}} \newcommand{\SymbolParamModifier}{\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{\UpperDBMat}{\Mat{U}} \newcommand{\LowerWeightDBMat}{\Mat{W}} \newcommand{\RationalSplineWeightSymbol}{w} \newcommand{\NURBSWeight}{\RationalSplineWeightSymbol} \newcommand{\WeightFunc}[\RationalSplineWeightSymbol]{#1} \newcommand{\DBParamWeight}{\omega} \newcommand{\DualBCoeff}{d}$$\newcommand{\SymbolTime}{t} \newcommand{\SymbolClosestPointMap}{\kappa} \newcommand{\SymbolManifold}{m} \newcommand{\SymbolVolume}{v} \newcommand{\SymbolSurface}{s} \newcommand{\SymbolCurve}{c} \newcommand{\SymbolPoint}{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{\SymbolEnvModifier}{\star\mspace{-1mu} #1} \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{\Partition{}}{\ParamDomain}} \newcommand{\SpatialDim}{\SymbolSpatialDim} \newcommand{\SpatialDomain}{\Reals^{\SymbolSpatialDim}} \newcommand{\SpatialCoord}{\SymbolSpatialCoord} \newcommand{\SpatialCoordUpper}{\SymbolSpatialCoordUpper} \newcommand{\SpatialCoordVec}{\Vec{\SpatialCoord}} \newcommand{\SpatialCoordVecSet}{\QuantityFunctionOf{\boldsymbol{\Set{\SpatialCoordUpper}}}{#1}} \newcommand{\UsplineBasisFuncSpatial}{\UsplineBasisFuncDetailed{\SpatialCoord}{#1}} \newcommand{\Manifold}{\QuantityRelatedTo{\Set{\SymbolManifold}}{#1}} \newcommand{\Volume}{\QuantityRelatedTo{\Set{\SymbolVolume}}{#1}} \newcommand{\Surface}{\QuantityRelatedTo{\Set{\SymbolSurface}}{#1}} \newcommand{\Curve}{\QuantityRelatedTo{\Set{\SymbolCurve}}{#1}} \newcommand{\Point}{\QuantityRelatedTo{\Set{\SymbolPoint}}{#1}} \newcommand{\ManifoldCAD}{\Manifold{\SymbolCAD}} \newcommand{\ManifoldCADModified}{\Manifold{\SymbolCADModified}} \newcommand{\ManifoldCADEnv}{\SymbolEnvModifier{\ManifoldCAD}} \newcommand{\ManifoldCADModifiedEnv}{\SymbolEnvModifier{\ManifoldCADModified}} \newcommand{\ManifoldPartition}{\Manifold{\Partition{}}} \newcommand{\ManifoldBezier}{\Manifold{\MeshBezier}} \newcommand{\ManifoldUspline}{\Manifold{\MeshUspline}} \newcommand{\ManifoldUsplineEnv}{\SymbolEnvModifier{\ManifoldUspline}} \newcommand{\VolumeEnv}{\SymbolEnvModifier{\Volume{}}} \newcommand{\dVolume}{\Differential[\Volume{}]} \newcommand{\VolumeIndicator}{\SymbolIndicator} \newcommand{\SurfaceEnv}{\SymbolEnvModifier{\Surface{}}} \newcommand{\SurfaceCAD}{\Surface{\SymbolCAD}} \newcommand{\SurfaceCADModified}{\Surface{\SymbolCADModified}} \newcommand{\SurfaceMesh}{\Surface{\Partition{}}} \newcommand{\SurfaceUspline}{\Surface{\MeshUspline}} \newcommand{\SurfaceWildCard}{\Surface{}^{\SymbolWildCard}} \newcommand{\dSurface}{\Differential[\Surface{}]} \newcommand{\CurveCAD}{\Curve{\SymbolCAD}} \newcommand{\CurveCADModified}{\Curve{\SymbolCADModified}} \newcommand{\CurveMesh}{\Curve{\Partition{}}} \newcommand{\CurveUspline}{\Curve{\MeshUspline}} \newcommand{\dCurve}{\Differential[\Curve{}]} \newcommand{\PointCAD}{\Point{\SymbolCAD}} \newcommand{\PointCADModified}{\Point{\SymbolCADModified}} \newcommand{\PointUspline}{\Point{\MeshUspline}} \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{\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{\ManifoldMap}{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldTemporalMap}{\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}{\FuncDef{\ManifoldMap{#1}{#2}}{#1}{#2}} \newcommand{\ManifoldMapInverseDef}{\FuncDef{\Inverse{\ManifoldMap{#1}{#2}}}{#2}{#1}} \newcommand{\ManifoldTemporalMapDef}{\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}{\QCO{#1}{#2}} \newcommand{\ManifoldCoordVecDetailed}{\QCO{#1}{\Vec{#2}}} \newcommand{\ManifoldCoord}{x} \newcommand{\ManifoldCoordVec}{\Vec{x}} \newcommand{\ManifoldPartitionMapCoord}{\ManifoldCoordDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldPartitionMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldPartitionMap}{\ManifoldCoordVec}} \newcommand{\ManifoldCADMapCoord}{\ManifoldCoordDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldCADMap}{\ManifoldCoordVec}} \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{\Segment}{\QuantityChildOf{#1}{\SymbolSegment}} \newcommand{\SegmentOfVolumeEnv}{\Segment{\VolumeEnv}} \newcommand{\Hex}{\Segment{}_{h}} \newcommand{\Tet}{\Segment{}_{t}} \newcommand{\SegmentParamDomain}{\QuantityRelatedTo{\ParamDomain}{#1}} \newcommand{\SegmentParamDomainOfVolumeEnv}{\QuantityRelatedTo{\ParamDomain}{\Segment{\VolumeEnv}}} \newcommand{\SegmentSet}{\QuantityFunctionOf{\SymbolSegmentSet}{#1}} \newcommand{\SegmentSetOutside}{\SegmentSet{}^{\SymbolOutside}} \newcommand{\SegmentSetInside}{\SegmentSet{}^{\SymbolInside}} \newcommand{\SegmentSetHybrid}{\SegmentSet{}^{\SymbolHybrid}} \newcommand{\Partition}{\QuantityFunctionOf{\SymbolPartition}{#1}} \newcommand{\PartitionBezierExtraction}{\QuantityFunctionOf{\SymbolPartition^{B}}{#1}} \newcommand{\PartitionTessellation}{\QuantityFunctionOf{\SymbolPartition^{T}}{#1}} \newcommand{\PartitionTessellationOfUspline}{\PartitionTessellation{\MeshUspline}} \newcommand{\PartitionTessellationMap}{\QuantityRelatedTo{#2}{#1}} \newcommand{\BoundingVolume}{\QuantityFunctionOf{\Set{bv}}{#1}} \newcommand{\BoundingVolumeSet}{\QuantityFunctionOf{\Set{BV}}{#1}} \newcommand{\BoundingVolumeTree}{\QuantityFunctionOf{\Set{BVH}}{#1}} \newcommand{\AxisAlignedBoundingBox}{\QuantityFunctionOf{\Set{AABB}}{#1}} \newcommand{\SimplexMap}{\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}{\SymbolEnvModifier{\QuadraturePoint{#1}{#2}}} \newcommand{\QuadraturePoint}{\SymbolQuadraturePoint_{#1}^{#2}} \newcommand{\QuadraturePointToElemIndexMap}{\operatorname{qe}(#1)} \newcommand{\QuadratureWeightEnv}{\SymbolEnvModifier{\QuadratureWeight{#1}{#2}}} \newcommand{\QuadratureWeight}{\SymbolQuadratureWeight_{#1}^{#2}} \newcommand{\QuadratureSet}{\Set{\SymbolQuadratureSet}} \newcommand{\QuadratureSetInside}{\QuadratureSet^{\SymbolInside}} \newcommand{\QuadratureSetOutside}{\QuadratureSet^{\SymbolOutside}} \newcommand{\QuadratureSubdDepth}{k} \newcommand{\ClosestPointMap}{\QuantityChildOf{#1}{\Vec{\SymbolClosestPointMap}}} \newcommand{\ClosestPointMapCAD}{\ClosestPointMap{\SymbolCAD}} \newcommand{\ClosestPointMapCADModified}{\ClosestPointMap{\SymbolCADModified}} \newcommand{\ProjectionInto}{\QuantityRelatedTo{\SymbolProjection}{#1}} \newcommand{\ProjectionIntoBernsteinCell}{\ProjectionInto{\Cell}} \newcommand{\ProjectionIntoBernsteinElem}{\ProjectionInto{\Elem}} \newcommand{\ProjectionIntoMeshBezier}{\ProjectionInto{\MeshBezier}} \newcommand{\ProjectionIntoMeshUspline}{\ProjectionInto{\MeshUspline}}$$\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}{\ManifoldCoordDetailed{#1}{X}} \newcommand{\RefCoordVec}{\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}{\UsplineBasisFuncDetailed{\CurveRef}{#1}} \newcommand{\UsplineBasisFuncOverSurfaceRefDisp}{\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}{\ManifoldCoordDetailed{#1}{x}} \newcommand{\CurrCoordVec}{\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}{\Grad{\VolumeEnvRefMap}{#1}} \newcommand{\VolumeRefMap}{\ManifoldMap{\ParamDomain}{\VolumeRef}} \newcommand{\GenericGradOverVolumeRefMap}{\Grad{\VolumeRefMap}{#1}} \newcommand{\SurfaceRefDispMap}{\ManifoldMap{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMap}{\ManifoldMap{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\CurveRefMap}{\ManifoldMap{\ParamDomain}{\CurveRef}} \newcommand{\GenericGradOverCurveRefMap}{\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}{\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}{U} \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{\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{\KinematicElast}{#1^e} \newcommand{\KinematicPlast}{#1^p} \newcommand{\DivVolumeEnvRef}{\Div{\VolumeEnvRefCoordVec}{#1}} \newcommand{\DivVolumeEnvCurr}{\Div{\VolumeEnvCurrCoordVec}{#1}} \newcommand{\UnitNormalRefComp}{N} \newcommand{\UnitNormalRefTen}{\Vec{N}} \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{\StressKirchhoffComp}{\tau} \newcommand{\StressKirchhoffTen}{\Mat{\tau}} \newcommand{\StressKirchhoffVoigt}{\tilde{\StressKirchhoffTen}} \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{\MaterialThermalExpansion}{\alpha_{\text{thermal}}} \newcommand{\CrossSectArea}{\SymbolArea} \newcommand{\Length}{\SymbolLength} \newcommand{\PenaltyStiffness}{\SymbolPenalty_{\SymbolStiffness}} \newcommand{\PenaltyDisp}{\SymbolPenalty_{\SymbolDisp}} \newcommand{\BodyForceRefComp}{B} \newcommand{\BodyForceRefTen}{\Vec{\BodyForceRefComp}} \newcommand{\BodyForceCurrComp}{\SymbolBodyForce} \newcommand{\BodyForceCurrTen}{\Vec{\BodyForceCurrComp}} \newcommand{\TracForceRefComp}{H} \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{G}} \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}{\QFO{\Energy}{#1}} \newcommand{\EnergyEnv}{\SymbolEnvModifier{\Energy}} \newcommand{\EnergyInside}{\Energy^{\SymbolInside}} \newcommand{\EnergyOutside}{\Energy^{\SymbolOutside}} \newcommand{\EnergyConstraint}{\Energy^{\LagrangeMultCurrComp}} \newcommand{\EnergyDensityStrain}{\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{\FlexOne}{\mathcal{F}_{1}} \newcommand{\FlexInfty}{\mathcal{F}_{\infty}} \newcommand{\Flex}{\mathcal{F}_{#1}} \newcommand{\FlexIt}{\mathcal{F}} \newcommand{\FlexFEA}{\mathcal{F}_{\bar{0}}} \newcommand{\FlexFEAModified}{\mathcal{F}_{0}} \newcommand{\FlexImmersed}{\mathcal{F}_{\infty}} \newcommand{\FlexSpectrum}{\overleftrightarrow{\mathcal{F}}} \newcommand{\FlexSpectrumId}{i} \newcommand{\TimeStep}{\Delta \SymbolTime} \newcommand{\SpectralRadius}{\rho_{\infty}} \newcommand{\SymbolDisp}{u} \newcommand{\SymbolVelocity}{v} \newcommand{\SymbolAcceleration}{a} \newcommand{\SymbolMass}{M} \newcommand{\SymbolLength}{L} \newcommand{\SymbolArea}{A} \newcommand{\SymbolConstraint}{g} \newcommand{\SymbolPenalty}{\varepsilon} \newcommand{\SymbolLagrangeMultRef}{\Lambda} \newcommand{\SymbolLagrangeMultCurr}{\lambda} \newcommand{\SymbolFict}{f} \newcommand{\SymbolTracForce}{h} \newcommand{\SymbolBodyForce}{b} \newcommand{\SymbolVolumeRef}{V} \newcommand{\SymbolSurfaceRef}{S} \newcommand{\SymbolCurveRef}{C} \newcommand{\SymbolPointRef}{P} \newcommand{\SymbolVolumeCurr}{\SymbolVolume} \newcommand{\SymbolSurfaceCurr}{\SymbolSurface} \newcommand{\SymbolCurveCurr}{\SymbolCurve} \newcommand{\SymbolPointCurr}{\SymbolPoint} \newcommand{\SymbolDeformGrad}{F} \newcommand{\SymbolStrainGreenLagrange}{E} \newcommand{\SymbolDeformCauchyGreenLeft}{b} \newcommand{\SymbolDeformCauchyGreenRight}{C} \newcommand{\SymbolStrainDisp}{B} \newcommand{\SymbolStrainSymGrad}{\epsilon} \newcommand{\SymbolEnergy}{\Pi} \newcommand{\SymbolEnergyDensityStrain}{\Psi} \newcommand{\SymbolResidual}{R} \newcommand{\SymbolForce}{F} \newcommand{\SymbolStiffness}{K} \newcommand{\SymbolSolution}{d}$

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 127: 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} { % \if\relax\detokenize{#2}\relax % {#1} % \else {#1}(#2) % \fi } \newcommand{\QFO}{\QuantityFunctionOf{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOf} { % \if\relax\detokenize{#3}\relax % {#1}_{#2} % \else {#1}_{#2}(#3) % \fi } \newcommand{\SQFO}{\SubscriptedQuantityFunctionOf{#1}{#2}{#3}} \newcommand{\QuantityChildOf} { % \if\relax\detokenize{#1}\relax % {#2} % \else {#2}^{#1} % \fi } \newcommand{\QCO}{\QuantityChildOf{#1}{#2}} \newcommand{\QuantityRelatedTo} { % \if\relax\detokenize{#2}\relax % {#1} % \else {#1}[#2] % \fi } \newcommand{\QRT}{\QuantityRelatedTo{#1}{#2}} \newcommand{\QuantitySubscriptedBy} { % \if\relax\detokenize{#2}\relax % #1 % \else #1_{#2} % \fi } \newcommand{\QSB}{\QuantitySubscriptedBy{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOfChildOf} { % \if\relax\detokenize{#4}\relax % #1_{#2}^{#3} % \else #1_{#2}^{#3}(#4) % \fi } \newcommand{\SQFOCO}{\SubscriptedQuantityFunctionOfChildOf{#1}{#2}{#3}{#4}} \newcommand{\overbar}{\mkern 1.5mu\overline{\mkern-1.5mu#1\mkern-1.5mu}\mkern 1.5mu} \newcommand{\bcdot}{\boldsymbol{\cdot}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Logic %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SuchThat}{\, : \,} \newcommand{\DefEq}{\overset{\operatorname{def}}{=}} \newcommand{\True}{\textsf{True}} \newcommand{\False}{\textsf{False}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Arrays, tuples, and sets %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\ArrayRoster}{\left[#1\right]} \newcommand{\ArrayRosterI}{[#1]_{#2}} \newcommand{\ArrayEmpty}{\ArrayRoster{\hspace{1mm}}} \newcommand{\Tuple}{\mathsf{#1}}%was \mathsf \newcommand{\TupleRoster}{\left(#1\right)} \newcommand{\PointPair}{\TupleRoster{#1, #2}} \newcommand{\Set}{\mathsf{#1}}%was \mathsf \newcommand{\SetRoster}{\left\{ #1 \right\}} \newcommand{\SetRosterIndexed}{\SetRoster{#1}_{#2}^{#3}} \newcommand{\SetRosterPredicate}{\SetRoster{#1 \SuchThat #2}} \newcommand{\SetEmpty}{\varnothing} \newcommand{\SetPower}{\QuantityFunctionOf{\boldsymbol{\Set{P}}}{#1}} \newcommand{\SetNeighborhood}{\QuantityFunctionOf{\boldsymbol{\Set{B}}}{#1}} \newcommand{\Domain}{\Omega} \newcommand{\DomainBdry}{\Gamma} \newcommand{\IntervalClosed}{\left[#1, #2\right]} \newcommand{\IntervalOpen}{\left(#1, #2\right)} \newcommand{\IntervalClosedOpen}{\left[#1, #2\right)} \newcommand{\IntervalOpenClosed}{\left(#1, #2\right]} % special \newcommand{\Reals}{\mathbb{R}} \newcommand{\Naturals}{\mathbb{N}} \newcommand{\Integers}{\mathbb{Z}} \newcommand{\Field}{\mathbb{F}} % properties \newcommand{\Size}{\left\lvert #1 \right\rvert} \newcommand{\Union}{\bigcup\limits_{#1}^{#2} #3} \newcommand{\UnionInline}{\bigcup_{#1}^{#2} #3} \newcommand{\Intersect}{\bigcap\limits_{#1}^{#2} #3} \newcommand{\ElementWiseGreaterOrEqual}{\succeq} \newcommand{\ElemntWiseGreater}{\succ} \newcommand{\ElementWiseLessOrEqual}{\preceq} \newcommand{\ElementWiseLess}{\prec} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Infinite dimensional spaces %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SpaceLinear}{\mathnormal{#1}} \newcommand{\SpaceDual}{\SpaceLinear{#1}^*} % normed spaces \newcommand{\AbsoluteValue}{\Size{#1}} \newcommand{\Norm}{\left\lVert #2 \right\rVert_{#1}} \newcommand{\NormAbstract}{\Norm{}{#1}} \newcommand{\NormSemi}{\Size{#1}} \newcommand{\SpaceLinearNormed}{\left(\SpaceLinear{#1}, \NormAbstract{\bcdot} \right)} \newcommand{\SpaceBanach}{\mathfrak{#1}} % normed and complete % inner product spaces \newcommand{\SymmetricBilinear}{\left(#1, #2\right)} \newcommand{\InnerProduct}{\left\langle#1, #2\right\rangle} \newcommand{\SpaceInnerProduct}{\left(\SpaceLinear{#1}, \InnerProduct{\bcdot}{\bcdot}\right)} \newcommand{\SpaceHilbert}{\mathcal{#1}} \newcommand{\SpaceLTwo}{\SpaceHilbert{L}_2} \newcommand{\SpaceLTwoDef}{\SpaceLTwo\left(#1; #2\right)} \newcommand{\SpaceLInfty}{\SpaceHilbert{L}_\infty} \newcommand{\SpaceLTwoWeighted}{\SpaceLTwo^w} \newcommand{\SpaceSobolevK}{\SpaceHilbert{H}^{#1}} \newcommand{\SpaceSobolevKDef}{\SpaceSobolevK{1}\left(#2 ; #3\right)} % differentiable spaces \newcommand{\Cont}{\operatorname{cont}} \newcommand{\SpaceCont}{\SpaceHilbert{C}} \newcommand{\SpaceContDef}{\SpaceCont\left(#1 ; #2\right)} \newcommand{\SpaceContK}{\SpaceCont^{#1}} \newcommand{\SpaceContKDef}{\SpaceContK{#1}\left(#2; #3\right)} \newcommand{\SpaceContZero}{\SpaceContK{0}} \newcommand{\SpaceContInf}{\SpaceContK{\infty}} \newcommand{\SpaceContInfDef}{\SpaceContKDef{\infty}{#1}{#2}} \newcommand{\SpaceContKBounded}{\SpaceContK{#1}_{#2}} \newcommand{\SpaceContKBoundedDef}{\SpaceCont_{b}^{#1}\left(#2 ; #3\right)} % linear operator spaces \newcommand{\SpaceLinearOperator}{\mathscr{#1}} \newcommand{\SpaceLinearOperatorDef}{\SpaceLinearOperator{L}\left(#1 ; #2\right)} \newcommand{\SpaceLinearOperatorBoundedDef}{\SpaceLinearOperator{B}\left(#1 ; #2\right)} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Finite dimensional spaces %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SpaceLinearN}{\SpaceLinear{#1}^h} \newcommand{\SpaceHilbertN}{\SpaceHilbert{#1}^h} \newcommand{\SpaceVecRealN}{\Reals^{#1}} \newcommand{\SpacePoly}{\SpaceHilbert{P}^{#1}} \newcommand{\SpaceMatrixRealMN}{\Reals^{#1\times#2}} \newcommand{\SpacePolyDef}{\SpacePoly{#1}\left(#2 ; #3\right)} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Functions, vectors, and linear operators %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\Func}[f]{#1} \newcommand{\FuncAlt}[g]{#1} \newcommand{\FuncDef}{#1 \SuchThat #2 \rightarrow #3} \newcommand{\FuncApprox}{#1^h} \newcommand{\LinearOperator}{\SpaceLinearOperator{#1}} \newcommand{\LinearOperatorDef}{\FuncDef{#1}{#2}{#3}} \newcommand{\Functional}{\LinearOperator{#1}} \newcommand{\Projection}{\Pi} \newcommand{\VectorProjection}{\Projection_{#1} {\left(#2\right)}} \newcommand{\Mat}{\boldsymbol{#1}} \newcommand{\MatIJ}{\left[#1\right]_{#2#3}} \newcommand{\MatIdRow}{m} \newcommand{\MatIdCol}{n} \newcommand{\Identity}{\Mat{I}} \newcommand{\KroneckerDelta}{\Mat{\delta}} \newcommand{\LeviCivita}{\Mat{\epsilon}} \newcommand{\Jacobian}{\Mat{J}} \renewcommand{\Vec}{\boldsymbol{#1}} \newcommand{\VecChildOf}{\QCO{#2}{#1}} \newcommand{\VecI}{\{#1\}_{#2}} \newcommand{\ZeroVec}{\Vec{0}} \newcommand{\OneVec}{\Vec{1}} \newcommand{\ZeroMat}{\Mat{0}} \newcommand{\UnitNormalComp}{n} \newcommand{\UnitNormal}{\Vec{\UnitNormalComp}} % rename to UnitNormalTen \newcommand{\MacBracket}{\langle#1\rangle} \newcommand{\HeavisideFunc}{\mathit{H}\left(#1\right)} \newcommand{\DiracDelta}{\delta_{D}\left(#1 - #2\right)} \newcommand{\IdentityTenSym}{\mathbb{I}} \newcommand{\BraKet}{\langle#1\rangle} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Lagrange Optimization %%%%%%%%%%%%%%%%%%%%%%%%%%%% %\newcommand{\Min}{\min\limits_{#1}} %\newcommand{\Max}{\max\limits_{#1}} \newcommand{\FuncObjective}{\QFO{\Func}{#1}} \newcommand{\FuncEqualityConstraints}{\QFO{\Func[\Vec{g}]}{#1}} \newcommand{\VarDesign}{\Vec{\phi}} \newcommand{\VarState}{\QFO{\Vec{u}}{#1}} \newcommand{\FuncLagrangian}{\QFO{\mathscr{L}}{#1}} \newcommand{\FuncAugmentedLagrangian}{\QFO{\mathscr{L}_A}{#1}} \newcommand{\VecLambdaLM}{\QFO{\Vec{\lambda}}{#1}} \newcommand{\LambdaLM}{\QFO{\lambda}{#1}} \newcommand{\SolutionLocalOpt}{\left(#1\right)^*} \newcommand{\ProximalPoint}{\overbar{\VecLambdaLM{}}} \newcommand{\PenaltyParameter}{\rho} \newcommand{\Slacify}{\QSB{#1}{s}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Linear algebra %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\Prod}{\prod\limits_{#1}^{#2}} \newcommand{\ProdInline}{\prod_{#1}^{#2}} \newcommand{\TensorProduct}{\otimes} \newcommand{\Sum} { % COMMENTED OUT FOLLOWING PREVIOUS INSTANCES % \if\relax\detokenize{#2}\relax % \sum\limits_{#1} % \else \sum\limits_{#1}^{#2} % COMMENTED OUT FOLLOWING PREVIOUS INSTANCES % \fi } \newcommand{\SumInline}{\sum_{#1}^{#2}} \newcommand{\Rank}{\operatorname{rank}(#1)} \newcommand{\Nullity}{\operatorname{null}(#1)} \newcommand{\Image}{\operatorname{image}} \newcommand{\Range}{\operatorname{range}} \newcommand{\Inverse}{\left(#1\right)^{-1}} \newcommand{\inverse}{\overline{#1}} % clean up \newcommand{\Transpose}{\left(#1\right)^{T}} \newcommand{\InvTrans}{\left(#1\right)^{-T}} \newcommand{\Complement}{\overbar{#1}} \newcommand{\Adjoint}{\left(#1\right)^*} \newcommand{\OrthogonalComplement}{\left(#1\right)^\perp} \newcommand{\Det}{\QFO{\operatorname{det}}{#1}} \newcommand{\DCT}{\operatorname{DCT}} \newcommand{\IDCT}{\operatorname{IDCT}} \newcommand{\RealPart}{\QFO{\mathfrak{R}}{#1}} \newcommand{\Trace}{\QFO{\operatorname{tr}}{#1}} \newcommand{\Dev}{\QFO{\operatorname{dev}}{#1}} \newcommand{\DevDef}{\Dev{#1} \DefEq #1 - \frac{1}{3}\Trace{#1}\Identity} \newcommand{\dual}{{\bar{#1}}} \newcommand{\symind}{{\uppercase{#1}}} \newcommand{\symmetrizer}{{S}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Bases %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\BasisFuncCoeff}{\QSB{#1}{#2}} \newcommand{\BasisVec}{\QSB{#1}{#2}} \newcommand{\BasisVecChildOf}{\SQFOCO{#1}{#2}{#3}{}} \newcommand{\OrthogonalBasisVec}{\SQFOCO{#1}{#2}{\perp}{}} \newcommand{\OrthonormalBasisVec}{\overbar{\OrthogonalBasisVec{#1}{#2}}} \newcommand{\PolynomialDegree}{p} \newcommand{\BasisFuncId}{i} \newcommand{\BasisFuncIdAlt}{j} \newcommand{\BasisFuncIdAltAlt}{k} \newcommand{\BasisFunc}{\SQFO{#1}{#2}{#3}} \newcommand{\PowerBasisFunc}{\QCO{#2}{#1}} \newcommand{\LegendreBasisFunc}{\SQFO{\Func[P]}{#1}{#2}} \newcommand{\PreNormalizedLegendreBasisFunc}{\hat{\LegendreBasisFunc{#1}{#2}}} \newcommand{\ChebyshevBasisFunc}{\SQFO{\Func[T]}{#1}{#2}} \newcommand{\ChebyshevZeros}{\QSB{z}{#1}} \newcommand{\ChebyshevExtremizers}{\QSB{t}{#1}} \newcommand{\BernToChebMat}{\Mat{T}} \newcommand{\Chebfun}{\biggl(\, \sum_{#2=0}^{#1}{#3}_{#2}\ChebyshevBasisFunc{#2}{}\biggr)} \newcommand{\ChebfunVector}{\left[#1\right]_c} \newcommand{\LagrangeBasisFunc}{\SQFOCO{\Func[L]}{#1}{#2}{#3}} % properties \newcommand{\Span}{\operatorname{span}} \newcommand{\Dim}{\operatorname{dim}} \newcommand{\Support}{\operatorname{supp}(#1)} \newcommand{\SupportPos}{\operatorname{supp}_{+}(#1)} % operations \newcommand{\SumBasis}{\Sum{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\SumInlineBasis}{\SumInline{#1}{#2}{#3}_{#1}{#4}_{#1}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Calculus %%%%%%%%%%%%%%%%%%%%%%%%%%%% % limits \newcommand{\EvaluateTwoLimits}{#1\biggr\rvert_{#2}^{#3}} \newcommand{\EvaluateOneLimit}{\left.#1\right\rvert_{#2}} \newcommand{\Limit}{\lim\limits_{#1\rightarrow #2}} \newcommand{\LimitInline}{\lim_{#1\rightarrow #2}} \newcommand{\DNE}{\operatorname{DNE}} % differentiation \newcommand{\LagrangeDeriv}{{#1}'} \newcommand{\KthLagrangeDeriv}{{#1}^{(#2)}} \newcommand{\LeibnizSubDeriv}{{#1}_{,#2}} \newcommand{\LeibnizFracDeriv}{\frac{d}{d#2}{#1}} \newcommand{\KthLeibnizFracDeriv}{\frac{d^{#2}}{d#3^{#2}}\Func[#1](#3)} \newcommand{\KthLeibnizFracSpecificFunction}{\frac{d^{#2}}{d#3^{#2}}\Func[#1]} \newcommand{\Differential}[x]{\, \operatorname{d}{#1}} \newcommand{\FrechetDeriv}{D{#1}\left(#2\right)} \newcommand{\GateauxDirectionBold}{\Vec{\delta}#1} \newcommand{\GateauxDirection}{\delta #1} \newcommand{\GateauxDerivBold}{D#1(#2; \GateauxDirectionBold{#2})} \newcommand{\GateauxDeriv}{D#1(#2; \GateauxDirection{#2})} \newcommand{\GateauxDerivWithDirection}{D#1\left(#2 \ ;\ #3\right)} \newcommand{\GateauxDerivPartial}{\frac{\partial #1}{\partial #2}} \newcommand{\KthGateauxDerivPartial}{\frac{\partial^{#3} #1}{\partial #2^{#3}}} \newcommand{\Grad}{\boldsymbol{\nabla}^{#1} #2} \newcommand{\Jac}{\Mat{J}} \newcommand{\Div}{\boldsymbol{\nabla}^{#1} \bcdot #2} \newcommand{\Laplace}{\boldsymbol{\Delta}^{#1} #2} \newcommand{\TaylorSeries}{\mathcal{T}\left[\Func[#1]\right](#2)} \newcommand{\TruncatedTaylorSeries}{\mathcal{T}_{#1}\left[\Func[#2]\right]\left(#3\right)} % integration \newcommand{\Int}{\int\limits_{#1}^{#2}} \newcommand{\IntDomain}{\int\limits_{#1}} \newcommand{\IntInline}{\int_{#1}^{#2}} \newcommand{\IntDomainInline}{\int_{#1}} \newcommand{\DetJacobian}{\Det{\Jac}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Numerical Analysis %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\BigO}{\mathcal{O}\left(#1\right)} \newcommand{\Flops}{\operatorname{flops}} \newcommand{\Interpolant}{\mathcal{#1}^{h}} \newcommand{\ErrorApproxComp}{e} \newcommand{\ErrorApproxTen}{\Vec{\ErrorApproxComp}} \newcommand{\ErrorNewton}{\epsilon} % clean up \newcommand{\ApproximateIntegrationError}{\tilde{e}_{#1}} \newcommand{\AnalyticApproximateIntegrationErrorDifference}{\overbar{e}_{#1}}$$\newcommand{\GlosOne}{a} \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{\NumUsplineBasisFuncsOnMeshBezier}{\Size{\UsplineBasisFuncSetOnMeshBezier}} \newcommand{\NumUsplineBasisFuncsOnMeshUspline}{\Size{\UsplineBasisFuncSetOnMeshUspline}} \newcommand{\NumUsplineBasisFuncsOnElem}{\Size{\UsplineBasisFuncSet{\Elem}}} \newcommand{\NumBernsteinBasisFuncsOnMeshBezier}{\Size{\IndexSetOnMeshBezier}} \newcommand{\NumBernsteinBasisFuncsOnElem}{\Size{\IndexSet{\Elem}}} \newcommand{\NumElemsInMeshBezier}{\Size{\CellSet{\ParamDim}}} \newcommand{\ParentDomain}{\SymbolParentModifier{\SymbolDomain}} \newcommand{\ParentDomainChart}{\SymbolParentModifier{\Vec{\phi}}} \newcommand{\ParentDomainChartDetailed}{\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}{\ParentCoord_{#1}} \newcommand{\ParentGrevillePoint}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParentGrevillePointSet}{\QuantityFunctionOf{\Set{\SymbolParentModifier{G}}}{#1}} \newcommand{\BernsteinBasisFuncCoeff}{\SymbolArbitraryCoeffBernstein} \newcommand{\BernsteinBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffBernstein}}}{\MeshBezier}} \newcommand{\BernsteinBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffBernstein}}{\MeshBezier}} \newcommand{\BernFuncLowerDimCell}{\BernsteinBasisFunc^{#1}_{#2}} \newcommand{\BernFuncInterf}{\BernFuncLowerDimCell{\Interface}{#1}} \newcommand{\UsplineBasisFuncCoeff}{\SymbolArbitraryCoeffUspline} \newcommand{\UsplineBasisFuncCoeffAlt}{\SymbolArbitraryCoeffUsplineAlt} \newcommand{\UsplineBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffUspline}}}{\MeshUspline}} \newcommand{\UsplineBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffUspline}}{\MeshUspline}} \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{\ii}{\IndexOnCell{}{\BernsteinBasisFuncIndexTuple}} \newcommand{\jj}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAlt}} \newcommand{\kk}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAltAlt}} \newcommand{\BernsteinBasisFuncIndexTupleB}{\Set{\BernsteinBasisFuncIdB}} \newcommand{\BernsteinDegree}{\PolynomialDegree} \newcommand{\BernsteinDegreeAlt}{q} \newcommand{\BernsteinDegreeTuple}{\Tuple{\BernsteinDegree}} \newcommand{\BernsteinDegreeElevMatComp}{D} \newcommand{\BernsteinDegreeElevMat}{\Mat{\BernsteinDegreeElevMatComp}} \newcommand{\CompletePolynomial}{\AbsoluteValue{#1}} \newcommand{\BernsteinBasisFunc}{\SymbolBernstein} \newcommand{\BernsteinBasisFuncVec}{\QuantityFunctionOf{\QuantityChildOf{#1}{\Vec{\SymbolBernstein}}}{#2}} \newcommand{\BernsteinBasisFuncDetailed}{\BernsteinBasisFunc_{#1}^{#2}} \newcommand{\BernsteinSpace}{\SpaceHilbert{\SymbolBernstein}} \newcommand{\BernsteinRestriction}{#1\vert_{#2}} \newcommand{\Bezier}{B\'ezier } \newcommand{\MeshTopo}{\boldsymbol{\textsf{M}}}%changed from mathsf \newcommand{\MeshBezier}{\boldsymbol{\textsf{B}}}%changed from mathsf \newcommand{\CellArbitrary}{\Set{#1}} \newcommand{\Cell}{\CellArbitrary{c}} % k-cell \newcommand{\CellAlpha}{\CellArbitrary{a}} \newcommand{\CellBeta}{\CellArbitrary{b}} \newcommand{\CellGamma}{\CellArbitrary{c}} \newcommand{\CellToTheLeft}{\CellAlpha} \newcommand{\CellToTheRight}{\CellBeta} \newcommand{\CellBoundary}{\partial #1} \newcommand{\CellSet}{\Set{C}^{#1}} \newcommand{\CellSetAdjacent}{\QuantityFunctionOf{\Set{ADJ}^{#1}}{#2}} \newcommand{\CellSetCardinal}{\QuantityFunctionOf{\Set{CRD}}{#1}} \newcommand{\CellSetSupport}{\Support{#1}} \newcommand{\Elem}{\Set{E}} % d-cell \newcommand{\Interface}{\Set{I}} % (d-1)-cell \newcommand{\Smoothness}{\vartheta} \newcommand{\SmoothnessVar}{\rho} \newcommand{\SmoothnessSet}{\Set{\Smoothness}} \newcommand{\InterfaceSmoothness}{\QuantityChildOf{#1}{\Smoothness}} \newcommand{\MaxPerpCont}{\QuantityFunctionOf{\Smoothness^{\perp}_{\max}}{#1}} \newcommand{\Face}{\Set{f}} % 2-cell \newcommand{\Edge}{\Set{e}} % 1-cell \newcommand{\Vertex}{\Set{v}} % 0-cell \newcommand{\CodimTwoCell}{\Set{w}} % (d-2)-cell \newcommand{\KCell}{\Cell^\ArbDim} \newcommand{\KPlusOneCell}{\Cell^{\ArbDim+1}} \newcommand{\KCellAlpha}{\CellAlpha^\ArbDim} \newcommand{\KPlusOneCellBeta}{\CellBeta^{\ArbDim+1}} \newcommand{\KPlusOneCellAdjacentIndexedSubmeshDomain}{\QuantityChildOf{\CellAlpha\CellBeta}{\SubmeshDomain}} \newcommand{\MaxParallelDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\max}}{#1}} \newcommand{\MinParallelDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\min}}{#1}} \newcommand{\MaxPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\max}}{#1}} \newcommand{\MinPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\min}}{#1}} \newcommand{\MinParallelPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\min}}{#1,#2}} \newcommand{\MaxParallelPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\max}}{#1,#2}} \newcommand{\DegreeParallel}{\BernsteinDegree^{\parallel}} \newcommand{\DegreeParallelToEdge}{\DegreeParallel_{#1}(#2)} \newcommand{\DegreePerp}{\BernsteinDegree^{\perp}} \newcommand{\DegreePerpToInterface}{\DegreePerp_{#1}(#2)} \newcommand{\DegreeTupleParallelToKCell}{\Tuple{\BernsteinDegree}^{\parallel}_{#1}(#2)} \newcommand{\ChangeInDegree}{\Delta(\BernsteinDegree)_{#1}^{#2}} \newcommand{\IndexSet}{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\CompositeBVUnionIndexSet}{\QuantityFunctionOf{\Set{UID}}{#1}} \newcommand{\IndexSetPosCoeffs}{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\IndexSetSet}{\QuantityFunctionOf{\boldsymbol{\IndexSet{}}}{#1}} \newcommand{\IndexSetOnMeshBezier}{\IndexSet{\MeshBezier}} \newcommand{\IndexOnCell}{\QuantityChildOf{#1}{#2}} \newcommand{\IndexOnCellIJ}{\QuantityChildOf{#1}{\TupleRoster{#2,#3}}} \newcommand{\CellFromQuantity}{\QuantityFunctionOf{\operatorname{cell}}{#1}} \newcommand{\ExtractionOp}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{C}}{#2}}} \newcommand{\ExtractionOpSimple}{\QuantityFunctionOf{\Mat{C}}{#1}} \newcommand{\ReconstructOp}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{R}}{#2}}} \newcommand{\ReconstructOpSimple}{\QuantityFunctionOf{\Mat{R}}{#1}} \newcommand{\Gramian}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{G}}{#2}}} \newcommand{\GramianSimple}{\QuantityFunctionOf{\Mat{G}}{#1}} \newcommand{\BernsteinSpaceOnMeshBezier}{\QCO{\MeshBezier}{\BernsteinSpace}} \newcommand{\BernsteinTraceMappingMat}{\Mat{M}} \newcommand{\ParamDomain}{\SymbolParamModifier{\SymbolDomain}} \newcommand{\ParamDomainOnCell}{\QuantityChildOf{\Cell}{\ParamDomain}} \newcommand{\ParamDomainBdry}{\SymbolParamModifier{\SymbolDomainBdry}} \newcommand{\ParamDomainChart}{\QuantityFunctionOf{\Vec{\phi}^{#1}}{#2}} \newcommand{\ParamDim}{\SymbolDim} \newcommand{\ParamCoordSimple}{s} \newcommand{\ParamCoord}{\QCO{#1}{s}} \newcommand{\ParamCoordVecSimple}{\Vec{s}} \newcommand{\ParamCoordVec}{\QCO{#1}{\Vec{\ParamCoord{}}}} \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}{\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{\NormalParamCoordSet}{\QuantityFunctionOf{\ParamCoordVecSimple^{\perp}_{#1}}{#2}} \newcommand{\ParallelParamCoordSet}{\QuantityFunctionOf{\ParamCoordVecSimple^{\parallel}_{#1}}{#2}} \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}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParamModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParamGrevillePointSet}{\QuantityFunctionOf{\Set{\SymbolParamModifier{G}}}{#1}} \newcommand{\ParamDomainOnMeshBezier}{\QuantityChildOf{\MeshBezier}{\ParamDomain}} \newcommand{\ParamDomainOnMeshUspline}{\QuantityChildOf{\MeshUspline}{\ParamDomain}} \newcommand{\Submesh}{\boldsymbol{\mathsf{K}}}%changed from mathsf \newcommand{\SubmeshDomain}{\SymbolSubmeshModifier{\SymbolDomain}} \newcommand{\SubmeshDomainChart}{\QuantityFunctionOf{\Vec{\varphi}^{#1}}{#2}} \newcommand{\SubmeshDomainParameter}{\mathsf{\alpha}}%changed from mathsf \newcommand{\SubmeshDomainParameterVec}{\Vec{\SubmeshDomainParameter}} \newcommand{\SubmeshGrevillePoint}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\SubmeshGrevillePointSimple}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}{#1}} \newcommand{\SubmeshGrevilleMaxPoint}{\QuantityChildOf{#1}{\Set{\SymbolGrevillePoint}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSimple}{\Set{\SymbolGrevillePoint}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSet}{\QuantityChildOf{#1}{\Set{G}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSetSimple}{\Set{G}_{\max}} \newcommand{\SubmeshGrevilleMinPointSet}{\QuantityChildOf{#1}{\Set{G}}_{\min}} \newcommand{\SubmeshGrevilleMinPointSetSimple}{\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}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{G}}}{#1}} \newcommand{\SubmeshGrevillePointSetLeft}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GA}}}{#1}} \newcommand{\SubmeshGrevillePointSetRight}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GB}}}{#1}} \newcommand{\SubmeshGrevillePointSetElement}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GE}}_{#1}}{#2}} \newcommand{\SubmeshGrevillePointSetIntersect}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GI}}}{#1}} \newcommand{\SubmeshGrevillePointSetUnion}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GU}}}{#1}} \newcommand{\SubmeshGrevillePointSetSet}{\QuantityFunctionOf{\boldsymbol{\SubmeshGrevillePointSet{}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetLeft}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GA}}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetRight}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GB}}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetElement}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1}}{#2}} \newcommand{\SubmeshGrevilleDifferenceVectorsSetLeft}{\Delta\SubmeshGrevilleMaxPointSetLeft} \newcommand{\SubmeshGrevilleDifferenceVectorsSetRight}{\Delta\SubmeshGrevilleMaxPointSetRight} \newcommand{\SubmeshGrevilleDifferenceVector}{\Delta\SubmeshGrevilleMaxPoint{\GlosOne}} \newcommand{\SubmeshGrevilleDifferenceVectorLeft}{\Delta\SubmeshGrevilleMaxPointLeft} \newcommand{\SubmeshGrevilleDifferenceVectorRight}{\Delta\SubmeshGrevilleMaxPointRight} \newcommand{\SubmeshGrevilleDifferenceVectorsSet}{\Delta \SubmeshGrevillePointSet{\GlosOne}} \newcommand{\SubmeshGrevilleDistanceToCell}{\QuantityFunctionOf{\SymbolDistance}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCell}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMin}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\min}}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMax}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\max}}{#1, #2}} \newcommand{\SubmeshPerpProjection}{\QuantityFunctionOf{\Projection^{\perp}_{#1}}{#2}} \newcommand{\SubmeshParallelProjection}{\QuantityFunctionOf{\Projection^{\parallel}_{#1}}{#2}} \newcommand{\SubmeshStarProjection}{\QuantityFunctionOf{\Projection^{*}_{#1}}{#2}} \newcommand{\SubmeshPerpEquivalence}{\QuantityFunctionOf{\varpi^{\perp}_{#1}}{#2}} \newcommand{\SubmeshParallelEquivalence}{\QuantityFunctionOf{\varpi^{\parallel}_{#1}}{#2}} \newcommand{\SubmeshStarEquivalence}{\QuantityFunctionOf{\varpi^{*}_{#1}}{#2}} \newcommand{\AlignedSet}{{\boldsymbol{\textsf{Align}}}}%changed from mathsf \newcommand{\AlignedSetSet}{{\boldsymbol{\textsf{ALIGN}}}}%changed from mathsf \newcommand{\AlignmentSetOfSetsLeft}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetOfSetsRight}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetForInterfaceGrevillePoint}{\AlignedSet_{\SubmeshGrevillePoint{\Interface}{}}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRow}{\QuantityFunctionOf{\Set{NZ}_{#1}}{#2}} \newcommand{\AlignmentSetOfSetsOnLowerDCell}{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1,#2}^{\parallel}} \newcommand{\AlignmentSetOfSetsLeftThreeD}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \ii}^{\parallel}} \newcommand{\AlignmentSetOfSetsRightThreeD}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \ii}^{\parallel}} \newcommand{\MeshUspline}{\boldsymbol{\textsf{\SymbolUspline}}}%changed from mathsf \newcommand{\SetNeighborhoodOfInteraction}{\QuantityFunctionOf{\textsf{NI}}{#1}}%changed from mathsf \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}}%changed from mathsf \newcommand{\RayTailEdge}{\Edge} \newcommand{\RayTailVertexMaxContinuity}{\Smoothness_{#1}^{\max}} \newcommand{\RayTailEdgeMinDegree}{\BernsteinDegree_{#1}^{\min}} \newcommand{\RaySkeleton}{\operatorname{skel}(#1)} \newcommand{\RaySmoothness}{\Smoothness_{#1}^{#2}} \newcommand{\RayDegree}{\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}{\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}}%changed from mathsf \newcommand{\RibbonTailInterf}{\Interface} \newcommand{\RibbonTailCodimTwoCellMaxContinuity}{\Smoothness_{#1}^{\max}} \newcommand{\RibbonTailInterfMinDegree}{\BernsteinDegree_{#1}^{\min}} \newcommand{\RibbonSkeleton}{\operatorname{skel}(#1)} \newcommand{\RibbonSmoothness}{\Smoothness_{#1}^{#2}} \newcommand{\RibbonDegree}{\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}{\RibbonAlgBernIndexVariable_{#1}} \newcommand{\UsplineSpace}{\SpaceHilbert{\SymbolUspline}} \newcommand{\UsplineBasisFunc}{\SymbolBasisUspline} \newcommand{\UsplineBasisFuncDetailed}{\UsplineBasisFunc^{#1}_{#2}} \newcommand{\UsplineBasisFuncSet}{\QuantityFunctionOf{\Set{UF}}{#1}} \newcommand{\UsplineBasisFuncVec}{\QuantityFunctionOf{\QuantityChildOf{#1}{\Vec{\SymbolBasisUspline}}}{#2}} \newcommand{\UsplineBasisFuncSetOnMeshBezier}{\QuantityFunctionOf{\Set{UF}}{\MeshBezier}} \newcommand{\UsplineBasisFuncSetOnMeshUspline}{\QuantityFunctionOf{\Set{UF}}{\MeshUspline}} \newcommand{\UsplineBasisFuncSetSupport}{\Support{\UsplineBasisFuncSet{#1}}} \newcommand{\UsplineBasisFuncId}{A} \newcommand{\UsplineBasisFuncIdAlt}{B} \newcommand{\UsplineBasisFuncIdLocal}{a} \newcommand{\UsplineBasisFuncIdOne}{\UsplineBasisFuncId_0} \newcommand{\UsplineBasisFuncIdTwo}{\UsplineBasisFuncId_1} \newcommand{\UsplineBasisFuncNormalized}{\bar{\SymbolBasisUspline}} \newcommand{\UsplineBasisFuncParam}{\UsplineBasisFuncDetailed{\MeshBezier}{#1}} \newcommand{\UsplineDegree}{q} \newcommand{\UsplineNullVectorCoeff}{\SymbolUsplineLower}%{\MakeLowercase} \newcommand{\UsplineNullVector}{\Vec{\UsplineNullVectorCoeff}} \newcommand{\UsplineNullVectorIds}{\Set{id}} \newcommand{\UsplineNullVectorSet}{\boldsymbol{\textsf{UV}}}%changed from mathsf \newcommand{\UsplineNullVectorSetOfIndexSets}{\boldsymbol{\textsf{UI}}}%changed from mathsf \newcommand{\UsplineNullVectorSetOnMeshBezier}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshBezier}} \newcommand{\UsplineNullVectorSetOnMeshUspline}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshUspline}} \newcommand{\UsplineSpaceOnMeshUspline}{\QCO{\MeshUspline}{\UsplineSpace}} \newcommand{\UsplineCellToGlobalBasisFuncIndexMap}{\operatorname{ucg}(#1)} \newcommand{\UsplineCellToGlobalBasisFuncIndexMapDef}{\FuncDef{\operatorname{ucg}}{\MeshBezier\times\Integers}{\Integers}} \newcommand{\ContiguousIndexMap}{\QuantityFunctionOf{i_{#1}}} \newcommand{\Constraint}{R} %\newcommand{\ConstraintCoeff}{\MakeLowercase{\Constraint}} \newcommand{\ConstraintCoeff}{r} \newcommand{\ConstraintCoeffsSet}{\boldsymbol{\Set{\ConstraintCoeff}}} \newcommand{\ConstraintCoeffsVec}{\Vec{\ConstraintCoeff}} \newcommand{\ConstraintSet}{\QuantityFunctionOf{\Set{\Constraint}}{#1}} \newcommand{\ConstraintSetOnMeshBezier}{\ConstraintSet{\MeshBezier}} \newcommand{\ConstraintMat}{\QuantityFunctionOf{\Mat{\Constraint}}{#1}} \newcommand{\ConstraintMatOnMeshBezier}{\ConstraintMat{\MeshBezier}} \newcommand{\SparsestPossibleBasisOnCell}{\QFO{\Set{N}}{#1}} \newcommand{\NullVectorCoeff}{#1} \newcommand{\NullVector}{\QuantityFunctionOf{\Vec{v}}{#1}} \newcommand{\NullVectorArbitrary}{\QuantityFunctionOf{\Vec{#1}}{#2}} \newcommand{\KCellNullVectorForCellAlpha}{\NullVectorArbitrary{n}{}_{\KCellAlpha}} \newcommand{\KPlusOneCellNullVectorForCellBeta}{\NullVectorArbitrary{n}{}_{\KPlusOneCellBeta}} \newcommand{\NullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}}%changed from mathsf \newcommand{\CompositeNullVectorSet}{\NullVectorSet{#1}^{\prime\prime}} \newcommand{\SimpleNullVectorSet}{\NullVectorSet{#1}^{\prime}} \newcommand{\InterfaceNullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}}{#1}}%changed from mathsf \newcommand{\InterfaceNullVectorAlignedSubset}{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorSetOfIndexSets}{\QuantityFunctionOf{\boldsymbol{\textsf{BI}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetGrevilleSets}{\QuantityFunctionOf{\boldsymbol{\textsf{BG}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetOnMeshBezier}{\NullVectorSet{\MeshBezier}} \newcommand{\NullVectorSetSubordinateToNullVector}{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetSubordinateToNullVectorOnCell}{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorSetOnBdryOfNullVector}{\QuantityFunctionOf{\boldsymbol{\textsf{BD}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBV}}}{#1}}%changed from mathsf \newcommand{\NullVectorIndexEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBI}}}{#1}}%changed from mathsf \newcommand{\NullVectorGrevilleEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBG}}}{#1}}%changed from mathsf \newcommand{\NullVectorExpansionSet}{\QuantityFunctionOf{\boldsymbol{\textsf{XBV}}}{#1,#2}}%changed from mathsf \newcommand{\NullSpaceOperatorForm}{\QuantityFunctionOf{\SpaceHilbert{N}}{#1}} \newcommand{\NullSpaceOperatorFormOnMeshBezier}{\NullSpaceOperatorForm{\MeshBezier}} \newcommand{\NullSpaceVectorForm}{\QuantityFunctionOf{\Set{N}}{#1}} \newcommand{\NullVectorGrevillePointSet}{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}}%changed from mathsf \newcommand{\DegSmoothDiff}{\delta_{#1}^{#2}} \newcommand{\FaceEdgeDiff}{\Set{t}} \newcommand{\FaceEdgeDiffSet}{\Set{T}_{#1}} \newcommand{\PerpTuple}{\QuantityFunctionOf{\FaceEdgeDiff^\perp}{#1}} \newcommand{\ParallelTuple}{\QuantityFunctionOf{\FaceEdgeDiff^\parallel}{#1}} \newcommand{\ElemInterfDiff}{\Set{t}} \newcommand{\ElemInterfDiffSet}{\Set{T}_{#1}} \newcommand{\SpokeSymbol}{\rho} \newcommand{\ElemInterfPairSymbol}{t} \newcommand{\ElemKPlusOneCellPair}{\Set{\SpokeSymbol}} \newcommand{\Spoke}{\ElemKPlusOneCellPair} \newcommand{\ElemInterfPair}{\Set{\ElemInterfPairSymbol}} \newcommand{\EIDPerpTuple}{\QuantityFunctionOf{\ElemInterfDiff^\perp}{#1}} \newcommand{\EIDParallelTuple}{\QuantityFunctionOf{\ElemInterfDiff^\parallel}{#1}} \newcommand{\InclDist}{\QuantityFunctionOf{\textsf{inc}}{#1}}%changed from mathsf \newcommand{\InclDistSet}{\Set{INC}^{#1,#2}} \newcommand{\EdgeInclDist}{\InclDistSet{#2}{#3}_{#1}} \newcommand{\PerpEdgesSet}{\Set{E}^\perp} \newcommand{\PerpInterfacesSet}{\Set{IRF}^\perp} \newcommand{\PerpOfKPlusOneCellInterfSet}{\QuantityFunctionOf{\boldsymbol{\textsf{PI}}}{#1}}%changed from mathsf \newcommand{\PerpKPlusOneCellSet}{\QuantityFunctionOf{\boldsymbol{\textsf{PC}}}{#1}}%changed from mathsf \newcommand{\ElemKPlusOneCellPairPerp}{\QuantityFunctionOf{\Set{\SpokeSymbol}^\perp}{#1}} \newcommand{\ElemInterfPairPerp}{\QuantityFunctionOf{\Set{t}^\perp}{#1}} \newcommand{\ElemInterfPairParallel}{\QuantityFunctionOf{\Set{\ElemInterfPairSymbol}^\parallel}{#1}} \newcommand{\ElemKPlusOneCellPairParallelSet}{\QuantityFunctionOf{\Set{\SpokeSymbol}^\parallel}{#1}} \newcommand{\KPlusOneCellNullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}}{#1}}%changed from mathsf \newcommand{\KPlusOneCellNullVectorAlignedSubset}{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\Graph}{\QuantityFunctionOf{G}{#1}} \newcommand{\GraphCore}{K} \newcommand{\GraphDirectedEdge}{\Edge_{i,j}} \newcommand{\GraphDirectedEdgeIJ}{\Edge_{#1,#2}} \newcommand{\GraphCoreToVertex}{\QuantityFunctionOf{\Vertex}{#1}} \newcommand{\GraphCoreChildren}{\QuantityFunctionOf{\operatorname{children}}{#1}} \newcommand{\GraphVertexToCore}{\QuantityFunctionOf{\GraphCore}{#1}} \newcommand{\GraphInteractingEdges}{\Set{IE}} \newcommand{\GraphCoveredEdges}{\Set{CE}} \newcommand{\GraphFailedEdges}{\Set{FE}} \newcommand{\GraphCandidateEdges}{\Set{XE}} \newcommand{\UsplineClass}{\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{\AlgNameBuildRayOfMaximumCouplingLength}{\textit{BuildRayOfMaximumCouplingLength}} \newcommand{\AlgNameBuildRibbonOfMaximumCouplingLength}{\textit{BuildRibbonOfMaximumCouplingLength}} \newcommand{\AlgNameComputeCoreGraph}{ComputeCoreGraph} \newcommand{\SymbolParentModifier}{\overbar{#1}} \newcommand{\SymbolParamModifier}{\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{\UpperDBMat}{\Mat{U}} \newcommand{\LowerWeightDBMat}{\Mat{W}} \newcommand{\RationalSplineWeightSymbol}{w} \newcommand{\NURBSWeight}{\RationalSplineWeightSymbol} \newcommand{\WeightFunc}[\RationalSplineWeightSymbol]{#1} \newcommand{\DBParamWeight}{\omega} \newcommand{\DualBCoeff}{d}$$\newcommand{\SymbolTime}{t} \newcommand{\SymbolClosestPointMap}{\kappa} \newcommand{\SymbolManifold}{m} \newcommand{\SymbolVolume}{v} \newcommand{\SymbolSurface}{s} \newcommand{\SymbolCurve}{c} \newcommand{\SymbolPoint}{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{\SymbolEnvModifier}{\star\mspace{-1mu} #1} \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{\Partition{}}{\ParamDomain}} \newcommand{\SpatialDim}{\SymbolSpatialDim} \newcommand{\SpatialDomain}{\Reals^{\SymbolSpatialDim}} \newcommand{\SpatialCoord}{\SymbolSpatialCoord} \newcommand{\SpatialCoordUpper}{\SymbolSpatialCoordUpper} \newcommand{\SpatialCoordVec}{\Vec{\SpatialCoord}} \newcommand{\SpatialCoordVecSet}{\QuantityFunctionOf{\boldsymbol{\Set{\SpatialCoordUpper}}}{#1}} \newcommand{\UsplineBasisFuncSpatial}{\UsplineBasisFuncDetailed{\SpatialCoord}{#1}} \newcommand{\Manifold}{\QuantityRelatedTo{\Set{\SymbolManifold}}{#1}} \newcommand{\Volume}{\QuantityRelatedTo{\Set{\SymbolVolume}}{#1}} \newcommand{\Surface}{\QuantityRelatedTo{\Set{\SymbolSurface}}{#1}} \newcommand{\Curve}{\QuantityRelatedTo{\Set{\SymbolCurve}}{#1}} \newcommand{\Point}{\QuantityRelatedTo{\Set{\SymbolPoint}}{#1}} \newcommand{\ManifoldCAD}{\Manifold{\SymbolCAD}} \newcommand{\ManifoldCADModified}{\Manifold{\SymbolCADModified}} \newcommand{\ManifoldCADEnv}{\SymbolEnvModifier{\ManifoldCAD}} \newcommand{\ManifoldCADModifiedEnv}{\SymbolEnvModifier{\ManifoldCADModified}} \newcommand{\ManifoldPartition}{\Manifold{\Partition{}}} \newcommand{\ManifoldBezier}{\Manifold{\MeshBezier}} \newcommand{\ManifoldUspline}{\Manifold{\MeshUspline}} \newcommand{\ManifoldUsplineEnv}{\SymbolEnvModifier{\ManifoldUspline}} \newcommand{\VolumeEnv}{\SymbolEnvModifier{\Volume{}}} \newcommand{\dVolume}{\Differential[\Volume{}]} \newcommand{\VolumeIndicator}{\SymbolIndicator} \newcommand{\SurfaceEnv}{\SymbolEnvModifier{\Surface{}}} \newcommand{\SurfaceCAD}{\Surface{\SymbolCAD}} \newcommand{\SurfaceCADModified}{\Surface{\SymbolCADModified}} \newcommand{\SurfaceMesh}{\Surface{\Partition{}}} \newcommand{\SurfaceUspline}{\Surface{\MeshUspline}} \newcommand{\SurfaceWildCard}{\Surface{}^{\SymbolWildCard}} \newcommand{\dSurface}{\Differential[\Surface{}]} \newcommand{\CurveCAD}{\Curve{\SymbolCAD}} \newcommand{\CurveCADModified}{\Curve{\SymbolCADModified}} \newcommand{\CurveMesh}{\Curve{\Partition{}}} \newcommand{\CurveUspline}{\Curve{\MeshUspline}} \newcommand{\dCurve}{\Differential[\Curve{}]} \newcommand{\PointCAD}{\Point{\SymbolCAD}} \newcommand{\PointCADModified}{\Point{\SymbolCADModified}} \newcommand{\PointUspline}{\Point{\MeshUspline}} \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{\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{\ManifoldMap}{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldTemporalMap}{\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}{\FuncDef{\ManifoldMap{#1}{#2}}{#1}{#2}} \newcommand{\ManifoldMapInverseDef}{\FuncDef{\Inverse{\ManifoldMap{#1}{#2}}}{#2}{#1}} \newcommand{\ManifoldTemporalMapDef}{\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}{\QCO{#1}{#2}} \newcommand{\ManifoldCoordVecDetailed}{\QCO{#1}{\Vec{#2}}} \newcommand{\ManifoldCoord}{x} \newcommand{\ManifoldCoordVec}{\Vec{x}} \newcommand{\ManifoldPartitionMapCoord}{\ManifoldCoordDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldPartitionMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldPartitionMap}{\ManifoldCoordVec}} \newcommand{\ManifoldCADMapCoord}{\ManifoldCoordDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldCADMap}{\ManifoldCoordVec}} \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{\Segment}{\QuantityChildOf{#1}{\SymbolSegment}} \newcommand{\SegmentOfVolumeEnv}{\Segment{\VolumeEnv}} \newcommand{\Hex}{\Segment{}_{h}} \newcommand{\Tet}{\Segment{}_{t}} \newcommand{\SegmentParamDomain}{\QuantityRelatedTo{\ParamDomain}{#1}} \newcommand{\SegmentParamDomainOfVolumeEnv}{\QuantityRelatedTo{\ParamDomain}{\Segment{\VolumeEnv}}} \newcommand{\SegmentSet}{\QuantityFunctionOf{\SymbolSegmentSet}{#1}} \newcommand{\SegmentSetOutside}{\SegmentSet{}^{\SymbolOutside}} \newcommand{\SegmentSetInside}{\SegmentSet{}^{\SymbolInside}} \newcommand{\SegmentSetHybrid}{\SegmentSet{}^{\SymbolHybrid}} \newcommand{\Partition}{\QuantityFunctionOf{\SymbolPartition}{#1}} \newcommand{\PartitionBezierExtraction}{\QuantityFunctionOf{\SymbolPartition^{B}}{#1}} \newcommand{\PartitionTessellation}{\QuantityFunctionOf{\SymbolPartition^{T}}{#1}} \newcommand{\PartitionTessellationOfUspline}{\PartitionTessellation{\MeshUspline}} \newcommand{\PartitionTessellationMap}{\QuantityRelatedTo{#2}{#1}} \newcommand{\BoundingVolume}{\QuantityFunctionOf{\Set{bv}}{#1}} \newcommand{\BoundingVolumeSet}{\QuantityFunctionOf{\Set{BV}}{#1}} \newcommand{\BoundingVolumeTree}{\QuantityFunctionOf{\Set{BVH}}{#1}} \newcommand{\AxisAlignedBoundingBox}{\QuantityFunctionOf{\Set{AABB}}{#1}} \newcommand{\SimplexMap}{\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}{\SymbolEnvModifier{\QuadraturePoint{#1}{#2}}} \newcommand{\QuadraturePoint}{\SymbolQuadraturePoint_{#1}^{#2}} \newcommand{\QuadraturePointToElemIndexMap}{\operatorname{qe}(#1)} \newcommand{\QuadratureWeightEnv}{\SymbolEnvModifier{\QuadratureWeight{#1}{#2}}} \newcommand{\QuadratureWeight}{\SymbolQuadratureWeight_{#1}^{#2}} \newcommand{\QuadratureSet}{\Set{\SymbolQuadratureSet}} \newcommand{\QuadratureSetInside}{\QuadratureSet^{\SymbolInside}} \newcommand{\QuadratureSetOutside}{\QuadratureSet^{\SymbolOutside}} \newcommand{\QuadratureSubdDepth}{k} \newcommand{\ClosestPointMap}{\QuantityChildOf{#1}{\Vec{\SymbolClosestPointMap}}} \newcommand{\ClosestPointMapCAD}{\ClosestPointMap{\SymbolCAD}} \newcommand{\ClosestPointMapCADModified}{\ClosestPointMap{\SymbolCADModified}} \newcommand{\ProjectionInto}{\QuantityRelatedTo{\SymbolProjection}{#1}} \newcommand{\ProjectionIntoBernsteinCell}{\ProjectionInto{\Cell}} \newcommand{\ProjectionIntoBernsteinElem}{\ProjectionInto{\Elem}} \newcommand{\ProjectionIntoMeshBezier}{\ProjectionInto{\MeshBezier}} \newcommand{\ProjectionIntoMeshUspline}{\ProjectionInto{\MeshUspline}}$$\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}{\ManifoldCoordDetailed{#1}{X}} \newcommand{\RefCoordVec}{\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}{\UsplineBasisFuncDetailed{\CurveRef}{#1}} \newcommand{\UsplineBasisFuncOverSurfaceRefDisp}{\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}{\ManifoldCoordDetailed{#1}{x}} \newcommand{\CurrCoordVec}{\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}{\Grad{\VolumeEnvRefMap}{#1}} \newcommand{\VolumeRefMap}{\ManifoldMap{\ParamDomain}{\VolumeRef}} \newcommand{\GenericGradOverVolumeRefMap}{\Grad{\VolumeRefMap}{#1}} \newcommand{\SurfaceRefDispMap}{\ManifoldMap{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMap}{\ManifoldMap{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\CurveRefMap}{\ManifoldMap{\ParamDomain}{\CurveRef}} \newcommand{\GenericGradOverCurveRefMap}{\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}{\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}{U} \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{\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{\KinematicElast}{#1^e} \newcommand{\KinematicPlast}{#1^p} \newcommand{\DivVolumeEnvRef}{\Div{\VolumeEnvRefCoordVec}{#1}} \newcommand{\DivVolumeEnvCurr}{\Div{\VolumeEnvCurrCoordVec}{#1}} \newcommand{\UnitNormalRefComp}{N} \newcommand{\UnitNormalRefTen}{\Vec{N}} \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{\StressKirchhoffComp}{\tau} \newcommand{\StressKirchhoffTen}{\Mat{\tau}} \newcommand{\StressKirchhoffVoigt}{\tilde{\StressKirchhoffTen}} \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{\MaterialThermalExpansion}{\alpha_{\text{thermal}}} \newcommand{\CrossSectArea}{\SymbolArea} \newcommand{\Length}{\SymbolLength} \newcommand{\PenaltyStiffness}{\SymbolPenalty_{\SymbolStiffness}} \newcommand{\PenaltyDisp}{\SymbolPenalty_{\SymbolDisp}} \newcommand{\BodyForceRefComp}{B} \newcommand{\BodyForceRefTen}{\Vec{\BodyForceRefComp}} \newcommand{\BodyForceCurrComp}{\SymbolBodyForce} \newcommand{\BodyForceCurrTen}{\Vec{\BodyForceCurrComp}} \newcommand{\TracForceRefComp}{H} \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{G}} \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}{\QFO{\Energy}{#1}} \newcommand{\EnergyEnv}{\SymbolEnvModifier{\Energy}} \newcommand{\EnergyInside}{\Energy^{\SymbolInside}} \newcommand{\EnergyOutside}{\Energy^{\SymbolOutside}} \newcommand{\EnergyConstraint}{\Energy^{\LagrangeMultCurrComp}} \newcommand{\EnergyDensityStrain}{\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{\FlexOne}{\mathcal{F}_{1}} \newcommand{\FlexInfty}{\mathcal{F}_{\infty}} \newcommand{\Flex}{\mathcal{F}_{#1}} \newcommand{\FlexIt}{\mathcal{F}} \newcommand{\FlexFEA}{\mathcal{F}_{\bar{0}}} \newcommand{\FlexFEAModified}{\mathcal{F}_{0}} \newcommand{\FlexImmersed}{\mathcal{F}_{\infty}} \newcommand{\FlexSpectrum}{\overleftrightarrow{\mathcal{F}}} \newcommand{\FlexSpectrumId}{i} \newcommand{\TimeStep}{\Delta \SymbolTime} \newcommand{\SpectralRadius}{\rho_{\infty}} \newcommand{\SymbolDisp}{u} \newcommand{\SymbolVelocity}{v} \newcommand{\SymbolAcceleration}{a} \newcommand{\SymbolMass}{M} \newcommand{\SymbolLength}{L} \newcommand{\SymbolArea}{A} \newcommand{\SymbolConstraint}{g} \newcommand{\SymbolPenalty}{\varepsilon} \newcommand{\SymbolLagrangeMultRef}{\Lambda} \newcommand{\SymbolLagrangeMultCurr}{\lambda} \newcommand{\SymbolFict}{f} \newcommand{\SymbolTracForce}{h} \newcommand{\SymbolBodyForce}{b} \newcommand{\SymbolVolumeRef}{V} \newcommand{\SymbolSurfaceRef}{S} \newcommand{\SymbolCurveRef}{C} \newcommand{\SymbolPointRef}{P} \newcommand{\SymbolVolumeCurr}{\SymbolVolume} \newcommand{\SymbolSurfaceCurr}{\SymbolSurface} \newcommand{\SymbolCurveCurr}{\SymbolCurve} \newcommand{\SymbolPointCurr}{\SymbolPoint} \newcommand{\SymbolDeformGrad}{F} \newcommand{\SymbolStrainGreenLagrange}{E} \newcommand{\SymbolDeformCauchyGreenLeft}{b} \newcommand{\SymbolDeformCauchyGreenRight}{C} \newcommand{\SymbolStrainDisp}{B} \newcommand{\SymbolStrainSymGrad}{\epsilon} \newcommand{\SymbolEnergy}{\Pi} \newcommand{\SymbolEnergyDensityStrain}{\Psi} \newcommand{\SymbolResidual}{R} \newcommand{\SymbolForce}{F} \newcommand{\SymbolStiffness}{K} \newcommand{\SymbolSolution}{d}$

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} { % \if\relax\detokenize{#2}\relax % {#1} % \else {#1}(#2) % \fi } \newcommand{\QFO}{\QuantityFunctionOf{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOf} { % \if\relax\detokenize{#3}\relax % {#1}_{#2} % \else {#1}_{#2}(#3) % \fi } \newcommand{\SQFO}{\SubscriptedQuantityFunctionOf{#1}{#2}{#3}} \newcommand{\QuantityChildOf} { % \if\relax\detokenize{#1}\relax % {#2} % \else {#2}^{#1} % \fi } \newcommand{\QCO}{\QuantityChildOf{#1}{#2}} \newcommand{\QuantityRelatedTo} { % \if\relax\detokenize{#2}\relax % {#1} % \else {#1}[#2] % \fi } \newcommand{\QRT}{\QuantityRelatedTo{#1}{#2}} \newcommand{\QuantitySubscriptedBy} { % \if\relax\detokenize{#2}\relax % #1 % \else #1_{#2} % \fi } \newcommand{\QSB}{\QuantitySubscriptedBy{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOfChildOf} { % \if\relax\detokenize{#4}\relax % #1_{#2}^{#3} % \else #1_{#2}^{#3}(#4) % \fi } \newcommand{\SQFOCO}{\SubscriptedQuantityFunctionOfChildOf{#1}{#2}{#3}{#4}} \newcommand{\overbar}{\mkern 1.5mu\overline{\mkern-1.5mu#1\mkern-1.5mu}\mkern 1.5mu} \newcommand{\bcdot}{\boldsymbol{\cdot}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Logic %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SuchThat}{\, : \,} \newcommand{\DefEq}{\overset{\operatorname{def}}{=}} \newcommand{\True}{\textsf{True}} \newcommand{\False}{\textsf{False}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Arrays, tuples, and sets %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\ArrayRoster}{\left[#1\right]} \newcommand{\ArrayRosterI}{[#1]_{#2}} \newcommand{\ArrayEmpty}{\ArrayRoster{\hspace{1mm}}} \newcommand{\Tuple}{\mathsf{#1}}%was \mathsf \newcommand{\TupleRoster}{\left(#1\right)} \newcommand{\PointPair}{\TupleRoster{#1, #2}} \newcommand{\Set}{\mathsf{#1}}%was \mathsf \newcommand{\SetRoster}{\left\{ #1 \right\}} \newcommand{\SetRosterIndexed}{\SetRoster{#1}_{#2}^{#3}} \newcommand{\SetRosterPredicate}{\SetRoster{#1 \SuchThat #2}} \newcommand{\SetEmpty}{\varnothing} \newcommand{\SetPower}{\QuantityFunctionOf{\boldsymbol{\Set{P}}}{#1}} \newcommand{\SetNeighborhood}{\QuantityFunctionOf{\boldsymbol{\Set{B}}}{#1}} \newcommand{\Domain}{\Omega} \newcommand{\DomainBdry}{\Gamma} \newcommand{\IntervalClosed}{\left[#1, #2\right]} \newcommand{\IntervalOpen}{\left(#1, #2\right)} \newcommand{\IntervalClosedOpen}{\left[#1, #2\right)} \newcommand{\IntervalOpenClosed}{\left(#1, #2\right]} % special \newcommand{\Reals}{\mathbb{R}} \newcommand{\Naturals}{\mathbb{N}} \newcommand{\Integers}{\mathbb{Z}} \newcommand{\Field}{\mathbb{F}} % properties \newcommand{\Size}{\left\lvert #1 \right\rvert} \newcommand{\Union}{\bigcup\limits_{#1}^{#2} #3} \newcommand{\UnionInline}{\bigcup_{#1}^{#2} #3} \newcommand{\Intersect}{\bigcap\limits_{#1}^{#2} #3} \newcommand{\ElementWiseGreaterOrEqual}{\succeq} \newcommand{\ElemntWiseGreater}{\succ} \newcommand{\ElementWiseLessOrEqual}{\preceq} \newcommand{\ElementWiseLess}{\prec} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Infinite dimensional spaces %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SpaceLinear}{\mathnormal{#1}} \newcommand{\SpaceDual}{\SpaceLinear{#1}^*} % normed spaces \newcommand{\AbsoluteValue}{\Size{#1}} \newcommand{\Norm}{\left\lVert #2 \right\rVert_{#1}} \newcommand{\NormAbstract}{\Norm{}{#1}} \newcommand{\NormSemi}{\Size{#1}} \newcommand{\SpaceLinearNormed}{\left(\SpaceLinear{#1}, \NormAbstract{\bcdot} \right)} \newcommand{\SpaceBanach}{\mathfrak{#1}} % normed and complete % inner product spaces \newcommand{\SymmetricBilinear}{\left(#1, #2\right)} \newcommand{\InnerProduct}{\left\langle#1, #2\right\rangle} \newcommand{\SpaceInnerProduct}{\left(\SpaceLinear{#1}, \InnerProduct{\bcdot}{\bcdot}\right)} \newcommand{\SpaceHilbert}{\mathcal{#1}} \newcommand{\SpaceLTwo}{\SpaceHilbert{L}_2} \newcommand{\SpaceLTwoDef}{\SpaceLTwo\left(#1; #2\right)} \newcommand{\SpaceLInfty}{\SpaceHilbert{L}_\infty} \newcommand{\SpaceLTwoWeighted}{\SpaceLTwo^w} \newcommand{\SpaceSobolevK}{\SpaceHilbert{H}^{#1}} \newcommand{\SpaceSobolevKDef}{\SpaceSobolevK{1}\left(#2 ; #3\right)} % differentiable spaces \newcommand{\Cont}{\operatorname{cont}} \newcommand{\SpaceCont}{\SpaceHilbert{C}} \newcommand{\SpaceContDef}{\SpaceCont\left(#1 ; #2\right)} \newcommand{\SpaceContK}{\SpaceCont^{#1}} \newcommand{\SpaceContKDef}{\SpaceContK{#1}\left(#2; #3\right)} \newcommand{\SpaceContZero}{\SpaceContK{0}} \newcommand{\SpaceContInf}{\SpaceContK{\infty}} \newcommand{\SpaceContInfDef}{\SpaceContKDef{\infty}{#1}{#2}} \newcommand{\SpaceContKBounded}{\SpaceContK{#1}_{#2}} \newcommand{\SpaceContKBoundedDef}{\SpaceCont_{b}^{#1}\left(#2 ; #3\right)} % linear operator spaces \newcommand{\SpaceLinearOperator}{\mathscr{#1}} \newcommand{\SpaceLinearOperatorDef}{\SpaceLinearOperator{L}\left(#1 ; #2\right)} \newcommand{\SpaceLinearOperatorBoundedDef}{\SpaceLinearOperator{B}\left(#1 ; #2\right)} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Finite dimensional spaces %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SpaceLinearN}{\SpaceLinear{#1}^h} \newcommand{\SpaceHilbertN}{\SpaceHilbert{#1}^h} \newcommand{\SpaceVecRealN}{\Reals^{#1}} \newcommand{\SpacePoly}{\SpaceHilbert{P}^{#1}} \newcommand{\SpaceMatrixRealMN}{\Reals^{#1\times#2}} \newcommand{\SpacePolyDef}{\SpacePoly{#1}\left(#2 ; #3\right)} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Functions, vectors, and linear operators %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\Func}[f]{#1} \newcommand{\FuncAlt}[g]{#1} \newcommand{\FuncDef}{#1 \SuchThat #2 \rightarrow #3} \newcommand{\FuncApprox}{#1^h} \newcommand{\LinearOperator}{\SpaceLinearOperator{#1}} \newcommand{\LinearOperatorDef}{\FuncDef{#1}{#2}{#3}} \newcommand{\Functional}{\LinearOperator{#1}} \newcommand{\Projection}{\Pi} \newcommand{\VectorProjection}{\Projection_{#1} {\left(#2\right)}} \newcommand{\Mat}{\boldsymbol{#1}} \newcommand{\MatIJ}{\left[#1\right]_{#2#3}} \newcommand{\MatIdRow}{m} \newcommand{\MatIdCol}{n} \newcommand{\Identity}{\Mat{I}} \newcommand{\KroneckerDelta}{\Mat{\delta}} \newcommand{\LeviCivita}{\Mat{\epsilon}} \newcommand{\Jacobian}{\Mat{J}} \renewcommand{\Vec}{\boldsymbol{#1}} \newcommand{\VecChildOf}{\QCO{#2}{#1}} \newcommand{\VecI}{\{#1\}_{#2}} \newcommand{\ZeroVec}{\Vec{0}} \newcommand{\OneVec}{\Vec{1}} \newcommand{\ZeroMat}{\Mat{0}} \newcommand{\UnitNormalComp}{n} \newcommand{\UnitNormal}{\Vec{\UnitNormalComp}} % rename to UnitNormalTen \newcommand{\MacBracket}{\langle#1\rangle} \newcommand{\HeavisideFunc}{\mathit{H}\left(#1\right)} \newcommand{\DiracDelta}{\delta_{D}\left(#1 - #2\right)} \newcommand{\IdentityTenSym}{\mathbb{I}} \newcommand{\BraKet}{\langle#1\rangle} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Lagrange Optimization %%%%%%%%%%%%%%%%%%%%%%%%%%%% %\newcommand{\Min}{\min\limits_{#1}} %\newcommand{\Max}{\max\limits_{#1}} \newcommand{\FuncObjective}{\QFO{\Func}{#1}} \newcommand{\FuncEqualityConstraints}{\QFO{\Func[\Vec{g}]}{#1}} \newcommand{\VarDesign}{\Vec{\phi}} \newcommand{\VarState}{\QFO{\Vec{u}}{#1}} \newcommand{\FuncLagrangian}{\QFO{\mathscr{L}}{#1}} \newcommand{\FuncAugmentedLagrangian}{\QFO{\mathscr{L}_A}{#1}} \newcommand{\VecLambdaLM}{\QFO{\Vec{\lambda}}{#1}} \newcommand{\LambdaLM}{\QFO{\lambda}{#1}} \newcommand{\SolutionLocalOpt}{\left(#1\right)^*} \newcommand{\ProximalPoint}{\overbar{\VecLambdaLM{}}} \newcommand{\PenaltyParameter}{\rho} \newcommand{\Slacify}{\QSB{#1}{s}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Linear algebra %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\Prod}{\prod\limits_{#1}^{#2}} \newcommand{\ProdInline}{\prod_{#1}^{#2}} \newcommand{\TensorProduct}{\otimes} \newcommand{\Sum} { % COMMENTED OUT FOLLOWING PREVIOUS INSTANCES % \if\relax\detokenize{#2}\relax % \sum\limits_{#1} % \else \sum\limits_{#1}^{#2} % COMMENTED OUT FOLLOWING PREVIOUS INSTANCES % \fi } \newcommand{\SumInline}{\sum_{#1}^{#2}} \newcommand{\Rank}{\operatorname{rank}(#1)} \newcommand{\Nullity}{\operatorname{null}(#1)} \newcommand{\Image}{\operatorname{image}} \newcommand{\Range}{\operatorname{range}} \newcommand{\Inverse}{\left(#1\right)^{-1}} \newcommand{\inverse}{\overline{#1}} % clean up \newcommand{\Transpose}{\left(#1\right)^{T}} \newcommand{\InvTrans}{\left(#1\right)^{-T}} \newcommand{\Complement}{\overbar{#1}} \newcommand{\Adjoint}{\left(#1\right)^*} \newcommand{\OrthogonalComplement}{\left(#1\right)^\perp} \newcommand{\Det}{\QFO{\operatorname{det}}{#1}} \newcommand{\DCT}{\operatorname{DCT}} \newcommand{\IDCT}{\operatorname{IDCT}} \newcommand{\RealPart}{\QFO{\mathfrak{R}}{#1}} \newcommand{\Trace}{\QFO{\operatorname{tr}}{#1}} \newcommand{\Dev}{\QFO{\operatorname{dev}}{#1}} \newcommand{\DevDef}{\Dev{#1} \DefEq #1 - \frac{1}{3}\Trace{#1}\Identity} \newcommand{\dual}{{\bar{#1}}} \newcommand{\symind}{{\uppercase{#1}}} \newcommand{\symmetrizer}{{S}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Bases %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\BasisFuncCoeff}{\QSB{#1}{#2}} \newcommand{\BasisVec}{\QSB{#1}{#2}} \newcommand{\BasisVecChildOf}{\SQFOCO{#1}{#2}{#3}{}} \newcommand{\OrthogonalBasisVec}{\SQFOCO{#1}{#2}{\perp}{}} \newcommand{\OrthonormalBasisVec}{\overbar{\OrthogonalBasisVec{#1}{#2}}} \newcommand{\PolynomialDegree}{p} \newcommand{\BasisFuncId}{i} \newcommand{\BasisFuncIdAlt}{j} \newcommand{\BasisFuncIdAltAlt}{k} \newcommand{\BasisFunc}{\SQFO{#1}{#2}{#3}} \newcommand{\PowerBasisFunc}{\QCO{#2}{#1}} \newcommand{\LegendreBasisFunc}{\SQFO{\Func[P]}{#1}{#2}} \newcommand{\PreNormalizedLegendreBasisFunc}{\hat{\LegendreBasisFunc{#1}{#2}}} \newcommand{\ChebyshevBasisFunc}{\SQFO{\Func[T]}{#1}{#2}} \newcommand{\ChebyshevZeros}{\QSB{z}{#1}} \newcommand{\ChebyshevExtremizers}{\QSB{t}{#1}} \newcommand{\BernToChebMat}{\Mat{T}} \newcommand{\Chebfun}{\biggl(\, \sum_{#2=0}^{#1}{#3}_{#2}\ChebyshevBasisFunc{#2}{}\biggr)} \newcommand{\ChebfunVector}{\left[#1\right]_c} \newcommand{\LagrangeBasisFunc}{\SQFOCO{\Func[L]}{#1}{#2}{#3}} % properties \newcommand{\Span}{\operatorname{span}} \newcommand{\Dim}{\operatorname{dim}} \newcommand{\Support}{\operatorname{supp}(#1)} \newcommand{\SupportPos}{\operatorname{supp}_{+}(#1)} % operations \newcommand{\SumBasis}{\Sum{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\SumInlineBasis}{\SumInline{#1}{#2}{#3}_{#1}{#4}_{#1}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Calculus %%%%%%%%%%%%%%%%%%%%%%%%%%%% % limits \newcommand{\EvaluateTwoLimits}{#1\biggr\rvert_{#2}^{#3}} \newcommand{\EvaluateOneLimit}{\left.#1\right\rvert_{#2}} \newcommand{\Limit}{\lim\limits_{#1\rightarrow #2}} \newcommand{\LimitInline}{\lim_{#1\rightarrow #2}} \newcommand{\DNE}{\operatorname{DNE}} % differentiation \newcommand{\LagrangeDeriv}{{#1}'} \newcommand{\KthLagrangeDeriv}{{#1}^{(#2)}} \newcommand{\LeibnizSubDeriv}{{#1}_{,#2}} \newcommand{\LeibnizFracDeriv}{\frac{d}{d#2}{#1}} \newcommand{\KthLeibnizFracDeriv}{\frac{d^{#2}}{d#3^{#2}}\Func[#1](#3)} \newcommand{\KthLeibnizFracSpecificFunction}{\frac{d^{#2}}{d#3^{#2}}\Func[#1]} \newcommand{\Differential}[x]{\, \operatorname{d}{#1}} \newcommand{\FrechetDeriv}{D{#1}\left(#2\right)} \newcommand{\GateauxDirectionBold}{\Vec{\delta}#1} \newcommand{\GateauxDirection}{\delta #1} \newcommand{\GateauxDerivBold}{D#1(#2; \GateauxDirectionBold{#2})} \newcommand{\GateauxDeriv}{D#1(#2; \GateauxDirection{#2})} \newcommand{\GateauxDerivWithDirection}{D#1\left(#2 \ ;\ #3\right)} \newcommand{\GateauxDerivPartial}{\frac{\partial #1}{\partial #2}} \newcommand{\KthGateauxDerivPartial}{\frac{\partial^{#3} #1}{\partial #2^{#3}}} \newcommand{\Grad}{\boldsymbol{\nabla}^{#1} #2} \newcommand{\Jac}{\Mat{J}} \newcommand{\Div}{\boldsymbol{\nabla}^{#1} \bcdot #2} \newcommand{\Laplace}{\boldsymbol{\Delta}^{#1} #2} \newcommand{\TaylorSeries}{\mathcal{T}\left[\Func[#1]\right](#2)} \newcommand{\TruncatedTaylorSeries}{\mathcal{T}_{#1}\left[\Func[#2]\right]\left(#3\right)} % integration \newcommand{\Int}{\int\limits_{#1}^{#2}} \newcommand{\IntDomain}{\int\limits_{#1}} \newcommand{\IntInline}{\int_{#1}^{#2}} \newcommand{\IntDomainInline}{\int_{#1}} \newcommand{\DetJacobian}{\Det{\Jac}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Numerical Analysis %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\BigO}{\mathcal{O}\left(#1\right)} \newcommand{\Flops}{\operatorname{flops}} \newcommand{\Interpolant}{\mathcal{#1}^{h}} \newcommand{\ErrorApproxComp}{e} \newcommand{\ErrorApproxTen}{\Vec{\ErrorApproxComp}} \newcommand{\ErrorNewton}{\epsilon} % clean up \newcommand{\ApproximateIntegrationError}{\tilde{e}_{#1}} \newcommand{\AnalyticApproximateIntegrationErrorDifference}{\overbar{e}_{#1}}$$\newcommand{\GlosOne}{a} \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{\NumUsplineBasisFuncsOnMeshBezier}{\Size{\UsplineBasisFuncSetOnMeshBezier}} \newcommand{\NumUsplineBasisFuncsOnMeshUspline}{\Size{\UsplineBasisFuncSetOnMeshUspline}} \newcommand{\NumUsplineBasisFuncsOnElem}{\Size{\UsplineBasisFuncSet{\Elem}}} \newcommand{\NumBernsteinBasisFuncsOnMeshBezier}{\Size{\IndexSetOnMeshBezier}} \newcommand{\NumBernsteinBasisFuncsOnElem}{\Size{\IndexSet{\Elem}}} \newcommand{\NumElemsInMeshBezier}{\Size{\CellSet{\ParamDim}}} \newcommand{\ParentDomain}{\SymbolParentModifier{\SymbolDomain}} \newcommand{\ParentDomainChart}{\SymbolParentModifier{\Vec{\phi}}} \newcommand{\ParentDomainChartDetailed}{\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}{\ParentCoord_{#1}} \newcommand{\ParentGrevillePoint}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParentGrevillePointSet}{\QuantityFunctionOf{\Set{\SymbolParentModifier{G}}}{#1}} \newcommand{\BernsteinBasisFuncCoeff}{\SymbolArbitraryCoeffBernstein} \newcommand{\BernsteinBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffBernstein}}}{\MeshBezier}} \newcommand{\BernsteinBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffBernstein}}{\MeshBezier}} \newcommand{\BernFuncLowerDimCell}{\BernsteinBasisFunc^{#1}_{#2}} \newcommand{\BernFuncInterf}{\BernFuncLowerDimCell{\Interface}{#1}} \newcommand{\UsplineBasisFuncCoeff}{\SymbolArbitraryCoeffUspline} \newcommand{\UsplineBasisFuncCoeffAlt}{\SymbolArbitraryCoeffUsplineAlt} \newcommand{\UsplineBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffUspline}}}{\MeshUspline}} \newcommand{\UsplineBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffUspline}}{\MeshUspline}} \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{\ii}{\IndexOnCell{}{\BernsteinBasisFuncIndexTuple}} \newcommand{\jj}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAlt}} \newcommand{\kk}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAltAlt}} \newcommand{\BernsteinBasisFuncIndexTupleB}{\Set{\BernsteinBasisFuncIdB}} \newcommand{\BernsteinDegree}{\PolynomialDegree} \newcommand{\BernsteinDegreeAlt}{q} \newcommand{\BernsteinDegreeTuple}{\Tuple{\BernsteinDegree}} \newcommand{\BernsteinDegreeElevMatComp}{D} \newcommand{\BernsteinDegreeElevMat}{\Mat{\BernsteinDegreeElevMatComp}} \newcommand{\CompletePolynomial}{\AbsoluteValue{#1}} \newcommand{\BernsteinBasisFunc}{\SymbolBernstein} \newcommand{\BernsteinBasisFuncVec}{\QuantityFunctionOf{\QuantityChildOf{#1}{\Vec{\SymbolBernstein}}}{#2}} \newcommand{\BernsteinBasisFuncDetailed}{\BernsteinBasisFunc_{#1}^{#2}} \newcommand{\BernsteinSpace}{\SpaceHilbert{\SymbolBernstein}} \newcommand{\BernsteinRestriction}{#1\vert_{#2}} \newcommand{\Bezier}{B\'ezier } \newcommand{\MeshTopo}{\boldsymbol{\textsf{M}}}%changed from mathsf \newcommand{\MeshBezier}{\boldsymbol{\textsf{B}}}%changed from mathsf \newcommand{\CellArbitrary}{\Set{#1}} \newcommand{\Cell}{\CellArbitrary{c}} % k-cell \newcommand{\CellAlpha}{\CellArbitrary{a}} \newcommand{\CellBeta}{\CellArbitrary{b}} \newcommand{\CellGamma}{\CellArbitrary{c}} \newcommand{\CellToTheLeft}{\CellAlpha} \newcommand{\CellToTheRight}{\CellBeta} \newcommand{\CellBoundary}{\partial #1} \newcommand{\CellSet}{\Set{C}^{#1}} \newcommand{\CellSetAdjacent}{\QuantityFunctionOf{\Set{ADJ}^{#1}}{#2}} \newcommand{\CellSetCardinal}{\QuantityFunctionOf{\Set{CRD}}{#1}} \newcommand{\CellSetSupport}{\Support{#1}} \newcommand{\Elem}{\Set{E}} % d-cell \newcommand{\Interface}{\Set{I}} % (d-1)-cell \newcommand{\Smoothness}{\vartheta} \newcommand{\SmoothnessVar}{\rho} \newcommand{\SmoothnessSet}{\Set{\Smoothness}} \newcommand{\InterfaceSmoothness}{\QuantityChildOf{#1}{\Smoothness}} \newcommand{\MaxPerpCont}{\QuantityFunctionOf{\Smoothness^{\perp}_{\max}}{#1}} \newcommand{\Face}{\Set{f}} % 2-cell \newcommand{\Edge}{\Set{e}} % 1-cell \newcommand{\Vertex}{\Set{v}} % 0-cell \newcommand{\CodimTwoCell}{\Set{w}} % (d-2)-cell \newcommand{\KCell}{\Cell^\ArbDim} \newcommand{\KPlusOneCell}{\Cell^{\ArbDim+1}} \newcommand{\KCellAlpha}{\CellAlpha^\ArbDim} \newcommand{\KPlusOneCellBeta}{\CellBeta^{\ArbDim+1}} \newcommand{\KPlusOneCellAdjacentIndexedSubmeshDomain}{\QuantityChildOf{\CellAlpha\CellBeta}{\SubmeshDomain}} \newcommand{\MaxParallelDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\max}}{#1}} \newcommand{\MinParallelDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\min}}{#1}} \newcommand{\MaxPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\max}}{#1}} \newcommand{\MinPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\min}}{#1}} \newcommand{\MinParallelPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\min}}{#1,#2}} \newcommand{\MaxParallelPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\max}}{#1,#2}} \newcommand{\DegreeParallel}{\BernsteinDegree^{\parallel}} \newcommand{\DegreeParallelToEdge}{\DegreeParallel_{#1}(#2)} \newcommand{\DegreePerp}{\BernsteinDegree^{\perp}} \newcommand{\DegreePerpToInterface}{\DegreePerp_{#1}(#2)} \newcommand{\DegreeTupleParallelToKCell}{\Tuple{\BernsteinDegree}^{\parallel}_{#1}(#2)} \newcommand{\ChangeInDegree}{\Delta(\BernsteinDegree)_{#1}^{#2}} \newcommand{\IndexSet}{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\CompositeBVUnionIndexSet}{\QuantityFunctionOf{\Set{UID}}{#1}} \newcommand{\IndexSetPosCoeffs}{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\IndexSetSet}{\QuantityFunctionOf{\boldsymbol{\IndexSet{}}}{#1}} \newcommand{\IndexSetOnMeshBezier}{\IndexSet{\MeshBezier}} \newcommand{\IndexOnCell}{\QuantityChildOf{#1}{#2}} \newcommand{\IndexOnCellIJ}{\QuantityChildOf{#1}{\TupleRoster{#2,#3}}} \newcommand{\CellFromQuantity}{\QuantityFunctionOf{\operatorname{cell}}{#1}} \newcommand{\ExtractionOp}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{C}}{#2}}} \newcommand{\ExtractionOpSimple}{\QuantityFunctionOf{\Mat{C}}{#1}} \newcommand{\ReconstructOp}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{R}}{#2}}} \newcommand{\ReconstructOpSimple}{\QuantityFunctionOf{\Mat{R}}{#1}} \newcommand{\Gramian}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{G}}{#2}}} \newcommand{\GramianSimple}{\QuantityFunctionOf{\Mat{G}}{#1}} \newcommand{\BernsteinSpaceOnMeshBezier}{\QCO{\MeshBezier}{\BernsteinSpace}} \newcommand{\BernsteinTraceMappingMat}{\Mat{M}} \newcommand{\ParamDomain}{\SymbolParamModifier{\SymbolDomain}} \newcommand{\ParamDomainOnCell}{\QuantityChildOf{\Cell}{\ParamDomain}} \newcommand{\ParamDomainBdry}{\SymbolParamModifier{\SymbolDomainBdry}} \newcommand{\ParamDomainChart}{\QuantityFunctionOf{\Vec{\phi}^{#1}}{#2}} \newcommand{\ParamDim}{\SymbolDim} \newcommand{\ParamCoordSimple}{s} \newcommand{\ParamCoord}{\QCO{#1}{s}} \newcommand{\ParamCoordVecSimple}{\Vec{s}} \newcommand{\ParamCoordVec}{\QCO{#1}{\Vec{\ParamCoord{}}}} \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}{\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{\NormalParamCoordSet}{\QuantityFunctionOf{\ParamCoordVecSimple^{\perp}_{#1}}{#2}} \newcommand{\ParallelParamCoordSet}{\QuantityFunctionOf{\ParamCoordVecSimple^{\parallel}_{#1}}{#2}} \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}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParamModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParamGrevillePointSet}{\QuantityFunctionOf{\Set{\SymbolParamModifier{G}}}{#1}} \newcommand{\ParamDomainOnMeshBezier}{\QuantityChildOf{\MeshBezier}{\ParamDomain}} \newcommand{\ParamDomainOnMeshUspline}{\QuantityChildOf{\MeshUspline}{\ParamDomain}} \newcommand{\Submesh}{\boldsymbol{\mathsf{K}}}%changed from mathsf \newcommand{\SubmeshDomain}{\SymbolSubmeshModifier{\SymbolDomain}} \newcommand{\SubmeshDomainChart}{\QuantityFunctionOf{\Vec{\varphi}^{#1}}{#2}} \newcommand{\SubmeshDomainParameter}{\mathsf{\alpha}}%changed from mathsf \newcommand{\SubmeshDomainParameterVec}{\Vec{\SubmeshDomainParameter}} \newcommand{\SubmeshGrevillePoint}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\SubmeshGrevillePointSimple}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}{#1}} \newcommand{\SubmeshGrevilleMaxPoint}{\QuantityChildOf{#1}{\Set{\SymbolGrevillePoint}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSimple}{\Set{\SymbolGrevillePoint}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSet}{\QuantityChildOf{#1}{\Set{G}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSetSimple}{\Set{G}_{\max}} \newcommand{\SubmeshGrevilleMinPointSet}{\QuantityChildOf{#1}{\Set{G}}_{\min}} \newcommand{\SubmeshGrevilleMinPointSetSimple}{\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}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{G}}}{#1}} \newcommand{\SubmeshGrevillePointSetLeft}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GA}}}{#1}} \newcommand{\SubmeshGrevillePointSetRight}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GB}}}{#1}} \newcommand{\SubmeshGrevillePointSetElement}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GE}}_{#1}}{#2}} \newcommand{\SubmeshGrevillePointSetIntersect}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GI}}}{#1}} \newcommand{\SubmeshGrevillePointSetUnion}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GU}}}{#1}} \newcommand{\SubmeshGrevillePointSetSet}{\QuantityFunctionOf{\boldsymbol{\SubmeshGrevillePointSet{}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetLeft}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GA}}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetRight}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GB}}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetElement}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1}}{#2}} \newcommand{\SubmeshGrevilleDifferenceVectorsSetLeft}{\Delta\SubmeshGrevilleMaxPointSetLeft} \newcommand{\SubmeshGrevilleDifferenceVectorsSetRight}{\Delta\SubmeshGrevilleMaxPointSetRight} \newcommand{\SubmeshGrevilleDifferenceVector}{\Delta\SubmeshGrevilleMaxPoint{\GlosOne}} \newcommand{\SubmeshGrevilleDifferenceVectorLeft}{\Delta\SubmeshGrevilleMaxPointLeft} \newcommand{\SubmeshGrevilleDifferenceVectorRight}{\Delta\SubmeshGrevilleMaxPointRight} \newcommand{\SubmeshGrevilleDifferenceVectorsSet}{\Delta \SubmeshGrevillePointSet{\GlosOne}} \newcommand{\SubmeshGrevilleDistanceToCell}{\QuantityFunctionOf{\SymbolDistance}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCell}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMin}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\min}}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMax}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\max}}{#1, #2}} \newcommand{\SubmeshPerpProjection}{\QuantityFunctionOf{\Projection^{\perp}_{#1}}{#2}} \newcommand{\SubmeshParallelProjection}{\QuantityFunctionOf{\Projection^{\parallel}_{#1}}{#2}} \newcommand{\SubmeshStarProjection}{\QuantityFunctionOf{\Projection^{*}_{#1}}{#2}} \newcommand{\SubmeshPerpEquivalence}{\QuantityFunctionOf{\varpi^{\perp}_{#1}}{#2}} \newcommand{\SubmeshParallelEquivalence}{\QuantityFunctionOf{\varpi^{\parallel}_{#1}}{#2}} \newcommand{\SubmeshStarEquivalence}{\QuantityFunctionOf{\varpi^{*}_{#1}}{#2}} \newcommand{\AlignedSet}{{\boldsymbol{\textsf{Align}}}}%changed from mathsf \newcommand{\AlignedSetSet}{{\boldsymbol{\textsf{ALIGN}}}}%changed from mathsf \newcommand{\AlignmentSetOfSetsLeft}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetOfSetsRight}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetForInterfaceGrevillePoint}{\AlignedSet_{\SubmeshGrevillePoint{\Interface}{}}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRow}{\QuantityFunctionOf{\Set{NZ}_{#1}}{#2}} \newcommand{\AlignmentSetOfSetsOnLowerDCell}{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1,#2}^{\parallel}} \newcommand{\AlignmentSetOfSetsLeftThreeD}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \ii}^{\parallel}} \newcommand{\AlignmentSetOfSetsRightThreeD}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \ii}^{\parallel}} \newcommand{\MeshUspline}{\boldsymbol{\textsf{\SymbolUspline}}}%changed from mathsf \newcommand{\SetNeighborhoodOfInteraction}{\QuantityFunctionOf{\textsf{NI}}{#1}}%changed from mathsf \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}}%changed from mathsf \newcommand{\RayTailEdge}{\Edge} \newcommand{\RayTailVertexMaxContinuity}{\Smoothness_{#1}^{\max}} \newcommand{\RayTailEdgeMinDegree}{\BernsteinDegree_{#1}^{\min}} \newcommand{\RaySkeleton}{\operatorname{skel}(#1)} \newcommand{\RaySmoothness}{\Smoothness_{#1}^{#2}} \newcommand{\RayDegree}{\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}{\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}}%changed from mathsf \newcommand{\RibbonTailInterf}{\Interface} \newcommand{\RibbonTailCodimTwoCellMaxContinuity}{\Smoothness_{#1}^{\max}} \newcommand{\RibbonTailInterfMinDegree}{\BernsteinDegree_{#1}^{\min}} \newcommand{\RibbonSkeleton}{\operatorname{skel}(#1)} \newcommand{\RibbonSmoothness}{\Smoothness_{#1}^{#2}} \newcommand{\RibbonDegree}{\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}{\RibbonAlgBernIndexVariable_{#1}} \newcommand{\UsplineSpace}{\SpaceHilbert{\SymbolUspline}} \newcommand{\UsplineBasisFunc}{\SymbolBasisUspline} \newcommand{\UsplineBasisFuncDetailed}{\UsplineBasisFunc^{#1}_{#2}} \newcommand{\UsplineBasisFuncSet}{\QuantityFunctionOf{\Set{UF}}{#1}} \newcommand{\UsplineBasisFuncVec}{\QuantityFunctionOf{\QuantityChildOf{#1}{\Vec{\SymbolBasisUspline}}}{#2}} \newcommand{\UsplineBasisFuncSetOnMeshBezier}{\QuantityFunctionOf{\Set{UF}}{\MeshBezier}} \newcommand{\UsplineBasisFuncSetOnMeshUspline}{\QuantityFunctionOf{\Set{UF}}{\MeshUspline}} \newcommand{\UsplineBasisFuncSetSupport}{\Support{\UsplineBasisFuncSet{#1}}} \newcommand{\UsplineBasisFuncId}{A} \newcommand{\UsplineBasisFuncIdAlt}{B} \newcommand{\UsplineBasisFuncIdLocal}{a} \newcommand{\UsplineBasisFuncIdOne}{\UsplineBasisFuncId_0} \newcommand{\UsplineBasisFuncIdTwo}{\UsplineBasisFuncId_1} \newcommand{\UsplineBasisFuncNormalized}{\bar{\SymbolBasisUspline}} \newcommand{\UsplineBasisFuncParam}{\UsplineBasisFuncDetailed{\MeshBezier}{#1}} \newcommand{\UsplineDegree}{q} \newcommand{\UsplineNullVectorCoeff}{\SymbolUsplineLower}%{\MakeLowercase} \newcommand{\UsplineNullVector}{\Vec{\UsplineNullVectorCoeff}} \newcommand{\UsplineNullVectorIds}{\Set{id}} \newcommand{\UsplineNullVectorSet}{\boldsymbol{\textsf{UV}}}%changed from mathsf \newcommand{\UsplineNullVectorSetOfIndexSets}{\boldsymbol{\textsf{UI}}}%changed from mathsf \newcommand{\UsplineNullVectorSetOnMeshBezier}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshBezier}} \newcommand{\UsplineNullVectorSetOnMeshUspline}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshUspline}} \newcommand{\UsplineSpaceOnMeshUspline}{\QCO{\MeshUspline}{\UsplineSpace}} \newcommand{\UsplineCellToGlobalBasisFuncIndexMap}{\operatorname{ucg}(#1)} \newcommand{\UsplineCellToGlobalBasisFuncIndexMapDef}{\FuncDef{\operatorname{ucg}}{\MeshBezier\times\Integers}{\Integers}} \newcommand{\ContiguousIndexMap}{\QuantityFunctionOf{i_{#1}}} \newcommand{\Constraint}{R} %\newcommand{\ConstraintCoeff}{\MakeLowercase{\Constraint}} \newcommand{\ConstraintCoeff}{r} \newcommand{\ConstraintCoeffsSet}{\boldsymbol{\Set{\ConstraintCoeff}}} \newcommand{\ConstraintCoeffsVec}{\Vec{\ConstraintCoeff}} \newcommand{\ConstraintSet}{\QuantityFunctionOf{\Set{\Constraint}}{#1}} \newcommand{\ConstraintSetOnMeshBezier}{\ConstraintSet{\MeshBezier}} \newcommand{\ConstraintMat}{\QuantityFunctionOf{\Mat{\Constraint}}{#1}} \newcommand{\ConstraintMatOnMeshBezier}{\ConstraintMat{\MeshBezier}} \newcommand{\SparsestPossibleBasisOnCell}{\QFO{\Set{N}}{#1}} \newcommand{\NullVectorCoeff}{#1} \newcommand{\NullVector}{\QuantityFunctionOf{\Vec{v}}{#1}} \newcommand{\NullVectorArbitrary}{\QuantityFunctionOf{\Vec{#1}}{#2}} \newcommand{\KCellNullVectorForCellAlpha}{\NullVectorArbitrary{n}{}_{\KCellAlpha}} \newcommand{\KPlusOneCellNullVectorForCellBeta}{\NullVectorArbitrary{n}{}_{\KPlusOneCellBeta}} \newcommand{\NullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}}%changed from mathsf \newcommand{\CompositeNullVectorSet}{\NullVectorSet{#1}^{\prime\prime}} \newcommand{\SimpleNullVectorSet}{\NullVectorSet{#1}^{\prime}} \newcommand{\InterfaceNullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}}{#1}}%changed from mathsf \newcommand{\InterfaceNullVectorAlignedSubset}{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorSetOfIndexSets}{\QuantityFunctionOf{\boldsymbol{\textsf{BI}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetGrevilleSets}{\QuantityFunctionOf{\boldsymbol{\textsf{BG}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetOnMeshBezier}{\NullVectorSet{\MeshBezier}} \newcommand{\NullVectorSetSubordinateToNullVector}{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetSubordinateToNullVectorOnCell}{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorSetOnBdryOfNullVector}{\QuantityFunctionOf{\boldsymbol{\textsf{BD}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBV}}}{#1}}%changed from mathsf \newcommand{\NullVectorIndexEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBI}}}{#1}}%changed from mathsf \newcommand{\NullVectorGrevilleEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBG}}}{#1}}%changed from mathsf \newcommand{\NullVectorExpansionSet}{\QuantityFunctionOf{\boldsymbol{\textsf{XBV}}}{#1,#2}}%changed from mathsf \newcommand{\NullSpaceOperatorForm}{\QuantityFunctionOf{\SpaceHilbert{N}}{#1}} \newcommand{\NullSpaceOperatorFormOnMeshBezier}{\NullSpaceOperatorForm{\MeshBezier}} \newcommand{\NullSpaceVectorForm}{\QuantityFunctionOf{\Set{N}}{#1}} \newcommand{\NullVectorGrevillePointSet}{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}}%changed from mathsf \newcommand{\DegSmoothDiff}{\delta_{#1}^{#2}} \newcommand{\FaceEdgeDiff}{\Set{t}} \newcommand{\FaceEdgeDiffSet}{\Set{T}_{#1}} \newcommand{\PerpTuple}{\QuantityFunctionOf{\FaceEdgeDiff^\perp}{#1}} \newcommand{\ParallelTuple}{\QuantityFunctionOf{\FaceEdgeDiff^\parallel}{#1}} \newcommand{\ElemInterfDiff}{\Set{t}} \newcommand{\ElemInterfDiffSet}{\Set{T}_{#1}} \newcommand{\SpokeSymbol}{\rho} \newcommand{\ElemInterfPairSymbol}{t} \newcommand{\ElemKPlusOneCellPair}{\Set{\SpokeSymbol}} \newcommand{\Spoke}{\ElemKPlusOneCellPair} \newcommand{\ElemInterfPair}{\Set{\ElemInterfPairSymbol}} \newcommand{\EIDPerpTuple}{\QuantityFunctionOf{\ElemInterfDiff^\perp}{#1}} \newcommand{\EIDParallelTuple}{\QuantityFunctionOf{\ElemInterfDiff^\parallel}{#1}} \newcommand{\InclDist}{\QuantityFunctionOf{\textsf{inc}}{#1}}%changed from mathsf \newcommand{\InclDistSet}{\Set{INC}^{#1,#2}} \newcommand{\EdgeInclDist}{\InclDistSet{#2}{#3}_{#1}} \newcommand{\PerpEdgesSet}{\Set{E}^\perp} \newcommand{\PerpInterfacesSet}{\Set{IRF}^\perp} \newcommand{\PerpOfKPlusOneCellInterfSet}{\QuantityFunctionOf{\boldsymbol{\textsf{PI}}}{#1}}%changed from mathsf \newcommand{\PerpKPlusOneCellSet}{\QuantityFunctionOf{\boldsymbol{\textsf{PC}}}{#1}}%changed from mathsf \newcommand{\ElemKPlusOneCellPairPerp}{\QuantityFunctionOf{\Set{\SpokeSymbol}^\perp}{#1}} \newcommand{\ElemInterfPairPerp}{\QuantityFunctionOf{\Set{t}^\perp}{#1}} \newcommand{\ElemInterfPairParallel}{\QuantityFunctionOf{\Set{\ElemInterfPairSymbol}^\parallel}{#1}} \newcommand{\ElemKPlusOneCellPairParallelSet}{\QuantityFunctionOf{\Set{\SpokeSymbol}^\parallel}{#1}} \newcommand{\KPlusOneCellNullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}}{#1}}%changed from mathsf \newcommand{\KPlusOneCellNullVectorAlignedSubset}{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\Graph}{\QuantityFunctionOf{G}{#1}} \newcommand{\GraphCore}{K} \newcommand{\GraphDirectedEdge}{\Edge_{i,j}} \newcommand{\GraphDirectedEdgeIJ}{\Edge_{#1,#2}} \newcommand{\GraphCoreToVertex}{\QuantityFunctionOf{\Vertex}{#1}} \newcommand{\GraphCoreChildren}{\QuantityFunctionOf{\operatorname{children}}{#1}} \newcommand{\GraphVertexToCore}{\QuantityFunctionOf{\GraphCore}{#1}} \newcommand{\GraphInteractingEdges}{\Set{IE}} \newcommand{\GraphCoveredEdges}{\Set{CE}} \newcommand{\GraphFailedEdges}{\Set{FE}} \newcommand{\GraphCandidateEdges}{\Set{XE}} \newcommand{\UsplineClass}{\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{\AlgNameBuildRayOfMaximumCouplingLength}{\textit{BuildRayOfMaximumCouplingLength}} \newcommand{\AlgNameBuildRibbonOfMaximumCouplingLength}{\textit{BuildRibbonOfMaximumCouplingLength}} \newcommand{\AlgNameComputeCoreGraph}{ComputeCoreGraph} \newcommand{\SymbolParentModifier}{\overbar{#1}} \newcommand{\SymbolParamModifier}{\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{\UpperDBMat}{\Mat{U}} \newcommand{\LowerWeightDBMat}{\Mat{W}} \newcommand{\RationalSplineWeightSymbol}{w} \newcommand{\NURBSWeight}{\RationalSplineWeightSymbol} \newcommand{\WeightFunc}[\RationalSplineWeightSymbol]{#1} \newcommand{\DBParamWeight}{\omega} \newcommand{\DualBCoeff}{d}$$\newcommand{\SymbolTime}{t} \newcommand{\SymbolClosestPointMap}{\kappa} \newcommand{\SymbolManifold}{m} \newcommand{\SymbolVolume}{v} \newcommand{\SymbolSurface}{s} \newcommand{\SymbolCurve}{c} \newcommand{\SymbolPoint}{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{\SymbolEnvModifier}{\star\mspace{-1mu} #1} \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{\Partition{}}{\ParamDomain}} \newcommand{\SpatialDim}{\SymbolSpatialDim} \newcommand{\SpatialDomain}{\Reals^{\SymbolSpatialDim}} \newcommand{\SpatialCoord}{\SymbolSpatialCoord} \newcommand{\SpatialCoordUpper}{\SymbolSpatialCoordUpper} \newcommand{\SpatialCoordVec}{\Vec{\SpatialCoord}} \newcommand{\SpatialCoordVecSet}{\QuantityFunctionOf{\boldsymbol{\Set{\SpatialCoordUpper}}}{#1}} \newcommand{\UsplineBasisFuncSpatial}{\UsplineBasisFuncDetailed{\SpatialCoord}{#1}} \newcommand{\Manifold}{\QuantityRelatedTo{\Set{\SymbolManifold}}{#1}} \newcommand{\Volume}{\QuantityRelatedTo{\Set{\SymbolVolume}}{#1}} \newcommand{\Surface}{\QuantityRelatedTo{\Set{\SymbolSurface}}{#1}} \newcommand{\Curve}{\QuantityRelatedTo{\Set{\SymbolCurve}}{#1}} \newcommand{\Point}{\QuantityRelatedTo{\Set{\SymbolPoint}}{#1}} \newcommand{\ManifoldCAD}{\Manifold{\SymbolCAD}} \newcommand{\ManifoldCADModified}{\Manifold{\SymbolCADModified}} \newcommand{\ManifoldCADEnv}{\SymbolEnvModifier{\ManifoldCAD}} \newcommand{\ManifoldCADModifiedEnv}{\SymbolEnvModifier{\ManifoldCADModified}} \newcommand{\ManifoldPartition}{\Manifold{\Partition{}}} \newcommand{\ManifoldBezier}{\Manifold{\MeshBezier}} \newcommand{\ManifoldUspline}{\Manifold{\MeshUspline}} \newcommand{\ManifoldUsplineEnv}{\SymbolEnvModifier{\ManifoldUspline}} \newcommand{\VolumeEnv}{\SymbolEnvModifier{\Volume{}}} \newcommand{\dVolume}{\Differential[\Volume{}]} \newcommand{\VolumeIndicator}{\SymbolIndicator} \newcommand{\SurfaceEnv}{\SymbolEnvModifier{\Surface{}}} \newcommand{\SurfaceCAD}{\Surface{\SymbolCAD}} \newcommand{\SurfaceCADModified}{\Surface{\SymbolCADModified}} \newcommand{\SurfaceMesh}{\Surface{\Partition{}}} \newcommand{\SurfaceUspline}{\Surface{\MeshUspline}} \newcommand{\SurfaceWildCard}{\Surface{}^{\SymbolWildCard}} \newcommand{\dSurface}{\Differential[\Surface{}]} \newcommand{\CurveCAD}{\Curve{\SymbolCAD}} \newcommand{\CurveCADModified}{\Curve{\SymbolCADModified}} \newcommand{\CurveMesh}{\Curve{\Partition{}}} \newcommand{\CurveUspline}{\Curve{\MeshUspline}} \newcommand{\dCurve}{\Differential[\Curve{}]} \newcommand{\PointCAD}{\Point{\SymbolCAD}} \newcommand{\PointCADModified}{\Point{\SymbolCADModified}} \newcommand{\PointUspline}{\Point{\MeshUspline}} \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{\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{\ManifoldMap}{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldTemporalMap}{\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}{\FuncDef{\ManifoldMap{#1}{#2}}{#1}{#2}} \newcommand{\ManifoldMapInverseDef}{\FuncDef{\Inverse{\ManifoldMap{#1}{#2}}}{#2}{#1}} \newcommand{\ManifoldTemporalMapDef}{\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}{\QCO{#1}{#2}} \newcommand{\ManifoldCoordVecDetailed}{\QCO{#1}{\Vec{#2}}} \newcommand{\ManifoldCoord}{x} \newcommand{\ManifoldCoordVec}{\Vec{x}} \newcommand{\ManifoldPartitionMapCoord}{\ManifoldCoordDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldPartitionMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldPartitionMap}{\ManifoldCoordVec}} \newcommand{\ManifoldCADMapCoord}{\ManifoldCoordDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldCADMap}{\ManifoldCoordVec}} \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{\Segment}{\QuantityChildOf{#1}{\SymbolSegment}} \newcommand{\SegmentOfVolumeEnv}{\Segment{\VolumeEnv}} \newcommand{\Hex}{\Segment{}_{h}} \newcommand{\Tet}{\Segment{}_{t}} \newcommand{\SegmentParamDomain}{\QuantityRelatedTo{\ParamDomain}{#1}} \newcommand{\SegmentParamDomainOfVolumeEnv}{\QuantityRelatedTo{\ParamDomain}{\Segment{\VolumeEnv}}} \newcommand{\SegmentSet}{\QuantityFunctionOf{\SymbolSegmentSet}{#1}} \newcommand{\SegmentSetOutside}{\SegmentSet{}^{\SymbolOutside}} \newcommand{\SegmentSetInside}{\SegmentSet{}^{\SymbolInside}} \newcommand{\SegmentSetHybrid}{\SegmentSet{}^{\SymbolHybrid}} \newcommand{\Partition}{\QuantityFunctionOf{\SymbolPartition}{#1}} \newcommand{\PartitionBezierExtraction}{\QuantityFunctionOf{\SymbolPartition^{B}}{#1}} \newcommand{\PartitionTessellation}{\QuantityFunctionOf{\SymbolPartition^{T}}{#1}} \newcommand{\PartitionTessellationOfUspline}{\PartitionTessellation{\MeshUspline}} \newcommand{\PartitionTessellationMap}{\QuantityRelatedTo{#2}{#1}} \newcommand{\BoundingVolume}{\QuantityFunctionOf{\Set{bv}}{#1}} \newcommand{\BoundingVolumeSet}{\QuantityFunctionOf{\Set{BV}}{#1}} \newcommand{\BoundingVolumeTree}{\QuantityFunctionOf{\Set{BVH}}{#1}} \newcommand{\AxisAlignedBoundingBox}{\QuantityFunctionOf{\Set{AABB}}{#1}} \newcommand{\SimplexMap}{\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}{\SymbolEnvModifier{\QuadraturePoint{#1}{#2}}} \newcommand{\QuadraturePoint}{\SymbolQuadraturePoint_{#1}^{#2}} \newcommand{\QuadraturePointToElemIndexMap}{\operatorname{qe}(#1)} \newcommand{\QuadratureWeightEnv}{\SymbolEnvModifier{\QuadratureWeight{#1}{#2}}} \newcommand{\QuadratureWeight}{\SymbolQuadratureWeight_{#1}^{#2}} \newcommand{\QuadratureSet}{\Set{\SymbolQuadratureSet}} \newcommand{\QuadratureSetInside}{\QuadratureSet^{\SymbolInside}} \newcommand{\QuadratureSetOutside}{\QuadratureSet^{\SymbolOutside}} \newcommand{\QuadratureSubdDepth}{k} \newcommand{\ClosestPointMap}{\QuantityChildOf{#1}{\Vec{\SymbolClosestPointMap}}} \newcommand{\ClosestPointMapCAD}{\ClosestPointMap{\SymbolCAD}} \newcommand{\ClosestPointMapCADModified}{\ClosestPointMap{\SymbolCADModified}} \newcommand{\ProjectionInto}{\QuantityRelatedTo{\SymbolProjection}{#1}} \newcommand{\ProjectionIntoBernsteinCell}{\ProjectionInto{\Cell}} \newcommand{\ProjectionIntoBernsteinElem}{\ProjectionInto{\Elem}} \newcommand{\ProjectionIntoMeshBezier}{\ProjectionInto{\MeshBezier}} \newcommand{\ProjectionIntoMeshUspline}{\ProjectionInto{\MeshUspline}}$$\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}{\ManifoldCoordDetailed{#1}{X}} \newcommand{\RefCoordVec}{\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}{\UsplineBasisFuncDetailed{\CurveRef}{#1}} \newcommand{\UsplineBasisFuncOverSurfaceRefDisp}{\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}{\ManifoldCoordDetailed{#1}{x}} \newcommand{\CurrCoordVec}{\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}{\Grad{\VolumeEnvRefMap}{#1}} \newcommand{\VolumeRefMap}{\ManifoldMap{\ParamDomain}{\VolumeRef}} \newcommand{\GenericGradOverVolumeRefMap}{\Grad{\VolumeRefMap}{#1}} \newcommand{\SurfaceRefDispMap}{\ManifoldMap{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMap}{\ManifoldMap{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\CurveRefMap}{\ManifoldMap{\ParamDomain}{\CurveRef}} \newcommand{\GenericGradOverCurveRefMap}{\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}{\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}{U} \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{\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{\KinematicElast}{#1^e} \newcommand{\KinematicPlast}{#1^p} \newcommand{\DivVolumeEnvRef}{\Div{\VolumeEnvRefCoordVec}{#1}} \newcommand{\DivVolumeEnvCurr}{\Div{\VolumeEnvCurrCoordVec}{#1}} \newcommand{\UnitNormalRefComp}{N} \newcommand{\UnitNormalRefTen}{\Vec{N}} \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{\StressKirchhoffComp}{\tau} \newcommand{\StressKirchhoffTen}{\Mat{\tau}} \newcommand{\StressKirchhoffVoigt}{\tilde{\StressKirchhoffTen}} \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{\MaterialThermalExpansion}{\alpha_{\text{thermal}}} \newcommand{\CrossSectArea}{\SymbolArea} \newcommand{\Length}{\SymbolLength} \newcommand{\PenaltyStiffness}{\SymbolPenalty_{\SymbolStiffness}} \newcommand{\PenaltyDisp}{\SymbolPenalty_{\SymbolDisp}} \newcommand{\BodyForceRefComp}{B} \newcommand{\BodyForceRefTen}{\Vec{\BodyForceRefComp}} \newcommand{\BodyForceCurrComp}{\SymbolBodyForce} \newcommand{\BodyForceCurrTen}{\Vec{\BodyForceCurrComp}} \newcommand{\TracForceRefComp}{H} \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{G}} \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}{\QFO{\Energy}{#1}} \newcommand{\EnergyEnv}{\SymbolEnvModifier{\Energy}} \newcommand{\EnergyInside}{\Energy^{\SymbolInside}} \newcommand{\EnergyOutside}{\Energy^{\SymbolOutside}} \newcommand{\EnergyConstraint}{\Energy^{\LagrangeMultCurrComp}} \newcommand{\EnergyDensityStrain}{\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{\FlexOne}{\mathcal{F}_{1}} \newcommand{\FlexInfty}{\mathcal{F}_{\infty}} \newcommand{\Flex}{\mathcal{F}_{#1}} \newcommand{\FlexIt}{\mathcal{F}} \newcommand{\FlexFEA}{\mathcal{F}_{\bar{0}}} \newcommand{\FlexFEAModified}{\mathcal{F}_{0}} \newcommand{\FlexImmersed}{\mathcal{F}_{\infty}} \newcommand{\FlexSpectrum}{\overleftrightarrow{\mathcal{F}}} \newcommand{\FlexSpectrumId}{i} \newcommand{\TimeStep}{\Delta \SymbolTime} \newcommand{\SpectralRadius}{\rho_{\infty}} \newcommand{\SymbolDisp}{u} \newcommand{\SymbolVelocity}{v} \newcommand{\SymbolAcceleration}{a} \newcommand{\SymbolMass}{M} \newcommand{\SymbolLength}{L} \newcommand{\SymbolArea}{A} \newcommand{\SymbolConstraint}{g} \newcommand{\SymbolPenalty}{\varepsilon} \newcommand{\SymbolLagrangeMultRef}{\Lambda} \newcommand{\SymbolLagrangeMultCurr}{\lambda} \newcommand{\SymbolFict}{f} \newcommand{\SymbolTracForce}{h} \newcommand{\SymbolBodyForce}{b} \newcommand{\SymbolVolumeRef}{V} \newcommand{\SymbolSurfaceRef}{S} \newcommand{\SymbolCurveRef}{C} \newcommand{\SymbolPointRef}{P} \newcommand{\SymbolVolumeCurr}{\SymbolVolume} \newcommand{\SymbolSurfaceCurr}{\SymbolSurface} \newcommand{\SymbolCurveCurr}{\SymbolCurve} \newcommand{\SymbolPointCurr}{\SymbolPoint} \newcommand{\SymbolDeformGrad}{F} \newcommand{\SymbolStrainGreenLagrange}{E} \newcommand{\SymbolDeformCauchyGreenLeft}{b} \newcommand{\SymbolDeformCauchyGreenRight}{C} \newcommand{\SymbolStrainDisp}{B} \newcommand{\SymbolStrainSymGrad}{\epsilon} \newcommand{\SymbolEnergy}{\Pi} \newcommand{\SymbolEnergyDensityStrain}{\Psi} \newcommand{\SymbolResidual}{R} \newcommand{\SymbolForce}{F} \newcommand{\SymbolStiffness}{K} \newcommand{\SymbolSolution}{d}$ Figure 128:

The brick is a rectangular parallelepiped. A cubical brick is created by specifying only the width or x dimension.

To create a Brick

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

2. Click on the Create action button.

3. Select Brick from the drop-down menu.

4. Enter in the desired values for the Brick Dimensions.

5. Click Apply.

A brick can be specified to occupy the bounding box of one or more entities, specified on the command line.

To create a Bounding Box

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

2. Click on the Create action button.

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

4. Select the volume to be bounded.

5. Enter the appropriate settings.

6. Click Apply.

If the Tight option is specified with Bounding Box, the result is the smallest brick that can contain the entities specified, which is the default behavior of the Bounding Box option.

If the Extended option is specified with Bounding Box, the result is a brick that is extended from a "tight" brick by the input percentage or absolute value.

If a bounding box specification is used in conjunction with any of the other parameters (X, Y or Z), the parameters specified override the bounding box results for that or those dimensions.

[Create] Brick {Width|X} <width> [{Depth|Y} <depth>] [{Height|Z} <height>] [Bounding Box {entity_type} <id_range>] [Tight] [[Extended] {Percentage| Absolute} <val>]]

##### 4.2.2.3Creating Frustums/Cones

$\newcommand{\QuantityFunctionOf} { % \if\relax\detokenize{#2}\relax % {#1} % \else {#1}(#2) % \fi } \newcommand{\QFO}{\QuantityFunctionOf{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOf} { % \if\relax\detokenize{#3}\relax % {#1}_{#2} % \else {#1}_{#2}(#3) % \fi } \newcommand{\SQFO}{\SubscriptedQuantityFunctionOf{#1}{#2}{#3}} \newcommand{\QuantityChildOf} { % \if\relax\detokenize{#1}\relax % {#2} % \else {#2}^{#1} % \fi } \newcommand{\QCO}{\QuantityChildOf{#1}{#2}} \newcommand{\QuantityRelatedTo} { % \if\relax\detokenize{#2}\relax % {#1} % \else {#1}[#2] % \fi } \newcommand{\QRT}{\QuantityRelatedTo{#1}{#2}} \newcommand{\QuantitySubscriptedBy} { % \if\relax\detokenize{#2}\relax % #1 % \else #1_{#2} % \fi } \newcommand{\QSB}{\QuantitySubscriptedBy{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOfChildOf} { % \if\relax\detokenize{#4}\relax % #1_{#2}^{#3} % \else #1_{#2}^{#3}(#4) % \fi } \newcommand{\SQFOCO}{\SubscriptedQuantityFunctionOfChildOf{#1}{#2}{#3}{#4}} \newcommand{\overbar}{\mkern 1.5mu\overline{\mkern-1.5mu#1\mkern-1.5mu}\mkern 1.5mu} \newcommand{\bcdot}{\boldsymbol{\cdot}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Logic %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SuchThat}{\, : \,} \newcommand{\DefEq}{\overset{\operatorname{def}}{=}} \newcommand{\True}{\textsf{True}} \newcommand{\False}{\textsf{False}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Arrays, tuples, and sets %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\ArrayRoster}{\left[#1\right]} \newcommand{\ArrayRosterI}{[#1]_{#2}} \newcommand{\ArrayEmpty}{\ArrayRoster{\hspace{1mm}}} \newcommand{\Tuple}{\mathsf{#1}}%was \mathsf \newcommand{\TupleRoster}{\left(#1\right)} \newcommand{\PointPair}{\TupleRoster{#1, #2}} \newcommand{\Set}{\mathsf{#1}}%was \mathsf \newcommand{\SetRoster}{\left\{ #1 \right\}} \newcommand{\SetRosterIndexed}{\SetRoster{#1}_{#2}^{#3}} \newcommand{\SetRosterPredicate}{\SetRoster{#1 \SuchThat #2}} \newcommand{\SetEmpty}{\varnothing} \newcommand{\SetPower}{\QuantityFunctionOf{\boldsymbol{\Set{P}}}{#1}} \newcommand{\SetNeighborhood}{\QuantityFunctionOf{\boldsymbol{\Set{B}}}{#1}} \newcommand{\Domain}{\Omega} \newcommand{\DomainBdry}{\Gamma} \newcommand{\IntervalClosed}{\left[#1, #2\right]} \newcommand{\IntervalOpen}{\left(#1, #2\right)} \newcommand{\IntervalClosedOpen}{\left[#1, #2\right)} \newcommand{\IntervalOpenClosed}{\left(#1, #2\right]} % special \newcommand{\Reals}{\mathbb{R}} \newcommand{\Naturals}{\mathbb{N}} \newcommand{\Integers}{\mathbb{Z}} \newcommand{\Field}{\mathbb{F}} % properties \newcommand{\Size}{\left\lvert #1 \right\rvert} \newcommand{\Union}{\bigcup\limits_{#1}^{#2} #3} \newcommand{\UnionInline}{\bigcup_{#1}^{#2} #3} \newcommand{\Intersect}{\bigcap\limits_{#1}^{#2} #3} \newcommand{\ElementWiseGreaterOrEqual}{\succeq} \newcommand{\ElemntWiseGreater}{\succ} \newcommand{\ElementWiseLessOrEqual}{\preceq} \newcommand{\ElementWiseLess}{\prec} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Infinite dimensional spaces %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SpaceLinear}{\mathnormal{#1}} \newcommand{\SpaceDual}{\SpaceLinear{#1}^*} % normed spaces \newcommand{\AbsoluteValue}{\Size{#1}} \newcommand{\Norm}{\left\lVert #2 \right\rVert_{#1}} \newcommand{\NormAbstract}{\Norm{}{#1}} \newcommand{\NormSemi}{\Size{#1}} \newcommand{\SpaceLinearNormed}{\left(\SpaceLinear{#1}, \NormAbstract{\bcdot} \right)} \newcommand{\SpaceBanach}{\mathfrak{#1}} % normed and complete % inner product spaces \newcommand{\SymmetricBilinear}{\left(#1, #2\right)} \newcommand{\InnerProduct}{\left\langle#1, #2\right\rangle} \newcommand{\SpaceInnerProduct}{\left(\SpaceLinear{#1}, \InnerProduct{\bcdot}{\bcdot}\right)} \newcommand{\SpaceHilbert}{\mathcal{#1}} \newcommand{\SpaceLTwo}{\SpaceHilbert{L}_2} \newcommand{\SpaceLTwoDef}{\SpaceLTwo\left(#1; #2\right)} \newcommand{\SpaceLInfty}{\SpaceHilbert{L}_\infty} \newcommand{\SpaceLTwoWeighted}{\SpaceLTwo^w} \newcommand{\SpaceSobolevK}{\SpaceHilbert{H}^{#1}} \newcommand{\SpaceSobolevKDef}{\SpaceSobolevK{1}\left(#2 ; #3\right)} % differentiable spaces \newcommand{\Cont}{\operatorname{cont}} \newcommand{\SpaceCont}{\SpaceHilbert{C}} \newcommand{\SpaceContDef}{\SpaceCont\left(#1 ; #2\right)} \newcommand{\SpaceContK}{\SpaceCont^{#1}} \newcommand{\SpaceContKDef}{\SpaceContK{#1}\left(#2; #3\right)} \newcommand{\SpaceContZero}{\SpaceContK{0}} \newcommand{\SpaceContInf}{\SpaceContK{\infty}} \newcommand{\SpaceContInfDef}{\SpaceContKDef{\infty}{#1}{#2}} \newcommand{\SpaceContKBounded}{\SpaceContK{#1}_{#2}} \newcommand{\SpaceContKBoundedDef}{\SpaceCont_{b}^{#1}\left(#2 ; #3\right)} % linear operator spaces \newcommand{\SpaceLinearOperator}{\mathscr{#1}} \newcommand{\SpaceLinearOperatorDef}{\SpaceLinearOperator{L}\left(#1 ; #2\right)} \newcommand{\SpaceLinearOperatorBoundedDef}{\SpaceLinearOperator{B}\left(#1 ; #2\right)} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Finite dimensional spaces %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SpaceLinearN}{\SpaceLinear{#1}^h} \newcommand{\SpaceHilbertN}{\SpaceHilbert{#1}^h} \newcommand{\SpaceVecRealN}{\Reals^{#1}} \newcommand{\SpacePoly}{\SpaceHilbert{P}^{#1}} \newcommand{\SpaceMatrixRealMN}{\Reals^{#1\times#2}} \newcommand{\SpacePolyDef}{\SpacePoly{#1}\left(#2 ; #3\right)} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Functions, vectors, and linear operators %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\Func}[f]{#1} \newcommand{\FuncAlt}[g]{#1} \newcommand{\FuncDef}{#1 \SuchThat #2 \rightarrow #3} \newcommand{\FuncApprox}{#1^h} \newcommand{\LinearOperator}{\SpaceLinearOperator{#1}} \newcommand{\LinearOperatorDef}{\FuncDef{#1}{#2}{#3}} \newcommand{\Functional}{\LinearOperator{#1}} \newcommand{\Projection}{\Pi} \newcommand{\VectorProjection}{\Projection_{#1} {\left(#2\right)}} \newcommand{\Mat}{\boldsymbol{#1}} \newcommand{\MatIJ}{\left[#1\right]_{#2#3}} \newcommand{\MatIdRow}{m} \newcommand{\MatIdCol}{n} \newcommand{\Identity}{\Mat{I}} \newcommand{\KroneckerDelta}{\Mat{\delta}} \newcommand{\LeviCivita}{\Mat{\epsilon}} \newcommand{\Jacobian}{\Mat{J}} \renewcommand{\Vec}{\boldsymbol{#1}} \newcommand{\VecChildOf}{\QCO{#2}{#1}} \newcommand{\VecI}{\{#1\}_{#2}} \newcommand{\ZeroVec}{\Vec{0}} \newcommand{\OneVec}{\Vec{1}} \newcommand{\ZeroMat}{\Mat{0}} \newcommand{\UnitNormalComp}{n} \newcommand{\UnitNormal}{\Vec{\UnitNormalComp}} % rename to UnitNormalTen \newcommand{\MacBracket}{\langle#1\rangle} \newcommand{\HeavisideFunc}{\mathit{H}\left(#1\right)} \newcommand{\DiracDelta}{\delta_{D}\left(#1 - #2\right)} \newcommand{\IdentityTenSym}{\mathbb{I}} \newcommand{\BraKet}{\langle#1\rangle} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Lagrange Optimization %%%%%%%%%%%%%%%%%%%%%%%%%%%% %\newcommand{\Min}{\min\limits_{#1}} %\newcommand{\Max}{\max\limits_{#1}} \newcommand{\FuncObjective}{\QFO{\Func}{#1}} \newcommand{\FuncEqualityConstraints}{\QFO{\Func[\Vec{g}]}{#1}} \newcommand{\VarDesign}{\Vec{\phi}} \newcommand{\VarState}{\QFO{\Vec{u}}{#1}} \newcommand{\FuncLagrangian}{\QFO{\mathscr{L}}{#1}} \newcommand{\FuncAugmentedLagrangian}{\QFO{\mathscr{L}_A}{#1}} \newcommand{\VecLambdaLM}{\QFO{\Vec{\lambda}}{#1}} \newcommand{\LambdaLM}{\QFO{\lambda}{#1}} \newcommand{\SolutionLocalOpt}{\left(#1\right)^*} \newcommand{\ProximalPoint}{\overbar{\VecLambdaLM{}}} \newcommand{\PenaltyParameter}{\rho} \newcommand{\Slacify}{\QSB{#1}{s}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Linear algebra %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\Prod}{\prod\limits_{#1}^{#2}} \newcommand{\ProdInline}{\prod_{#1}^{#2}} \newcommand{\TensorProduct}{\otimes} \newcommand{\Sum} { % COMMENTED OUT FOLLOWING PREVIOUS INSTANCES % \if\relax\detokenize{#2}\relax % \sum\limits_{#1} % \else \sum\limits_{#1}^{#2} % COMMENTED OUT FOLLOWING PREVIOUS INSTANCES % \fi } \newcommand{\SumInline}{\sum_{#1}^{#2}} \newcommand{\Rank}{\operatorname{rank}(#1)} \newcommand{\Nullity}{\operatorname{null}(#1)} \newcommand{\Image}{\operatorname{image}} \newcommand{\Range}{\operatorname{range}} \newcommand{\Inverse}{\left(#1\right)^{-1}} \newcommand{\inverse}{\overline{#1}} % clean up \newcommand{\Transpose}{\left(#1\right)^{T}} \newcommand{\InvTrans}{\left(#1\right)^{-T}} \newcommand{\Complement}{\overbar{#1}} \newcommand{\Adjoint}{\left(#1\right)^*} \newcommand{\OrthogonalComplement}{\left(#1\right)^\perp} \newcommand{\Det}{\QFO{\operatorname{det}}{#1}} \newcommand{\DCT}{\operatorname{DCT}} \newcommand{\IDCT}{\operatorname{IDCT}} \newcommand{\RealPart}{\QFO{\mathfrak{R}}{#1}} \newcommand{\Trace}{\QFO{\operatorname{tr}}{#1}} \newcommand{\Dev}{\QFO{\operatorname{dev}}{#1}} \newcommand{\DevDef}{\Dev{#1} \DefEq #1 - \frac{1}{3}\Trace{#1}\Identity} \newcommand{\dual}{{\bar{#1}}} \newcommand{\symind}{{\uppercase{#1}}} \newcommand{\symmetrizer}{{S}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Bases %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\BasisFuncCoeff}{\QSB{#1}{#2}} \newcommand{\BasisVec}{\QSB{#1}{#2}} \newcommand{\BasisVecChildOf}{\SQFOCO{#1}{#2}{#3}{}} \newcommand{\OrthogonalBasisVec}{\SQFOCO{#1}{#2}{\perp}{}} \newcommand{\OrthonormalBasisVec}{\overbar{\OrthogonalBasisVec{#1}{#2}}} \newcommand{\PolynomialDegree}{p} \newcommand{\BasisFuncId}{i} \newcommand{\BasisFuncIdAlt}{j} \newcommand{\BasisFuncIdAltAlt}{k} \newcommand{\BasisFunc}{\SQFO{#1}{#2}{#3}} \newcommand{\PowerBasisFunc}{\QCO{#2}{#1}} \newcommand{\LegendreBasisFunc}{\SQFO{\Func[P]}{#1}{#2}} \newcommand{\PreNormalizedLegendreBasisFunc}{\hat{\LegendreBasisFunc{#1}{#2}}} \newcommand{\ChebyshevBasisFunc}{\SQFO{\Func[T]}{#1}{#2}} \newcommand{\ChebyshevZeros}{\QSB{z}{#1}} \newcommand{\ChebyshevExtremizers}{\QSB{t}{#1}} \newcommand{\BernToChebMat}{\Mat{T}} \newcommand{\Chebfun}{\biggl(\, \sum_{#2=0}^{#1}{#3}_{#2}\ChebyshevBasisFunc{#2}{}\biggr)} \newcommand{\ChebfunVector}{\left[#1\right]_c} \newcommand{\LagrangeBasisFunc}{\SQFOCO{\Func[L]}{#1}{#2}{#3}} % properties \newcommand{\Span}{\operatorname{span}} \newcommand{\Dim}{\operatorname{dim}} \newcommand{\Support}{\operatorname{supp}(#1)} \newcommand{\SupportPos}{\operatorname{supp}_{+}(#1)} % operations \newcommand{\SumBasis}{\Sum{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\SumInlineBasis}{\SumInline{#1}{#2}{#3}_{#1}{#4}_{#1}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Calculus %%%%%%%%%%%%%%%%%%%%%%%%%%%% % limits \newcommand{\EvaluateTwoLimits}{#1\biggr\rvert_{#2}^{#3}} \newcommand{\EvaluateOneLimit}{\left.#1\right\rvert_{#2}} \newcommand{\Limit}{\lim\limits_{#1\rightarrow #2}} \newcommand{\LimitInline}{\lim_{#1\rightarrow #2}} \newcommand{\DNE}{\operatorname{DNE}} % differentiation \newcommand{\LagrangeDeriv}{{#1}'} \newcommand{\KthLagrangeDeriv}{{#1}^{(#2)}} \newcommand{\LeibnizSubDeriv}{{#1}_{,#2}} \newcommand{\LeibnizFracDeriv}{\frac{d}{d#2}{#1}} \newcommand{\KthLeibnizFracDeriv}{\frac{d^{#2}}{d#3^{#2}}\Func[#1](#3)} \newcommand{\KthLeibnizFracSpecificFunction}{\frac{d^{#2}}{d#3^{#2}}\Func[#1]} \newcommand{\Differential}[x]{\, \operatorname{d}{#1}} \newcommand{\FrechetDeriv}{D{#1}\left(#2\right)} \newcommand{\GateauxDirectionBold}{\Vec{\delta}#1} \newcommand{\GateauxDirection}{\delta #1} \newcommand{\GateauxDerivBold}{D#1(#2; \GateauxDirectionBold{#2})} \newcommand{\GateauxDeriv}{D#1(#2; \GateauxDirection{#2})} \newcommand{\GateauxDerivWithDirection}{D#1\left(#2 \ ;\ #3\right)} \newcommand{\GateauxDerivPartial}{\frac{\partial #1}{\partial #2}} \newcommand{\KthGateauxDerivPartial}{\frac{\partial^{#3} #1}{\partial #2^{#3}}} \newcommand{\Grad}{\boldsymbol{\nabla}^{#1} #2} \newcommand{\Jac}{\Mat{J}} \newcommand{\Div}{\boldsymbol{\nabla}^{#1} \bcdot #2} \newcommand{\Laplace}{\boldsymbol{\Delta}^{#1} #2} \newcommand{\TaylorSeries}{\mathcal{T}\left[\Func[#1]\right](#2)} \newcommand{\TruncatedTaylorSeries}{\mathcal{T}_{#1}\left[\Func[#2]\right]\left(#3\right)} % integration \newcommand{\Int}{\int\limits_{#1}^{#2}} \newcommand{\IntDomain}{\int\limits_{#1}} \newcommand{\IntInline}{\int_{#1}^{#2}} \newcommand{\IntDomainInline}{\int_{#1}} \newcommand{\DetJacobian}{\Det{\Jac}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Numerical Analysis %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\BigO}{\mathcal{O}\left(#1\right)} \newcommand{\Flops}{\operatorname{flops}} \newcommand{\Interpolant}{\mathcal{#1}^{h}} \newcommand{\ErrorApproxComp}{e} \newcommand{\ErrorApproxTen}{\Vec{\ErrorApproxComp}} \newcommand{\ErrorNewton}{\epsilon} % clean up \newcommand{\ApproximateIntegrationError}{\tilde{e}_{#1}} \newcommand{\AnalyticApproximateIntegrationErrorDifference}{\overbar{e}_{#1}}$$\newcommand{\GlosOne}{a} \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{\NumUsplineBasisFuncsOnMeshBezier}{\Size{\UsplineBasisFuncSetOnMeshBezier}} \newcommand{\NumUsplineBasisFuncsOnMeshUspline}{\Size{\UsplineBasisFuncSetOnMeshUspline}} \newcommand{\NumUsplineBasisFuncsOnElem}{\Size{\UsplineBasisFuncSet{\Elem}}} \newcommand{\NumBernsteinBasisFuncsOnMeshBezier}{\Size{\IndexSetOnMeshBezier}} \newcommand{\NumBernsteinBasisFuncsOnElem}{\Size{\IndexSet{\Elem}}} \newcommand{\NumElemsInMeshBezier}{\Size{\CellSet{\ParamDim}}} \newcommand{\ParentDomain}{\SymbolParentModifier{\SymbolDomain}} \newcommand{\ParentDomainChart}{\SymbolParentModifier{\Vec{\phi}}} \newcommand{\ParentDomainChartDetailed}{\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}{\ParentCoord_{#1}} \newcommand{\ParentGrevillePoint}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParentGrevillePointSet}{\QuantityFunctionOf{\Set{\SymbolParentModifier{G}}}{#1}} \newcommand{\BernsteinBasisFuncCoeff}{\SymbolArbitraryCoeffBernstein} \newcommand{\BernsteinBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffBernstein}}}{\MeshBezier}} \newcommand{\BernsteinBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffBernstein}}{\MeshBezier}} \newcommand{\BernFuncLowerDimCell}{\BernsteinBasisFunc^{#1}_{#2}} \newcommand{\BernFuncInterf}{\BernFuncLowerDimCell{\Interface}{#1}} \newcommand{\UsplineBasisFuncCoeff}{\SymbolArbitraryCoeffUspline} \newcommand{\UsplineBasisFuncCoeffAlt}{\SymbolArbitraryCoeffUsplineAlt} \newcommand{\UsplineBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffUspline}}}{\MeshUspline}} \newcommand{\UsplineBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffUspline}}{\MeshUspline}} \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{\ii}{\IndexOnCell{}{\BernsteinBasisFuncIndexTuple}} \newcommand{\jj}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAlt}} \newcommand{\kk}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAltAlt}} \newcommand{\BernsteinBasisFuncIndexTupleB}{\Set{\BernsteinBasisFuncIdB}} \newcommand{\BernsteinDegree}{\PolynomialDegree} \newcommand{\BernsteinDegreeAlt}{q} \newcommand{\BernsteinDegreeTuple}{\Tuple{\BernsteinDegree}} \newcommand{\BernsteinDegreeElevMatComp}{D} \newcommand{\BernsteinDegreeElevMat}{\Mat{\BernsteinDegreeElevMatComp}} \newcommand{\CompletePolynomial}{\AbsoluteValue{#1}} \newcommand{\BernsteinBasisFunc}{\SymbolBernstein} \newcommand{\BernsteinBasisFuncVec}{\QuantityFunctionOf{\QuantityChildOf{#1}{\Vec{\SymbolBernstein}}}{#2}} \newcommand{\BernsteinBasisFuncDetailed}{\BernsteinBasisFunc_{#1}^{#2}} \newcommand{\BernsteinSpace}{\SpaceHilbert{\SymbolBernstein}} \newcommand{\BernsteinRestriction}{#1\vert_{#2}} \newcommand{\Bezier}{B\'ezier } \newcommand{\MeshTopo}{\boldsymbol{\textsf{M}}}%changed from mathsf \newcommand{\MeshBezier}{\boldsymbol{\textsf{B}}}%changed from mathsf \newcommand{\CellArbitrary}{\Set{#1}} \newcommand{\Cell}{\CellArbitrary{c}} % k-cell \newcommand{\CellAlpha}{\CellArbitrary{a}} \newcommand{\CellBeta}{\CellArbitrary{b}} \newcommand{\CellGamma}{\CellArbitrary{c}} \newcommand{\CellToTheLeft}{\CellAlpha} \newcommand{\CellToTheRight}{\CellBeta} \newcommand{\CellBoundary}{\partial #1} \newcommand{\CellSet}{\Set{C}^{#1}} \newcommand{\CellSetAdjacent}{\QuantityFunctionOf{\Set{ADJ}^{#1}}{#2}} \newcommand{\CellSetCardinal}{\QuantityFunctionOf{\Set{CRD}}{#1}} \newcommand{\CellSetSupport}{\Support{#1}} \newcommand{\Elem}{\Set{E}} % d-cell \newcommand{\Interface}{\Set{I}} % (d-1)-cell \newcommand{\Smoothness}{\vartheta} \newcommand{\SmoothnessVar}{\rho} \newcommand{\SmoothnessSet}{\Set{\Smoothness}} \newcommand{\InterfaceSmoothness}{\QuantityChildOf{#1}{\Smoothness}} \newcommand{\MaxPerpCont}{\QuantityFunctionOf{\Smoothness^{\perp}_{\max}}{#1}} \newcommand{\Face}{\Set{f}} % 2-cell \newcommand{\Edge}{\Set{e}} % 1-cell \newcommand{\Vertex}{\Set{v}} % 0-cell \newcommand{\CodimTwoCell}{\Set{w}} % (d-2)-cell \newcommand{\KCell}{\Cell^\ArbDim} \newcommand{\KPlusOneCell}{\Cell^{\ArbDim+1}} \newcommand{\KCellAlpha}{\CellAlpha^\ArbDim} \newcommand{\KPlusOneCellBeta}{\CellBeta^{\ArbDim+1}} \newcommand{\KPlusOneCellAdjacentIndexedSubmeshDomain}{\QuantityChildOf{\CellAlpha\CellBeta}{\SubmeshDomain}} \newcommand{\MaxParallelDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\max}}{#1}} \newcommand{\MinParallelDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\min}}{#1}} \newcommand{\MaxPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\max}}{#1}} \newcommand{\MinPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\min}}{#1}} \newcommand{\MinParallelPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\min}}{#1,#2}} \newcommand{\MaxParallelPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\max}}{#1,#2}} \newcommand{\DegreeParallel}{\BernsteinDegree^{\parallel}} \newcommand{\DegreeParallelToEdge}{\DegreeParallel_{#1}(#2)} \newcommand{\DegreePerp}{\BernsteinDegree^{\perp}} \newcommand{\DegreePerpToInterface}{\DegreePerp_{#1}(#2)} \newcommand{\DegreeTupleParallelToKCell}{\Tuple{\BernsteinDegree}^{\parallel}_{#1}(#2)} \newcommand{\ChangeInDegree}{\Delta(\BernsteinDegree)_{#1}^{#2}} \newcommand{\IndexSet}{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\CompositeBVUnionIndexSet}{\QuantityFunctionOf{\Set{UID}}{#1}} \newcommand{\IndexSetPosCoeffs}{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\IndexSetSet}{\QuantityFunctionOf{\boldsymbol{\IndexSet{}}}{#1}} \newcommand{\IndexSetOnMeshBezier}{\IndexSet{\MeshBezier}} \newcommand{\IndexOnCell}{\QuantityChildOf{#1}{#2}} \newcommand{\IndexOnCellIJ}{\QuantityChildOf{#1}{\TupleRoster{#2,#3}}} \newcommand{\CellFromQuantity}{\QuantityFunctionOf{\operatorname{cell}}{#1}} \newcommand{\ExtractionOp}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{C}}{#2}}} \newcommand{\ExtractionOpSimple}{\QuantityFunctionOf{\Mat{C}}{#1}} \newcommand{\ReconstructOp}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{R}}{#2}}} \newcommand{\ReconstructOpSimple}{\QuantityFunctionOf{\Mat{R}}{#1}} \newcommand{\Gramian}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{G}}{#2}}} \newcommand{\GramianSimple}{\QuantityFunctionOf{\Mat{G}}{#1}} \newcommand{\BernsteinSpaceOnMeshBezier}{\QCO{\MeshBezier}{\BernsteinSpace}} \newcommand{\BernsteinTraceMappingMat}{\Mat{M}} \newcommand{\ParamDomain}{\SymbolParamModifier{\SymbolDomain}} \newcommand{\ParamDomainOnCell}{\QuantityChildOf{\Cell}{\ParamDomain}} \newcommand{\ParamDomainBdry}{\SymbolParamModifier{\SymbolDomainBdry}} \newcommand{\ParamDomainChart}{\QuantityFunctionOf{\Vec{\phi}^{#1}}{#2}} \newcommand{\ParamDim}{\SymbolDim} \newcommand{\ParamCoordSimple}{s} \newcommand{\ParamCoord}{\QCO{#1}{s}} \newcommand{\ParamCoordVecSimple}{\Vec{s}} \newcommand{\ParamCoordVec}{\QCO{#1}{\Vec{\ParamCoord{}}}} \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}{\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{\NormalParamCoordSet}{\QuantityFunctionOf{\ParamCoordVecSimple^{\perp}_{#1}}{#2}} \newcommand{\ParallelParamCoordSet}{\QuantityFunctionOf{\ParamCoordVecSimple^{\parallel}_{#1}}{#2}} \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}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParamModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParamGrevillePointSet}{\QuantityFunctionOf{\Set{\SymbolParamModifier{G}}}{#1}} \newcommand{\ParamDomainOnMeshBezier}{\QuantityChildOf{\MeshBezier}{\ParamDomain}} \newcommand{\ParamDomainOnMeshUspline}{\QuantityChildOf{\MeshUspline}{\ParamDomain}} \newcommand{\Submesh}{\boldsymbol{\mathsf{K}}}%changed from mathsf \newcommand{\SubmeshDomain}{\SymbolSubmeshModifier{\SymbolDomain}} \newcommand{\SubmeshDomainChart}{\QuantityFunctionOf{\Vec{\varphi}^{#1}}{#2}} \newcommand{\SubmeshDomainParameter}{\mathsf{\alpha}}%changed from mathsf \newcommand{\SubmeshDomainParameterVec}{\Vec{\SubmeshDomainParameter}} \newcommand{\SubmeshGrevillePoint}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\SubmeshGrevillePointSimple}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}{#1}} \newcommand{\SubmeshGrevilleMaxPoint}{\QuantityChildOf{#1}{\Set{\SymbolGrevillePoint}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSimple}{\Set{\SymbolGrevillePoint}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSet}{\QuantityChildOf{#1}{\Set{G}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSetSimple}{\Set{G}_{\max}} \newcommand{\SubmeshGrevilleMinPointSet}{\QuantityChildOf{#1}{\Set{G}}_{\min}} \newcommand{\SubmeshGrevilleMinPointSetSimple}{\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}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{G}}}{#1}} \newcommand{\SubmeshGrevillePointSetLeft}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GA}}}{#1}} \newcommand{\SubmeshGrevillePointSetRight}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GB}}}{#1}} \newcommand{\SubmeshGrevillePointSetElement}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GE}}_{#1}}{#2}} \newcommand{\SubmeshGrevillePointSetIntersect}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GI}}}{#1}} \newcommand{\SubmeshGrevillePointSetUnion}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GU}}}{#1}} \newcommand{\SubmeshGrevillePointSetSet}{\QuantityFunctionOf{\boldsymbol{\SubmeshGrevillePointSet{}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetLeft}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GA}}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetRight}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GB}}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetElement}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1}}{#2}} \newcommand{\SubmeshGrevilleDifferenceVectorsSetLeft}{\Delta\SubmeshGrevilleMaxPointSetLeft} \newcommand{\SubmeshGrevilleDifferenceVectorsSetRight}{\Delta\SubmeshGrevilleMaxPointSetRight} \newcommand{\SubmeshGrevilleDifferenceVector}{\Delta\SubmeshGrevilleMaxPoint{\GlosOne}} \newcommand{\SubmeshGrevilleDifferenceVectorLeft}{\Delta\SubmeshGrevilleMaxPointLeft} \newcommand{\SubmeshGrevilleDifferenceVectorRight}{\Delta\SubmeshGrevilleMaxPointRight} \newcommand{\SubmeshGrevilleDifferenceVectorsSet}{\Delta \SubmeshGrevillePointSet{\GlosOne}} \newcommand{\SubmeshGrevilleDistanceToCell}{\QuantityFunctionOf{\SymbolDistance}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCell}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMin}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\min}}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMax}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\max}}{#1, #2}} \newcommand{\SubmeshPerpProjection}{\QuantityFunctionOf{\Projection^{\perp}_{#1}}{#2}} \newcommand{\SubmeshParallelProjection}{\QuantityFunctionOf{\Projection^{\parallel}_{#1}}{#2}} \newcommand{\SubmeshStarProjection}{\QuantityFunctionOf{\Projection^{*}_{#1}}{#2}} \newcommand{\SubmeshPerpEquivalence}{\QuantityFunctionOf{\varpi^{\perp}_{#1}}{#2}} \newcommand{\SubmeshParallelEquivalence}{\QuantityFunctionOf{\varpi^{\parallel}_{#1}}{#2}} \newcommand{\SubmeshStarEquivalence}{\QuantityFunctionOf{\varpi^{*}_{#1}}{#2}} \newcommand{\AlignedSet}{{\boldsymbol{\textsf{Align}}}}%changed from mathsf \newcommand{\AlignedSetSet}{{\boldsymbol{\textsf{ALIGN}}}}%changed from mathsf \newcommand{\AlignmentSetOfSetsLeft}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetOfSetsRight}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetForInterfaceGrevillePoint}{\AlignedSet_{\SubmeshGrevillePoint{\Interface}{}}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRow}{\QuantityFunctionOf{\Set{NZ}_{#1}}{#2}} \newcommand{\AlignmentSetOfSetsOnLowerDCell}{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1,#2}^{\parallel}} \newcommand{\AlignmentSetOfSetsLeftThreeD}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \ii}^{\parallel}} \newcommand{\AlignmentSetOfSetsRightThreeD}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \ii}^{\parallel}} \newcommand{\MeshUspline}{\boldsymbol{\textsf{\SymbolUspline}}}%changed from mathsf \newcommand{\SetNeighborhoodOfInteraction}{\QuantityFunctionOf{\textsf{NI}}{#1}}%changed from mathsf \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}}%changed from mathsf \newcommand{\RayTailEdge}{\Edge} \newcommand{\RayTailVertexMaxContinuity}{\Smoothness_{#1}^{\max}} \newcommand{\RayTailEdgeMinDegree}{\BernsteinDegree_{#1}^{\min}} \newcommand{\RaySkeleton}{\operatorname{skel}(#1)} \newcommand{\RaySmoothness}{\Smoothness_{#1}^{#2}} \newcommand{\RayDegree}{\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}{\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}}%changed from mathsf \newcommand{\RibbonTailInterf}{\Interface} \newcommand{\RibbonTailCodimTwoCellMaxContinuity}{\Smoothness_{#1}^{\max}} \newcommand{\RibbonTailInterfMinDegree}{\BernsteinDegree_{#1}^{\min}} \newcommand{\RibbonSkeleton}{\operatorname{skel}(#1)} \newcommand{\RibbonSmoothness}{\Smoothness_{#1}^{#2}} \newcommand{\RibbonDegree}{\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}{\RibbonAlgBernIndexVariable_{#1}} \newcommand{\UsplineSpace}{\SpaceHilbert{\SymbolUspline}} \newcommand{\UsplineBasisFunc}{\SymbolBasisUspline} \newcommand{\UsplineBasisFuncDetailed}{\UsplineBasisFunc^{#1}_{#2}} \newcommand{\UsplineBasisFuncSet}{\QuantityFunctionOf{\Set{UF}}{#1}} \newcommand{\UsplineBasisFuncVec}{\QuantityFunctionOf{\QuantityChildOf{#1}{\Vec{\SymbolBasisUspline}}}{#2}} \newcommand{\UsplineBasisFuncSetOnMeshBezier}{\QuantityFunctionOf{\Set{UF}}{\MeshBezier}} \newcommand{\UsplineBasisFuncSetOnMeshUspline}{\QuantityFunctionOf{\Set{UF}}{\MeshUspline}} \newcommand{\UsplineBasisFuncSetSupport}{\Support{\UsplineBasisFuncSet{#1}}} \newcommand{\UsplineBasisFuncId}{A} \newcommand{\UsplineBasisFuncIdAlt}{B} \newcommand{\UsplineBasisFuncIdLocal}{a} \newcommand{\UsplineBasisFuncIdOne}{\UsplineBasisFuncId_0} \newcommand{\UsplineBasisFuncIdTwo}{\UsplineBasisFuncId_1} \newcommand{\UsplineBasisFuncNormalized}{\bar{\SymbolBasisUspline}} \newcommand{\UsplineBasisFuncParam}{\UsplineBasisFuncDetailed{\MeshBezier}{#1}} \newcommand{\UsplineDegree}{q} \newcommand{\UsplineNullVectorCoeff}{\SymbolUsplineLower}%{\MakeLowercase} \newcommand{\UsplineNullVector}{\Vec{\UsplineNullVectorCoeff}} \newcommand{\UsplineNullVectorIds}{\Set{id}} \newcommand{\UsplineNullVectorSet}{\boldsymbol{\textsf{UV}}}%changed from mathsf \newcommand{\UsplineNullVectorSetOfIndexSets}{\boldsymbol{\textsf{UI}}}%changed from mathsf \newcommand{\UsplineNullVectorSetOnMeshBezier}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshBezier}} \newcommand{\UsplineNullVectorSetOnMeshUspline}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshUspline}} \newcommand{\UsplineSpaceOnMeshUspline}{\QCO{\MeshUspline}{\UsplineSpace}} \newcommand{\UsplineCellToGlobalBasisFuncIndexMap}{\operatorname{ucg}(#1)} \newcommand{\UsplineCellToGlobalBasisFuncIndexMapDef}{\FuncDef{\operatorname{ucg}}{\MeshBezier\times\Integers}{\Integers}} \newcommand{\ContiguousIndexMap}{\QuantityFunctionOf{i_{#1}}} \newcommand{\Constraint}{R} %\newcommand{\ConstraintCoeff}{\MakeLowercase{\Constraint}} \newcommand{\ConstraintCoeff}{r} \newcommand{\ConstraintCoeffsSet}{\boldsymbol{\Set{\ConstraintCoeff}}} \newcommand{\ConstraintCoeffsVec}{\Vec{\ConstraintCoeff}} \newcommand{\ConstraintSet}{\QuantityFunctionOf{\Set{\Constraint}}{#1}} \newcommand{\ConstraintSetOnMeshBezier}{\ConstraintSet{\MeshBezier}} \newcommand{\ConstraintMat}{\QuantityFunctionOf{\Mat{\Constraint}}{#1}} \newcommand{\ConstraintMatOnMeshBezier}{\ConstraintMat{\MeshBezier}} \newcommand{\SparsestPossibleBasisOnCell}{\QFO{\Set{N}}{#1}} \newcommand{\NullVectorCoeff}{#1} \newcommand{\NullVector}{\QuantityFunctionOf{\Vec{v}}{#1}} \newcommand{\NullVectorArbitrary}{\QuantityFunctionOf{\Vec{#1}}{#2}} \newcommand{\KCellNullVectorForCellAlpha}{\NullVectorArbitrary{n}{}_{\KCellAlpha}} \newcommand{\KPlusOneCellNullVectorForCellBeta}{\NullVectorArbitrary{n}{}_{\KPlusOneCellBeta}} \newcommand{\NullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}}%changed from mathsf \newcommand{\CompositeNullVectorSet}{\NullVectorSet{#1}^{\prime\prime}} \newcommand{\SimpleNullVectorSet}{\NullVectorSet{#1}^{\prime}} \newcommand{\InterfaceNullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}}{#1}}%changed from mathsf \newcommand{\InterfaceNullVectorAlignedSubset}{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorSetOfIndexSets}{\QuantityFunctionOf{\boldsymbol{\textsf{BI}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetGrevilleSets}{\QuantityFunctionOf{\boldsymbol{\textsf{BG}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetOnMeshBezier}{\NullVectorSet{\MeshBezier}} \newcommand{\NullVectorSetSubordinateToNullVector}{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetSubordinateToNullVectorOnCell}{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorSetOnBdryOfNullVector}{\QuantityFunctionOf{\boldsymbol{\textsf{BD}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBV}}}{#1}}%changed from mathsf \newcommand{\NullVectorIndexEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBI}}}{#1}}%changed from mathsf \newcommand{\NullVectorGrevilleEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBG}}}{#1}}%changed from mathsf \newcommand{\NullVectorExpansionSet}{\QuantityFunctionOf{\boldsymbol{\textsf{XBV}}}{#1,#2}}%changed from mathsf \newcommand{\NullSpaceOperatorForm}{\QuantityFunctionOf{\SpaceHilbert{N}}{#1}} \newcommand{\NullSpaceOperatorFormOnMeshBezier}{\NullSpaceOperatorForm{\MeshBezier}} \newcommand{\NullSpaceVectorForm}{\QuantityFunctionOf{\Set{N}}{#1}} \newcommand{\NullVectorGrevillePointSet}{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}}%changed from mathsf \newcommand{\DegSmoothDiff}{\delta_{#1}^{#2}} \newcommand{\FaceEdgeDiff}{\Set{t}} \newcommand{\FaceEdgeDiffSet}{\Set{T}_{#1}} \newcommand{\PerpTuple}{\QuantityFunctionOf{\FaceEdgeDiff^\perp}{#1}} \newcommand{\ParallelTuple}{\QuantityFunctionOf{\FaceEdgeDiff^\parallel}{#1}} \newcommand{\ElemInterfDiff}{\Set{t}} \newcommand{\ElemInterfDiffSet}{\Set{T}_{#1}} \newcommand{\SpokeSymbol}{\rho} \newcommand{\ElemInterfPairSymbol}{t} \newcommand{\ElemKPlusOneCellPair}{\Set{\SpokeSymbol}} \newcommand{\Spoke}{\ElemKPlusOneCellPair} \newcommand{\ElemInterfPair}{\Set{\ElemInterfPairSymbol}} \newcommand{\EIDPerpTuple}{\QuantityFunctionOf{\ElemInterfDiff^\perp}{#1}} \newcommand{\EIDParallelTuple}{\QuantityFunctionOf{\ElemInterfDiff^\parallel}{#1}} \newcommand{\InclDist}{\QuantityFunctionOf{\textsf{inc}}{#1}}%changed from mathsf \newcommand{\InclDistSet}{\Set{INC}^{#1,#2}} \newcommand{\EdgeInclDist}{\InclDistSet{#2}{#3}_{#1}} \newcommand{\PerpEdgesSet}{\Set{E}^\perp} \newcommand{\PerpInterfacesSet}{\Set{IRF}^\perp} \newcommand{\PerpOfKPlusOneCellInterfSet}{\QuantityFunctionOf{\boldsymbol{\textsf{PI}}}{#1}}%changed from mathsf \newcommand{\PerpKPlusOneCellSet}{\QuantityFunctionOf{\boldsymbol{\textsf{PC}}}{#1}}%changed from mathsf \newcommand{\ElemKPlusOneCellPairPerp}{\QuantityFunctionOf{\Set{\SpokeSymbol}^\perp}{#1}} \newcommand{\ElemInterfPairPerp}{\QuantityFunctionOf{\Set{t}^\perp}{#1}} \newcommand{\ElemInterfPairParallel}{\QuantityFunctionOf{\Set{\ElemInterfPairSymbol}^\parallel}{#1}} \newcommand{\ElemKPlusOneCellPairParallelSet}{\QuantityFunctionOf{\Set{\SpokeSymbol}^\parallel}{#1}} \newcommand{\KPlusOneCellNullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}}{#1}}%changed from mathsf \newcommand{\KPlusOneCellNullVectorAlignedSubset}{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\Graph}{\QuantityFunctionOf{G}{#1}} \newcommand{\GraphCore}{K} \newcommand{\GraphDirectedEdge}{\Edge_{i,j}} \newcommand{\GraphDirectedEdgeIJ}{\Edge_{#1,#2}} \newcommand{\GraphCoreToVertex}{\QuantityFunctionOf{\Vertex}{#1}} \newcommand{\GraphCoreChildren}{\QuantityFunctionOf{\operatorname{children}}{#1}} \newcommand{\GraphVertexToCore}{\QuantityFunctionOf{\GraphCore}{#1}} \newcommand{\GraphInteractingEdges}{\Set{IE}} \newcommand{\GraphCoveredEdges}{\Set{CE}} \newcommand{\GraphFailedEdges}{\Set{FE}} \newcommand{\GraphCandidateEdges}{\Set{XE}} \newcommand{\UsplineClass}{\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{\AlgNameBuildRayOfMaximumCouplingLength}{\textit{BuildRayOfMaximumCouplingLength}} \newcommand{\AlgNameBuildRibbonOfMaximumCouplingLength}{\textit{BuildRibbonOfMaximumCouplingLength}} \newcommand{\AlgNameComputeCoreGraph}{ComputeCoreGraph} \newcommand{\SymbolParentModifier}{\overbar{#1}} \newcommand{\SymbolParamModifier}{\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{\UpperDBMat}{\Mat{U}} \newcommand{\LowerWeightDBMat}{\Mat{W}} \newcommand{\RationalSplineWeightSymbol}{w} \newcommand{\NURBSWeight}{\RationalSplineWeightSymbol} \newcommand{\WeightFunc}[\RationalSplineWeightSymbol]{#1} \newcommand{\DBParamWeight}{\omega} \newcommand{\DualBCoeff}{d}$$\newcommand{\SymbolTime}{t} \newcommand{\SymbolClosestPointMap}{\kappa} \newcommand{\SymbolManifold}{m} \newcommand{\SymbolVolume}{v} \newcommand{\SymbolSurface}{s} \newcommand{\SymbolCurve}{c} \newcommand{\SymbolPoint}{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{\SymbolEnvModifier}{\star\mspace{-1mu} #1} \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{\Partition{}}{\ParamDomain}} \newcommand{\SpatialDim}{\SymbolSpatialDim} \newcommand{\SpatialDomain}{\Reals^{\SymbolSpatialDim}} \newcommand{\SpatialCoord}{\SymbolSpatialCoord} \newcommand{\SpatialCoordUpper}{\SymbolSpatialCoordUpper} \newcommand{\SpatialCoordVec}{\Vec{\SpatialCoord}} \newcommand{\SpatialCoordVecSet}{\QuantityFunctionOf{\boldsymbol{\Set{\SpatialCoordUpper}}}{#1}} \newcommand{\UsplineBasisFuncSpatial}{\UsplineBasisFuncDetailed{\SpatialCoord}{#1}} \newcommand{\Manifold}{\QuantityRelatedTo{\Set{\SymbolManifold}}{#1}} \newcommand{\Volume}{\QuantityRelatedTo{\Set{\SymbolVolume}}{#1}} \newcommand{\Surface}{\QuantityRelatedTo{\Set{\SymbolSurface}}{#1}} \newcommand{\Curve}{\QuantityRelatedTo{\Set{\SymbolCurve}}{#1}} \newcommand{\Point}{\QuantityRelatedTo{\Set{\SymbolPoint}}{#1}} \newcommand{\ManifoldCAD}{\Manifold{\SymbolCAD}} \newcommand{\ManifoldCADModified}{\Manifold{\SymbolCADModified}} \newcommand{\ManifoldCADEnv}{\SymbolEnvModifier{\ManifoldCAD}} \newcommand{\ManifoldCADModifiedEnv}{\SymbolEnvModifier{\ManifoldCADModified}} \newcommand{\ManifoldPartition}{\Manifold{\Partition{}}} \newcommand{\ManifoldBezier}{\Manifold{\MeshBezier}} \newcommand{\ManifoldUspline}{\Manifold{\MeshUspline}} \newcommand{\ManifoldUsplineEnv}{\SymbolEnvModifier{\ManifoldUspline}} \newcommand{\VolumeEnv}{\SymbolEnvModifier{\Volume{}}} \newcommand{\dVolume}{\Differential[\Volume{}]} \newcommand{\VolumeIndicator}{\SymbolIndicator} \newcommand{\SurfaceEnv}{\SymbolEnvModifier{\Surface{}}} \newcommand{\SurfaceCAD}{\Surface{\SymbolCAD}} \newcommand{\SurfaceCADModified}{\Surface{\SymbolCADModified}} \newcommand{\SurfaceMesh}{\Surface{\Partition{}}} \newcommand{\SurfaceUspline}{\Surface{\MeshUspline}} \newcommand{\SurfaceWildCard}{\Surface{}^{\SymbolWildCard}} \newcommand{\dSurface}{\Differential[\Surface{}]} \newcommand{\CurveCAD}{\Curve{\SymbolCAD}} \newcommand{\CurveCADModified}{\Curve{\SymbolCADModified}} \newcommand{\CurveMesh}{\Curve{\Partition{}}} \newcommand{\CurveUspline}{\Curve{\MeshUspline}} \newcommand{\dCurve}{\Differential[\Curve{}]} \newcommand{\PointCAD}{\Point{\SymbolCAD}} \newcommand{\PointCADModified}{\Point{\SymbolCADModified}} \newcommand{\PointUspline}{\Point{\MeshUspline}} \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{\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{\ManifoldMap}{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldTemporalMap}{\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}{\FuncDef{\ManifoldMap{#1}{#2}}{#1}{#2}} \newcommand{\ManifoldMapInverseDef}{\FuncDef{\Inverse{\ManifoldMap{#1}{#2}}}{#2}{#1}} \newcommand{\ManifoldTemporalMapDef}{\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}{\QCO{#1}{#2}} \newcommand{\ManifoldCoordVecDetailed}{\QCO{#1}{\Vec{#2}}} \newcommand{\ManifoldCoord}{x} \newcommand{\ManifoldCoordVec}{\Vec{x}} \newcommand{\ManifoldPartitionMapCoord}{\ManifoldCoordDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldPartitionMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldPartitionMap}{\ManifoldCoordVec}} \newcommand{\ManifoldCADMapCoord}{\ManifoldCoordDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldCADMap}{\ManifoldCoordVec}} \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{\Segment}{\QuantityChildOf{#1}{\SymbolSegment}} \newcommand{\SegmentOfVolumeEnv}{\Segment{\VolumeEnv}} \newcommand{\Hex}{\Segment{}_{h}} \newcommand{\Tet}{\Segment{}_{t}} \newcommand{\SegmentParamDomain}{\QuantityRelatedTo{\ParamDomain}{#1}} \newcommand{\SegmentParamDomainOfVolumeEnv}{\QuantityRelatedTo{\ParamDomain}{\Segment{\VolumeEnv}}} \newcommand{\SegmentSet}{\QuantityFunctionOf{\SymbolSegmentSet}{#1}} \newcommand{\SegmentSetOutside}{\SegmentSet{}^{\SymbolOutside}} \newcommand{\SegmentSetInside}{\SegmentSet{}^{\SymbolInside}} \newcommand{\SegmentSetHybrid}{\SegmentSet{}^{\SymbolHybrid}} \newcommand{\Partition}{\QuantityFunctionOf{\SymbolPartition}{#1}} \newcommand{\PartitionBezierExtraction}{\QuantityFunctionOf{\SymbolPartition^{B}}{#1}} \newcommand{\PartitionTessellation}{\QuantityFunctionOf{\SymbolPartition^{T}}{#1}} \newcommand{\PartitionTessellationOfUspline}{\PartitionTessellation{\MeshUspline}} \newcommand{\PartitionTessellationMap}{\QuantityRelatedTo{#2}{#1}} \newcommand{\BoundingVolume}{\QuantityFunctionOf{\Set{bv}}{#1}} \newcommand{\BoundingVolumeSet}{\QuantityFunctionOf{\Set{BV}}{#1}} \newcommand{\BoundingVolumeTree}{\QuantityFunctionOf{\Set{BVH}}{#1}} \newcommand{\AxisAlignedBoundingBox}{\QuantityFunctionOf{\Set{AABB}}{#1}} \newcommand{\SimplexMap}{\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}{\SymbolEnvModifier{\QuadraturePoint{#1}{#2}}} \newcommand{\QuadraturePoint}{\SymbolQuadraturePoint_{#1}^{#2}} \newcommand{\QuadraturePointToElemIndexMap}{\operatorname{qe}(#1)} \newcommand{\QuadratureWeightEnv}{\SymbolEnvModifier{\QuadratureWeight{#1}{#2}}} \newcommand{\QuadratureWeight}{\SymbolQuadratureWeight_{#1}^{#2}} \newcommand{\QuadratureSet}{\Set{\SymbolQuadratureSet}} \newcommand{\QuadratureSetInside}{\QuadratureSet^{\SymbolInside}} \newcommand{\QuadratureSetOutside}{\QuadratureSet^{\SymbolOutside}} \newcommand{\QuadratureSubdDepth}{k} \newcommand{\ClosestPointMap}{\QuantityChildOf{#1}{\Vec{\SymbolClosestPointMap}}} \newcommand{\ClosestPointMapCAD}{\ClosestPointMap{\SymbolCAD}} \newcommand{\ClosestPointMapCADModified}{\ClosestPointMap{\SymbolCADModified}} \newcommand{\ProjectionInto}{\QuantityRelatedTo{\SymbolProjection}{#1}} \newcommand{\ProjectionIntoBernsteinCell}{\ProjectionInto{\Cell}} \newcommand{\ProjectionIntoBernsteinElem}{\ProjectionInto{\Elem}} \newcommand{\ProjectionIntoMeshBezier}{\ProjectionInto{\MeshBezier}} \newcommand{\ProjectionIntoMeshUspline}{\ProjectionInto{\MeshUspline}}$$\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}{\ManifoldCoordDetailed{#1}{X}} \newcommand{\RefCoordVec}{\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}{\UsplineBasisFuncDetailed{\CurveRef}{#1}} \newcommand{\UsplineBasisFuncOverSurfaceRefDisp}{\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}{\ManifoldCoordDetailed{#1}{x}} \newcommand{\CurrCoordVec}{\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}{\Grad{\VolumeEnvRefMap}{#1}} \newcommand{\VolumeRefMap}{\ManifoldMap{\ParamDomain}{\VolumeRef}} \newcommand{\GenericGradOverVolumeRefMap}{\Grad{\VolumeRefMap}{#1}} \newcommand{\SurfaceRefDispMap}{\ManifoldMap{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMap}{\ManifoldMap{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\CurveRefMap}{\ManifoldMap{\ParamDomain}{\CurveRef}} \newcommand{\GenericGradOverCurveRefMap}{\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}{\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}{U} \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{\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{\KinematicElast}{#1^e} \newcommand{\KinematicPlast}{#1^p} \newcommand{\DivVolumeEnvRef}{\Div{\VolumeEnvRefCoordVec}{#1}} \newcommand{\DivVolumeEnvCurr}{\Div{\VolumeEnvCurrCoordVec}{#1}} \newcommand{\UnitNormalRefComp}{N} \newcommand{\UnitNormalRefTen}{\Vec{N}} \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{\StressKirchhoffComp}{\tau} \newcommand{\StressKirchhoffTen}{\Mat{\tau}} \newcommand{\StressKirchhoffVoigt}{\tilde{\StressKirchhoffTen}} \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{\MaterialThermalExpansion}{\alpha_{\text{thermal}}} \newcommand{\CrossSectArea}{\SymbolArea} \newcommand{\Length}{\SymbolLength} \newcommand{\PenaltyStiffness}{\SymbolPenalty_{\SymbolStiffness}} \newcommand{\PenaltyDisp}{\SymbolPenalty_{\SymbolDisp}} \newcommand{\BodyForceRefComp}{B} \newcommand{\BodyForceRefTen}{\Vec{\BodyForceRefComp}} \newcommand{\BodyForceCurrComp}{\SymbolBodyForce} \newcommand{\BodyForceCurrTen}{\Vec{\BodyForceCurrComp}} \newcommand{\TracForceRefComp}{H} \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{G}} \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}{\QFO{\Energy}{#1}} \newcommand{\EnergyEnv}{\SymbolEnvModifier{\Energy}} \newcommand{\EnergyInside}{\Energy^{\SymbolInside}} \newcommand{\EnergyOutside}{\Energy^{\SymbolOutside}} \newcommand{\EnergyConstraint}{\Energy^{\LagrangeMultCurrComp}} \newcommand{\EnergyDensityStrain}{\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{\FlexOne}{\mathcal{F}_{1}} \newcommand{\FlexInfty}{\mathcal{F}_{\infty}} \newcommand{\Flex}{\mathcal{F}_{#1}} \newcommand{\FlexIt}{\mathcal{F}} \newcommand{\FlexFEA}{\mathcal{F}_{\bar{0}}} \newcommand{\FlexFEAModified}{\mathcal{F}_{0}} \newcommand{\FlexImmersed}{\mathcal{F}_{\infty}} \newcommand{\FlexSpectrum}{\overleftrightarrow{\mathcal{F}}} \newcommand{\FlexSpectrumId}{i} \newcommand{\TimeStep}{\Delta \SymbolTime} \newcommand{\SpectralRadius}{\rho_{\infty}} \newcommand{\SymbolDisp}{u} \newcommand{\SymbolVelocity}{v} \newcommand{\SymbolAcceleration}{a} \newcommand{\SymbolMass}{M} \newcommand{\SymbolLength}{L} \newcommand{\SymbolArea}{A} \newcommand{\SymbolConstraint}{g} \newcommand{\SymbolPenalty}{\varepsilon} \newcommand{\SymbolLagrangeMultRef}{\Lambda} \newcommand{\SymbolLagrangeMultCurr}{\lambda} \newcommand{\SymbolFict}{f} \newcommand{\SymbolTracForce}{h} \newcommand{\SymbolBodyForce}{b} \newcommand{\SymbolVolumeRef}{V} \newcommand{\SymbolSurfaceRef}{S} \newcommand{\SymbolCurveRef}{C} \newcommand{\SymbolPointRef}{P} \newcommand{\SymbolVolumeCurr}{\SymbolVolume} \newcommand{\SymbolSurfaceCurr}{\SymbolSurface} \newcommand{\SymbolCurveCurr}{\SymbolCurve} \newcommand{\SymbolPointCurr}{\SymbolPoint} \newcommand{\SymbolDeformGrad}{F} \newcommand{\SymbolStrainGreenLagrange}{E} \newcommand{\SymbolDeformCauchyGreenLeft}{b} \newcommand{\SymbolDeformCauchyGreenRight}{C} \newcommand{\SymbolStrainDisp}{B} \newcommand{\SymbolStrainSymGrad}{\epsilon} \newcommand{\SymbolEnergy}{\Pi} \newcommand{\SymbolEnergyDensityStrain}{\Psi} \newcommand{\SymbolResidual}{R} \newcommand{\SymbolForce}{F} \newcommand{\SymbolStiffness}{K} \newcommand{\SymbolSolution}{d}$ Figure 129:

A frustum is a general right elliptical cone with a top radius greater than 0.

To create a Cone or Frustum

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

2. Click on the Create action button.

3. Select Cone from the drop-down menu.

4. Enter in the desired values for Height, Top Radius and Radius.

5. Select Cirular or Elliptical.

6. Click Apply.

• If used, Top Radius defines the x-radius at the top of the frustum; the top y radius is calculated based on the ratio of the major and minor radii.

##### 4.2.2.4Creating Pyramids

$\newcommand{\QuantityFunctionOf} { % \if\relax\detokenize{#2}\relax % {#1} % \else {#1}(#2) % \fi } \newcommand{\QFO}{\QuantityFunctionOf{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOf} { % \if\relax\detokenize{#3}\relax % {#1}_{#2} % \else {#1}_{#2}(#3) % \fi } \newcommand{\SQFO}{\SubscriptedQuantityFunctionOf{#1}{#2}{#3}} \newcommand{\QuantityChildOf} { % \if\relax\detokenize{#1}\relax % {#2} % \else {#2}^{#1} % \fi } \newcommand{\QCO}{\QuantityChildOf{#1}{#2}} \newcommand{\QuantityRelatedTo} { % \if\relax\detokenize{#2}\relax % {#1} % \else {#1}[#2] % \fi } \newcommand{\QRT}{\QuantityRelatedTo{#1}{#2}} \newcommand{\QuantitySubscriptedBy} { % \if\relax\detokenize{#2}\relax % #1 % \else #1_{#2} % \fi } \newcommand{\QSB}{\QuantitySubscriptedBy{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOfChildOf} { % \if\relax\detokenize{#4}\relax % #1_{#2}^{#3} % \else #1_{#2}^{#3}(#4) % \fi } \newcommand{\SQFOCO}{\SubscriptedQuantityFunctionOfChildOf{#1}{#2}{#3}{#4}} \newcommand{\overbar}{\mkern 1.5mu\overline{\mkern-1.5mu#1\mkern-1.5mu}\mkern 1.5mu} \newcommand{\bcdot}{\boldsymbol{\cdot}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Logic %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SuchThat}{\, : \,} \newcommand{\DefEq}{\overset{\operatorname{def}}{=}} \newcommand{\True}{\textsf{True}} \newcommand{\False}{\textsf{False}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Arrays, tuples, and sets %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\ArrayRoster}{\left[#1\right]} \newcommand{\ArrayRosterI}{[#1]_{#2}} \newcommand{\ArrayEmpty}{\ArrayRoster{\hspace{1mm}}} \newcommand{\Tuple}{\mathsf{#1}}%was \mathsf \newcommand{\TupleRoster}{\left(#1\right)} \newcommand{\PointPair}{\TupleRoster{#1, #2}} \newcommand{\Set}{\mathsf{#1}}%was \mathsf \newcommand{\SetRoster}{\left\{ #1 \right\}} \newcommand{\SetRosterIndexed}{\SetRoster{#1}_{#2}^{#3}} \newcommand{\SetRosterPredicate}{\SetRoster{#1 \SuchThat #2}} \newcommand{\SetEmpty}{\varnothing} \newcommand{\SetPower}{\QuantityFunctionOf{\boldsymbol{\Set{P}}}{#1}} \newcommand{\SetNeighborhood}{\QuantityFunctionOf{\boldsymbol{\Set{B}}}{#1}} \newcommand{\Domain}{\Omega} \newcommand{\DomainBdry}{\Gamma} \newcommand{\IntervalClosed}{\left[#1, #2\right]} \newcommand{\IntervalOpen}{\left(#1, #2\right)} \newcommand{\IntervalClosedOpen}{\left[#1, #2\right)} \newcommand{\IntervalOpenClosed}{\left(#1, #2\right]} % special \newcommand{\Reals}{\mathbb{R}} \newcommand{\Naturals}{\mathbb{N}} \newcommand{\Integers}{\mathbb{Z}} \newcommand{\Field}{\mathbb{F}} % properties \newcommand{\Size}{\left\lvert #1 \right\rvert} \newcommand{\Union}{\bigcup\limits_{#1}^{#2} #3} \newcommand{\UnionInline}{\bigcup_{#1}^{#2} #3} \newcommand{\Intersect}{\bigcap\limits_{#1}^{#2} #3} \newcommand{\ElementWiseGreaterOrEqual}{\succeq} \newcommand{\ElemntWiseGreater}{\succ} \newcommand{\ElementWiseLessOrEqual}{\preceq} \newcommand{\ElementWiseLess}{\prec} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Infinite dimensional spaces %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SpaceLinear}{\mathnormal{#1}} \newcommand{\SpaceDual}{\SpaceLinear{#1}^*} % normed spaces \newcommand{\AbsoluteValue}{\Size{#1}} \newcommand{\Norm}{\left\lVert #2 \right\rVert_{#1}} \newcommand{\NormAbstract}{\Norm{}{#1}} \newcommand{\NormSemi}{\Size{#1}} \newcommand{\SpaceLinearNormed}{\left(\SpaceLinear{#1}, \NormAbstract{\bcdot} \right)} \newcommand{\SpaceBanach}{\mathfrak{#1}} % normed and complete % inner product spaces \newcommand{\SymmetricBilinear}{\left(#1, #2\right)} \newcommand{\InnerProduct}{\left\langle#1, #2\right\rangle} \newcommand{\SpaceInnerProduct}{\left(\SpaceLinear{#1}, \InnerProduct{\bcdot}{\bcdot}\right)} \newcommand{\SpaceHilbert}{\mathcal{#1}} \newcommand{\SpaceLTwo}{\SpaceHilbert{L}_2} \newcommand{\SpaceLTwoDef}{\SpaceLTwo\left(#1; #2\right)} \newcommand{\SpaceLInfty}{\SpaceHilbert{L}_\infty} \newcommand{\SpaceLTwoWeighted}{\SpaceLTwo^w} \newcommand{\SpaceSobolevK}{\SpaceHilbert{H}^{#1}} \newcommand{\SpaceSobolevKDef}{\SpaceSobolevK{1}\left(#2 ; #3\right)} % differentiable spaces \newcommand{\Cont}{\operatorname{cont}} \newcommand{\SpaceCont}{\SpaceHilbert{C}} \newcommand{\SpaceContDef}{\SpaceCont\left(#1 ; #2\right)} \newcommand{\SpaceContK}{\SpaceCont^{#1}} \newcommand{\SpaceContKDef}{\SpaceContK{#1}\left(#2; #3\right)} \newcommand{\SpaceContZero}{\SpaceContK{0}} \newcommand{\SpaceContInf}{\SpaceContK{\infty}} \newcommand{\SpaceContInfDef}{\SpaceContKDef{\infty}{#1}{#2}} \newcommand{\SpaceContKBounded}{\SpaceContK{#1}_{#2}} \newcommand{\SpaceContKBoundedDef}{\SpaceCont_{b}^{#1}\left(#2 ; #3\right)} % linear operator spaces \newcommand{\SpaceLinearOperator}{\mathscr{#1}} \newcommand{\SpaceLinearOperatorDef}{\SpaceLinearOperator{L}\left(#1 ; #2\right)} \newcommand{\SpaceLinearOperatorBoundedDef}{\SpaceLinearOperator{B}\left(#1 ; #2\right)} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Finite dimensional spaces %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SpaceLinearN}{\SpaceLinear{#1}^h} \newcommand{\SpaceHilbertN}{\SpaceHilbert{#1}^h} \newcommand{\SpaceVecRealN}{\Reals^{#1}} \newcommand{\SpacePoly}{\SpaceHilbert{P}^{#1}} \newcommand{\SpaceMatrixRealMN}{\Reals^{#1\times#2}} \newcommand{\SpacePolyDef}{\SpacePoly{#1}\left(#2 ; #3\right)} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Functions, vectors, and linear operators %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\Func}[f]{#1} \newcommand{\FuncAlt}[g]{#1} \newcommand{\FuncDef}{#1 \SuchThat #2 \rightarrow #3} \newcommand{\FuncApprox}{#1^h} \newcommand{\LinearOperator}{\SpaceLinearOperator{#1}} \newcommand{\LinearOperatorDef}{\FuncDef{#1}{#2}{#3}} \newcommand{\Functional}{\LinearOperator{#1}} \newcommand{\Projection}{\Pi} \newcommand{\VectorProjection}{\Projection_{#1} {\left(#2\right)}} \newcommand{\Mat}{\boldsymbol{#1}} \newcommand{\MatIJ}{\left[#1\right]_{#2#3}} \newcommand{\MatIdRow}{m} \newcommand{\MatIdCol}{n} \newcommand{\Identity}{\Mat{I}} \newcommand{\KroneckerDelta}{\Mat{\delta}} \newcommand{\LeviCivita}{\Mat{\epsilon}} \newcommand{\Jacobian}{\Mat{J}} \renewcommand{\Vec}{\boldsymbol{#1}} \newcommand{\VecChildOf}{\QCO{#2}{#1}} \newcommand{\VecI}{\{#1\}_{#2}} \newcommand{\ZeroVec}{\Vec{0}} \newcommand{\OneVec}{\Vec{1}} \newcommand{\ZeroMat}{\Mat{0}} \newcommand{\UnitNormalComp}{n} \newcommand{\UnitNormal}{\Vec{\UnitNormalComp}} % rename to UnitNormalTen \newcommand{\MacBracket}{\langle#1\rangle} \newcommand{\HeavisideFunc}{\mathit{H}\left(#1\right)} \newcommand{\DiracDelta}{\delta_{D}\left(#1 - #2\right)} \newcommand{\IdentityTenSym}{\mathbb{I}} \newcommand{\BraKet}{\langle#1\rangle} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Lagrange Optimization %%%%%%%%%%%%%%%%%%%%%%%%%%%% %\newcommand{\Min}{\min\limits_{#1}} %\newcommand{\Max}{\max\limits_{#1}} \newcommand{\FuncObjective}{\QFO{\Func}{#1}} \newcommand{\FuncEqualityConstraints}{\QFO{\Func[\Vec{g}]}{#1}} \newcommand{\VarDesign}{\Vec{\phi}} \newcommand{\VarState}{\QFO{\Vec{u}}{#1}} \newcommand{\FuncLagrangian}{\QFO{\mathscr{L}}{#1}} \newcommand{\FuncAugmentedLagrangian}{\QFO{\mathscr{L}_A}{#1}} \newcommand{\VecLambdaLM}{\QFO{\Vec{\lambda}}{#1}} \newcommand{\LambdaLM}{\QFO{\lambda}{#1}} \newcommand{\SolutionLocalOpt}{\left(#1\right)^*} \newcommand{\ProximalPoint}{\overbar{\VecLambdaLM{}}} \newcommand{\PenaltyParameter}{\rho} \newcommand{\Slacify}{\QSB{#1}{s}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Linear algebra %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\Prod}{\prod\limits_{#1}^{#2}} \newcommand{\ProdInline}{\prod_{#1}^{#2}} \newcommand{\TensorProduct}{\otimes} \newcommand{\Sum} { % COMMENTED OUT FOLLOWING PREVIOUS INSTANCES % \if\relax\detokenize{#2}\relax % \sum\limits_{#1} % \else \sum\limits_{#1}^{#2} % COMMENTED OUT FOLLOWING PREVIOUS INSTANCES % \fi } \newcommand{\SumInline}{\sum_{#1}^{#2}} \newcommand{\Rank}{\operatorname{rank}(#1)} \newcommand{\Nullity}{\operatorname{null}(#1)} \newcommand{\Image}{\operatorname{image}} \newcommand{\Range}{\operatorname{range}} \newcommand{\Inverse}{\left(#1\right)^{-1}} \newcommand{\inverse}{\overline{#1}} % clean up \newcommand{\Transpose}{\left(#1\right)^{T}} \newcommand{\InvTrans}{\left(#1\right)^{-T}} \newcommand{\Complement}{\overbar{#1}} \newcommand{\Adjoint}{\left(#1\right)^*} \newcommand{\OrthogonalComplement}{\left(#1\right)^\perp} \newcommand{\Det}{\QFO{\operatorname{det}}{#1}} \newcommand{\DCT}{\operatorname{DCT}} \newcommand{\IDCT}{\operatorname{IDCT}} \newcommand{\RealPart}{\QFO{\mathfrak{R}}{#1}} \newcommand{\Trace}{\QFO{\operatorname{tr}}{#1}} \newcommand{\Dev}{\QFO{\operatorname{dev}}{#1}} \newcommand{\DevDef}{\Dev{#1} \DefEq #1 - \frac{1}{3}\Trace{#1}\Identity} \newcommand{\dual}{{\bar{#1}}} \newcommand{\symind}{{\uppercase{#1}}} \newcommand{\symmetrizer}{{S}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Bases %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\BasisFuncCoeff}{\QSB{#1}{#2}} \newcommand{\BasisVec}{\QSB{#1}{#2}} \newcommand{\BasisVecChildOf}{\SQFOCO{#1}{#2}{#3}{}} \newcommand{\OrthogonalBasisVec}{\SQFOCO{#1}{#2}{\perp}{}} \newcommand{\OrthonormalBasisVec}{\overbar{\OrthogonalBasisVec{#1}{#2}}} \newcommand{\PolynomialDegree}{p} \newcommand{\BasisFuncId}{i} \newcommand{\BasisFuncIdAlt}{j} \newcommand{\BasisFuncIdAltAlt}{k} \newcommand{\BasisFunc}{\SQFO{#1}{#2}{#3}} \newcommand{\PowerBasisFunc}{\QCO{#2}{#1}} \newcommand{\LegendreBasisFunc}{\SQFO{\Func[P]}{#1}{#2}} \newcommand{\PreNormalizedLegendreBasisFunc}{\hat{\LegendreBasisFunc{#1}{#2}}} \newcommand{\ChebyshevBasisFunc}{\SQFO{\Func[T]}{#1}{#2}} \newcommand{\ChebyshevZeros}{\QSB{z}{#1}} \newcommand{\ChebyshevExtremizers}{\QSB{t}{#1}} \newcommand{\BernToChebMat}{\Mat{T}} \newcommand{\Chebfun}{\biggl(\, \sum_{#2=0}^{#1}{#3}_{#2}\ChebyshevBasisFunc{#2}{}\biggr)} \newcommand{\ChebfunVector}{\left[#1\right]_c} \newcommand{\LagrangeBasisFunc}{\SQFOCO{\Func[L]}{#1}{#2}{#3}} % properties \newcommand{\Span}{\operatorname{span}} \newcommand{\Dim}{\operatorname{dim}} \newcommand{\Support}{\operatorname{supp}(#1)} \newcommand{\SupportPos}{\operatorname{supp}_{+}(#1)} % operations \newcommand{\SumBasis}{\Sum{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\SumInlineBasis}{\SumInline{#1}{#2}{#3}_{#1}{#4}_{#1}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Calculus %%%%%%%%%%%%%%%%%%%%%%%%%%%% % limits \newcommand{\EvaluateTwoLimits}{#1\biggr\rvert_{#2}^{#3}} \newcommand{\EvaluateOneLimit}{\left.#1\right\rvert_{#2}} \newcommand{\Limit}{\lim\limits_{#1\rightarrow #2}} \newcommand{\LimitInline}{\lim_{#1\rightarrow #2}} \newcommand{\DNE}{\operatorname{DNE}} % differentiation \newcommand{\LagrangeDeriv}{{#1}'} \newcommand{\KthLagrangeDeriv}{{#1}^{(#2)}} \newcommand{\LeibnizSubDeriv}{{#1}_{,#2}} \newcommand{\LeibnizFracDeriv}{\frac{d}{d#2}{#1}} \newcommand{\KthLeibnizFracDeriv}{\frac{d^{#2}}{d#3^{#2}}\Func[#1](#3)} \newcommand{\KthLeibnizFracSpecificFunction}{\frac{d^{#2}}{d#3^{#2}}\Func[#1]} \newcommand{\Differential}[x]{\, \operatorname{d}{#1}} \newcommand{\FrechetDeriv}{D{#1}\left(#2\right)} \newcommand{\GateauxDirectionBold}{\Vec{\delta}#1} \newcommand{\GateauxDirection}{\delta #1} \newcommand{\GateauxDerivBold}{D#1(#2; \GateauxDirectionBold{#2})} \newcommand{\GateauxDeriv}{D#1(#2; \GateauxDirection{#2})} \newcommand{\GateauxDerivWithDirection}{D#1\left(#2 \ ;\ #3\right)} \newcommand{\GateauxDerivPartial}{\frac{\partial #1}{\partial #2}} \newcommand{\KthGateauxDerivPartial}{\frac{\partial^{#3} #1}{\partial #2^{#3}}} \newcommand{\Grad}{\boldsymbol{\nabla}^{#1} #2} \newcommand{\Jac}{\Mat{J}} \newcommand{\Div}{\boldsymbol{\nabla}^{#1} \bcdot #2} \newcommand{\Laplace}{\boldsymbol{\Delta}^{#1} #2} \newcommand{\TaylorSeries}{\mathcal{T}\left[\Func[#1]\right](#2)} \newcommand{\TruncatedTaylorSeries}{\mathcal{T}_{#1}\left[\Func[#2]\right]\left(#3\right)} % integration \newcommand{\Int}{\int\limits_{#1}^{#2}} \newcommand{\IntDomain}{\int\limits_{#1}} \newcommand{\IntInline}{\int_{#1}^{#2}} \newcommand{\IntDomainInline}{\int_{#1}} \newcommand{\DetJacobian}{\Det{\Jac}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Numerical Analysis %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\BigO}{\mathcal{O}\left(#1\right)} \newcommand{\Flops}{\operatorname{flops}} \newcommand{\Interpolant}{\mathcal{#1}^{h}} \newcommand{\ErrorApproxComp}{e} \newcommand{\ErrorApproxTen}{\Vec{\ErrorApproxComp}} \newcommand{\ErrorNewton}{\epsilon} % clean up \newcommand{\ApproximateIntegrationError}{\tilde{e}_{#1}} \newcommand{\AnalyticApproximateIntegrationErrorDifference}{\overbar{e}_{#1}}$$\newcommand{\GlosOne}{a} \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{\NumUsplineBasisFuncsOnMeshBezier}{\Size{\UsplineBasisFuncSetOnMeshBezier}} \newcommand{\NumUsplineBasisFuncsOnMeshUspline}{\Size{\UsplineBasisFuncSetOnMeshUspline}} \newcommand{\NumUsplineBasisFuncsOnElem}{\Size{\UsplineBasisFuncSet{\Elem}}} \newcommand{\NumBernsteinBasisFuncsOnMeshBezier}{\Size{\IndexSetOnMeshBezier}} \newcommand{\NumBernsteinBasisFuncsOnElem}{\Size{\IndexSet{\Elem}}} \newcommand{\NumElemsInMeshBezier}{\Size{\CellSet{\ParamDim}}} \newcommand{\ParentDomain}{\SymbolParentModifier{\SymbolDomain}} \newcommand{\ParentDomainChart}{\SymbolParentModifier{\Vec{\phi}}} \newcommand{\ParentDomainChartDetailed}{\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}{\ParentCoord_{#1}} \newcommand{\ParentGrevillePoint}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParentGrevillePointSet}{\QuantityFunctionOf{\Set{\SymbolParentModifier{G}}}{#1}} \newcommand{\BernsteinBasisFuncCoeff}{\SymbolArbitraryCoeffBernstein} \newcommand{\BernsteinBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffBernstein}}}{\MeshBezier}} \newcommand{\BernsteinBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffBernstein}}{\MeshBezier}} \newcommand{\BernFuncLowerDimCell}{\BernsteinBasisFunc^{#1}_{#2}} \newcommand{\BernFuncInterf}{\BernFuncLowerDimCell{\Interface}{#1}} \newcommand{\UsplineBasisFuncCoeff}{\SymbolArbitraryCoeffUspline} \newcommand{\UsplineBasisFuncCoeffAlt}{\SymbolArbitraryCoeffUsplineAlt} \newcommand{\UsplineBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffUspline}}}{\MeshUspline}} \newcommand{\UsplineBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffUspline}}{\MeshUspline}} \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{\ii}{\IndexOnCell{}{\BernsteinBasisFuncIndexTuple}} \newcommand{\jj}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAlt}} \newcommand{\kk}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAltAlt}} \newcommand{\BernsteinBasisFuncIndexTupleB}{\Set{\BernsteinBasisFuncIdB}} \newcommand{\BernsteinDegree}{\PolynomialDegree} \newcommand{\BernsteinDegreeAlt}{q} \newcommand{\BernsteinDegreeTuple}{\Tuple{\BernsteinDegree}} \newcommand{\BernsteinDegreeElevMatComp}{D} \newcommand{\BernsteinDegreeElevMat}{\Mat{\BernsteinDegreeElevMatComp}} \newcommand{\CompletePolynomial}{\AbsoluteValue{#1}} \newcommand{\BernsteinBasisFunc}{\SymbolBernstein} \newcommand{\BernsteinBasisFuncVec}{\QuantityFunctionOf{\QuantityChildOf{#1}{\Vec{\SymbolBernstein}}}{#2}} \newcommand{\BernsteinBasisFuncDetailed}{\BernsteinBasisFunc_{#1}^{#2}} \newcommand{\BernsteinSpace}{\SpaceHilbert{\SymbolBernstein}} \newcommand{\BernsteinRestriction}{#1\vert_{#2}} \newcommand{\Bezier}{B\'ezier } \newcommand{\MeshTopo}{\boldsymbol{\textsf{M}}}%changed from mathsf \newcommand{\MeshBezier}{\boldsymbol{\textsf{B}}}%changed from mathsf \newcommand{\CellArbitrary}{\Set{#1}} \newcommand{\Cell}{\CellArbitrary{c}} % k-cell \newcommand{\CellAlpha}{\CellArbitrary{a}} \newcommand{\CellBeta}{\CellArbitrary{b}} \newcommand{\CellGamma}{\CellArbitrary{c}} \newcommand{\CellToTheLeft}{\CellAlpha} \newcommand{\CellToTheRight}{\CellBeta} \newcommand{\CellBoundary}{\partial #1} \newcommand{\CellSet}{\Set{C}^{#1}} \newcommand{\CellSetAdjacent}{\QuantityFunctionOf{\Set{ADJ}^{#1}}{#2}} \newcommand{\CellSetCardinal}{\QuantityFunctionOf{\Set{CRD}}{#1}} \newcommand{\CellSetSupport}{\Support{#1}} \newcommand{\Elem}{\Set{E}} % d-cell \newcommand{\Interface}{\Set{I}} % (d-1)-cell \newcommand{\Smoothness}{\vartheta} \newcommand{\SmoothnessVar}{\rho} \newcommand{\SmoothnessSet}{\Set{\Smoothness}} \newcommand{\InterfaceSmoothness}{\QuantityChildOf{#1}{\Smoothness}} \newcommand{\MaxPerpCont}{\QuantityFunctionOf{\Smoothness^{\perp}_{\max}}{#1}} \newcommand{\Face}{\Set{f}} % 2-cell \newcommand{\Edge}{\Set{e}} % 1-cell \newcommand{\Vertex}{\Set{v}} % 0-cell \newcommand{\CodimTwoCell}{\Set{w}} % (d-2)-cell \newcommand{\KCell}{\Cell^\ArbDim} \newcommand{\KPlusOneCell}{\Cell^{\ArbDim+1}} \newcommand{\KCellAlpha}{\CellAlpha^\ArbDim} \newcommand{\KPlusOneCellBeta}{\CellBeta^{\ArbDim+1}} \newcommand{\KPlusOneCellAdjacentIndexedSubmeshDomain}{\QuantityChildOf{\CellAlpha\CellBeta}{\SubmeshDomain}} \newcommand{\MaxParallelDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\max}}{#1}} \newcommand{\MinParallelDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\min}}{#1}} \newcommand{\MaxPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\max}}{#1}} \newcommand{\MinPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\min}}{#1}} \newcommand{\MinParallelPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\min}}{#1,#2}} \newcommand{\MaxParallelPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\max}}{#1,#2}} \newcommand{\DegreeParallel}{\BernsteinDegree^{\parallel}} \newcommand{\DegreeParallelToEdge}{\DegreeParallel_{#1}(#2)} \newcommand{\DegreePerp}{\BernsteinDegree^{\perp}} \newcommand{\DegreePerpToInterface}{\DegreePerp_{#1}(#2)} \newcommand{\DegreeTupleParallelToKCell}{\Tuple{\BernsteinDegree}^{\parallel}_{#1}(#2)} \newcommand{\ChangeInDegree}{\Delta(\BernsteinDegree)_{#1}^{#2}} \newcommand{\IndexSet}{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\CompositeBVUnionIndexSet}{\QuantityFunctionOf{\Set{UID}}{#1}} \newcommand{\IndexSetPosCoeffs}{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\IndexSetSet}{\QuantityFunctionOf{\boldsymbol{\IndexSet{}}}{#1}} \newcommand{\IndexSetOnMeshBezier}{\IndexSet{\MeshBezier}} \newcommand{\IndexOnCell}{\QuantityChildOf{#1}{#2}} \newcommand{\IndexOnCellIJ}{\QuantityChildOf{#1}{\TupleRoster{#2,#3}}} \newcommand{\CellFromQuantity}{\QuantityFunctionOf{\operatorname{cell}}{#1}} \newcommand{\ExtractionOp}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{C}}{#2}}} \newcommand{\ExtractionOpSimple}{\QuantityFunctionOf{\Mat{C}}{#1}} \newcommand{\ReconstructOp}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{R}}{#2}}} \newcommand{\ReconstructOpSimple}{\QuantityFunctionOf{\Mat{R}}{#1}} \newcommand{\Gramian}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{G}}{#2}}} \newcommand{\GramianSimple}{\QuantityFunctionOf{\Mat{G}}{#1}} \newcommand{\BernsteinSpaceOnMeshBezier}{\QCO{\MeshBezier}{\BernsteinSpace}} \newcommand{\BernsteinTraceMappingMat}{\Mat{M}} \newcommand{\ParamDomain}{\SymbolParamModifier{\SymbolDomain}} \newcommand{\ParamDomainOnCell}{\QuantityChildOf{\Cell}{\ParamDomain}} \newcommand{\ParamDomainBdry}{\SymbolParamModifier{\SymbolDomainBdry}} \newcommand{\ParamDomainChart}{\QuantityFunctionOf{\Vec{\phi}^{#1}}{#2}} \newcommand{\ParamDim}{\SymbolDim} \newcommand{\ParamCoordSimple}{s} \newcommand{\ParamCoord}{\QCO{#1}{s}} \newcommand{\ParamCoordVecSimple}{\Vec{s}} \newcommand{\ParamCoordVec}{\QCO{#1}{\Vec{\ParamCoord{}}}} \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}{\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{\NormalParamCoordSet}{\QuantityFunctionOf{\ParamCoordVecSimple^{\perp}_{#1}}{#2}} \newcommand{\ParallelParamCoordSet}{\QuantityFunctionOf{\ParamCoordVecSimple^{\parallel}_{#1}}{#2}} \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}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParamModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParamGrevillePointSet}{\QuantityFunctionOf{\Set{\SymbolParamModifier{G}}}{#1}} \newcommand{\ParamDomainOnMeshBezier}{\QuantityChildOf{\MeshBezier}{\ParamDomain}} \newcommand{\ParamDomainOnMeshUspline}{\QuantityChildOf{\MeshUspline}{\ParamDomain}} \newcommand{\Submesh}{\boldsymbol{\mathsf{K}}}%changed from mathsf \newcommand{\SubmeshDomain}{\SymbolSubmeshModifier{\SymbolDomain}} \newcommand{\SubmeshDomainChart}{\QuantityFunctionOf{\Vec{\varphi}^{#1}}{#2}} \newcommand{\SubmeshDomainParameter}{\mathsf{\alpha}}%changed from mathsf \newcommand{\SubmeshDomainParameterVec}{\Vec{\SubmeshDomainParameter}} \newcommand{\SubmeshGrevillePoint}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\SubmeshGrevillePointSimple}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}{#1}} \newcommand{\SubmeshGrevilleMaxPoint}{\QuantityChildOf{#1}{\Set{\SymbolGrevillePoint}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSimple}{\Set{\SymbolGrevillePoint}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSet}{\QuantityChildOf{#1}{\Set{G}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSetSimple}{\Set{G}_{\max}} \newcommand{\SubmeshGrevilleMinPointSet}{\QuantityChildOf{#1}{\Set{G}}_{\min}} \newcommand{\SubmeshGrevilleMinPointSetSimple}{\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}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{G}}}{#1}} \newcommand{\SubmeshGrevillePointSetLeft}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GA}}}{#1}} \newcommand{\SubmeshGrevillePointSetRight}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GB}}}{#1}} \newcommand{\SubmeshGrevillePointSetElement}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GE}}_{#1}}{#2}} \newcommand{\SubmeshGrevillePointSetIntersect}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GI}}}{#1}} \newcommand{\SubmeshGrevillePointSetUnion}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GU}}}{#1}} \newcommand{\SubmeshGrevillePointSetSet}{\QuantityFunctionOf{\boldsymbol{\SubmeshGrevillePointSet{}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetLeft}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GA}}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetRight}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GB}}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetElement}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1}}{#2}} \newcommand{\SubmeshGrevilleDifferenceVectorsSetLeft}{\Delta\SubmeshGrevilleMaxPointSetLeft} \newcommand{\SubmeshGrevilleDifferenceVectorsSetRight}{\Delta\SubmeshGrevilleMaxPointSetRight} \newcommand{\SubmeshGrevilleDifferenceVector}{\Delta\SubmeshGrevilleMaxPoint{\GlosOne}} \newcommand{\SubmeshGrevilleDifferenceVectorLeft}{\Delta\SubmeshGrevilleMaxPointLeft} \newcommand{\SubmeshGrevilleDifferenceVectorRight}{\Delta\SubmeshGrevilleMaxPointRight} \newcommand{\SubmeshGrevilleDifferenceVectorsSet}{\Delta \SubmeshGrevillePointSet{\GlosOne}} \newcommand{\SubmeshGrevilleDistanceToCell}{\QuantityFunctionOf{\SymbolDistance}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCell}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMin}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\min}}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMax}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\max}}{#1, #2}} \newcommand{\SubmeshPerpProjection}{\QuantityFunctionOf{\Projection^{\perp}_{#1}}{#2}} \newcommand{\SubmeshParallelProjection}{\QuantityFunctionOf{\Projection^{\parallel}_{#1}}{#2}} \newcommand{\SubmeshStarProjection}{\QuantityFunctionOf{\Projection^{*}_{#1}}{#2}} \newcommand{\SubmeshPerpEquivalence}{\QuantityFunctionOf{\varpi^{\perp}_{#1}}{#2}} \newcommand{\SubmeshParallelEquivalence}{\QuantityFunctionOf{\varpi^{\parallel}_{#1}}{#2}} \newcommand{\SubmeshStarEquivalence}{\QuantityFunctionOf{\varpi^{*}_{#1}}{#2}} \newcommand{\AlignedSet}{{\boldsymbol{\textsf{Align}}}}%changed from mathsf \newcommand{\AlignedSetSet}{{\boldsymbol{\textsf{ALIGN}}}}%changed from mathsf \newcommand{\AlignmentSetOfSetsLeft}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetOfSetsRight}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetForInterfaceGrevillePoint}{\AlignedSet_{\SubmeshGrevillePoint{\Interface}{}}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRow}{\QuantityFunctionOf{\Set{NZ}_{#1}}{#2}} \newcommand{\AlignmentSetOfSetsOnLowerDCell}{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1,#2}^{\parallel}} \newcommand{\AlignmentSetOfSetsLeftThreeD}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \ii}^{\parallel}} \newcommand{\AlignmentSetOfSetsRightThreeD}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \ii}^{\parallel}} \newcommand{\MeshUspline}{\boldsymbol{\textsf{\SymbolUspline}}}%changed from mathsf \newcommand{\SetNeighborhoodOfInteraction}{\QuantityFunctionOf{\textsf{NI}}{#1}}%changed from mathsf \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}}%changed from mathsf \newcommand{\RayTailEdge}{\Edge} \newcommand{\RayTailVertexMaxContinuity}{\Smoothness_{#1}^{\max}} \newcommand{\RayTailEdgeMinDegree}{\BernsteinDegree_{#1}^{\min}} \newcommand{\RaySkeleton}{\operatorname{skel}(#1)} \newcommand{\RaySmoothness}{\Smoothness_{#1}^{#2}} \newcommand{\RayDegree}{\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}{\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}}%changed from mathsf \newcommand{\RibbonTailInterf}{\Interface} \newcommand{\RibbonTailCodimTwoCellMaxContinuity}{\Smoothness_{#1}^{\max}} \newcommand{\RibbonTailInterfMinDegree}{\BernsteinDegree_{#1}^{\min}} \newcommand{\RibbonSkeleton}{\operatorname{skel}(#1)} \newcommand{\RibbonSmoothness}{\Smoothness_{#1}^{#2}} \newcommand{\RibbonDegree}{\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}{\RibbonAlgBernIndexVariable_{#1}} \newcommand{\UsplineSpace}{\SpaceHilbert{\SymbolUspline}} \newcommand{\UsplineBasisFunc}{\SymbolBasisUspline} \newcommand{\UsplineBasisFuncDetailed}{\UsplineBasisFunc^{#1}_{#2}} \newcommand{\UsplineBasisFuncSet}{\QuantityFunctionOf{\Set{UF}}{#1}} \newcommand{\UsplineBasisFuncVec}{\QuantityFunctionOf{\QuantityChildOf{#1}{\Vec{\SymbolBasisUspline}}}{#2}} \newcommand{\UsplineBasisFuncSetOnMeshBezier}{\QuantityFunctionOf{\Set{UF}}{\MeshBezier}} \newcommand{\UsplineBasisFuncSetOnMeshUspline}{\QuantityFunctionOf{\Set{UF}}{\MeshUspline}} \newcommand{\UsplineBasisFuncSetSupport}{\Support{\UsplineBasisFuncSet{#1}}} \newcommand{\UsplineBasisFuncId}{A} \newcommand{\UsplineBasisFuncIdAlt}{B} \newcommand{\UsplineBasisFuncIdLocal}{a} \newcommand{\UsplineBasisFuncIdOne}{\UsplineBasisFuncId_0} \newcommand{\UsplineBasisFuncIdTwo}{\UsplineBasisFuncId_1} \newcommand{\UsplineBasisFuncNormalized}{\bar{\SymbolBasisUspline}} \newcommand{\UsplineBasisFuncParam}{\UsplineBasisFuncDetailed{\MeshBezier}{#1}} \newcommand{\UsplineDegree}{q} \newcommand{\UsplineNullVectorCoeff}{\SymbolUsplineLower}%{\MakeLowercase} \newcommand{\UsplineNullVector}{\Vec{\UsplineNullVectorCoeff}} \newcommand{\UsplineNullVectorIds}{\Set{id}} \newcommand{\UsplineNullVectorSet}{\boldsymbol{\textsf{UV}}}%changed from mathsf \newcommand{\UsplineNullVectorSetOfIndexSets}{\boldsymbol{\textsf{UI}}}%changed from mathsf \newcommand{\UsplineNullVectorSetOnMeshBezier}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshBezier}} \newcommand{\UsplineNullVectorSetOnMeshUspline}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshUspline}} \newcommand{\UsplineSpaceOnMeshUspline}{\QCO{\MeshUspline}{\UsplineSpace}} \newcommand{\UsplineCellToGlobalBasisFuncIndexMap}{\operatorname{ucg}(#1)} \newcommand{\UsplineCellToGlobalBasisFuncIndexMapDef}{\FuncDef{\operatorname{ucg}}{\MeshBezier\times\Integers}{\Integers}} \newcommand{\ContiguousIndexMap}{\QuantityFunctionOf{i_{#1}}} \newcommand{\Constraint}{R} %\newcommand{\ConstraintCoeff}{\MakeLowercase{\Constraint}} \newcommand{\ConstraintCoeff}{r} \newcommand{\ConstraintCoeffsSet}{\boldsymbol{\Set{\ConstraintCoeff}}} \newcommand{\ConstraintCoeffsVec}{\Vec{\ConstraintCoeff}} \newcommand{\ConstraintSet}{\QuantityFunctionOf{\Set{\Constraint}}{#1}} \newcommand{\ConstraintSetOnMeshBezier}{\ConstraintSet{\MeshBezier}} \newcommand{\ConstraintMat}{\QuantityFunctionOf{\Mat{\Constraint}}{#1}} \newcommand{\ConstraintMatOnMeshBezier}{\ConstraintMat{\MeshBezier}} \newcommand{\SparsestPossibleBasisOnCell}{\QFO{\Set{N}}{#1}} \newcommand{\NullVectorCoeff}{#1} \newcommand{\NullVector}{\QuantityFunctionOf{\Vec{v}}{#1}} \newcommand{\NullVectorArbitrary}{\QuantityFunctionOf{\Vec{#1}}{#2}} \newcommand{\KCellNullVectorForCellAlpha}{\NullVectorArbitrary{n}{}_{\KCellAlpha}} \newcommand{\KPlusOneCellNullVectorForCellBeta}{\NullVectorArbitrary{n}{}_{\KPlusOneCellBeta}} \newcommand{\NullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}}%changed from mathsf \newcommand{\CompositeNullVectorSet}{\NullVectorSet{#1}^{\prime\prime}} \newcommand{\SimpleNullVectorSet}{\NullVectorSet{#1}^{\prime}} \newcommand{\InterfaceNullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}}{#1}}%changed from mathsf \newcommand{\InterfaceNullVectorAlignedSubset}{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorSetOfIndexSets}{\QuantityFunctionOf{\boldsymbol{\textsf{BI}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetGrevilleSets}{\QuantityFunctionOf{\boldsymbol{\textsf{BG}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetOnMeshBezier}{\NullVectorSet{\MeshBezier}} \newcommand{\NullVectorSetSubordinateToNullVector}{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetSubordinateToNullVectorOnCell}{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorSetOnBdryOfNullVector}{\QuantityFunctionOf{\boldsymbol{\textsf{BD}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBV}}}{#1}}%changed from mathsf \newcommand{\NullVectorIndexEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBI}}}{#1}}%changed from mathsf \newcommand{\NullVectorGrevilleEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBG}}}{#1}}%changed from mathsf \newcommand{\NullVectorExpansionSet}{\QuantityFunctionOf{\boldsymbol{\textsf{XBV}}}{#1,#2}}%changed from mathsf \newcommand{\NullSpaceOperatorForm}{\QuantityFunctionOf{\SpaceHilbert{N}}{#1}} \newcommand{\NullSpaceOperatorFormOnMeshBezier}{\NullSpaceOperatorForm{\MeshBezier}} \newcommand{\NullSpaceVectorForm}{\QuantityFunctionOf{\Set{N}}{#1}} \newcommand{\NullVectorGrevillePointSet}{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}}%changed from mathsf \newcommand{\DegSmoothDiff}{\delta_{#1}^{#2}} \newcommand{\FaceEdgeDiff}{\Set{t}} \newcommand{\FaceEdgeDiffSet}{\Set{T}_{#1}} \newcommand{\PerpTuple}{\QuantityFunctionOf{\FaceEdgeDiff^\perp}{#1}} \newcommand{\ParallelTuple}{\QuantityFunctionOf{\FaceEdgeDiff^\parallel}{#1}} \newcommand{\ElemInterfDiff}{\Set{t}} \newcommand{\ElemInterfDiffSet}{\Set{T}_{#1}} \newcommand{\SpokeSymbol}{\rho} \newcommand{\ElemInterfPairSymbol}{t} \newcommand{\ElemKPlusOneCellPair}{\Set{\SpokeSymbol}} \newcommand{\Spoke}{\ElemKPlusOneCellPair} \newcommand{\ElemInterfPair}{\Set{\ElemInterfPairSymbol}} \newcommand{\EIDPerpTuple}{\QuantityFunctionOf{\ElemInterfDiff^\perp}{#1}} \newcommand{\EIDParallelTuple}{\QuantityFunctionOf{\ElemInterfDiff^\parallel}{#1}} \newcommand{\InclDist}{\QuantityFunctionOf{\textsf{inc}}{#1}}%changed from mathsf \newcommand{\InclDistSet}{\Set{INC}^{#1,#2}} \newcommand{\EdgeInclDist}{\InclDistSet{#2}{#3}_{#1}} \newcommand{\PerpEdgesSet}{\Set{E}^\perp} \newcommand{\PerpInterfacesSet}{\Set{IRF}^\perp} \newcommand{\PerpOfKPlusOneCellInterfSet}{\QuantityFunctionOf{\boldsymbol{\textsf{PI}}}{#1}}%changed from mathsf \newcommand{\PerpKPlusOneCellSet}{\QuantityFunctionOf{\boldsymbol{\textsf{PC}}}{#1}}%changed from mathsf \newcommand{\ElemKPlusOneCellPairPerp}{\QuantityFunctionOf{\Set{\SpokeSymbol}^\perp}{#1}} \newcommand{\ElemInterfPairPerp}{\QuantityFunctionOf{\Set{t}^\perp}{#1}} \newcommand{\ElemInterfPairParallel}{\QuantityFunctionOf{\Set{\ElemInterfPairSymbol}^\parallel}{#1}} \newcommand{\ElemKPlusOneCellPairParallelSet}{\QuantityFunctionOf{\Set{\SpokeSymbol}^\parallel}{#1}} \newcommand{\KPlusOneCellNullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}}{#1}}%changed from mathsf \newcommand{\KPlusOneCellNullVectorAlignedSubset}{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\Graph}{\QuantityFunctionOf{G}{#1}} \newcommand{\GraphCore}{K} \newcommand{\GraphDirectedEdge}{\Edge_{i,j}} \newcommand{\GraphDirectedEdgeIJ}{\Edge_{#1,#2}} \newcommand{\GraphCoreToVertex}{\QuantityFunctionOf{\Vertex}{#1}} \newcommand{\GraphCoreChildren}{\QuantityFunctionOf{\operatorname{children}}{#1}} \newcommand{\GraphVertexToCore}{\QuantityFunctionOf{\GraphCore}{#1}} \newcommand{\GraphInteractingEdges}{\Set{IE}} \newcommand{\GraphCoveredEdges}{\Set{CE}} \newcommand{\GraphFailedEdges}{\Set{FE}} \newcommand{\GraphCandidateEdges}{\Set{XE}} \newcommand{\UsplineClass}{\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{\AlgNameBuildRayOfMaximumCouplingLength}{\textit{BuildRayOfMaximumCouplingLength}} \newcommand{\AlgNameBuildRibbonOfMaximumCouplingLength}{\textit{BuildRibbonOfMaximumCouplingLength}} \newcommand{\AlgNameComputeCoreGraph}{ComputeCoreGraph} \newcommand{\SymbolParentModifier}{\overbar{#1}} \newcommand{\SymbolParamModifier}{\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{\UpperDBMat}{\Mat{U}} \newcommand{\LowerWeightDBMat}{\Mat{W}} \newcommand{\RationalSplineWeightSymbol}{w} \newcommand{\NURBSWeight}{\RationalSplineWeightSymbol} \newcommand{\WeightFunc}[\RationalSplineWeightSymbol]{#1} \newcommand{\DBParamWeight}{\omega} \newcommand{\DualBCoeff}{d}$$\newcommand{\SymbolTime}{t} \newcommand{\SymbolClosestPointMap}{\kappa} \newcommand{\SymbolManifold}{m} \newcommand{\SymbolVolume}{v} \newcommand{\SymbolSurface}{s} \newcommand{\SymbolCurve}{c} \newcommand{\SymbolPoint}{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{\SymbolEnvModifier}{\star\mspace{-1mu} #1} \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{\Partition{}}{\ParamDomain}} \newcommand{\SpatialDim}{\SymbolSpatialDim} \newcommand{\SpatialDomain}{\Reals^{\SymbolSpatialDim}} \newcommand{\SpatialCoord}{\SymbolSpatialCoord} \newcommand{\SpatialCoordUpper}{\SymbolSpatialCoordUpper} \newcommand{\SpatialCoordVec}{\Vec{\SpatialCoord}} \newcommand{\SpatialCoordVecSet}{\QuantityFunctionOf{\boldsymbol{\Set{\SpatialCoordUpper}}}{#1}} \newcommand{\UsplineBasisFuncSpatial}{\UsplineBasisFuncDetailed{\SpatialCoord}{#1}} \newcommand{\Manifold}{\QuantityRelatedTo{\Set{\SymbolManifold}}{#1}} \newcommand{\Volume}{\QuantityRelatedTo{\Set{\SymbolVolume}}{#1}} \newcommand{\Surface}{\QuantityRelatedTo{\Set{\SymbolSurface}}{#1}} \newcommand{\Curve}{\QuantityRelatedTo{\Set{\SymbolCurve}}{#1}} \newcommand{\Point}{\QuantityRelatedTo{\Set{\SymbolPoint}}{#1}} \newcommand{\ManifoldCAD}{\Manifold{\SymbolCAD}} \newcommand{\ManifoldCADModified}{\Manifold{\SymbolCADModified}} \newcommand{\ManifoldCADEnv}{\SymbolEnvModifier{\ManifoldCAD}} \newcommand{\ManifoldCADModifiedEnv}{\SymbolEnvModifier{\ManifoldCADModified}} \newcommand{\ManifoldPartition}{\Manifold{\Partition{}}} \newcommand{\ManifoldBezier}{\Manifold{\MeshBezier}} \newcommand{\ManifoldUspline}{\Manifold{\MeshUspline}} \newcommand{\ManifoldUsplineEnv}{\SymbolEnvModifier{\ManifoldUspline}} \newcommand{\VolumeEnv}{\SymbolEnvModifier{\Volume{}}} \newcommand{\dVolume}{\Differential[\Volume{}]} \newcommand{\VolumeIndicator}{\SymbolIndicator} \newcommand{\SurfaceEnv}{\SymbolEnvModifier{\Surface{}}} \newcommand{\SurfaceCAD}{\Surface{\SymbolCAD}} \newcommand{\SurfaceCADModified}{\Surface{\SymbolCADModified}} \newcommand{\SurfaceMesh}{\Surface{\Partition{}}} \newcommand{\SurfaceUspline}{\Surface{\MeshUspline}} \newcommand{\SurfaceWildCard}{\Surface{}^{\SymbolWildCard}} \newcommand{\dSurface}{\Differential[\Surface{}]} \newcommand{\CurveCAD}{\Curve{\SymbolCAD}} \newcommand{\CurveCADModified}{\Curve{\SymbolCADModified}} \newcommand{\CurveMesh}{\Curve{\Partition{}}} \newcommand{\CurveUspline}{\Curve{\MeshUspline}} \newcommand{\dCurve}{\Differential[\Curve{}]} \newcommand{\PointCAD}{\Point{\SymbolCAD}} \newcommand{\PointCADModified}{\Point{\SymbolCADModified}} \newcommand{\PointUspline}{\Point{\MeshUspline}} \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{\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{\ManifoldMap}{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldTemporalMap}{\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}{\FuncDef{\ManifoldMap{#1}{#2}}{#1}{#2}} \newcommand{\ManifoldMapInverseDef}{\FuncDef{\Inverse{\ManifoldMap{#1}{#2}}}{#2}{#1}} \newcommand{\ManifoldTemporalMapDef}{\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}{\QCO{#1}{#2}} \newcommand{\ManifoldCoordVecDetailed}{\QCO{#1}{\Vec{#2}}} \newcommand{\ManifoldCoord}{x} \newcommand{\ManifoldCoordVec}{\Vec{x}} \newcommand{\ManifoldPartitionMapCoord}{\ManifoldCoordDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldPartitionMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldPartitionMap}{\ManifoldCoordVec}} \newcommand{\ManifoldCADMapCoord}{\ManifoldCoordDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldCADMap}{\ManifoldCoordVec}} \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{\Segment}{\QuantityChildOf{#1}{\SymbolSegment}} \newcommand{\SegmentOfVolumeEnv}{\Segment{\VolumeEnv}} \newcommand{\Hex}{\Segment{}_{h}} \newcommand{\Tet}{\Segment{}_{t}} \newcommand{\SegmentParamDomain}{\QuantityRelatedTo{\ParamDomain}{#1}} \newcommand{\SegmentParamDomainOfVolumeEnv}{\QuantityRelatedTo{\ParamDomain}{\Segment{\VolumeEnv}}} \newcommand{\SegmentSet}{\QuantityFunctionOf{\SymbolSegmentSet}{#1}} \newcommand{\SegmentSetOutside}{\SegmentSet{}^{\SymbolOutside}} \newcommand{\SegmentSetInside}{\SegmentSet{}^{\SymbolInside}} \newcommand{\SegmentSetHybrid}{\SegmentSet{}^{\SymbolHybrid}} \newcommand{\Partition}{\QuantityFunctionOf{\SymbolPartition}{#1}} \newcommand{\PartitionBezierExtraction}{\QuantityFunctionOf{\SymbolPartition^{B}}{#1}} \newcommand{\PartitionTessellation}{\QuantityFunctionOf{\SymbolPartition^{T}}{#1}} \newcommand{\PartitionTessellationOfUspline}{\PartitionTessellation{\MeshUspline}} \newcommand{\PartitionTessellationMap}{\QuantityRelatedTo{#2}{#1}} \newcommand{\BoundingVolume}{\QuantityFunctionOf{\Set{bv}}{#1}} \newcommand{\BoundingVolumeSet}{\QuantityFunctionOf{\Set{BV}}{#1}} \newcommand{\BoundingVolumeTree}{\QuantityFunctionOf{\Set{BVH}}{#1}} \newcommand{\AxisAlignedBoundingBox}{\QuantityFunctionOf{\Set{AABB}}{#1}} \newcommand{\SimplexMap}{\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}{\SymbolEnvModifier{\QuadraturePoint{#1}{#2}}} \newcommand{\QuadraturePoint}{\SymbolQuadraturePoint_{#1}^{#2}} \newcommand{\QuadraturePointToElemIndexMap}{\operatorname{qe}(#1)} \newcommand{\QuadratureWeightEnv}{\SymbolEnvModifier{\QuadratureWeight{#1}{#2}}} \newcommand{\QuadratureWeight}{\SymbolQuadratureWeight_{#1}^{#2}} \newcommand{\QuadratureSet}{\Set{\SymbolQuadratureSet}} \newcommand{\QuadratureSetInside}{\QuadratureSet^{\SymbolInside}} \newcommand{\QuadratureSetOutside}{\QuadratureSet^{\SymbolOutside}} \newcommand{\QuadratureSubdDepth}{k} \newcommand{\ClosestPointMap}{\QuantityChildOf{#1}{\Vec{\SymbolClosestPointMap}}} \newcommand{\ClosestPointMapCAD}{\ClosestPointMap{\SymbolCAD}} \newcommand{\ClosestPointMapCADModified}{\ClosestPointMap{\SymbolCADModified}} \newcommand{\ProjectionInto}{\QuantityRelatedTo{\SymbolProjection}{#1}} \newcommand{\ProjectionIntoBernsteinCell}{\ProjectionInto{\Cell}} \newcommand{\ProjectionIntoBernsteinElem}{\ProjectionInto{\Elem}} \newcommand{\ProjectionIntoMeshBezier}{\ProjectionInto{\MeshBezier}} \newcommand{\ProjectionIntoMeshUspline}{\ProjectionInto{\MeshUspline}}$$\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}{\ManifoldCoordDetailed{#1}{X}} \newcommand{\RefCoordVec}{\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}{\UsplineBasisFuncDetailed{\CurveRef}{#1}} \newcommand{\UsplineBasisFuncOverSurfaceRefDisp}{\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}{\ManifoldCoordDetailed{#1}{x}} \newcommand{\CurrCoordVec}{\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}{\Grad{\VolumeEnvRefMap}{#1}} \newcommand{\VolumeRefMap}{\ManifoldMap{\ParamDomain}{\VolumeRef}} \newcommand{\GenericGradOverVolumeRefMap}{\Grad{\VolumeRefMap}{#1}} \newcommand{\SurfaceRefDispMap}{\ManifoldMap{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMap}{\ManifoldMap{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\CurveRefMap}{\ManifoldMap{\ParamDomain}{\CurveRef}} \newcommand{\GenericGradOverCurveRefMap}{\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}{\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}{U} \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{\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{\KinematicElast}{#1^e} \newcommand{\KinematicPlast}{#1^p} \newcommand{\DivVolumeEnvRef}{\Div{\VolumeEnvRefCoordVec}{#1}} \newcommand{\DivVolumeEnvCurr}{\Div{\VolumeEnvCurrCoordVec}{#1}} \newcommand{\UnitNormalRefComp}{N} \newcommand{\UnitNormalRefTen}{\Vec{N}} \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{\StressKirchhoffComp}{\tau} \newcommand{\StressKirchhoffTen}{\Mat{\tau}} \newcommand{\StressKirchhoffVoigt}{\tilde{\StressKirchhoffTen}} \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{\MaterialThermalExpansion}{\alpha_{\text{thermal}}} \newcommand{\CrossSectArea}{\SymbolArea} \newcommand{\Length}{\SymbolLength} \newcommand{\PenaltyStiffness}{\SymbolPenalty_{\SymbolStiffness}} \newcommand{\PenaltyDisp}{\SymbolPenalty_{\SymbolDisp}} \newcommand{\BodyForceRefComp}{B} \newcommand{\BodyForceRefTen}{\Vec{\BodyForceRefComp}} \newcommand{\BodyForceCurrComp}{\SymbolBodyForce} \newcommand{\BodyForceCurrTen}{\Vec{\BodyForceCurrComp}} \newcommand{\TracForceRefComp}{H} \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{G}} \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}{\QFO{\Energy}{#1}} \newcommand{\EnergyEnv}{\SymbolEnvModifier{\Energy}} \newcommand{\EnergyInside}{\Energy^{\SymbolInside}} \newcommand{\EnergyOutside}{\Energy^{\SymbolOutside}} \newcommand{\EnergyConstraint}{\Energy^{\LagrangeMultCurrComp}} \newcommand{\EnergyDensityStrain}{\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{\FlexOne}{\mathcal{F}_{1}} \newcommand{\FlexInfty}{\mathcal{F}_{\infty}} \newcommand{\Flex}{\mathcal{F}_{#1}} \newcommand{\FlexIt}{\mathcal{F}} \newcommand{\FlexFEA}{\mathcal{F}_{\bar{0}}} \newcommand{\FlexFEAModified}{\mathcal{F}_{0}} \newcommand{\FlexImmersed}{\mathcal{F}_{\infty}} \newcommand{\FlexSpectrum}{\overleftrightarrow{\mathcal{F}}} \newcommand{\FlexSpectrumId}{i} \newcommand{\TimeStep}{\Delta \SymbolTime} \newcommand{\SpectralRadius}{\rho_{\infty}} \newcommand{\SymbolDisp}{u} \newcommand{\SymbolVelocity}{v} \newcommand{\SymbolAcceleration}{a} \newcommand{\SymbolMass}{M} \newcommand{\SymbolLength}{L} \newcommand{\SymbolArea}{A} \newcommand{\SymbolConstraint}{g} \newcommand{\SymbolPenalty}{\varepsilon} \newcommand{\SymbolLagrangeMultRef}{\Lambda} \newcommand{\SymbolLagrangeMultCurr}{\lambda} \newcommand{\SymbolFict}{f} \newcommand{\SymbolTracForce}{h} \newcommand{\SymbolBodyForce}{b} \newcommand{\SymbolVolumeRef}{V} \newcommand{\SymbolSurfaceRef}{S} \newcommand{\SymbolCurveRef}{C} \newcommand{\SymbolPointRef}{P} \newcommand{\SymbolVolumeCurr}{\SymbolVolume} \newcommand{\SymbolSurfaceCurr}{\SymbolSurface} \newcommand{\SymbolCurveCurr}{\SymbolCurve} \newcommand{\SymbolPointCurr}{\SymbolPoint} \newcommand{\SymbolDeformGrad}{F} \newcommand{\SymbolStrainGreenLagrange}{E} \newcommand{\SymbolDeformCauchyGreenLeft}{b} \newcommand{\SymbolDeformCauchyGreenRight}{C} \newcommand{\SymbolStrainDisp}{B} \newcommand{\SymbolStrainSymGrad}{\epsilon} \newcommand{\SymbolEnergy}{\Pi} \newcommand{\SymbolEnergyDensityStrain}{\Psi} \newcommand{\SymbolResidual}{R} \newcommand{\SymbolForce}{F} \newcommand{\SymbolStiffness}{K} \newcommand{\SymbolSolution}{d}$ Figure 130:

A pyramid is a general n-sided prism.

To create a Pyramid

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

2. Click on the Create action button.

3. Select Pyramid from the drop-down menu.

4. Enter the desired values for Height, Number of Sides and Top Radius.

5. Select Circular or Elliptical.

6. Enter the desired value for the Radius.

7. Click Apply.

##### 4.2.2.5Creating Toruses

$\newcommand{\QuantityFunctionOf} { % \if\relax\detokenize{#2}\relax % {#1} % \else {#1}(#2) % \fi } \newcommand{\QFO}{\QuantityFunctionOf{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOf} { % \if\relax\detokenize{#3}\relax % {#1}_{#2} % \else {#1}_{#2}(#3) % \fi } \newcommand{\SQFO}{\SubscriptedQuantityFunctionOf{#1}{#2}{#3}} \newcommand{\QuantityChildOf} { % \if\relax\detokenize{#1}\relax % {#2} % \else {#2}^{#1} % \fi } \newcommand{\QCO}{\QuantityChildOf{#1}{#2}} \newcommand{\QuantityRelatedTo} { % \if\relax\detokenize{#2}\relax % {#1} % \else {#1}[#2] % \fi } \newcommand{\QRT}{\QuantityRelatedTo{#1}{#2}} \newcommand{\QuantitySubscriptedBy} { % \if\relax\detokenize{#2}\relax % #1 % \else #1_{#2} % \fi } \newcommand{\QSB}{\QuantitySubscriptedBy{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOfChildOf} { % \if\relax\detokenize{#4}\relax % #1_{#2}^{#3} % \else #1_{#2}^{#3}(#4) % \fi } \newcommand{\SQFOCO}{\SubscriptedQuantityFunctionOfChildOf{#1}{#2}{#3}{#4}} \newcommand{\overbar}{\mkern 1.5mu\overline{\mkern-1.5mu#1\mkern-1.5mu}\mkern 1.5mu} \newcommand{\bcdot}{\boldsymbol{\cdot}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Logic %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SuchThat}{\, : \,} \newcommand{\DefEq}{\overset{\operatorname{def}}{=}} \newcommand{\True}{\textsf{True}} \newcommand{\False}{\textsf{False}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Arrays, tuples, and sets %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\ArrayRoster}{\left[#1\right]} \newcommand{\ArrayRosterI}{[#1]_{#2}} \newcommand{\ArrayEmpty}{\ArrayRoster{\hspace{1mm}}} \newcommand{\Tuple}{\mathsf{#1}}%was \mathsf \newcommand{\TupleRoster}{\left(#1\right)} \newcommand{\PointPair}{\TupleRoster{#1, #2}} \newcommand{\Set}{\mathsf{#1}}%was \mathsf \newcommand{\SetRoster}{\left\{ #1 \right\}} \newcommand{\SetRosterIndexed}{\SetRoster{#1}_{#2}^{#3}} \newcommand{\SetRosterPredicate}{\SetRoster{#1 \SuchThat #2}} \newcommand{\SetEmpty}{\varnothing} \newcommand{\SetPower}{\QuantityFunctionOf{\boldsymbol{\Set{P}}}{#1}} \newcommand{\SetNeighborhood}{\QuantityFunctionOf{\boldsymbol{\Set{B}}}{#1}} \newcommand{\Domain}{\Omega} \newcommand{\DomainBdry}{\Gamma} \newcommand{\IntervalClosed}{\left[#1, #2\right]} \newcommand{\IntervalOpen}{\left(#1, #2\right)} \newcommand{\IntervalClosedOpen}{\left[#1, #2\right)} \newcommand{\IntervalOpenClosed}{\left(#1, #2\right]} % special \newcommand{\Reals}{\mathbb{R}} \newcommand{\Naturals}{\mathbb{N}} \newcommand{\Integers}{\mathbb{Z}} \newcommand{\Field}{\mathbb{F}} % properties \newcommand{\Size}{\left\lvert #1 \right\rvert} \newcommand{\Union}{\bigcup\limits_{#1}^{#2} #3} \newcommand{\UnionInline}{\bigcup_{#1}^{#2} #3} \newcommand{\Intersect}{\bigcap\limits_{#1}^{#2} #3} \newcommand{\ElementWiseGreaterOrEqual}{\succeq} \newcommand{\ElemntWiseGreater}{\succ} \newcommand{\ElementWiseLessOrEqual}{\preceq} \newcommand{\ElementWiseLess}{\prec} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Infinite dimensional spaces %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SpaceLinear}{\mathnormal{#1}} \newcommand{\SpaceDual}{\SpaceLinear{#1}^*} % normed spaces \newcommand{\AbsoluteValue}{\Size{#1}} \newcommand{\Norm}{\left\lVert #2 \right\rVert_{#1}} \newcommand{\NormAbstract}{\Norm{}{#1}} \newcommand{\NormSemi}{\Size{#1}} \newcommand{\SpaceLinearNormed}{\left(\SpaceLinear{#1}, \NormAbstract{\bcdot} \right)} \newcommand{\SpaceBanach}{\mathfrak{#1}} % normed and complete % inner product spaces \newcommand{\SymmetricBilinear}{\left(#1, #2\right)} \newcommand{\InnerProduct}{\left\langle#1, #2\right\rangle} \newcommand{\SpaceInnerProduct}{\left(\SpaceLinear{#1}, \InnerProduct{\bcdot}{\bcdot}\right)} \newcommand{\SpaceHilbert}{\mathcal{#1}} \newcommand{\SpaceLTwo}{\SpaceHilbert{L}_2} \newcommand{\SpaceLTwoDef}{\SpaceLTwo\left(#1; #2\right)} \newcommand{\SpaceLInfty}{\SpaceHilbert{L}_\infty} \newcommand{\SpaceLTwoWeighted}{\SpaceLTwo^w} \newcommand{\SpaceSobolevK}{\SpaceHilbert{H}^{#1}} \newcommand{\SpaceSobolevKDef}{\SpaceSobolevK{1}\left(#2 ; #3\right)} % differentiable spaces \newcommand{\Cont}{\operatorname{cont}} \newcommand{\SpaceCont}{\SpaceHilbert{C}} \newcommand{\SpaceContDef}{\SpaceCont\left(#1 ; #2\right)} \newcommand{\SpaceContK}{\SpaceCont^{#1}} \newcommand{\SpaceContKDef}{\SpaceContK{#1}\left(#2; #3\right)} \newcommand{\SpaceContZero}{\SpaceContK{0}} \newcommand{\SpaceContInf}{\SpaceContK{\infty}} \newcommand{\SpaceContInfDef}{\SpaceContKDef{\infty}{#1}{#2}} \newcommand{\SpaceContKBounded}{\SpaceContK{#1}_{#2}} \newcommand{\SpaceContKBoundedDef}{\SpaceCont_{b}^{#1}\left(#2 ; #3\right)} % linear operator spaces \newcommand{\SpaceLinearOperator}{\mathscr{#1}} \newcommand{\SpaceLinearOperatorDef}{\SpaceLinearOperator{L}\left(#1 ; #2\right)} \newcommand{\SpaceLinearOperatorBoundedDef}{\SpaceLinearOperator{B}\left(#1 ; #2\right)} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Finite dimensional spaces %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SpaceLinearN}{\SpaceLinear{#1}^h} \newcommand{\SpaceHilbertN}{\SpaceHilbert{#1}^h} \newcommand{\SpaceVecRealN}{\Reals^{#1}} \newcommand{\SpacePoly}{\SpaceHilbert{P}^{#1}} \newcommand{\SpaceMatrixRealMN}{\Reals^{#1\times#2}} \newcommand{\SpacePolyDef}{\SpacePoly{#1}\left(#2 ; #3\right)} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Functions, vectors, and linear operators %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\Func}[f]{#1} \newcommand{\FuncAlt}[g]{#1} \newcommand{\FuncDef}{#1 \SuchThat #2 \rightarrow #3} \newcommand{\FuncApprox}{#1^h} \newcommand{\LinearOperator}{\SpaceLinearOperator{#1}} \newcommand{\LinearOperatorDef}{\FuncDef{#1}{#2}{#3}} \newcommand{\Functional}{\LinearOperator{#1}} \newcommand{\Projection}{\Pi} \newcommand{\VectorProjection}{\Projection_{#1} {\left(#2\right)}} \newcommand{\Mat}{\boldsymbol{#1}} \newcommand{\MatIJ}{\left[#1\right]_{#2#3}} \newcommand{\MatIdRow}{m} \newcommand{\MatIdCol}{n} \newcommand{\Identity}{\Mat{I}} \newcommand{\KroneckerDelta}{\Mat{\delta}} \newcommand{\LeviCivita}{\Mat{\epsilon}} \newcommand{\Jacobian}{\Mat{J}} \renewcommand{\Vec}{\boldsymbol{#1}} \newcommand{\VecChildOf}{\QCO{#2}{#1}} \newcommand{\VecI}{\{#1\}_{#2}} \newcommand{\ZeroVec}{\Vec{0}} \newcommand{\OneVec}{\Vec{1}} \newcommand{\ZeroMat}{\Mat{0}} \newcommand{\UnitNormalComp}{n} \newcommand{\UnitNormal}{\Vec{\UnitNormalComp}} % rename to UnitNormalTen \newcommand{\MacBracket}{\langle#1\rangle} \newcommand{\HeavisideFunc}{\mathit{H}\left(#1\right)} \newcommand{\DiracDelta}{\delta_{D}\left(#1 - #2\right)} \newcommand{\IdentityTenSym}{\mathbb{I}} \newcommand{\BraKet}{\langle#1\rangle} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Lagrange Optimization %%%%%%%%%%%%%%%%%%%%%%%%%%%% %\newcommand{\Min}{\min\limits_{#1}} %\newcommand{\Max}{\max\limits_{#1}} \newcommand{\FuncObjective}{\QFO{\Func}{#1}} \newcommand{\FuncEqualityConstraints}{\QFO{\Func[\Vec{g}]}{#1}} \newcommand{\VarDesign}{\Vec{\phi}} \newcommand{\VarState}{\QFO{\Vec{u}}{#1}} \newcommand{\FuncLagrangian}{\QFO{\mathscr{L}}{#1}} \newcommand{\FuncAugmentedLagrangian}{\QFO{\mathscr{L}_A}{#1}} \newcommand{\VecLambdaLM}{\QFO{\Vec{\lambda}}{#1}} \newcommand{\LambdaLM}{\QFO{\lambda}{#1}} \newcommand{\SolutionLocalOpt}{\left(#1\right)^*} \newcommand{\ProximalPoint}{\overbar{\VecLambdaLM{}}} \newcommand{\PenaltyParameter}{\rho} \newcommand{\Slacify}{\QSB{#1}{s}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Linear algebra %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\Prod}{\prod\limits_{#1}^{#2}} \newcommand{\ProdInline}{\prod_{#1}^{#2}} \newcommand{\TensorProduct}{\otimes} \newcommand{\Sum} { % COMMENTED OUT FOLLOWING PREVIOUS INSTANCES % \if\relax\detokenize{#2}\relax % \sum\limits_{#1} % \else \sum\limits_{#1}^{#2} % COMMENTED OUT FOLLOWING PREVIOUS INSTANCES % \fi } \newcommand{\SumInline}{\sum_{#1}^{#2}} \newcommand{\Rank}{\operatorname{rank}(#1)} \newcommand{\Nullity}{\operatorname{null}(#1)} \newcommand{\Image}{\operatorname{image}} \newcommand{\Range}{\operatorname{range}} \newcommand{\Inverse}{\left(#1\right)^{-1}} \newcommand{\inverse}{\overline{#1}} % clean up \newcommand{\Transpose}{\left(#1\right)^{T}} \newcommand{\InvTrans}{\left(#1\right)^{-T}} \newcommand{\Complement}{\overbar{#1}} \newcommand{\Adjoint}{\left(#1\right)^*} \newcommand{\OrthogonalComplement}{\left(#1\right)^\perp} \newcommand{\Det}{\QFO{\operatorname{det}}{#1}} \newcommand{\DCT}{\operatorname{DCT}} \newcommand{\IDCT}{\operatorname{IDCT}} \newcommand{\RealPart}{\QFO{\mathfrak{R}}{#1}} \newcommand{\Trace}{\QFO{\operatorname{tr}}{#1}} \newcommand{\Dev}{\QFO{\operatorname{dev}}{#1}} \newcommand{\DevDef}{\Dev{#1} \DefEq #1 - \frac{1}{3}\Trace{#1}\Identity} \newcommand{\dual}{{\bar{#1}}} \newcommand{\symind}{{\uppercase{#1}}} \newcommand{\symmetrizer}{{S}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Bases %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\BasisFuncCoeff}{\QSB{#1}{#2}} \newcommand{\BasisVec}{\QSB{#1}{#2}} \newcommand{\BasisVecChildOf}{\SQFOCO{#1}{#2}{#3}{}} \newcommand{\OrthogonalBasisVec}{\SQFOCO{#1}{#2}{\perp}{}} \newcommand{\OrthonormalBasisVec}{\overbar{\OrthogonalBasisVec{#1}{#2}}} \newcommand{\PolynomialDegree}{p} \newcommand{\BasisFuncId}{i} \newcommand{\BasisFuncIdAlt}{j} \newcommand{\BasisFuncIdAltAlt}{k} \newcommand{\BasisFunc}{\SQFO{#1}{#2}{#3}} \newcommand{\PowerBasisFunc}{\QCO{#2}{#1}} \newcommand{\LegendreBasisFunc}{\SQFO{\Func[P]}{#1}{#2}} \newcommand{\PreNormalizedLegendreBasisFunc}{\hat{\LegendreBasisFunc{#1}{#2}}} \newcommand{\ChebyshevBasisFunc}{\SQFO{\Func[T]}{#1}{#2}} \newcommand{\ChebyshevZeros}{\QSB{z}{#1}} \newcommand{\ChebyshevExtremizers}{\QSB{t}{#1}} \newcommand{\BernToChebMat}{\Mat{T}} \newcommand{\Chebfun}{\biggl(\, \sum_{#2=0}^{#1}{#3}_{#2}\ChebyshevBasisFunc{#2}{}\biggr)} \newcommand{\ChebfunVector}{\left[#1\right]_c} \newcommand{\LagrangeBasisFunc}{\SQFOCO{\Func[L]}{#1}{#2}{#3}} % properties \newcommand{\Span}{\operatorname{span}} \newcommand{\Dim}{\operatorname{dim}} \newcommand{\Support}{\operatorname{supp}(#1)} \newcommand{\SupportPos}{\operatorname{supp}_{+}(#1)} % operations \newcommand{\SumBasis}{\Sum{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\SumInlineBasis}{\SumInline{#1}{#2}{#3}_{#1}{#4}_{#1}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Calculus %%%%%%%%%%%%%%%%%%%%%%%%%%%% % limits \newcommand{\EvaluateTwoLimits}{#1\biggr\rvert_{#2}^{#3}} \newcommand{\EvaluateOneLimit}{\left.#1\right\rvert_{#2}} \newcommand{\Limit}{\lim\limits_{#1\rightarrow #2}} \newcommand{\LimitInline}{\lim_{#1\rightarrow #2}} \newcommand{\DNE}{\operatorname{DNE}} % differentiation \newcommand{\LagrangeDeriv}{{#1}'} \newcommand{\KthLagrangeDeriv}{{#1}^{(#2)}} \newcommand{\LeibnizSubDeriv}{{#1}_{,#2}} \newcommand{\LeibnizFracDeriv}{\frac{d}{d#2}{#1}} \newcommand{\KthLeibnizFracDeriv}{\frac{d^{#2}}{d#3^{#2}}\Func[#1](#3)} \newcommand{\KthLeibnizFracSpecificFunction}{\frac{d^{#2}}{d#3^{#2}}\Func[#1]} \newcommand{\Differential}[x]{\, \operatorname{d}{#1}} \newcommand{\FrechetDeriv}{D{#1}\left(#2\right)} \newcommand{\GateauxDirectionBold}{\Vec{\delta}#1} \newcommand{\GateauxDirection}{\delta #1} \newcommand{\GateauxDerivBold}{D#1(#2; \GateauxDirectionBold{#2})} \newcommand{\GateauxDeriv}{D#1(#2; \GateauxDirection{#2})} \newcommand{\GateauxDerivWithDirection}{D#1\left(#2 \ ;\ #3\right)} \newcommand{\GateauxDerivPartial}{\frac{\partial #1}{\partial #2}} \newcommand{\KthGateauxDerivPartial}{\frac{\partial^{#3} #1}{\partial #2^{#3}}} \newcommand{\Grad}{\boldsymbol{\nabla}^{#1} #2} \newcommand{\Jac}{\Mat{J}} \newcommand{\Div}{\boldsymbol{\nabla}^{#1} \bcdot #2} \newcommand{\Laplace}{\boldsymbol{\Delta}^{#1} #2} \newcommand{\TaylorSeries}{\mathcal{T}\left[\Func[#1]\right](#2)} \newcommand{\TruncatedTaylorSeries}{\mathcal{T}_{#1}\left[\Func[#2]\right]\left(#3\right)} % integration \newcommand{\Int}{\int\limits_{#1}^{#2}} \newcommand{\IntDomain}{\int\limits_{#1}} \newcommand{\IntInline}{\int_{#1}^{#2}} \newcommand{\IntDomainInline}{\int_{#1}} \newcommand{\DetJacobian}{\Det{\Jac}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Numerical Analysis %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\BigO}{\mathcal{O}\left(#1\right)} \newcommand{\Flops}{\operatorname{flops}} \newcommand{\Interpolant}{\mathcal{#1}^{h}} \newcommand{\ErrorApproxComp}{e} \newcommand{\ErrorApproxTen}{\Vec{\ErrorApproxComp}} \newcommand{\ErrorNewton}{\epsilon} % clean up \newcommand{\ApproximateIntegrationError}{\tilde{e}_{#1}} \newcommand{\AnalyticApproximateIntegrationErrorDifference}{\overbar{e}_{#1}}$$\newcommand{\GlosOne}{a} \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{\NumUsplineBasisFuncsOnMeshBezier}{\Size{\UsplineBasisFuncSetOnMeshBezier}} \newcommand{\NumUsplineBasisFuncsOnMeshUspline}{\Size{\UsplineBasisFuncSetOnMeshUspline}} \newcommand{\NumUsplineBasisFuncsOnElem}{\Size{\UsplineBasisFuncSet{\Elem}}} \newcommand{\NumBernsteinBasisFuncsOnMeshBezier}{\Size{\IndexSetOnMeshBezier}} \newcommand{\NumBernsteinBasisFuncsOnElem}{\Size{\IndexSet{\Elem}}} \newcommand{\NumElemsInMeshBezier}{\Size{\CellSet{\ParamDim}}} \newcommand{\ParentDomain}{\SymbolParentModifier{\SymbolDomain}} \newcommand{\ParentDomainChart}{\SymbolParentModifier{\Vec{\phi}}} \newcommand{\ParentDomainChartDetailed}{\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}{\ParentCoord_{#1}} \newcommand{\ParentGrevillePoint}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParentGrevillePointSet}{\QuantityFunctionOf{\Set{\SymbolParentModifier{G}}}{#1}} \newcommand{\BernsteinBasisFuncCoeff}{\SymbolArbitraryCoeffBernstein} \newcommand{\BernsteinBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffBernstein}}}{\MeshBezier}} \newcommand{\BernsteinBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffBernstein}}{\MeshBezier}} \newcommand{\BernFuncLowerDimCell}{\BernsteinBasisFunc^{#1}_{#2}} \newcommand{\BernFuncInterf}{\BernFuncLowerDimCell{\Interface}{#1}} \newcommand{\UsplineBasisFuncCoeff}{\SymbolArbitraryCoeffUspline} \newcommand{\UsplineBasisFuncCoeffAlt}{\SymbolArbitraryCoeffUsplineAlt} \newcommand{\UsplineBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffUspline}}}{\MeshUspline}} \newcommand{\UsplineBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffUspline}}{\MeshUspline}} \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{\ii}{\IndexOnCell{}{\BernsteinBasisFuncIndexTuple}} \newcommand{\jj}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAlt}} \newcommand{\kk}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAltAlt}} \newcommand{\BernsteinBasisFuncIndexTupleB}{\Set{\BernsteinBasisFuncIdB}} \newcommand{\BernsteinDegree}{\PolynomialDegree} \newcommand{\BernsteinDegreeAlt}{q} \newcommand{\BernsteinDegreeTuple}{\Tuple{\BernsteinDegree}} \newcommand{\BernsteinDegreeElevMatComp}{D} \newcommand{\BernsteinDegreeElevMat}{\Mat{\BernsteinDegreeElevMatComp}} \newcommand{\CompletePolynomial}{\AbsoluteValue{#1}} \newcommand{\BernsteinBasisFunc}{\SymbolBernstein} \newcommand{\BernsteinBasisFuncVec}{\QuantityFunctionOf{\QuantityChildOf{#1}{\Vec{\SymbolBernstein}}}{#2}} \newcommand{\BernsteinBasisFuncDetailed}{\BernsteinBasisFunc_{#1}^{#2}} \newcommand{\BernsteinSpace}{\SpaceHilbert{\SymbolBernstein}} \newcommand{\BernsteinRestriction}{#1\vert_{#2}} \newcommand{\Bezier}{B\'ezier } \newcommand{\MeshTopo}{\boldsymbol{\textsf{M}}}%changed from mathsf \newcommand{\MeshBezier}{\boldsymbol{\textsf{B}}}%changed from mathsf \newcommand{\CellArbitrary}{\Set{#1}} \newcommand{\Cell}{\CellArbitrary{c}} % k-cell \newcommand{\CellAlpha}{\CellArbitrary{a}} \newcommand{\CellBeta}{\CellArbitrary{b}} \newcommand{\CellGamma}{\CellArbitrary{c}} \newcommand{\CellToTheLeft}{\CellAlpha} \newcommand{\CellToTheRight}{\CellBeta} \newcommand{\CellBoundary}{\partial #1} \newcommand{\CellSet}{\Set{C}^{#1}} \newcommand{\CellSetAdjacent}{\QuantityFunctionOf{\Set{ADJ}^{#1}}{#2}} \newcommand{\CellSetCardinal}{\QuantityFunctionOf{\Set{CRD}}{#1}} \newcommand{\CellSetSupport}{\Support{#1}} \newcommand{\Elem}{\Set{E}} % d-cell \newcommand{\Interface}{\Set{I}} % (d-1)-cell \newcommand{\Smoothness}{\vartheta} \newcommand{\SmoothnessVar}{\rho} \newcommand{\SmoothnessSet}{\Set{\Smoothness}} \newcommand{\InterfaceSmoothness}{\QuantityChildOf{#1}{\Smoothness}} \newcommand{\MaxPerpCont}{\QuantityFunctionOf{\Smoothness^{\perp}_{\max}}{#1}} \newcommand{\Face}{\Set{f}} % 2-cell \newcommand{\Edge}{\Set{e}} % 1-cell \newcommand{\Vertex}{\Set{v}} % 0-cell \newcommand{\CodimTwoCell}{\Set{w}} % (d-2)-cell \newcommand{\KCell}{\Cell^\ArbDim} \newcommand{\KPlusOneCell}{\Cell^{\ArbDim+1}} \newcommand{\KCellAlpha}{\CellAlpha^\ArbDim} \newcommand{\KPlusOneCellBeta}{\CellBeta^{\ArbDim+1}} \newcommand{\KPlusOneCellAdjacentIndexedSubmeshDomain}{\QuantityChildOf{\CellAlpha\CellBeta}{\SubmeshDomain}} \newcommand{\MaxParallelDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\max}}{#1}} \newcommand{\MinParallelDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\min}}{#1}} \newcommand{\MaxPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\max}}{#1}} \newcommand{\MinPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\min}}{#1}} \newcommand{\MinParallelPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\min}}{#1,#2}} \newcommand{\MaxParallelPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\max}}{#1,#2}} \newcommand{\DegreeParallel}{\BernsteinDegree^{\parallel}} \newcommand{\DegreeParallelToEdge}{\DegreeParallel_{#1}(#2)} \newcommand{\DegreePerp}{\BernsteinDegree^{\perp}} \newcommand{\DegreePerpToInterface}{\DegreePerp_{#1}(#2)} \newcommand{\DegreeTupleParallelToKCell}{\Tuple{\BernsteinDegree}^{\parallel}_{#1}(#2)} \newcommand{\ChangeInDegree}{\Delta(\BernsteinDegree)_{#1}^{#2}} \newcommand{\IndexSet}{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\CompositeBVUnionIndexSet}{\QuantityFunctionOf{\Set{UID}}{#1}} \newcommand{\IndexSetPosCoeffs}{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\IndexSetSet}{\QuantityFunctionOf{\boldsymbol{\IndexSet{}}}{#1}} \newcommand{\IndexSetOnMeshBezier}{\IndexSet{\MeshBezier}} \newcommand{\IndexOnCell}{\QuantityChildOf{#1}{#2}} \newcommand{\IndexOnCellIJ}{\QuantityChildOf{#1}{\TupleRoster{#2,#3}}} \newcommand{\CellFromQuantity}{\QuantityFunctionOf{\operatorname{cell}}{#1}} \newcommand{\ExtractionOp}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{C}}{#2}}} \newcommand{\ExtractionOpSimple}{\QuantityFunctionOf{\Mat{C}}{#1}} \newcommand{\ReconstructOp}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{R}}{#2}}} \newcommand{\ReconstructOpSimple}{\QuantityFunctionOf{\Mat{R}}{#1}} \newcommand{\Gramian}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{G}}{#2}}} \newcommand{\GramianSimple}{\QuantityFunctionOf{\Mat{G}}{#1}} \newcommand{\BernsteinSpaceOnMeshBezier}{\QCO{\MeshBezier}{\BernsteinSpace}} \newcommand{\BernsteinTraceMappingMat}{\Mat{M}} \newcommand{\ParamDomain}{\SymbolParamModifier{\SymbolDomain}} \newcommand{\ParamDomainOnCell}{\QuantityChildOf{\Cell}{\ParamDomain}} \newcommand{\ParamDomainBdry}{\SymbolParamModifier{\SymbolDomainBdry}} \newcommand{\ParamDomainChart}{\QuantityFunctionOf{\Vec{\phi}^{#1}}{#2}} \newcommand{\ParamDim}{\SymbolDim} \newcommand{\ParamCoordSimple}{s} \newcommand{\ParamCoord}{\QCO{#1}{s}} \newcommand{\ParamCoordVecSimple}{\Vec{s}} \newcommand{\ParamCoordVec}{\QCO{#1}{\Vec{\ParamCoord{}}}} \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}{\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{\NormalParamCoordSet}{\QuantityFunctionOf{\ParamCoordVecSimple^{\perp}_{#1}}{#2}} \newcommand{\ParallelParamCoordSet}{\QuantityFunctionOf{\ParamCoordVecSimple^{\parallel}_{#1}}{#2}} \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}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParamModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParamGrevillePointSet}{\QuantityFunctionOf{\Set{\SymbolParamModifier{G}}}{#1}} \newcommand{\ParamDomainOnMeshBezier}{\QuantityChildOf{\MeshBezier}{\ParamDomain}} \newcommand{\ParamDomainOnMeshUspline}{\QuantityChildOf{\MeshUspline}{\ParamDomain}} \newcommand{\Submesh}{\boldsymbol{\mathsf{K}}}%changed from mathsf \newcommand{\SubmeshDomain}{\SymbolSubmeshModifier{\SymbolDomain}} \newcommand{\SubmeshDomainChart}{\QuantityFunctionOf{\Vec{\varphi}^{#1}}{#2}} \newcommand{\SubmeshDomainParameter}{\mathsf{\alpha}}%changed from mathsf \newcommand{\SubmeshDomainParameterVec}{\Vec{\SubmeshDomainParameter}} \newcommand{\SubmeshGrevillePoint}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\SubmeshGrevillePointSimple}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}{#1}} \newcommand{\SubmeshGrevilleMaxPoint}{\QuantityChildOf{#1}{\Set{\SymbolGrevillePoint}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSimple}{\Set{\SymbolGrevillePoint}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSet}{\QuantityChildOf{#1}{\Set{G}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSetSimple}{\Set{G}_{\max}} \newcommand{\SubmeshGrevilleMinPointSet}{\QuantityChildOf{#1}{\Set{G}}_{\min}} \newcommand{\SubmeshGrevilleMinPointSetSimple}{\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}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{G}}}{#1}} \newcommand{\SubmeshGrevillePointSetLeft}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GA}}}{#1}} \newcommand{\SubmeshGrevillePointSetRight}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GB}}}{#1}} \newcommand{\SubmeshGrevillePointSetElement}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GE}}_{#1}}{#2}} \newcommand{\SubmeshGrevillePointSetIntersect}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GI}}}{#1}} \newcommand{\SubmeshGrevillePointSetUnion}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GU}}}{#1}} \newcommand{\SubmeshGrevillePointSetSet}{\QuantityFunctionOf{\boldsymbol{\SubmeshGrevillePointSet{}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetLeft}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GA}}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetRight}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GB}}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetElement}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1}}{#2}} \newcommand{\SubmeshGrevilleDifferenceVectorsSetLeft}{\Delta\SubmeshGrevilleMaxPointSetLeft} \newcommand{\SubmeshGrevilleDifferenceVectorsSetRight}{\Delta\SubmeshGrevilleMaxPointSetRight} \newcommand{\SubmeshGrevilleDifferenceVector}{\Delta\SubmeshGrevilleMaxPoint{\GlosOne}} \newcommand{\SubmeshGrevilleDifferenceVectorLeft}{\Delta\SubmeshGrevilleMaxPointLeft} \newcommand{\SubmeshGrevilleDifferenceVectorRight}{\Delta\SubmeshGrevilleMaxPointRight} \newcommand{\SubmeshGrevilleDifferenceVectorsSet}{\Delta \SubmeshGrevillePointSet{\GlosOne}} \newcommand{\SubmeshGrevilleDistanceToCell}{\QuantityFunctionOf{\SymbolDistance}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCell}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMin}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\min}}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMax}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\max}}{#1, #2}} \newcommand{\SubmeshPerpProjection}{\QuantityFunctionOf{\Projection^{\perp}_{#1}}{#2}} \newcommand{\SubmeshParallelProjection}{\QuantityFunctionOf{\Projection^{\parallel}_{#1}}{#2}} \newcommand{\SubmeshStarProjection}{\QuantityFunctionOf{\Projection^{*}_{#1}}{#2}} \newcommand{\SubmeshPerpEquivalence}{\QuantityFunctionOf{\varpi^{\perp}_{#1}}{#2}} \newcommand{\SubmeshParallelEquivalence}{\QuantityFunctionOf{\varpi^{\parallel}_{#1}}{#2}} \newcommand{\SubmeshStarEquivalence}{\QuantityFunctionOf{\varpi^{*}_{#1}}{#2}} \newcommand{\AlignedSet}{{\boldsymbol{\textsf{Align}}}}%changed from mathsf \newcommand{\AlignedSetSet}{{\boldsymbol{\textsf{ALIGN}}}}%changed from mathsf \newcommand{\AlignmentSetOfSetsLeft}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetOfSetsRight}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetForInterfaceGrevillePoint}{\AlignedSet_{\SubmeshGrevillePoint{\Interface}{}}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRow}{\QuantityFunctionOf{\Set{NZ}_{#1}}{#2}} \newcommand{\AlignmentSetOfSetsOnLowerDCell}{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1,#2}^{\parallel}} \newcommand{\AlignmentSetOfSetsLeftThreeD}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \ii}^{\parallel}} \newcommand{\AlignmentSetOfSetsRightThreeD}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \ii}^{\parallel}} \newcommand{\MeshUspline}{\boldsymbol{\textsf{\SymbolUspline}}}%changed from mathsf \newcommand{\SetNeighborhoodOfInteraction}{\QuantityFunctionOf{\textsf{NI}}{#1}}%changed from mathsf \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}}%changed from mathsf \newcommand{\RayTailEdge}{\Edge} \newcommand{\RayTailVertexMaxContinuity}{\Smoothness_{#1}^{\max}} \newcommand{\RayTailEdgeMinDegree}{\BernsteinDegree_{#1}^{\min}} \newcommand{\RaySkeleton}{\operatorname{skel}(#1)} \newcommand{\RaySmoothness}{\Smoothness_{#1}^{#2}} \newcommand{\RayDegree}{\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}{\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}}%changed from mathsf \newcommand{\RibbonTailInterf}{\Interface} \newcommand{\RibbonTailCodimTwoCellMaxContinuity}{\Smoothness_{#1}^{\max}} \newcommand{\RibbonTailInterfMinDegree}{\BernsteinDegree_{#1}^{\min}} \newcommand{\RibbonSkeleton}{\operatorname{skel}(#1)} \newcommand{\RibbonSmoothness}{\Smoothness_{#1}^{#2}} \newcommand{\RibbonDegree}{\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}{\RibbonAlgBernIndexVariable_{#1}} \newcommand{\UsplineSpace}{\SpaceHilbert{\SymbolUspline}} \newcommand{\UsplineBasisFunc}{\SymbolBasisUspline} \newcommand{\UsplineBasisFuncDetailed}{\UsplineBasisFunc^{#1}_{#2}} \newcommand{\UsplineBasisFuncSet}{\QuantityFunctionOf{\Set{UF}}{#1}} \newcommand{\UsplineBasisFuncVec}{\QuantityFunctionOf{\QuantityChildOf{#1}{\Vec{\SymbolBasisUspline}}}{#2}} \newcommand{\UsplineBasisFuncSetOnMeshBezier}{\QuantityFunctionOf{\Set{UF}}{\MeshBezier}} \newcommand{\UsplineBasisFuncSetOnMeshUspline}{\QuantityFunctionOf{\Set{UF}}{\MeshUspline}} \newcommand{\UsplineBasisFuncSetSupport}{\Support{\UsplineBasisFuncSet{#1}}} \newcommand{\UsplineBasisFuncId}{A} \newcommand{\UsplineBasisFuncIdAlt}{B} \newcommand{\UsplineBasisFuncIdLocal}{a} \newcommand{\UsplineBasisFuncIdOne}{\UsplineBasisFuncId_0} \newcommand{\UsplineBasisFuncIdTwo}{\UsplineBasisFuncId_1} \newcommand{\UsplineBasisFuncNormalized}{\bar{\SymbolBasisUspline}} \newcommand{\UsplineBasisFuncParam}{\UsplineBasisFuncDetailed{\MeshBezier}{#1}} \newcommand{\UsplineDegree}{q} \newcommand{\UsplineNullVectorCoeff}{\SymbolUsplineLower}%{\MakeLowercase} \newcommand{\UsplineNullVector}{\Vec{\UsplineNullVectorCoeff}} \newcommand{\UsplineNullVectorIds}{\Set{id}} \newcommand{\UsplineNullVectorSet}{\boldsymbol{\textsf{UV}}}%changed from mathsf \newcommand{\UsplineNullVectorSetOfIndexSets}{\boldsymbol{\textsf{UI}}}%changed from mathsf \newcommand{\UsplineNullVectorSetOnMeshBezier}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshBezier}} \newcommand{\UsplineNullVectorSetOnMeshUspline}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshUspline}} \newcommand{\UsplineSpaceOnMeshUspline}{\QCO{\MeshUspline}{\UsplineSpace}} \newcommand{\UsplineCellToGlobalBasisFuncIndexMap}{\operatorname{ucg}(#1)} \newcommand{\UsplineCellToGlobalBasisFuncIndexMapDef}{\FuncDef{\operatorname{ucg}}{\MeshBezier\times\Integers}{\Integers}} \newcommand{\ContiguousIndexMap}{\QuantityFunctionOf{i_{#1}}} \newcommand{\Constraint}{R} %\newcommand{\ConstraintCoeff}{\MakeLowercase{\Constraint}} \newcommand{\ConstraintCoeff}{r} \newcommand{\ConstraintCoeffsSet}{\boldsymbol{\Set{\ConstraintCoeff}}} \newcommand{\ConstraintCoeffsVec}{\Vec{\ConstraintCoeff}} \newcommand{\ConstraintSet}{\QuantityFunctionOf{\Set{\Constraint}}{#1}} \newcommand{\ConstraintSetOnMeshBezier}{\ConstraintSet{\MeshBezier}} \newcommand{\ConstraintMat}{\QuantityFunctionOf{\Mat{\Constraint}}{#1}} \newcommand{\ConstraintMatOnMeshBezier}{\ConstraintMat{\MeshBezier}} \newcommand{\SparsestPossibleBasisOnCell}{\QFO{\Set{N}}{#1}} \newcommand{\NullVectorCoeff}{#1} \newcommand{\NullVector}{\QuantityFunctionOf{\Vec{v}}{#1}} \newcommand{\NullVectorArbitrary}{\QuantityFunctionOf{\Vec{#1}}{#2}} \newcommand{\KCellNullVectorForCellAlpha}{\NullVectorArbitrary{n}{}_{\KCellAlpha}} \newcommand{\KPlusOneCellNullVectorForCellBeta}{\NullVectorArbitrary{n}{}_{\KPlusOneCellBeta}} \newcommand{\NullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}}%changed from mathsf \newcommand{\CompositeNullVectorSet}{\NullVectorSet{#1}^{\prime\prime}} \newcommand{\SimpleNullVectorSet}{\NullVectorSet{#1}^{\prime}} \newcommand{\InterfaceNullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}}{#1}}%changed from mathsf \newcommand{\InterfaceNullVectorAlignedSubset}{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorSetOfIndexSets}{\QuantityFunctionOf{\boldsymbol{\textsf{BI}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetGrevilleSets}{\QuantityFunctionOf{\boldsymbol{\textsf{BG}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetOnMeshBezier}{\NullVectorSet{\MeshBezier}} \newcommand{\NullVectorSetSubordinateToNullVector}{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetSubordinateToNullVectorOnCell}{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorSetOnBdryOfNullVector}{\QuantityFunctionOf{\boldsymbol{\textsf{BD}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBV}}}{#1}}%changed from mathsf \newcommand{\NullVectorIndexEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBI}}}{#1}}%changed from mathsf \newcommand{\NullVectorGrevilleEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBG}}}{#1}}%changed from mathsf \newcommand{\NullVectorExpansionSet}{\QuantityFunctionOf{\boldsymbol{\textsf{XBV}}}{#1,#2}}%changed from mathsf \newcommand{\NullSpaceOperatorForm}{\QuantityFunctionOf{\SpaceHilbert{N}}{#1}} \newcommand{\NullSpaceOperatorFormOnMeshBezier}{\NullSpaceOperatorForm{\MeshBezier}} \newcommand{\NullSpaceVectorForm}{\QuantityFunctionOf{\Set{N}}{#1}} \newcommand{\NullVectorGrevillePointSet}{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}}%changed from mathsf \newcommand{\DegSmoothDiff}{\delta_{#1}^{#2}} \newcommand{\FaceEdgeDiff}{\Set{t}} \newcommand{\FaceEdgeDiffSet}{\Set{T}_{#1}} \newcommand{\PerpTuple}{\QuantityFunctionOf{\FaceEdgeDiff^\perp}{#1}} \newcommand{\ParallelTuple}{\QuantityFunctionOf{\FaceEdgeDiff^\parallel}{#1}} \newcommand{\ElemInterfDiff}{\Set{t}} \newcommand{\ElemInterfDiffSet}{\Set{T}_{#1}} \newcommand{\SpokeSymbol}{\rho} \newcommand{\ElemInterfPairSymbol}{t} \newcommand{\ElemKPlusOneCellPair}{\Set{\SpokeSymbol}} \newcommand{\Spoke}{\ElemKPlusOneCellPair} \newcommand{\ElemInterfPair}{\Set{\ElemInterfPairSymbol}} \newcommand{\EIDPerpTuple}{\QuantityFunctionOf{\ElemInterfDiff^\perp}{#1}} \newcommand{\EIDParallelTuple}{\QuantityFunctionOf{\ElemInterfDiff^\parallel}{#1}} \newcommand{\InclDist}{\QuantityFunctionOf{\textsf{inc}}{#1}}%changed from mathsf \newcommand{\InclDistSet}{\Set{INC}^{#1,#2}} \newcommand{\EdgeInclDist}{\InclDistSet{#2}{#3}_{#1}} \newcommand{\PerpEdgesSet}{\Set{E}^\perp} \newcommand{\PerpInterfacesSet}{\Set{IRF}^\perp} \newcommand{\PerpOfKPlusOneCellInterfSet}{\QuantityFunctionOf{\boldsymbol{\textsf{PI}}}{#1}}%changed from mathsf \newcommand{\PerpKPlusOneCellSet}{\QuantityFunctionOf{\boldsymbol{\textsf{PC}}}{#1}}%changed from mathsf \newcommand{\ElemKPlusOneCellPairPerp}{\QuantityFunctionOf{\Set{\SpokeSymbol}^\perp}{#1}} \newcommand{\ElemInterfPairPerp}{\QuantityFunctionOf{\Set{t}^\perp}{#1}} \newcommand{\ElemInterfPairParallel}{\QuantityFunctionOf{\Set{\ElemInterfPairSymbol}^\parallel}{#1}} \newcommand{\ElemKPlusOneCellPairParallelSet}{\QuantityFunctionOf{\Set{\SpokeSymbol}^\parallel}{#1}} \newcommand{\KPlusOneCellNullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}}{#1}}%changed from mathsf \newcommand{\KPlusOneCellNullVectorAlignedSubset}{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\Graph}{\QuantityFunctionOf{G}{#1}} \newcommand{\GraphCore}{K} \newcommand{\GraphDirectedEdge}{\Edge_{i,j}} \newcommand{\GraphDirectedEdgeIJ}{\Edge_{#1,#2}} \newcommand{\GraphCoreToVertex}{\QuantityFunctionOf{\Vertex}{#1}} \newcommand{\GraphCoreChildren}{\QuantityFunctionOf{\operatorname{children}}{#1}} \newcommand{\GraphVertexToCore}{\QuantityFunctionOf{\GraphCore}{#1}} \newcommand{\GraphInteractingEdges}{\Set{IE}} \newcommand{\GraphCoveredEdges}{\Set{CE}} \newcommand{\GraphFailedEdges}{\Set{FE}} \newcommand{\GraphCandidateEdges}{\Set{XE}} \newcommand{\UsplineClass}{\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{\AlgNameBuildRayOfMaximumCouplingLength}{\textit{BuildRayOfMaximumCouplingLength}} \newcommand{\AlgNameBuildRibbonOfMaximumCouplingLength}{\textit{BuildRibbonOfMaximumCouplingLength}} \newcommand{\AlgNameComputeCoreGraph}{ComputeCoreGraph} \newcommand{\SymbolParentModifier}{\overbar{#1}} \newcommand{\SymbolParamModifier}{\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{\UpperDBMat}{\Mat{U}} \newcommand{\LowerWeightDBMat}{\Mat{W}} \newcommand{\RationalSplineWeightSymbol}{w} \newcommand{\NURBSWeight}{\RationalSplineWeightSymbol} \newcommand{\WeightFunc}[\RationalSplineWeightSymbol]{#1} \newcommand{\DBParamWeight}{\omega} \newcommand{\DualBCoeff}{d}$$\newcommand{\SymbolTime}{t} \newcommand{\SymbolClosestPointMap}{\kappa} \newcommand{\SymbolManifold}{m} \newcommand{\SymbolVolume}{v} \newcommand{\SymbolSurface}{s} \newcommand{\SymbolCurve}{c} \newcommand{\SymbolPoint}{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{\SymbolEnvModifier}{\star\mspace{-1mu} #1} \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{\Partition{}}{\ParamDomain}} \newcommand{\SpatialDim}{\SymbolSpatialDim} \newcommand{\SpatialDomain}{\Reals^{\SymbolSpatialDim}} \newcommand{\SpatialCoord}{\SymbolSpatialCoord} \newcommand{\SpatialCoordUpper}{\SymbolSpatialCoordUpper} \newcommand{\SpatialCoordVec}{\Vec{\SpatialCoord}} \newcommand{\SpatialCoordVecSet}{\QuantityFunctionOf{\boldsymbol{\Set{\SpatialCoordUpper}}}{#1}} \newcommand{\UsplineBasisFuncSpatial}{\UsplineBasisFuncDetailed{\SpatialCoord}{#1}} \newcommand{\Manifold}{\QuantityRelatedTo{\Set{\SymbolManifold}}{#1}} \newcommand{\Volume}{\QuantityRelatedTo{\Set{\SymbolVolume}}{#1}} \newcommand{\Surface}{\QuantityRelatedTo{\Set{\SymbolSurface}}{#1}} \newcommand{\Curve}{\QuantityRelatedTo{\Set{\SymbolCurve}}{#1}} \newcommand{\Point}{\QuantityRelatedTo{\Set{\SymbolPoint}}{#1}} \newcommand{\ManifoldCAD}{\Manifold{\SymbolCAD}} \newcommand{\ManifoldCADModified}{\Manifold{\SymbolCADModified}} \newcommand{\ManifoldCADEnv}{\SymbolEnvModifier{\ManifoldCAD}} \newcommand{\ManifoldCADModifiedEnv}{\SymbolEnvModifier{\ManifoldCADModified}} \newcommand{\ManifoldPartition}{\Manifold{\Partition{}}} \newcommand{\ManifoldBezier}{\Manifold{\MeshBezier}} \newcommand{\ManifoldUspline}{\Manifold{\MeshUspline}} \newcommand{\ManifoldUsplineEnv}{\SymbolEnvModifier{\ManifoldUspline}} \newcommand{\VolumeEnv}{\SymbolEnvModifier{\Volume{}}} \newcommand{\dVolume}{\Differential[\Volume{}]} \newcommand{\VolumeIndicator}{\SymbolIndicator} \newcommand{\SurfaceEnv}{\SymbolEnvModifier{\Surface{}}} \newcommand{\SurfaceCAD}{\Surface{\SymbolCAD}} \newcommand{\SurfaceCADModified}{\Surface{\SymbolCADModified}} \newcommand{\SurfaceMesh}{\Surface{\Partition{}}} \newcommand{\SurfaceUspline}{\Surface{\MeshUspline}} \newcommand{\SurfaceWildCard}{\Surface{}^{\SymbolWildCard}} \newcommand{\dSurface}{\Differential[\Surface{}]} \newcommand{\CurveCAD}{\Curve{\SymbolCAD}} \newcommand{\CurveCADModified}{\Curve{\SymbolCADModified}} \newcommand{\CurveMesh}{\Curve{\Partition{}}} \newcommand{\CurveUspline}{\Curve{\MeshUspline}} \newcommand{\dCurve}{\Differential[\Curve{}]} \newcommand{\PointCAD}{\Point{\SymbolCAD}} \newcommand{\PointCADModified}{\Point{\SymbolCADModified}} \newcommand{\PointUspline}{\Point{\MeshUspline}} \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{\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{\ManifoldMap}{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldTemporalMap}{\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}{\FuncDef{\ManifoldMap{#1}{#2}}{#1}{#2}} \newcommand{\ManifoldMapInverseDef}{\FuncDef{\Inverse{\ManifoldMap{#1}{#2}}}{#2}{#1}} \newcommand{\ManifoldTemporalMapDef}{\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}{\QCO{#1}{#2}} \newcommand{\ManifoldCoordVecDetailed}{\QCO{#1}{\Vec{#2}}} \newcommand{\ManifoldCoord}{x} \newcommand{\ManifoldCoordVec}{\Vec{x}} \newcommand{\ManifoldPartitionMapCoord}{\ManifoldCoordDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldPartitionMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldPartitionMap}{\ManifoldCoordVec}} \newcommand{\ManifoldCADMapCoord}{\ManifoldCoordDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldCADMap}{\ManifoldCoordVec}} \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{\Segment}{\QuantityChildOf{#1}{\SymbolSegment}} \newcommand{\SegmentOfVolumeEnv}{\Segment{\VolumeEnv}} \newcommand{\Hex}{\Segment{}_{h}} \newcommand{\Tet}{\Segment{}_{t}} \newcommand{\SegmentParamDomain}{\QuantityRelatedTo{\ParamDomain}{#1}} \newcommand{\SegmentParamDomainOfVolumeEnv}{\QuantityRelatedTo{\ParamDomain}{\Segment{\VolumeEnv}}} \newcommand{\SegmentSet}{\QuantityFunctionOf{\SymbolSegmentSet}{#1}} \newcommand{\SegmentSetOutside}{\SegmentSet{}^{\SymbolOutside}} \newcommand{\SegmentSetInside}{\SegmentSet{}^{\SymbolInside}} \newcommand{\SegmentSetHybrid}{\SegmentSet{}^{\SymbolHybrid}} \newcommand{\Partition}{\QuantityFunctionOf{\SymbolPartition}{#1}} \newcommand{\PartitionBezierExtraction}{\QuantityFunctionOf{\SymbolPartition^{B}}{#1}} \newcommand{\PartitionTessellation}{\QuantityFunctionOf{\SymbolPartition^{T}}{#1}} \newcommand{\PartitionTessellationOfUspline}{\PartitionTessellation{\MeshUspline}} \newcommand{\PartitionTessellationMap}{\QuantityRelatedTo{#2}{#1}} \newcommand{\BoundingVolume}{\QuantityFunctionOf{\Set{bv}}{#1}} \newcommand{\BoundingVolumeSet}{\QuantityFunctionOf{\Set{BV}}{#1}} \newcommand{\BoundingVolumeTree}{\QuantityFunctionOf{\Set{BVH}}{#1}} \newcommand{\AxisAlignedBoundingBox}{\QuantityFunctionOf{\Set{AABB}}{#1}} \newcommand{\SimplexMap}{\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}{\SymbolEnvModifier{\QuadraturePoint{#1}{#2}}} \newcommand{\QuadraturePoint}{\SymbolQuadraturePoint_{#1}^{#2}} \newcommand{\QuadraturePointToElemIndexMap}{\operatorname{qe}(#1)} \newcommand{\QuadratureWeightEnv}{\SymbolEnvModifier{\QuadratureWeight{#1}{#2}}} \newcommand{\QuadratureWeight}{\SymbolQuadratureWeight_{#1}^{#2}} \newcommand{\QuadratureSet}{\Set{\SymbolQuadratureSet}} \newcommand{\QuadratureSetInside}{\QuadratureSet^{\SymbolInside}} \newcommand{\QuadratureSetOutside}{\QuadratureSet^{\SymbolOutside}} \newcommand{\QuadratureSubdDepth}{k} \newcommand{\ClosestPointMap}{\QuantityChildOf{#1}{\Vec{\SymbolClosestPointMap}}} \newcommand{\ClosestPointMapCAD}{\ClosestPointMap{\SymbolCAD}} \newcommand{\ClosestPointMapCADModified}{\ClosestPointMap{\SymbolCADModified}} \newcommand{\ProjectionInto}{\QuantityRelatedTo{\SymbolProjection}{#1}} \newcommand{\ProjectionIntoBernsteinCell}{\ProjectionInto{\Cell}} \newcommand{\ProjectionIntoBernsteinElem}{\ProjectionInto{\Elem}} \newcommand{\ProjectionIntoMeshBezier}{\ProjectionInto{\MeshBezier}} \newcommand{\ProjectionIntoMeshUspline}{\ProjectionInto{\MeshUspline}}$$\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}{\ManifoldCoordDetailed{#1}{X}} \newcommand{\RefCoordVec}{\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}{\UsplineBasisFuncDetailed{\CurveRef}{#1}} \newcommand{\UsplineBasisFuncOverSurfaceRefDisp}{\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}{\ManifoldCoordDetailed{#1}{x}} \newcommand{\CurrCoordVec}{\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}{\Grad{\VolumeEnvRefMap}{#1}} \newcommand{\VolumeRefMap}{\ManifoldMap{\ParamDomain}{\VolumeRef}} \newcommand{\GenericGradOverVolumeRefMap}{\Grad{\VolumeRefMap}{#1}} \newcommand{\SurfaceRefDispMap}{\ManifoldMap{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMap}{\ManifoldMap{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\CurveRefMap}{\ManifoldMap{\ParamDomain}{\CurveRef}} \newcommand{\GenericGradOverCurveRefMap}{\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}{\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}{U} \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{\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{\KinematicElast}{#1^e} \newcommand{\KinematicPlast}{#1^p} \newcommand{\DivVolumeEnvRef}{\Div{\VolumeEnvRefCoordVec}{#1}} \newcommand{\DivVolumeEnvCurr}{\Div{\VolumeEnvCurrCoordVec}{#1}} \newcommand{\UnitNormalRefComp}{N} \newcommand{\UnitNormalRefTen}{\Vec{N}} \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{\StressKirchhoffComp}{\tau} \newcommand{\StressKirchhoffTen}{\Mat{\tau}} \newcommand{\StressKirchhoffVoigt}{\tilde{\StressKirchhoffTen}} \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{\MaterialThermalExpansion}{\alpha_{\text{thermal}}} \newcommand{\CrossSectArea}{\SymbolArea} \newcommand{\Length}{\SymbolLength} \newcommand{\PenaltyStiffness}{\SymbolPenalty_{\SymbolStiffness}} \newcommand{\PenaltyDisp}{\SymbolPenalty_{\SymbolDisp}} \newcommand{\BodyForceRefComp}{B} \newcommand{\BodyForceRefTen}{\Vec{\BodyForceRefComp}} \newcommand{\BodyForceCurrComp}{\SymbolBodyForce} \newcommand{\BodyForceCurrTen}{\Vec{\BodyForceCurrComp}} \newcommand{\TracForceRefComp}{H} \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{G}} \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}{\QFO{\Energy}{#1}} \newcommand{\EnergyEnv}{\SymbolEnvModifier{\Energy}} \newcommand{\EnergyInside}{\Energy^{\SymbolInside}} \newcommand{\EnergyOutside}{\Energy^{\SymbolOutside}} \newcommand{\EnergyConstraint}{\Energy^{\LagrangeMultCurrComp}} \newcommand{\EnergyDensityStrain}{\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{\FlexOne}{\mathcal{F}_{1}} \newcommand{\FlexInfty}{\mathcal{F}_{\infty}} \newcommand{\Flex}{\mathcal{F}_{#1}} \newcommand{\FlexIt}{\mathcal{F}} \newcommand{\FlexFEA}{\mathcal{F}_{\bar{0}}} \newcommand{\FlexFEAModified}{\mathcal{F}_{0}} \newcommand{\FlexImmersed}{\mathcal{F}_{\infty}} \newcommand{\FlexSpectrum}{\overleftrightarrow{\mathcal{F}}} \newcommand{\FlexSpectrumId}{i} \newcommand{\TimeStep}{\Delta \SymbolTime} \newcommand{\SpectralRadius}{\rho_{\infty}} \newcommand{\SymbolDisp}{u} \newcommand{\SymbolVelocity}{v} \newcommand{\SymbolAcceleration}{a} \newcommand{\SymbolMass}{M} \newcommand{\SymbolLength}{L} \newcommand{\SymbolArea}{A} \newcommand{\SymbolConstraint}{g} \newcommand{\SymbolPenalty}{\varepsilon} \newcommand{\SymbolLagrangeMultRef}{\Lambda} \newcommand{\SymbolLagrangeMultCurr}{\lambda} \newcommand{\SymbolFict}{f} \newcommand{\SymbolTracForce}{h} \newcommand{\SymbolBodyForce}{b} \newcommand{\SymbolVolumeRef}{V} \newcommand{\SymbolSurfaceRef}{S} \newcommand{\SymbolCurveRef}{C} \newcommand{\SymbolPointRef}{P} \newcommand{\SymbolVolumeCurr}{\SymbolVolume} \newcommand{\SymbolSurfaceCurr}{\SymbolSurface} \newcommand{\SymbolCurveCurr}{\SymbolCurve} \newcommand{\SymbolPointCurr}{\SymbolPoint} \newcommand{\SymbolDeformGrad}{F} \newcommand{\SymbolStrainGreenLagrange}{E} \newcommand{\SymbolDeformCauchyGreenLeft}{b} \newcommand{\SymbolDeformCauchyGreenRight}{C} \newcommand{\SymbolStrainDisp}{B} \newcommand{\SymbolStrainSymGrad}{\epsilon} \newcommand{\SymbolEnergy}{\Pi} \newcommand{\SymbolEnergyDensityStrain}{\Psi} \newcommand{\SymbolResidual}{R} \newcommand{\SymbolForce}{F} \newcommand{\SymbolStiffness}{K} \newcommand{\SymbolSolution}{d}$ Figure 131:

The torus command generates a simple torus

To create a Torus

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

2. Click on the Create action button.

3. Select Torus from the drop-down menu.

4. Enter the desired values for Major Radius and the Minor Radius.

5. Click Apply.

$\newcommand{\QuantityFunctionOf} { % \if\relax\detokenize{#2}\relax % {#1} % \else {#1}(#2) % \fi } \newcommand{\QFO}{\QuantityFunctionOf{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOf} { % \if\relax\detokenize{#3}\relax % {#1}_{#2} % \else {#1}_{#2}(#3) % \fi } \newcommand{\SQFO}{\SubscriptedQuantityFunctionOf{#1}{#2}{#3}} \newcommand{\QuantityChildOf} { % \if\relax\detokenize{#1}\relax % {#2} % \else {#2}^{#1} % \fi } \newcommand{\QCO}{\QuantityChildOf{#1}{#2}} \newcommand{\QuantityRelatedTo} { % \if\relax\detokenize{#2}\relax % {#1} % \else {#1}[#2] % \fi } \newcommand{\QRT}{\QuantityRelatedTo{#1}{#2}} \newcommand{\QuantitySubscriptedBy} { % \if\relax\detokenize{#2}\relax % #1 % \else #1_{#2} % \fi } \newcommand{\QSB}{\QuantitySubscriptedBy{#1}{#2}} \newcommand{\SubscriptedQuantityFunctionOfChildOf} { % \if\relax\detokenize{#4}\relax % #1_{#2}^{#3} % \else #1_{#2}^{#3}(#4) % \fi } \newcommand{\SQFOCO}{\SubscriptedQuantityFunctionOfChildOf{#1}{#2}{#3}{#4}} \newcommand{\overbar}{\mkern 1.5mu\overline{\mkern-1.5mu#1\mkern-1.5mu}\mkern 1.5mu} \newcommand{\bcdot}{\boldsymbol{\cdot}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Logic %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SuchThat}{\, : \,} \newcommand{\DefEq}{\overset{\operatorname{def}}{=}} \newcommand{\True}{\textsf{True}} \newcommand{\False}{\textsf{False}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Arrays, tuples, and sets %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\ArrayRoster}{\left[#1\right]} \newcommand{\ArrayRosterI}{[#1]_{#2}} \newcommand{\ArrayEmpty}{\ArrayRoster{\hspace{1mm}}} \newcommand{\Tuple}{\mathsf{#1}}%was \mathsf \newcommand{\TupleRoster}{\left(#1\right)} \newcommand{\PointPair}{\TupleRoster{#1, #2}} \newcommand{\Set}{\mathsf{#1}}%was \mathsf \newcommand{\SetRoster}{\left\{ #1 \right\}} \newcommand{\SetRosterIndexed}{\SetRoster{#1}_{#2}^{#3}} \newcommand{\SetRosterPredicate}{\SetRoster{#1 \SuchThat #2}} \newcommand{\SetEmpty}{\varnothing} \newcommand{\SetPower}{\QuantityFunctionOf{\boldsymbol{\Set{P}}}{#1}} \newcommand{\SetNeighborhood}{\QuantityFunctionOf{\boldsymbol{\Set{B}}}{#1}} \newcommand{\Domain}{\Omega} \newcommand{\DomainBdry}{\Gamma} \newcommand{\IntervalClosed}{\left[#1, #2\right]} \newcommand{\IntervalOpen}{\left(#1, #2\right)} \newcommand{\IntervalClosedOpen}{\left[#1, #2\right)} \newcommand{\IntervalOpenClosed}{\left(#1, #2\right]} % special \newcommand{\Reals}{\mathbb{R}} \newcommand{\Naturals}{\mathbb{N}} \newcommand{\Integers}{\mathbb{Z}} \newcommand{\Field}{\mathbb{F}} % properties \newcommand{\Size}{\left\lvert #1 \right\rvert} \newcommand{\Union}{\bigcup\limits_{#1}^{#2} #3} \newcommand{\UnionInline}{\bigcup_{#1}^{#2} #3} \newcommand{\Intersect}{\bigcap\limits_{#1}^{#2} #3} \newcommand{\ElementWiseGreaterOrEqual}{\succeq} \newcommand{\ElemntWiseGreater}{\succ} \newcommand{\ElementWiseLessOrEqual}{\preceq} \newcommand{\ElementWiseLess}{\prec} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Infinite dimensional spaces %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SpaceLinear}{\mathnormal{#1}} \newcommand{\SpaceDual}{\SpaceLinear{#1}^*} % normed spaces \newcommand{\AbsoluteValue}{\Size{#1}} \newcommand{\Norm}{\left\lVert #2 \right\rVert_{#1}} \newcommand{\NormAbstract}{\Norm{}{#1}} \newcommand{\NormSemi}{\Size{#1}} \newcommand{\SpaceLinearNormed}{\left(\SpaceLinear{#1}, \NormAbstract{\bcdot} \right)} \newcommand{\SpaceBanach}{\mathfrak{#1}} % normed and complete % inner product spaces \newcommand{\SymmetricBilinear}{\left(#1, #2\right)} \newcommand{\InnerProduct}{\left\langle#1, #2\right\rangle} \newcommand{\SpaceInnerProduct}{\left(\SpaceLinear{#1}, \InnerProduct{\bcdot}{\bcdot}\right)} \newcommand{\SpaceHilbert}{\mathcal{#1}} \newcommand{\SpaceLTwo}{\SpaceHilbert{L}_2} \newcommand{\SpaceLTwoDef}{\SpaceLTwo\left(#1; #2\right)} \newcommand{\SpaceLInfty}{\SpaceHilbert{L}_\infty} \newcommand{\SpaceLTwoWeighted}{\SpaceLTwo^w} \newcommand{\SpaceSobolevK}{\SpaceHilbert{H}^{#1}} \newcommand{\SpaceSobolevKDef}{\SpaceSobolevK{1}\left(#2 ; #3\right)} % differentiable spaces \newcommand{\Cont}{\operatorname{cont}} \newcommand{\SpaceCont}{\SpaceHilbert{C}} \newcommand{\SpaceContDef}{\SpaceCont\left(#1 ; #2\right)} \newcommand{\SpaceContK}{\SpaceCont^{#1}} \newcommand{\SpaceContKDef}{\SpaceContK{#1}\left(#2; #3\right)} \newcommand{\SpaceContZero}{\SpaceContK{0}} \newcommand{\SpaceContInf}{\SpaceContK{\infty}} \newcommand{\SpaceContInfDef}{\SpaceContKDef{\infty}{#1}{#2}} \newcommand{\SpaceContKBounded}{\SpaceContK{#1}_{#2}} \newcommand{\SpaceContKBoundedDef}{\SpaceCont_{b}^{#1}\left(#2 ; #3\right)} % linear operator spaces \newcommand{\SpaceLinearOperator}{\mathscr{#1}} \newcommand{\SpaceLinearOperatorDef}{\SpaceLinearOperator{L}\left(#1 ; #2\right)} \newcommand{\SpaceLinearOperatorBoundedDef}{\SpaceLinearOperator{B}\left(#1 ; #2\right)} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Finite dimensional spaces %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\SpaceLinearN}{\SpaceLinear{#1}^h} \newcommand{\SpaceHilbertN}{\SpaceHilbert{#1}^h} \newcommand{\SpaceVecRealN}{\Reals^{#1}} \newcommand{\SpacePoly}{\SpaceHilbert{P}^{#1}} \newcommand{\SpaceMatrixRealMN}{\Reals^{#1\times#2}} \newcommand{\SpacePolyDef}{\SpacePoly{#1}\left(#2 ; #3\right)} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Functions, vectors, and linear operators %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\Func}[f]{#1} \newcommand{\FuncAlt}[g]{#1} \newcommand{\FuncDef}{#1 \SuchThat #2 \rightarrow #3} \newcommand{\FuncApprox}{#1^h} \newcommand{\LinearOperator}{\SpaceLinearOperator{#1}} \newcommand{\LinearOperatorDef}{\FuncDef{#1}{#2}{#3}} \newcommand{\Functional}{\LinearOperator{#1}} \newcommand{\Projection}{\Pi} \newcommand{\VectorProjection}{\Projection_{#1} {\left(#2\right)}} \newcommand{\Mat}{\boldsymbol{#1}} \newcommand{\MatIJ}{\left[#1\right]_{#2#3}} \newcommand{\MatIdRow}{m} \newcommand{\MatIdCol}{n} \newcommand{\Identity}{\Mat{I}} \newcommand{\KroneckerDelta}{\Mat{\delta}} \newcommand{\LeviCivita}{\Mat{\epsilon}} \newcommand{\Jacobian}{\Mat{J}} \renewcommand{\Vec}{\boldsymbol{#1}} \newcommand{\VecChildOf}{\QCO{#2}{#1}} \newcommand{\VecI}{\{#1\}_{#2}} \newcommand{\ZeroVec}{\Vec{0}} \newcommand{\OneVec}{\Vec{1}} \newcommand{\ZeroMat}{\Mat{0}} \newcommand{\UnitNormalComp}{n} \newcommand{\UnitNormal}{\Vec{\UnitNormalComp}} % rename to UnitNormalTen \newcommand{\MacBracket}{\langle#1\rangle} \newcommand{\HeavisideFunc}{\mathit{H}\left(#1\right)} \newcommand{\DiracDelta}{\delta_{D}\left(#1 - #2\right)} \newcommand{\IdentityTenSym}{\mathbb{I}} \newcommand{\BraKet}{\langle#1\rangle} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Lagrange Optimization %%%%%%%%%%%%%%%%%%%%%%%%%%%% %\newcommand{\Min}{\min\limits_{#1}} %\newcommand{\Max}{\max\limits_{#1}} \newcommand{\FuncObjective}{\QFO{\Func}{#1}} \newcommand{\FuncEqualityConstraints}{\QFO{\Func[\Vec{g}]}{#1}} \newcommand{\VarDesign}{\Vec{\phi}} \newcommand{\VarState}{\QFO{\Vec{u}}{#1}} \newcommand{\FuncLagrangian}{\QFO{\mathscr{L}}{#1}} \newcommand{\FuncAugmentedLagrangian}{\QFO{\mathscr{L}_A}{#1}} \newcommand{\VecLambdaLM}{\QFO{\Vec{\lambda}}{#1}} \newcommand{\LambdaLM}{\QFO{\lambda}{#1}} \newcommand{\SolutionLocalOpt}{\left(#1\right)^*} \newcommand{\ProximalPoint}{\overbar{\VecLambdaLM{}}} \newcommand{\PenaltyParameter}{\rho} \newcommand{\Slacify}{\QSB{#1}{s}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Linear algebra %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\Prod}{\prod\limits_{#1}^{#2}} \newcommand{\ProdInline}{\prod_{#1}^{#2}} \newcommand{\TensorProduct}{\otimes} \newcommand{\Sum} { % COMMENTED OUT FOLLOWING PREVIOUS INSTANCES % \if\relax\detokenize{#2}\relax % \sum\limits_{#1} % \else \sum\limits_{#1}^{#2} % COMMENTED OUT FOLLOWING PREVIOUS INSTANCES % \fi } \newcommand{\SumInline}{\sum_{#1}^{#2}} \newcommand{\Rank}{\operatorname{rank}(#1)} \newcommand{\Nullity}{\operatorname{null}(#1)} \newcommand{\Image}{\operatorname{image}} \newcommand{\Range}{\operatorname{range}} \newcommand{\Inverse}{\left(#1\right)^{-1}} \newcommand{\inverse}{\overline{#1}} % clean up \newcommand{\Transpose}{\left(#1\right)^{T}} \newcommand{\InvTrans}{\left(#1\right)^{-T}} \newcommand{\Complement}{\overbar{#1}} \newcommand{\Adjoint}{\left(#1\right)^*} \newcommand{\OrthogonalComplement}{\left(#1\right)^\perp} \newcommand{\Det}{\QFO{\operatorname{det}}{#1}} \newcommand{\DCT}{\operatorname{DCT}} \newcommand{\IDCT}{\operatorname{IDCT}} \newcommand{\RealPart}{\QFO{\mathfrak{R}}{#1}} \newcommand{\Trace}{\QFO{\operatorname{tr}}{#1}} \newcommand{\Dev}{\QFO{\operatorname{dev}}{#1}} \newcommand{\DevDef}{\Dev{#1} \DefEq #1 - \frac{1}{3}\Trace{#1}\Identity} \newcommand{\dual}{{\bar{#1}}} \newcommand{\symind}{{\uppercase{#1}}} \newcommand{\symmetrizer}{{S}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Bases %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\BasisFuncCoeff}{\QSB{#1}{#2}} \newcommand{\BasisVec}{\QSB{#1}{#2}} \newcommand{\BasisVecChildOf}{\SQFOCO{#1}{#2}{#3}{}} \newcommand{\OrthogonalBasisVec}{\SQFOCO{#1}{#2}{\perp}{}} \newcommand{\OrthonormalBasisVec}{\overbar{\OrthogonalBasisVec{#1}{#2}}} \newcommand{\PolynomialDegree}{p} \newcommand{\BasisFuncId}{i} \newcommand{\BasisFuncIdAlt}{j} \newcommand{\BasisFuncIdAltAlt}{k} \newcommand{\BasisFunc}{\SQFO{#1}{#2}{#3}} \newcommand{\PowerBasisFunc}{\QCO{#2}{#1}} \newcommand{\LegendreBasisFunc}{\SQFO{\Func[P]}{#1}{#2}} \newcommand{\PreNormalizedLegendreBasisFunc}{\hat{\LegendreBasisFunc{#1}{#2}}} \newcommand{\ChebyshevBasisFunc}{\SQFO{\Func[T]}{#1}{#2}} \newcommand{\ChebyshevZeros}{\QSB{z}{#1}} \newcommand{\ChebyshevExtremizers}{\QSB{t}{#1}} \newcommand{\BernToChebMat}{\Mat{T}} \newcommand{\Chebfun}{\biggl(\, \sum_{#2=0}^{#1}{#3}_{#2}\ChebyshevBasisFunc{#2}{}\biggr)} \newcommand{\ChebfunVector}{\left[#1\right]_c} \newcommand{\LagrangeBasisFunc}{\SQFOCO{\Func[L]}{#1}{#2}{#3}} % properties \newcommand{\Span}{\operatorname{span}} \newcommand{\Dim}{\operatorname{dim}} \newcommand{\Support}{\operatorname{supp}(#1)} \newcommand{\SupportPos}{\operatorname{supp}_{+}(#1)} % operations \newcommand{\SumBasis}{\Sum{#1}{#2}{#3}_{#1}{#4}_{#1}} \newcommand{\SumInlineBasis}{\SumInline{#1}{#2}{#3}_{#1}{#4}_{#1}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Calculus %%%%%%%%%%%%%%%%%%%%%%%%%%%% % limits \newcommand{\EvaluateTwoLimits}{#1\biggr\rvert_{#2}^{#3}} \newcommand{\EvaluateOneLimit}{\left.#1\right\rvert_{#2}} \newcommand{\Limit}{\lim\limits_{#1\rightarrow #2}} \newcommand{\LimitInline}{\lim_{#1\rightarrow #2}} \newcommand{\DNE}{\operatorname{DNE}} % differentiation \newcommand{\LagrangeDeriv}{{#1}'} \newcommand{\KthLagrangeDeriv}{{#1}^{(#2)}} \newcommand{\LeibnizSubDeriv}{{#1}_{,#2}} \newcommand{\LeibnizFracDeriv}{\frac{d}{d#2}{#1}} \newcommand{\KthLeibnizFracDeriv}{\frac{d^{#2}}{d#3^{#2}}\Func[#1](#3)} \newcommand{\KthLeibnizFracSpecificFunction}{\frac{d^{#2}}{d#3^{#2}}\Func[#1]} \newcommand{\Differential}[x]{\, \operatorname{d}{#1}} \newcommand{\FrechetDeriv}{D{#1}\left(#2\right)} \newcommand{\GateauxDirectionBold}{\Vec{\delta}#1} \newcommand{\GateauxDirection}{\delta #1} \newcommand{\GateauxDerivBold}{D#1(#2; \GateauxDirectionBold{#2})} \newcommand{\GateauxDeriv}{D#1(#2; \GateauxDirection{#2})} \newcommand{\GateauxDerivWithDirection}{D#1\left(#2 \ ;\ #3\right)} \newcommand{\GateauxDerivPartial}{\frac{\partial #1}{\partial #2}} \newcommand{\KthGateauxDerivPartial}{\frac{\partial^{#3} #1}{\partial #2^{#3}}} \newcommand{\Grad}{\boldsymbol{\nabla}^{#1} #2} \newcommand{\Jac}{\Mat{J}} \newcommand{\Div}{\boldsymbol{\nabla}^{#1} \bcdot #2} \newcommand{\Laplace}{\boldsymbol{\Delta}^{#1} #2} \newcommand{\TaylorSeries}{\mathcal{T}\left[\Func[#1]\right](#2)} \newcommand{\TruncatedTaylorSeries}{\mathcal{T}_{#1}\left[\Func[#2]\right]\left(#3\right)} % integration \newcommand{\Int}{\int\limits_{#1}^{#2}} \newcommand{\IntDomain}{\int\limits_{#1}} \newcommand{\IntInline}{\int_{#1}^{#2}} \newcommand{\IntDomainInline}{\int_{#1}} \newcommand{\DetJacobian}{\Det{\Jac}} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Numerical Analysis %%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\BigO}{\mathcal{O}\left(#1\right)} \newcommand{\Flops}{\operatorname{flops}} \newcommand{\Interpolant}{\mathcal{#1}^{h}} \newcommand{\ErrorApproxComp}{e} \newcommand{\ErrorApproxTen}{\Vec{\ErrorApproxComp}} \newcommand{\ErrorNewton}{\epsilon} % clean up \newcommand{\ApproximateIntegrationError}{\tilde{e}_{#1}} \newcommand{\AnalyticApproximateIntegrationErrorDifference}{\overbar{e}_{#1}}$$\newcommand{\GlosOne}{a} \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{\NumUsplineBasisFuncsOnMeshBezier}{\Size{\UsplineBasisFuncSetOnMeshBezier}} \newcommand{\NumUsplineBasisFuncsOnMeshUspline}{\Size{\UsplineBasisFuncSetOnMeshUspline}} \newcommand{\NumUsplineBasisFuncsOnElem}{\Size{\UsplineBasisFuncSet{\Elem}}} \newcommand{\NumBernsteinBasisFuncsOnMeshBezier}{\Size{\IndexSetOnMeshBezier}} \newcommand{\NumBernsteinBasisFuncsOnElem}{\Size{\IndexSet{\Elem}}} \newcommand{\NumElemsInMeshBezier}{\Size{\CellSet{\ParamDim}}} \newcommand{\ParentDomain}{\SymbolParentModifier{\SymbolDomain}} \newcommand{\ParentDomainChart}{\SymbolParentModifier{\Vec{\phi}}} \newcommand{\ParentDomainChartDetailed}{\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}{\ParentCoord_{#1}} \newcommand{\ParentGrevillePoint}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParentModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParentGrevillePointSet}{\QuantityFunctionOf{\Set{\SymbolParentModifier{G}}}{#1}} \newcommand{\BernsteinBasisFuncCoeff}{\SymbolArbitraryCoeffBernstein} \newcommand{\BernsteinBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffBernstein}}}{\MeshBezier}} \newcommand{\BernsteinBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffBernstein}}{\MeshBezier}} \newcommand{\BernFuncLowerDimCell}{\BernsteinBasisFunc^{#1}_{#2}} \newcommand{\BernFuncInterf}{\BernFuncLowerDimCell{\Interface}{#1}} \newcommand{\UsplineBasisFuncCoeff}{\SymbolArbitraryCoeffUspline} \newcommand{\UsplineBasisFuncCoeffAlt}{\SymbolArbitraryCoeffUsplineAlt} \newcommand{\UsplineBasisFuncCoeffsSet}{\QuantityRelatedTo{\boldsymbol{\Set{\SymbolArbitraryCoeffUspline}}}{\MeshUspline}} \newcommand{\UsplineBasisFuncCoeffsVec}{\QuantityRelatedTo{\Vec{\SymbolArbitraryCoeffUspline}}{\MeshUspline}} \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{\ii}{\IndexOnCell{}{\BernsteinBasisFuncIndexTuple}} \newcommand{\jj}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAlt}} \newcommand{\kk}{\IndexOnCell{}{\BernsteinBasisFuncIndexTupleAltAlt}} \newcommand{\BernsteinBasisFuncIndexTupleB}{\Set{\BernsteinBasisFuncIdB}} \newcommand{\BernsteinDegree}{\PolynomialDegree} \newcommand{\BernsteinDegreeAlt}{q} \newcommand{\BernsteinDegreeTuple}{\Tuple{\BernsteinDegree}} \newcommand{\BernsteinDegreeElevMatComp}{D} \newcommand{\BernsteinDegreeElevMat}{\Mat{\BernsteinDegreeElevMatComp}} \newcommand{\CompletePolynomial}{\AbsoluteValue{#1}} \newcommand{\BernsteinBasisFunc}{\SymbolBernstein} \newcommand{\BernsteinBasisFuncVec}{\QuantityFunctionOf{\QuantityChildOf{#1}{\Vec{\SymbolBernstein}}}{#2}} \newcommand{\BernsteinBasisFuncDetailed}{\BernsteinBasisFunc_{#1}^{#2}} \newcommand{\BernsteinSpace}{\SpaceHilbert{\SymbolBernstein}} \newcommand{\BernsteinRestriction}{#1\vert_{#2}} \newcommand{\Bezier}{B\'ezier } \newcommand{\MeshTopo}{\boldsymbol{\textsf{M}}}%changed from mathsf \newcommand{\MeshBezier}{\boldsymbol{\textsf{B}}}%changed from mathsf \newcommand{\CellArbitrary}{\Set{#1}} \newcommand{\Cell}{\CellArbitrary{c}} % k-cell \newcommand{\CellAlpha}{\CellArbitrary{a}} \newcommand{\CellBeta}{\CellArbitrary{b}} \newcommand{\CellGamma}{\CellArbitrary{c}} \newcommand{\CellToTheLeft}{\CellAlpha} \newcommand{\CellToTheRight}{\CellBeta} \newcommand{\CellBoundary}{\partial #1} \newcommand{\CellSet}{\Set{C}^{#1}} \newcommand{\CellSetAdjacent}{\QuantityFunctionOf{\Set{ADJ}^{#1}}{#2}} \newcommand{\CellSetCardinal}{\QuantityFunctionOf{\Set{CRD}}{#1}} \newcommand{\CellSetSupport}{\Support{#1}} \newcommand{\Elem}{\Set{E}} % d-cell \newcommand{\Interface}{\Set{I}} % (d-1)-cell \newcommand{\Smoothness}{\vartheta} \newcommand{\SmoothnessVar}{\rho} \newcommand{\SmoothnessSet}{\Set{\Smoothness}} \newcommand{\InterfaceSmoothness}{\QuantityChildOf{#1}{\Smoothness}} \newcommand{\MaxPerpCont}{\QuantityFunctionOf{\Smoothness^{\perp}_{\max}}{#1}} \newcommand{\Face}{\Set{f}} % 2-cell \newcommand{\Edge}{\Set{e}} % 1-cell \newcommand{\Vertex}{\Set{v}} % 0-cell \newcommand{\CodimTwoCell}{\Set{w}} % (d-2)-cell \newcommand{\KCell}{\Cell^\ArbDim} \newcommand{\KPlusOneCell}{\Cell^{\ArbDim+1}} \newcommand{\KCellAlpha}{\CellAlpha^\ArbDim} \newcommand{\KPlusOneCellBeta}{\CellBeta^{\ArbDim+1}} \newcommand{\KPlusOneCellAdjacentIndexedSubmeshDomain}{\QuantityChildOf{\CellAlpha\CellBeta}{\SubmeshDomain}} \newcommand{\MaxParallelDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\max}}{#1}} \newcommand{\MinParallelDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel}_{\min}}{#1}} \newcommand{\MaxPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\max}}{#1}} \newcommand{\MinPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\perp}_{\min}}{#1}} \newcommand{\MinParallelPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\min}}{#1,#2}} \newcommand{\MaxParallelPerpDegree}{\QuantityFunctionOf{\BernsteinDegree^{\parallel,\perp}_{\max}}{#1,#2}} \newcommand{\DegreeParallel}{\BernsteinDegree^{\parallel}} \newcommand{\DegreeParallelToEdge}{\DegreeParallel_{#1}(#2)} \newcommand{\DegreePerp}{\BernsteinDegree^{\perp}} \newcommand{\DegreePerpToInterface}{\DegreePerp_{#1}(#2)} \newcommand{\DegreeTupleParallelToKCell}{\Tuple{\BernsteinDegree}^{\parallel}_{#1}(#2)} \newcommand{\ChangeInDegree}{\Delta(\BernsteinDegree)_{#1}^{#2}} \newcommand{\IndexSet}{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\CompositeBVUnionIndexSet}{\QuantityFunctionOf{\Set{UID}}{#1}} \newcommand{\IndexSetPosCoeffs}{\QuantityFunctionOf{\Set{ID}}{#1}} \newcommand{\IndexSetSet}{\QuantityFunctionOf{\boldsymbol{\IndexSet{}}}{#1}} \newcommand{\IndexSetOnMeshBezier}{\IndexSet{\MeshBezier}} \newcommand{\IndexOnCell}{\QuantityChildOf{#1}{#2}} \newcommand{\IndexOnCellIJ}{\QuantityChildOf{#1}{\TupleRoster{#2,#3}}} \newcommand{\CellFromQuantity}{\QuantityFunctionOf{\operatorname{cell}}{#1}} \newcommand{\ExtractionOp}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{C}}{#2}}} \newcommand{\ExtractionOpSimple}{\QuantityFunctionOf{\Mat{C}}{#1}} \newcommand{\ReconstructOp}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{R}}{#2}}} \newcommand{\ReconstructOpSimple}{\QuantityFunctionOf{\Mat{R}}{#1}} \newcommand{\Gramian}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Mat{G}}{#2}}} \newcommand{\GramianSimple}{\QuantityFunctionOf{\Mat{G}}{#1}} \newcommand{\BernsteinSpaceOnMeshBezier}{\QCO{\MeshBezier}{\BernsteinSpace}} \newcommand{\BernsteinTraceMappingMat}{\Mat{M}} \newcommand{\ParamDomain}{\SymbolParamModifier{\SymbolDomain}} \newcommand{\ParamDomainOnCell}{\QuantityChildOf{\Cell}{\ParamDomain}} \newcommand{\ParamDomainBdry}{\SymbolParamModifier{\SymbolDomainBdry}} \newcommand{\ParamDomainChart}{\QuantityFunctionOf{\Vec{\phi}^{#1}}{#2}} \newcommand{\ParamDim}{\SymbolDim} \newcommand{\ParamCoordSimple}{s} \newcommand{\ParamCoord}{\QCO{#1}{s}} \newcommand{\ParamCoordVecSimple}{\Vec{s}} \newcommand{\ParamCoordVec}{\QCO{#1}{\Vec{\ParamCoord{}}}} \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}{\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{\NormalParamCoordSet}{\QuantityFunctionOf{\ParamCoordVecSimple^{\perp}_{#1}}{#2}} \newcommand{\ParallelParamCoordSet}{\QuantityFunctionOf{\ParamCoordVecSimple^{\parallel}_{#1}}{#2}} \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}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolParamModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\ParamGrevillePointSet}{\QuantityFunctionOf{\Set{\SymbolParamModifier{G}}}{#1}} \newcommand{\ParamDomainOnMeshBezier}{\QuantityChildOf{\MeshBezier}{\ParamDomain}} \newcommand{\ParamDomainOnMeshUspline}{\QuantityChildOf{\MeshUspline}{\ParamDomain}} \newcommand{\Submesh}{\boldsymbol{\mathsf{K}}}%changed from mathsf \newcommand{\SubmeshDomain}{\SymbolSubmeshModifier{\SymbolDomain}} \newcommand{\SubmeshDomainChart}{\QuantityFunctionOf{\Vec{\varphi}^{#1}}{#2}} \newcommand{\SubmeshDomainParameter}{\mathsf{\alpha}}%changed from mathsf \newcommand{\SubmeshDomainParameterVec}{\Vec{\SubmeshDomainParameter}} \newcommand{\SubmeshGrevillePoint}{\QuantityChildOf{#1}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}{#2}}} \newcommand{\SubmeshGrevillePointSimple}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{\SymbolGrevillePoint}}}{#1}} \newcommand{\SubmeshGrevilleMaxPoint}{\QuantityChildOf{#1}{\Set{\SymbolGrevillePoint}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSimple}{\Set{\SymbolGrevillePoint}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSet}{\QuantityChildOf{#1}{\Set{G}}_{\max}} \newcommand{\SubmeshGrevilleMaxPointSetSimple}{\Set{G}_{\max}} \newcommand{\SubmeshGrevilleMinPointSet}{\QuantityChildOf{#1}{\Set{G}}_{\min}} \newcommand{\SubmeshGrevilleMinPointSetSimple}{\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}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{G}}}{#1}} \newcommand{\SubmeshGrevillePointSetLeft}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GA}}}{#1}} \newcommand{\SubmeshGrevillePointSetRight}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GB}}}{#1}} \newcommand{\SubmeshGrevillePointSetElement}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GE}}_{#1}}{#2}} \newcommand{\SubmeshGrevillePointSetIntersect}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GI}}}{#1}} \newcommand{\SubmeshGrevillePointSetUnion}{\QuantityFunctionOf{\Set{\SymbolSubmeshModifier{GU}}}{#1}} \newcommand{\SubmeshGrevillePointSetSet}{\QuantityFunctionOf{\boldsymbol{\SubmeshGrevillePointSet{}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetLeft}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GA}}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetRight}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GB}}}}{#1}} \newcommand{\SubmeshGrevillePointSetSetElement}{\QuantityFunctionOf{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1}}{#2}} \newcommand{\SubmeshGrevilleDifferenceVectorsSetLeft}{\Delta\SubmeshGrevilleMaxPointSetLeft} \newcommand{\SubmeshGrevilleDifferenceVectorsSetRight}{\Delta\SubmeshGrevilleMaxPointSetRight} \newcommand{\SubmeshGrevilleDifferenceVector}{\Delta\SubmeshGrevilleMaxPoint{\GlosOne}} \newcommand{\SubmeshGrevilleDifferenceVectorLeft}{\Delta\SubmeshGrevilleMaxPointLeft} \newcommand{\SubmeshGrevilleDifferenceVectorRight}{\Delta\SubmeshGrevilleMaxPointRight} \newcommand{\SubmeshGrevilleDifferenceVectorsSet}{\Delta \SubmeshGrevillePointSet{\GlosOne}} \newcommand{\SubmeshGrevilleDistanceToCell}{\QuantityFunctionOf{\SymbolDistance}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCell}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMin}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\min}}{#1, #2}} \newcommand{\SubmeshPerpIndexDistanceToCellMax}{\QuantityFunctionOf{\operatorname{id}\SymbolDistance^\perp_{\max}}{#1, #2}} \newcommand{\SubmeshPerpProjection}{\QuantityFunctionOf{\Projection^{\perp}_{#1}}{#2}} \newcommand{\SubmeshParallelProjection}{\QuantityFunctionOf{\Projection^{\parallel}_{#1}}{#2}} \newcommand{\SubmeshStarProjection}{\QuantityFunctionOf{\Projection^{*}_{#1}}{#2}} \newcommand{\SubmeshPerpEquivalence}{\QuantityFunctionOf{\varpi^{\perp}_{#1}}{#2}} \newcommand{\SubmeshParallelEquivalence}{\QuantityFunctionOf{\varpi^{\parallel}_{#1}}{#2}} \newcommand{\SubmeshStarEquivalence}{\QuantityFunctionOf{\varpi^{*}_{#1}}{#2}} \newcommand{\AlignedSet}{{\boldsymbol{\textsf{Align}}}}%changed from mathsf \newcommand{\AlignedSetSet}{{\boldsymbol{\textsf{ALIGN}}}}%changed from mathsf \newcommand{\AlignmentSetOfSetsLeft}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetOfSetsRight}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \SubmeshGrevillePoint{\Interface}{}}^{\parallel}} \newcommand{\AlignmentSetForInterfaceGrevillePoint}{\AlignedSet_{\SubmeshGrevillePoint{\Interface}{}}} \newcommand{\IndexSetOfNonZeroEntriesInMapMatOnRow}{\QuantityFunctionOf{\Set{NZ}_{#1}}{#2}} \newcommand{\AlignmentSetOfSetsOnLowerDCell}{\boldsymbol{\SymbolSubmeshModifier{\Set{GE}}}_{#1,#2}^{\parallel}} \newcommand{\AlignmentSetOfSetsLeftThreeD}{\SubmeshGrevillePointSetSetLeft{}_{\Interface, \ii}^{\parallel}} \newcommand{\AlignmentSetOfSetsRightThreeD}{\SubmeshGrevillePointSetSetRight{}_{\Interface, \ii}^{\parallel}} \newcommand{\MeshUspline}{\boldsymbol{\textsf{\SymbolUspline}}}%changed from mathsf \newcommand{\SetNeighborhoodOfInteraction}{\QuantityFunctionOf{\textsf{NI}}{#1}}%changed from mathsf \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}}%changed from mathsf \newcommand{\RayTailEdge}{\Edge} \newcommand{\RayTailVertexMaxContinuity}{\Smoothness_{#1}^{\max}} \newcommand{\RayTailEdgeMinDegree}{\BernsteinDegree_{#1}^{\min}} \newcommand{\RaySkeleton}{\operatorname{skel}(#1)} \newcommand{\RaySmoothness}{\Smoothness_{#1}^{#2}} \newcommand{\RayDegree}{\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}{\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}}%changed from mathsf \newcommand{\RibbonTailInterf}{\Interface} \newcommand{\RibbonTailCodimTwoCellMaxContinuity}{\Smoothness_{#1}^{\max}} \newcommand{\RibbonTailInterfMinDegree}{\BernsteinDegree_{#1}^{\min}} \newcommand{\RibbonSkeleton}{\operatorname{skel}(#1)} \newcommand{\RibbonSmoothness}{\Smoothness_{#1}^{#2}} \newcommand{\RibbonDegree}{\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}{\RibbonAlgBernIndexVariable_{#1}} \newcommand{\UsplineSpace}{\SpaceHilbert{\SymbolUspline}} \newcommand{\UsplineBasisFunc}{\SymbolBasisUspline} \newcommand{\UsplineBasisFuncDetailed}{\UsplineBasisFunc^{#1}_{#2}} \newcommand{\UsplineBasisFuncSet}{\QuantityFunctionOf{\Set{UF}}{#1}} \newcommand{\UsplineBasisFuncVec}{\QuantityFunctionOf{\QuantityChildOf{#1}{\Vec{\SymbolBasisUspline}}}{#2}} \newcommand{\UsplineBasisFuncSetOnMeshBezier}{\QuantityFunctionOf{\Set{UF}}{\MeshBezier}} \newcommand{\UsplineBasisFuncSetOnMeshUspline}{\QuantityFunctionOf{\Set{UF}}{\MeshUspline}} \newcommand{\UsplineBasisFuncSetSupport}{\Support{\UsplineBasisFuncSet{#1}}} \newcommand{\UsplineBasisFuncId}{A} \newcommand{\UsplineBasisFuncIdAlt}{B} \newcommand{\UsplineBasisFuncIdLocal}{a} \newcommand{\UsplineBasisFuncIdOne}{\UsplineBasisFuncId_0} \newcommand{\UsplineBasisFuncIdTwo}{\UsplineBasisFuncId_1} \newcommand{\UsplineBasisFuncNormalized}{\bar{\SymbolBasisUspline}} \newcommand{\UsplineBasisFuncParam}{\UsplineBasisFuncDetailed{\MeshBezier}{#1}} \newcommand{\UsplineDegree}{q} \newcommand{\UsplineNullVectorCoeff}{\SymbolUsplineLower}%{\MakeLowercase} \newcommand{\UsplineNullVector}{\Vec{\UsplineNullVectorCoeff}} \newcommand{\UsplineNullVectorIds}{\Set{id}} \newcommand{\UsplineNullVectorSet}{\boldsymbol{\textsf{UV}}}%changed from mathsf \newcommand{\UsplineNullVectorSetOfIndexSets}{\boldsymbol{\textsf{UI}}}%changed from mathsf \newcommand{\UsplineNullVectorSetOnMeshBezier}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshBezier}} \newcommand{\UsplineNullVectorSetOnMeshUspline}{\QuantityFunctionOf{\UsplineNullVectorSet}{\MeshUspline}} \newcommand{\UsplineSpaceOnMeshUspline}{\QCO{\MeshUspline}{\UsplineSpace}} \newcommand{\UsplineCellToGlobalBasisFuncIndexMap}{\operatorname{ucg}(#1)} \newcommand{\UsplineCellToGlobalBasisFuncIndexMapDef}{\FuncDef{\operatorname{ucg}}{\MeshBezier\times\Integers}{\Integers}} \newcommand{\ContiguousIndexMap}{\QuantityFunctionOf{i_{#1}}} \newcommand{\Constraint}{R} %\newcommand{\ConstraintCoeff}{\MakeLowercase{\Constraint}} \newcommand{\ConstraintCoeff}{r} \newcommand{\ConstraintCoeffsSet}{\boldsymbol{\Set{\ConstraintCoeff}}} \newcommand{\ConstraintCoeffsVec}{\Vec{\ConstraintCoeff}} \newcommand{\ConstraintSet}{\QuantityFunctionOf{\Set{\Constraint}}{#1}} \newcommand{\ConstraintSetOnMeshBezier}{\ConstraintSet{\MeshBezier}} \newcommand{\ConstraintMat}{\QuantityFunctionOf{\Mat{\Constraint}}{#1}} \newcommand{\ConstraintMatOnMeshBezier}{\ConstraintMat{\MeshBezier}} \newcommand{\SparsestPossibleBasisOnCell}{\QFO{\Set{N}}{#1}} \newcommand{\NullVectorCoeff}{#1} \newcommand{\NullVector}{\QuantityFunctionOf{\Vec{v}}{#1}} \newcommand{\NullVectorArbitrary}{\QuantityFunctionOf{\Vec{#1}}{#2}} \newcommand{\KCellNullVectorForCellAlpha}{\NullVectorArbitrary{n}{}_{\KCellAlpha}} \newcommand{\KPlusOneCellNullVectorForCellBeta}{\NullVectorArbitrary{n}{}_{\KPlusOneCellBeta}} \newcommand{\NullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}}%changed from mathsf \newcommand{\CompositeNullVectorSet}{\NullVectorSet{#1}^{\prime\prime}} \newcommand{\SimpleNullVectorSet}{\NullVectorSet{#1}^{\prime}} \newcommand{\InterfaceNullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}}{#1}}%changed from mathsf \newcommand{\InterfaceNullVectorAlignedSubset}{\QuantityFunctionOf{\boldsymbol{\textsf{IBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorSetOfIndexSets}{\QuantityFunctionOf{\boldsymbol{\textsf{BI}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetGrevilleSets}{\QuantityFunctionOf{\boldsymbol{\textsf{BG}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetOnMeshBezier}{\NullVectorSet{\MeshBezier}} \newcommand{\NullVectorSetSubordinateToNullVector}{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}}{#1}}%changed from mathsf \newcommand{\NullVectorSetSubordinateToNullVectorOnCell}{\QuantityFunctionOf{\boldsymbol{\textsf{SBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorSetOnBdryOfNullVector}{\QuantityFunctionOf{\boldsymbol{\textsf{BD}}_{#1}}{#2}}%changed from mathsf \newcommand{\NullVectorEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBV}}}{#1}}%changed from mathsf \newcommand{\NullVectorIndexEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBI}}}{#1}}%changed from mathsf \newcommand{\NullVectorGrevilleEquivClass}{\QuantityFunctionOf{\boldsymbol{\textsf{EBG}}}{#1}}%changed from mathsf \newcommand{\NullVectorExpansionSet}{\QuantityFunctionOf{\boldsymbol{\textsf{XBV}}}{#1,#2}}%changed from mathsf \newcommand{\NullSpaceOperatorForm}{\QuantityFunctionOf{\SpaceHilbert{N}}{#1}} \newcommand{\NullSpaceOperatorFormOnMeshBezier}{\NullSpaceOperatorForm{\MeshBezier}} \newcommand{\NullSpaceVectorForm}{\QuantityFunctionOf{\Set{N}}{#1}} \newcommand{\NullVectorGrevillePointSet}{\QuantityFunctionOf{\boldsymbol{\textsf{BV}}}{#1}}%changed from mathsf \newcommand{\DegSmoothDiff}{\delta_{#1}^{#2}} \newcommand{\FaceEdgeDiff}{\Set{t}} \newcommand{\FaceEdgeDiffSet}{\Set{T}_{#1}} \newcommand{\PerpTuple}{\QuantityFunctionOf{\FaceEdgeDiff^\perp}{#1}} \newcommand{\ParallelTuple}{\QuantityFunctionOf{\FaceEdgeDiff^\parallel}{#1}} \newcommand{\ElemInterfDiff}{\Set{t}} \newcommand{\ElemInterfDiffSet}{\Set{T}_{#1}} \newcommand{\SpokeSymbol}{\rho} \newcommand{\ElemInterfPairSymbol}{t} \newcommand{\ElemKPlusOneCellPair}{\Set{\SpokeSymbol}} \newcommand{\Spoke}{\ElemKPlusOneCellPair} \newcommand{\ElemInterfPair}{\Set{\ElemInterfPairSymbol}} \newcommand{\EIDPerpTuple}{\QuantityFunctionOf{\ElemInterfDiff^\perp}{#1}} \newcommand{\EIDParallelTuple}{\QuantityFunctionOf{\ElemInterfDiff^\parallel}{#1}} \newcommand{\InclDist}{\QuantityFunctionOf{\textsf{inc}}{#1}}%changed from mathsf \newcommand{\InclDistSet}{\Set{INC}^{#1,#2}} \newcommand{\EdgeInclDist}{\InclDistSet{#2}{#3}_{#1}} \newcommand{\PerpEdgesSet}{\Set{E}^\perp} \newcommand{\PerpInterfacesSet}{\Set{IRF}^\perp} \newcommand{\PerpOfKPlusOneCellInterfSet}{\QuantityFunctionOf{\boldsymbol{\textsf{PI}}}{#1}}%changed from mathsf \newcommand{\PerpKPlusOneCellSet}{\QuantityFunctionOf{\boldsymbol{\textsf{PC}}}{#1}}%changed from mathsf \newcommand{\ElemKPlusOneCellPairPerp}{\QuantityFunctionOf{\Set{\SpokeSymbol}^\perp}{#1}} \newcommand{\ElemInterfPairPerp}{\QuantityFunctionOf{\Set{t}^\perp}{#1}} \newcommand{\ElemInterfPairParallel}{\QuantityFunctionOf{\Set{\ElemInterfPairSymbol}^\parallel}{#1}} \newcommand{\ElemKPlusOneCellPairParallelSet}{\QuantityFunctionOf{\Set{\SpokeSymbol}^\parallel}{#1}} \newcommand{\KPlusOneCellNullVectorSet}{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}}{#1}}%changed from mathsf \newcommand{\KPlusOneCellNullVectorAlignedSubset}{\QuantityFunctionOf{\boldsymbol{\textsf{HBV}}_{#1}}{#2}}%changed from mathsf \newcommand{\Graph}{\QuantityFunctionOf{G}{#1}} \newcommand{\GraphCore}{K} \newcommand{\GraphDirectedEdge}{\Edge_{i,j}} \newcommand{\GraphDirectedEdgeIJ}{\Edge_{#1,#2}} \newcommand{\GraphCoreToVertex}{\QuantityFunctionOf{\Vertex}{#1}} \newcommand{\GraphCoreChildren}{\QuantityFunctionOf{\operatorname{children}}{#1}} \newcommand{\GraphVertexToCore}{\QuantityFunctionOf{\GraphCore}{#1}} \newcommand{\GraphInteractingEdges}{\Set{IE}} \newcommand{\GraphCoveredEdges}{\Set{CE}} \newcommand{\GraphFailedEdges}{\Set{FE}} \newcommand{\GraphCandidateEdges}{\Set{XE}} \newcommand{\UsplineClass}{\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{\AlgNameBuildRayOfMaximumCouplingLength}{\textit{BuildRayOfMaximumCouplingLength}} \newcommand{\AlgNameBuildRibbonOfMaximumCouplingLength}{\textit{BuildRibbonOfMaximumCouplingLength}} \newcommand{\AlgNameComputeCoreGraph}{ComputeCoreGraph} \newcommand{\SymbolParentModifier}{\overbar{#1}} \newcommand{\SymbolParamModifier}{\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{\UpperDBMat}{\Mat{U}} \newcommand{\LowerWeightDBMat}{\Mat{W}} \newcommand{\RationalSplineWeightSymbol}{w} \newcommand{\NURBSWeight}{\RationalSplineWeightSymbol} \newcommand{\WeightFunc}[\RationalSplineWeightSymbol]{#1} \newcommand{\DBParamWeight}{\omega} \newcommand{\DualBCoeff}{d}$$\newcommand{\SymbolTime}{t} \newcommand{\SymbolClosestPointMap}{\kappa} \newcommand{\SymbolManifold}{m} \newcommand{\SymbolVolume}{v} \newcommand{\SymbolSurface}{s} \newcommand{\SymbolCurve}{c} \newcommand{\SymbolPoint}{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{\SymbolEnvModifier}{\star\mspace{-1mu} #1} \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{\Partition{}}{\ParamDomain}} \newcommand{\SpatialDim}{\SymbolSpatialDim} \newcommand{\SpatialDomain}{\Reals^{\SymbolSpatialDim}} \newcommand{\SpatialCoord}{\SymbolSpatialCoord} \newcommand{\SpatialCoordUpper}{\SymbolSpatialCoordUpper} \newcommand{\SpatialCoordVec}{\Vec{\SpatialCoord}} \newcommand{\SpatialCoordVecSet}{\QuantityFunctionOf{\boldsymbol{\Set{\SpatialCoordUpper}}}{#1}} \newcommand{\UsplineBasisFuncSpatial}{\UsplineBasisFuncDetailed{\SpatialCoord}{#1}} \newcommand{\Manifold}{\QuantityRelatedTo{\Set{\SymbolManifold}}{#1}} \newcommand{\Volume}{\QuantityRelatedTo{\Set{\SymbolVolume}}{#1}} \newcommand{\Surface}{\QuantityRelatedTo{\Set{\SymbolSurface}}{#1}} \newcommand{\Curve}{\QuantityRelatedTo{\Set{\SymbolCurve}}{#1}} \newcommand{\Point}{\QuantityRelatedTo{\Set{\SymbolPoint}}{#1}} \newcommand{\ManifoldCAD}{\Manifold{\SymbolCAD}} \newcommand{\ManifoldCADModified}{\Manifold{\SymbolCADModified}} \newcommand{\ManifoldCADEnv}{\SymbolEnvModifier{\ManifoldCAD}} \newcommand{\ManifoldCADModifiedEnv}{\SymbolEnvModifier{\ManifoldCADModified}} \newcommand{\ManifoldPartition}{\Manifold{\Partition{}}} \newcommand{\ManifoldBezier}{\Manifold{\MeshBezier}} \newcommand{\ManifoldUspline}{\Manifold{\MeshUspline}} \newcommand{\ManifoldUsplineEnv}{\SymbolEnvModifier{\ManifoldUspline}} \newcommand{\VolumeEnv}{\SymbolEnvModifier{\Volume{}}} \newcommand{\dVolume}{\Differential[\Volume{}]} \newcommand{\VolumeIndicator}{\SymbolIndicator} \newcommand{\SurfaceEnv}{\SymbolEnvModifier{\Surface{}}} \newcommand{\SurfaceCAD}{\Surface{\SymbolCAD}} \newcommand{\SurfaceCADModified}{\Surface{\SymbolCADModified}} \newcommand{\SurfaceMesh}{\Surface{\Partition{}}} \newcommand{\SurfaceUspline}{\Surface{\MeshUspline}} \newcommand{\SurfaceWildCard}{\Surface{}^{\SymbolWildCard}} \newcommand{\dSurface}{\Differential[\Surface{}]} \newcommand{\CurveCAD}{\Curve{\SymbolCAD}} \newcommand{\CurveCADModified}{\Curve{\SymbolCADModified}} \newcommand{\CurveMesh}{\Curve{\Partition{}}} \newcommand{\CurveUspline}{\Curve{\MeshUspline}} \newcommand{\dCurve}{\Differential[\Curve{}]} \newcommand{\PointCAD}{\Point{\SymbolCAD}} \newcommand{\PointCADModified}{\Point{\SymbolCADModified}} \newcommand{\PointUspline}{\Point{\MeshUspline}} \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{\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{\ManifoldMap}{\QuantityRelatedTo{#2}{#1}} \newcommand{\ManifoldTemporalMap}{\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}{\FuncDef{\ManifoldMap{#1}{#2}}{#1}{#2}} \newcommand{\ManifoldMapInverseDef}{\FuncDef{\Inverse{\ManifoldMap{#1}{#2}}}{#2}{#1}} \newcommand{\ManifoldTemporalMapDef}{\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}{\QCO{#1}{#2}} \newcommand{\ManifoldCoordVecDetailed}{\QCO{#1}{\Vec{#2}}} \newcommand{\ManifoldCoord}{x} \newcommand{\ManifoldCoordVec}{\Vec{x}} \newcommand{\ManifoldPartitionMapCoord}{\ManifoldCoordDetailed{\ManifoldPartitionMap}{\ManifoldCoord}} \newcommand{\ManifoldPartitionMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldPartitionMap}{\ManifoldCoordVec}} \newcommand{\ManifoldCADMapCoord}{\ManifoldCoordDetailed{\ManifoldCADMap}{\ManifoldCoord}} \newcommand{\ManifoldCADMapCoordVec}{\ManifoldCoordVecDetailed{\ManifoldCADMap}{\ManifoldCoordVec}} \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{\Segment}{\QuantityChildOf{#1}{\SymbolSegment}} \newcommand{\SegmentOfVolumeEnv}{\Segment{\VolumeEnv}} \newcommand{\Hex}{\Segment{}_{h}} \newcommand{\Tet}{\Segment{}_{t}} \newcommand{\SegmentParamDomain}{\QuantityRelatedTo{\ParamDomain}{#1}} \newcommand{\SegmentParamDomainOfVolumeEnv}{\QuantityRelatedTo{\ParamDomain}{\Segment{\VolumeEnv}}} \newcommand{\SegmentSet}{\QuantityFunctionOf{\SymbolSegmentSet}{#1}} \newcommand{\SegmentSetOutside}{\SegmentSet{}^{\SymbolOutside}} \newcommand{\SegmentSetInside}{\SegmentSet{}^{\SymbolInside}} \newcommand{\SegmentSetHybrid}{\SegmentSet{}^{\SymbolHybrid}} \newcommand{\Partition}{\QuantityFunctionOf{\SymbolPartition}{#1}} \newcommand{\PartitionBezierExtraction}{\QuantityFunctionOf{\SymbolPartition^{B}}{#1}} \newcommand{\PartitionTessellation}{\QuantityFunctionOf{\SymbolPartition^{T}}{#1}} \newcommand{\PartitionTessellationOfUspline}{\PartitionTessellation{\MeshUspline}} \newcommand{\PartitionTessellationMap}{\QuantityRelatedTo{#2}{#1}} \newcommand{\BoundingVolume}{\QuantityFunctionOf{\Set{bv}}{#1}} \newcommand{\BoundingVolumeSet}{\QuantityFunctionOf{\Set{BV}}{#1}} \newcommand{\BoundingVolumeTree}{\QuantityFunctionOf{\Set{BVH}}{#1}} \newcommand{\AxisAlignedBoundingBox}{\QuantityFunctionOf{\Set{AABB}}{#1}} \newcommand{\SimplexMap}{\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}{\SymbolEnvModifier{\QuadraturePoint{#1}{#2}}} \newcommand{\QuadraturePoint}{\SymbolQuadraturePoint_{#1}^{#2}} \newcommand{\QuadraturePointToElemIndexMap}{\operatorname{qe}(#1)} \newcommand{\QuadratureWeightEnv}{\SymbolEnvModifier{\QuadratureWeight{#1}{#2}}} \newcommand{\QuadratureWeight}{\SymbolQuadratureWeight_{#1}^{#2}} \newcommand{\QuadratureSet}{\Set{\SymbolQuadratureSet}} \newcommand{\QuadratureSetInside}{\QuadratureSet^{\SymbolInside}} \newcommand{\QuadratureSetOutside}{\QuadratureSet^{\SymbolOutside}} \newcommand{\QuadratureSubdDepth}{k} \newcommand{\ClosestPointMap}{\QuantityChildOf{#1}{\Vec{\SymbolClosestPointMap}}} \newcommand{\ClosestPointMapCAD}{\ClosestPointMap{\SymbolCAD}} \newcommand{\ClosestPointMapCADModified}{\ClosestPointMap{\SymbolCADModified}} \newcommand{\ProjectionInto}{\QuantityRelatedTo{\SymbolProjection}{#1}} \newcommand{\ProjectionIntoBernsteinCell}{\ProjectionInto{\Cell}} \newcommand{\ProjectionIntoBernsteinElem}{\ProjectionInto{\Elem}} \newcommand{\ProjectionIntoMeshBezier}{\ProjectionInto{\MeshBezier}} \newcommand{\ProjectionIntoMeshUspline}{\ProjectionInto{\MeshUspline}}$$\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}{\ManifoldCoordDetailed{#1}{X}} \newcommand{\RefCoordVec}{\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}{\UsplineBasisFuncDetailed{\CurveRef}{#1}} \newcommand{\UsplineBasisFuncOverSurfaceRefDisp}{\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}{\ManifoldCoordDetailed{#1}{x}} \newcommand{\CurrCoordVec}{\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}{\Grad{\VolumeEnvRefMap}{#1}} \newcommand{\VolumeRefMap}{\ManifoldMap{\ParamDomain}{\VolumeRef}} \newcommand{\GenericGradOverVolumeRefMap}{\Grad{\VolumeRefMap}{#1}} \newcommand{\SurfaceRefDispMap}{\ManifoldMap{\ParamDomainBdryDisp}{\SurfaceRefDisp}} \newcommand{\SurfaceRefTracMap}{\ManifoldMap{\ParamDomainBdryTrac}{\SurfaceRefTrac}} \newcommand{\CurveRefMap}{\ManifoldMap{\ParamDomain}{\CurveRef}} \newcommand{\GenericGradOverCurveRefMap}{\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}{\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}{U} \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{\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{\KinematicElast}{#1^e} \newcommand{\KinematicPlast}{#1^p} \newcommand{\DivVolumeEnvRef}{\Div{\VolumeEnvRefCoordVec}{#1}} \newcommand{\DivVolumeEnvCurr}{\Div{\VolumeEnvCurrCoordVec}{#1}} \newcommand{\UnitNormalRefComp}{N} \newcommand{\UnitNormalRefTen}{\Vec{N}} \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{\StressKirchhoffComp}{\tau} \newcommand{\StressKirchhoffTen}{\Mat{\tau}} \newcommand{\StressKirchhoffVoigt}{\tilde{\StressKirchhoffTen}} \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{\MaterialThermalExpansion}{\alpha_{\text{thermal}}} \newcommand{\CrossSectArea}{\SymbolArea} \newcommand{\Length}{\SymbolLength} \newcommand{\PenaltyStiffness}{\SymbolPenalty_{\SymbolStiffness}} \newcommand{\PenaltyDisp}{\SymbolPenalty_{\SymbolDisp}} \newcommand{\BodyForceRefComp}{B} \newcommand{\BodyForceRefTen}{\Vec{\BodyForceRefComp}} \newcommand{\BodyForceCurrComp}{\SymbolBodyForce} \newcommand{\BodyForceCurrTen}{\Vec{\BodyForceCurrComp}} \newcommand{\TracForceRefComp}{H} \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{G}} \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}{\QFO{\Energy}{#1}} \newcommand{\EnergyEnv}{\SymbolEnvModifier{\Energy}} \newcommand{\EnergyInside}{\Energy^{\SymbolInside}} \newcommand{\EnergyOutside}{\Energy^{\SymbolOutside}} \newcommand{\EnergyConstraint}{\Energy^{\LagrangeMultCurrComp}} \newcommand{\EnergyDensityStrain}{\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{\FlexOne}{\mathcal{F}_{1}} \newcommand{\FlexInfty}{\mathcal{F}_{\infty}} \newcommand{\Flex}{\mathcal{F}_{#1}} \newcommand{\FlexIt}{\mathcal{F}} \newcommand{\FlexFEA}{\mathcal{F}_{\bar{0}}} \newcommand{\FlexFEAModified}{\mathcal{F}_{0}} \newcommand{\FlexImmersed}{\mathcal{F}_{\infty}} \newcommand{\FlexSpectrum}{\overleftrightarrow{\mathcal{F}}} \newcommand{\FlexSpectrumId}{i} \newcommand{\TimeStep}{\Delta \SymbolTime} \newcommand{\SpectralRadius}{\rho_{\infty}} \newcommand{\SymbolDisp}{u} \newcommand{\SymbolVelocity}{v} \newcommand{\SymbolAcceleration}{a} \newcommand{\SymbolMass}{M} \newcommand{\SymbolLength}{L} \newcommand{\SymbolArea}{A} \newcommand{\SymbolConstraint}{g} \newcommand{\SymbolPenalty}{\varepsilon} \newcommand{\SymbolLagrangeMultRef}{\Lambda} \newcommand{\SymbolLagrangeMultCurr}{\lambda} \newcommand{\SymbolFict}{f} \newcommand{\SymbolTracForce}{h} \newcommand{\SymbolBodyForce}{b} \newcommand{\SymbolVolumeRef}{V} \newcommand{\SymbolSurfaceRef}{S} \newcommand{\SymbolCurveRef}{C} \newcommand{\SymbolPointRef}{P} \newcommand{\SymbolVolumeCurr}{\SymbolVolume} \newcommand{\SymbolSurfaceCurr}{\SymbolSurface} \newcommand{\SymbolCurveCurr}{\SymbolCurve} \newcommand{\SymbolPointCurr}{\SymbolPoint} \newcommand{\SymbolDeformGrad}{F} \newcommand{\SymbolStrainGreenLagrange}{E} \newcommand{\SymbolDeformCauchyGreenLeft}{b} \new$