Quality local refinement of tetrahedral meshes based on 8-subtetrahedron subdivision (1996)

Let <inline-formula content-type="math/mathml"> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" alttext="script upper T"> <mml:semantics> <mml:mrow class="MJX-TeXAtom-ORD"> <mml:mi class="MJX-tex-caligraphic" mathvariant="script">T</mml:mi> </mml:mrow> <mml:annotation encoding="application/x-tex">\mathcal {T}</mml:annotation> </mml:semantics> </mml:math> </inline-formula> be a tetrahedral mesh. We present a 3-D local refinement algorithm for <inline-formula content-type="math/mathml"> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" alttext="script upper T"> <mml:semantics> <mml:mrow class="MJX-TeXAtom-ORD"> <mml:mi class="MJX-tex-caligraphic" mathvariant="script">T</mml:mi> </mml:mrow> <mml:annotation encoding="application/x-tex">\mathcal {T}</mml:annotation> </mml:semantics> </mml:math> </inline-formula> which is mainly based on an 8-<italic>subtetrahedron subdivision</italic> procedure, and discuss the quality of refined meshes generated by the algorithm. It is proved that any tetrahedron <inline-formula content-type="math/mathml"> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" alttext="bold upper T element-of script upper T"> <mml:semantics> <mml:mrow> <mml:mrow class="MJX-TeXAtom-ORD"> <mml:mi mathvariant="bold">T</mml:mi> </mml:mrow> <mml:mo>∈</mml:mo> <mml:mrow class="MJX-TeXAtom-ORD"> <mml:mi class="MJX-tex-caligraphic" mathvariant="script">T</mml:mi> </mml:mrow> </mml:mrow> <mml:annotation encoding="application/x-tex">\mathbf {T} \in \mathcal {T}</mml:annotation> </mml:semantics> </mml:math> </inline-formula> produces a finite number of classes of similar tetrahedra, independent of the number of refinement levels. Furthermore, <inline-formula content-type="math/mathml"> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" alttext="eta left-parenthesis bold upper T Subscript i Superscript n Baseline right-parenthesis greater-than-or-equal-to c eta left-parenthesis bold upper T right-parenthesis"> <mml:semantics> <mml:mrow> <mml:mi>η</mml:mi> <mml:mo stretchy="false">(</mml:mo> <mml:msubsup> <mml:mrow class="MJX-TeXAtom-ORD"> <mml:mi mathvariant="bold">T</mml:mi> </mml:mrow> <mml:mi>i</mml:mi> <mml:mrow class="MJX-TeXAtom-ORD"> <mml:mi>n</mml:mi> </mml:mrow> </mml:msubsup> <mml:mo stretchy="false">)</mml:mo> <mml:mo>≥</mml:mo> <mml:mi>c</mml:mi> <mml:mi>η</mml:mi> <mml:mo stretchy="false">(</mml:mo> <mml:mrow class="MJX-TeXAtom-ORD"> <mml:mi mathvariant="bold">T</mml:mi> </mml:mrow> <mml:mo stretchy="false">)</mml:mo> </mml:mrow> <mml:annotation encoding="application/x-tex">\eta (\mathbf {T}_i^{n}) \geq c \eta (\mathbf {T})</mml:annotation> </mml:semantics> </mml:math> </inline-formula>, where <inline-formula content-type="math/mathml"> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" alttext="bold upper T element-of script upper T"> <mml:semantics> <mml:mrow> <mml:mrow class="MJX-TeXAtom-ORD"> <mml:mi mathvariant="bold">T</mml:mi> </mml:mrow> <mml:mo>∈</mml:mo> <mml:mrow class="MJX-TeXAtom-ORD"> <mml:mi class="MJX-tex-caligraphic" mathvariant="script">T</mml:mi> </mml:mrow> </mml:mrow> <mml:annotation encoding="application/x-tex">\mathbf {T} \in \mathcal {T}</mml:annotation> </mml:semantics> </mml:math> </inline-formula>, <inline-formula content-type="math/mathml"> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" alttext="c"> <mml:semantics> <mml:mi>c</mml:mi> <mml:annotation encoding="application/x-tex">c</mml:annotation> </mml:semantics> </mml:math> </inline-formula> is a positive constant independent of <inline-formula content-type="math/mathml"> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" alttext="script upper T"> <mml:semantics> <mml:mrow class="MJX-TeXAtom-ORD"> <mml:mi class="MJX-tex-caligraphic" mathvariant="script">T</mml:mi> </mml:mrow> <mml:annotation encoding="application/x-tex">\mathcal {T}</mml:annotation> </mml:semantics> </mml:math> </inline-formula> and the number of refinement levels, <inline-formula content-type="math/mathml"> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" alttext="bold upper T Subscript i Superscript n"> <mml:semantics> <mml:msubsup> <mml:mrow class="MJX-TeXAtom-ORD"> <mml:mi mathvariant="bold">T</mml:mi> </mml:mrow> <mml:mi>i</mml:mi> <mml:mrow class="MJX-TeXAtom-ORD"> <mml:mi>n</mml:mi> </mml:mrow> </mml:msubsup> <mml:annotation encoding="application/x-tex">\mathbf {T}_i^{n}</mml:annotation> </mml:semantics> </mml:math> </inline-formula> is any refined tetrahedron of <inline-formula content-type="math/mathml"> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" alttext="bold upper T"> <mml:semantics> <mml:mrow class="MJX-TeXAtom-ORD"> <mml:mi mathvariant="bold">T</mml:mi> </mml:mrow> <mml:annotation encoding="application/x-tex">\mathbf {T}</mml:annotation> </mml:semantics> </mml:math> </inline-formula>, and <inline-formula content-type="math/mathml"> <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" alttext="eta"> <mml:semantics> <mml:mi>η</mml:mi> <mml:annotation encoding="application/x-tex">\eta</mml:annotation> </mml:semantics> </mml:math> </inline-formula> is a tetrahedron shape measure. It is also proved that local refinements on tetrahedra can be smoothly extended to their neighbors to maintain a conforming mesh. Experimental results show that the ratio of the number of tetrahedra actually refined to the number of tetrahedra chosen for refinement is bounded above by a small constant.