This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

11institutetext: Xiaodong Wei 22institutetext: École Polytechnique Fédérale de Lausanne (EPFL), 1015 Lausanne, Switzerland, 22email: xiaodong.wei@epfl.ch

THU-Splines: Highly Localized Refinement on Smooth Unstructured Splines

Xiaodong Wei
Abstract

We present a novel method named truncated hierarchical unstructured splines (THU-splines) that supports both local hh-refinement and unstructured quadrilateral meshes. In a THU-spline construction, an unstructured quadrilateral mesh is taken as the input control mesh, where the degenerated-patch method ref:reif97 is adopted in irregular regions to define C1C^{1}-continuous bicubic splines, whereas regular regions only involve C2C^{2} B-splines. Irregular regions are then smoothly joined with regular regions through the truncation mechanism ref:wei18 , leading to a globally smooth spline construction. Subsequently, local refinement is performed following the truncated hierarchical B-spline construction ref:giannelli12 to achieve a flexible refinement without propagating to unanticipated regions. Challenges lie in refining transition regions where a mixed types of splines play a role. THU-spline basis functions are globally C1C^{1}-continuous and are non-negative everywhere except near extraordinary vertices, where slight negativity is inevitable to retain refinability of the spline functions defined using the degenerated-patch method. Such functions also have a finite representation that can be easily integrated with existing finite element or isogeometric codes through Bézier extraction.

1 Introduction

Isogeometric analysis (IGA) was proposed to tightly integrate computer-aided design (CAD) with engineering simulation via employing the same spline-based basis in both sides ref:hughes05 ; ref:cottrell09 . Local refinement and extraordinary vertices111An extraordinary vertex is an interior vertex shared by other than four quadrilateral faces. (EVs) have been two of the most intensively studied topics in IGA to boost computational efficiency and support complex real-world geometries. Indeed, various methods have been proposed in each of the two topics. In the area of local refinement, T-splines ref:sederberg03 ; ref:sederberg04 ; ref:bazilevs10 and (truncated) hierarchical B-splines ref:forsey88 ; ref:kraft97 ; ref:vuong11 ; ref:giannelli12 are two of the mostly studied methods. On the other hand, in the area of supporting EVs, recent efforts have been devoted to recovering optimal approximation properties, such as geometrically continuous construction ref:kapl15 , manifold splines ref:majeed17 ; ref:bercovier17 , the degenerated patch (D-patch) method ref:reif97 ; ref:tnguyen16 ; ref:toshniwal17 , blended construction in 3D ref:wei18 and subdivision methods ref:xli19 ; ref:wei20 .

Moreover, several methods have also been proposed to support both local refinement and EVs at the same time, such as isogeometric spline forests ref:scott14 , truncated hierarchical Catmull-Clark subdivision ref:wei15a ; ref:wei15b , and analysis-suitable unstructured T-splines (ASUT-splines) with applications to Kirchhoff-Love shells ref:casquero20 . Particularly, ASUT-splines combine analysis-suitable T-splines ref:scott12 ; ref:veiga12 ; ref:li14 with the local D-patch construction ref:toshniwal17 , where the D-patch method is adopted to define C1C^{1}-continuous splines around EVs while using regular C2C^{2}-continuous B-splines away from EVs. While ASUT-splines show superior performance in Kirchhoff-Love shell problems ref:casquero20 , the need to resolve T-mesh constraints generally leads to refinement propagation beyond the region of interest. This becomes even more cumbersome when EVs are involved.

Therefore, we propose an alternative to ASUT-splines in this paper, namely truncated hierarchical unstructured splines (THU-splines), by combining truncated hierarchical B-splines (THB-splines) with the local D-patch construction. Unlike T-splines, hierarchical B-splines (HB-splines) have a definite termination condition to drive local refinement. Moreover, there is no need for HB-splines to resolve mesh constraints to guarantee desired properties for the underlying spline functions. These advantages make HB-splines be able to locally refine regions of interest flexibly without propagation. However, applying THB-like refinement to the local D-patch construction is challenging because various types of spline functions are defined in a local D-patch construction. These different splines need to be well organized such that all hierarchical splines defined on each element can be evaluated in a unified manner. Also due to this challenge, proving properties of the underlying hierarchical basis becomes technically much more involving. While we postpone most of the theoretical study in a forthcoming paper, we study how THU-splines retain an invariant geometric mapping in a constructive manner, in order to provide insights of how the truncation in THU-splines works. Moreover, we will use examples to show the numerical evidence of other claimed properties, such as refinability and partition of unity.

The paper is organized as follows. We first briefly review two closely related methods, that is, THB-splines in Section 2 and local D-patch construction in Section 3. In Section 4, we introduce our proposed method THU-splines. Section 5 presents several numerical examples to show flexibility, effectiveness and efficiency of THU-splines. In the end, we conclude the paper and comment on the future work in Section 6.

2 THB-splines

We briefly review THB-splines in this section. THB-splines ref:giannelli12 were proposed as an enhancement of hierarchical B-splines (HB-splines) ref:kraft97 to reduce support overlapping of B-splines from different hierarchical levels, which in turn leads to a sparse stiffness matrix with reduced band width. Moreover, THB-spline basis functions are piecewise polynomials that form a non-negative partition of unity.

In what follows, we explain the key steps of THB-spline construction in the unvariate setting, including initialization, selection, and truncation. While these key ideas are the same in other dimension cases, interested readers are referred to ref:giannelli12 ; ref:lyche18 for details.

2.1 Initialization

To start with, a set of n0n^{0} univariate B-splines 0={Bi0}i=1n0\mathcal{B}^{0}=\{B_{i}^{0}\}_{i=1}^{n^{0}} of degree pp (n0,p+n^{0},\,p\in\mathbb{N}^{+}), defined on the knot vector Ξ0={ξi0}i=1n0+p+1\Xi^{0}=\{\xi_{i}^{0}\}_{i=1}^{n^{0}+p+1}, is given and initialized as the initial set of THB-spline basis functions, that is,

0=0.\mathcal{H}^{0}=\mathcal{B}^{0}. (1)

The initial domain serves as the entire domain Ω\Omega of THB-splines, i.e., ΩΩ0=(ξ10,ξn+p+10)\Omega\equiv\Omega^{0}=(\xi_{1}^{0},\xi_{n+p+1}^{0}).

To facilitate explanation, we introduce a series of nested spaces spanned by the B-splines,

01max,\mathcal{B}^{0}\subset\mathcal{B}^{1}\subset\cdots\subset\mathcal{B}^{\ell_{\max}}, (2)

where max\ell_{\max} is the predefined maximum level, and the set ={Bi}i=1n\mathcal{B}^{\ell}=\{B_{i}^{\ell}\}_{i=1}^{n^{\ell}} (1max1\leq\ell\leq\ell_{\max}) is defined on the knot vector Ξ={ξi}i=1n+p+1\Xi^{\ell}=\{\xi_{i}^{\ell}\}_{i=1}^{n^{\ell}+p+1}. Note that the degree pp is fixed at all levels. As will become clear shortly, only a small subset of \mathcal{B}^{\ell} is used and the full set \mathcal{B}^{\ell} is never generated in practice. Ξ\Xi^{\ell} is obtained by bisecting all the nonzero knot spans of Ξ1\Xi^{\ell-1}, so knot vectors are nested as well,

Ξ0Ξ1Ξmax.\Xi^{0}\subset\Xi^{1}\subset\cdots\subset\Xi^{\ell_{\max}}. (3)

A hierarchical construction involves a nested sequence of hierarchical domains,

ΩΩ0Ω1Ωmax.\Omega\equiv\Omega^{0}\supseteq\Omega^{1}\supseteq\cdots\supseteq\Omega^{\ell_{\max}}. (4)

This nested sequence implies a series of local refinements and it drives where to perform local refinement. For instance, once a set of THB-splines is initialized, we use 0\mathcal{H}^{0} to solve the problem of interest. According to a certain a posteriori error estimator, a subdomain of Ω0\Omega^{0}, which is in fact the domain at Level 1 (i.e., Ω1\Omega^{1}), is marked to perform local refinement. Once Ω1\Omega^{1} is determined, THB-splines 1\mathcal{H}^{1} can be constructed accordingly.

THB-splines are constructed level by level, so we only need to study a generic two-level construction for selection and truncation: given the THB-splines \mathcal{H}^{\ell} that has been constructed up to Level \ell (0<max0\leq\ell<\ell_{\max}) and Ω+1\Omega^{\ell+1} (i.e., the subdomain of Ω\Omega^{\ell} to be refined), we discuss how to build +1\mathcal{H}^{\ell+1}.

2.2 Selection

The selection mechanism, first proposed in ref:kraft97 and later generalized in ref:vuong11 , is aimed to ensure linear independence of resulting hierarchical basis functions. It is based on the relation between the support of a candidate B-spline and active subdomains of Ω\Omega^{\ell} and Ω+1\Omega^{\ell+1}. The selection at Level \ell states that a B-spline BiB_{i}^{\ell} is selected only if its support has a nonzero intersection with Ωa:=Ω\Ω+1\Omega_{a}^{\ell}:=\Omega^{\ell}\backslash\Omega^{\ell+1}, the active subdomain at Level \ell. All the selected Level-\ell B-splines are collected in a\mathcal{B}_{a}^{\ell},

a={Bi:suppBiΩa}.\mathcal{B}_{a}^{\ell}=\{B_{i}^{\ell}\in\mathcal{B}^{\ell}:\,\mathrm{supp}B_{i}^{\ell}\cap\Omega_{a}^{\ell}\neq\varnothing\}. (5)

where suppBi:=(ξi,ξi+p+1)\mathrm{supp}B_{i}^{\ell}:=(\xi_{i}^{\ell},\xi_{i+p+1}^{\ell}) is the support of BiB_{i}^{\ell}. On the other hand, at Level +1\ell+1, a B-spline is selected only if its support is fully contained in Ω+1\Omega^{\ell+1}. All the selected Level-(+1\ell+1) B-splines form the set a,0+1\mathcal{B}_{a,0}^{\ell+1},

a,0+1={Bi+1+1:suppBi+1Ω+1}.\mathcal{B}_{a,0}^{\ell+1}=\{B_{i}^{\ell+1}\in\mathcal{B}^{\ell+1}:\,\mathrm{supp}B_{i}^{\ell+1}\subseteq\Omega^{\ell+1}\}. (6)

Selected B-splines are called active, and the complementary set of B-splines (i.e., \a\mathcal{B}^{\ell}\backslash\mathcal{B}_{a}^{\ell} and +1\a,0+1\mathcal{B}^{\ell+1}\backslash\mathcal{B}_{a,0}^{\ell+1}) are passive. A prefix “H” will be added (i.e., H-active or H-passive) to emphasize the hierarchical refinement when the context is not evident; see Section 4. The subscript “0” in a,0+1\mathcal{B}_{a,0}^{\ell+1} indicates the initial selection at Level +1\ell+1 with the entire Ω+1\Omega^{\ell+1} being active. Certain functions in a,0+1\mathcal{B}_{a,0}^{\ell+1} may latter become passive when Level +2\ell+2 is constructed from Level +1\ell+1 and the active Level-(+1\ell+1) subdomain changes from Ω+1\Omega^{\ell+1} to Ωa+1Ω+1\Ω+2\Omega_{a}^{\ell+1}\equiv\Omega^{\ell+1}\backslash\Omega^{\ell+2}. \mathcal{I}^{\ell}, 𝒜\mathcal{A}^{\ell}, +1\mathcal{I}^{\ell+1} and 𝒜0+1\mathcal{A}_{0}^{\ell+1} are introduced to denote the index sets of \mathcal{B}^{\ell}, a\mathcal{B}_{a}^{\ell}, +1\mathcal{B}^{\ell+1} and a,0+1\mathcal{B}_{a,0}^{\ell+1}, respectively.

2.3 Truncation

The truncation mechanism, which enables reduced overlapping and partition of unity, plays the key role in THB-splines. We need the refinability relationship to explain the idea. Refinability states that a Level-\ell B-spline BiB_{i}^{\ell} can be expressed as a linear combination of certain Level-(+1\ell+1) B-splines,

Bi=j𝒞i+1hij+1Bj+1,with𝒞i+1:={j+1:suppBj+1suppBi},B_{i}^{\ell}=\sum_{j\in\mathcal{C}_{i}^{\ell+1}}h_{ij}^{\ell+1}B_{j}^{\ell+1},\quad\text{with}\quad\mathcal{C}_{i}^{\ell+1}:=\{j\in\mathcal{I}^{\ell+1}:\,\mathrm{supp}B_{j}^{\ell+1}\subset\mathrm{supp}B_{i}^{\ell}\}, (7)

where hij+1h_{ij}^{\ell+1} are coefficients obtained from the knot insertion algorithm ref:boehm80 , and Bj+1B_{j}^{\ell+1} (j𝒞i+1j\in\mathcal{C}_{i}^{\ell+1}) are called the children (or H-children, children in the hierarchical refinement) of BiB_{i}^{\ell}. In fact, refinability is the reason for Eq. (2) to hold.

The truncation mechanism applies to BiB_{i}^{\ell} when some of its children are active, and it discards the active children from Eq. (7). As a result, the truncated function of BiB_{i}^{\ell} is defined as

trunHBi=j𝒞i+1\𝒜0+1hij+1Bj+1,\mathrm{trun}_{H}B_{i}^{\ell}=\sum_{j\in\mathcal{C}_{i}^{\ell+1}\backslash\mathcal{A}_{0}^{\ell+1}}h_{ij}^{\ell+1}B_{j}^{\ell+1}, (8)

which is also referred to as the inter-level truncation in this paper. Equivalently speaking, the coefficient hij+1h_{ij}^{\ell+1} in Eq. (7) is set to be 0 by truncation if Bj+1B_{j}^{\ell+1} is active. Note that when all the children are passive (i.e., 𝒞i+1𝒜0+1=\mathcal{C}_{i}^{\ell+1}\cap\mathcal{A}_{0}^{\ell+1}=\varnothing), we have 𝒞i+1\𝒜0+1𝒞i+1\mathcal{C}_{i}^{\ell+1}\backslash\mathcal{A}_{0}^{\ell+1}\equiv\mathcal{C}_{i}^{\ell+1} and thus trunHBiBi\mathrm{trun}_{H}B_{i}^{\ell}\equiv B_{i}^{\ell}. In other words, Eq. (8) can represent a generic definition including both truncated and non-truncated B-splines.

In summary, after selection of a\mathcal{B}_{a}^{\ell} and a,0+1\mathcal{B}_{a,0}^{\ell+1}, truncation is applied to certain B-splines in a\mathcal{B}_{a}^{\ell}, leading to a set of truncated (active) B-splines at Level \ell,

𝒯a={trunHBi:Bia}.\mathcal{T}_{a}^{\ell}=\{\mathrm{trun}_{H}B_{i}^{\ell}:\,B_{i}^{\ell}\in\mathcal{B}_{a}^{\ell}\}. (9)

The THB-spline basis functions up to Level +1\ell+1 are now obtained as

+1=1𝒯aa,0+1,\mathcal{H}^{\ell+1}=\mathcal{H}^{\ell-1}\cup\mathcal{T}_{a}^{\ell}\cup\mathcal{B}_{a,0}^{\ell+1}, (10)

where note that 1:=\mathcal{H}^{\ell-1}:=\varnothing when =0\ell=0.

In Eq. (10), the local refinement is realized by enriching basis functions and it solely depends on a,0+1\mathcal{B}_{a,0}^{\ell+1}. 1\mathcal{H}^{\ell-1} and 𝒯a\mathcal{T}_{a}^{\ell} are merely adjustments of existing basis functions to accommodate a,0+1\mathcal{B}_{a,0}^{\ell+1}. Therefore, local refinement is effective only when a+1\mathcal{B}_{a}^{\ell+1}\neq\varnothing; otherwise we end up with +1\mathcal{H}^{\ell+1}\equiv\mathcal{H}^{\ell}. A non-empty a,0+1\mathcal{B}_{a,0}^{\ell+1} implies that Ω+1\Omega^{\ell+1} must be able to cover the support of at least one Level-(+1\ell+1) B-spline; see Eq. (6). This is indeed the only requirement for local refinement of THB-splines. It has a definite termination condition and it indicates a highly localized refinement with no propagation beyond the region of interest.

3 Local D-patch Construction

THB-splines are built upon B-splines that can only take structured meshes as input. However, our goal is to perform truncated hierarchical refinement on unstructured quad meshes that involve EVs. As refinability is the key requirement for building hierarchical splines, we choose the D-patch method that retains this property while producing C1C^{1}-continuous splines in irregular regions, which we call D-patch splines in the following. D-patch splines have shown optimal convergence in solving the 2nd order PDEs (partial differential equations), near-optimal convergence in the 4th order problems ref:toshniwal17 , as well as superior performance in Kirchhoff-Love shells ref:casquero20 .

In contrast to the global D-patch construction ref:reif97 ; ref:tnguyen16 that leads to reduced continuity everywhere and proliferation of degrees of freedom, a local D-patch construction defines D-patch splines only in irregular regions while keeping B-splines elsewhere. Such a local construction has been explored with global refinement ref:toshniwal17 as well as local refinement via T-splines ref:casquero20 .

Here we review the local D-patch construction following ref:casquero20 , including Bézier extraction on unstructured meshes, D-patch construction around EVs, smooth transition to join D-patches with regular B-splines, and global refinement. Interested readers are referred to related literature ref:reif97 ; ref:toshniwal17 ; ref:casquero20 for further details.

3.1 Bézier extraction

Refer to caption
Figure 1: An unstructured quad mesh taken as the input control mesh. EVs and interface vertices are marked as red and blue dots, respectively. Irregular elements are shaded blue and they are also transition elements in this mesh. Transition regular elements are shaded orange, whereas all the other elements are non-transition regular elements.

We first introduce several terminologies of unstructured meshes with the reference to Fig. 1. An element is called an irregular element if any of its vertices222We use “vertex”, “edge” and “face” to emphasize mesh connectivity (or topology), whereas using “point” to carry the position or geometry information. “Element” and “face” are used interchangeably. is an EV; otherwise it is regular. An element is a boundary element if any of its vertices lies on the boundary; otherwise it is an interior element. The one-ring neighborhood of a vertex includes all the elements sharing this vertex; recursively, the nn-ring (n2n\geq 2) neighborhood is the (n1n-1)-ring neighborhood together with those sharing vertices with the (n1n-1)-ring neighborhood. The neighborhood of an element can be defined similarly. We adopt the following assumptions regarding the input mesh to simplify discussion.

  • An irregular element can only have one EV;

  • A boundary vertex can only be shared by either one or two elements; and

  • An irregular element must not lie in the three-ring neighborhood of any boundary vertex.

Each vertex corresponds to a control point, and we call such points V-points (i.e., vertex points). Each edge is assigned with a non-negative real number called the knot span or knot interval, which is used to define element (parametric) domains as well as spline functions. For simplicity, we adopt a semi-uniform configuration of knot intervals where all edges have a unit knot interval except for those perpendicular to the boundary, which have a zero knot interval. As a result, edges around EVs all have the same knot intervals, which indeed is a necessary assumption for the D-patch construction ref:reif97 .

Refer to caption
(a) (b)
Refer to caption Refer to caption
(c) (d)
Figure 2: Computing 4×44\times 4 Bézier control points of Ωe\Omega_{e}. (a) The irregular element Ωe\Omega_{e} and its four vertices Pe,iP_{e,i} (i=1,,4i=1,\ldots,4), where Pe,1P_{e,1} is an EV; (b) the 16 Bézier control points Qe,jQ_{e,j} (j=1,,16j=1,\ldots,16) of Ωe\Omega_{e}, where blue, orange and green squares are face, edge and vertex Bézier points, respectively; (c) computing an EB-point (edge Bézier point) as an average of neighboring FB-points (face Bézier points); and (d) computing a VB-point (vertex Bézier point) as an average of neighboring FB-points.

Note that given the third assumption regarding the input mesh, Bézier extraction is never needed for elements near the boundary. Without loss of generality, we next explain how to extract a Bézier representation for an irregular element Ωe\Omega_{e} ref:scott13 . Fig. 2(a) shows as a generic irregular element Ωe\Omega_{e}, where Pe,iP_{e,i} (i=1,,4i=1,\ldots,4) are its 4 vertices, and Pe,1P_{e,1} is an EV. In the bicubic case, Bézier extraction is to find the 4×44\times 4 Bézier control points Qe,jQ_{e,j} (j=1,,16j=1,\ldots,16) corresponding to Ωe\Omega_{e}. They can be divided into face, edge and vertex Bézier points, and they are called FB-points, EB-points, and VB-points, respectively; see Fig. 2(b). The 4 FB-points are computed as convex combinations of the 4 element corners, that is,

[Qe,6Qe,7Qe,11Qe,10]=[abcbbabccbabbcba][Pe,1Pe,2Pe,3Pe,4],witha=49,b=29,c=19.\begin{bmatrix}Q_{e,6}\\ Q_{e,7}\\ Q_{e,11}\\ Q_{e,10}\\ \end{bmatrix}=\begin{bmatrix}a&b&c&b\\ b&a&b&c\\ c&b&a&b\\ b&c&b&a\\ \end{bmatrix}\begin{bmatrix}P_{e,1}\\ P_{e,2}\\ P_{e,3}\\ P_{e,4}\\ \end{bmatrix},\quad\text{with}\quad a=\frac{4}{9},\,b=\frac{2}{9},\,c=\frac{1}{9}. (11)

As shown in Fig. 2(c, d), EB- and VB-points are simply an average of their neighboring FB-points, for examples,

Qe,9\displaystyle Q_{e,9} =Qe+1,3=12Qe,10+12Qe+1,7,\displaystyle=Q_{e+1,3}=\frac{1}{2}Q_{e,10}+\frac{1}{2}Q_{e+1,7}, (12)
Qe,1\displaystyle Q_{e,1} =1Ni=1NQi,6,\displaystyle=\frac{1}{N}\sum_{i=1}^{N}Q_{i,6},

where N+N\in\mathbb{N}^{+} is the number of faces sharing Pe,1P_{e,1}, also called the valence of Pe,1P_{e,1}.

Now let 𝑸e:=[Qe,1,,Qe,16]T\bm{Q}_{e}:=[Q_{e,1},\ldots,Q_{e,16}]^{T} denote the vector of Bézier points of Ωe\Omega_{e}, and 𝑷v\bm{P}_{v} and 𝑷f\bm{P}_{f} contain the V-points and FB-points of the one-ring neighborhood of Ωe\Omega_{e}, respectively. From Eqs. (11, 12), we observe that 𝑸e\bm{Q}_{e} can be obtained through either

𝑸e=𝑨e𝑷f,\bm{Q}_{e}=\bm{A}_{e}\bm{P}_{f}, (13)

or

𝑸e=𝑬e𝑷v,\bm{Q}_{e}=\bm{E}_{e}\bm{P}_{v}, (14)

where the matrix 𝑨e\bm{A}_{e} contains the averaging coefficients in Eq. (12), and 𝑬e\bm{E}_{e} is the extraction matrix with coefficients from both Eqs. (11, 12). When N=4N=4, Eqs. (13, 14) indicate Bézier extraction for a regular bicubic B-spline element.

The Bézier representation of Ωe\Omega_{e} is written as

𝑺(u,v)|Ωe=𝑸eT𝒃(u,v),(u,v)[0,1]2,\bm{S}(u,v)|_{\Omega_{e}}=\bm{Q}_{e}^{T}\bm{b}(u,v),\quad(u,v)\in[0,1]^{2}, (15)

where 𝒃(u,v):=[b1(u,v),,b16(u,v)]T\bm{b}(u,v):=[b_{1}(u,v),\ldots,b_{16}(u,v)]^{T} is the vector of bicubic Bernstein polynomials. bj(u,v)b_{j}(u,v) is expressed as,

bj(u,v)=N(j1)%4(u)N(j1)/4(v),(u,v)[0,1]2,b_{j}(u,v)=N_{(j-1)\%4}(u)N_{(j-1)/4}(v),\quad(u,v)\in[0,1]^{2}, (16)

where “%\%” and “/” denote remainder and quotient operations, respectively; and

Nk(t)=(3k)tk(1t)3k,k=0,,3.N_{k}(t)=\binom{3}{k}t^{k}(1-t)^{3-k},\quad k=0,\ldots,3. (17)

Alternatively, the surface patch 𝑺(u,v)|Ωe\bm{S}(u,v)|_{\Omega_{e}} can also be expressed in terms of 𝑷v\bm{P}_{v} and the associated spline functions 𝑩v(u,v)\bm{B}_{v}(u,v),

𝑺(u,v)|Ωe=𝑷vT𝑩v(u,v).\bm{S}(u,v)|_{\Omega_{e}}=\bm{P}_{v}^{T}\bm{B}_{v}(u,v). (18)

On the other hand, Eqs. (15, 18) must be equivalent, leading to

𝑷vT𝑩v(u,v)𝑸eT𝒃(u,v)=𝑷vT𝑬eT𝒃(u,v),\bm{P}_{v}^{T}\bm{B}_{v}(u,v)\equiv\bm{Q}_{e}^{T}\bm{b}(u,v)=\bm{P}_{v}^{T}\bm{E}_{e}^{T}\bm{b}(u,v), (19)

where we have used Eq. (14) to arrive at the last term. According to the arbitrariness of 𝑷v\bm{P}_{v}, we conclude that

𝑩v(u,v)=𝑬eT𝒃(u,v).\bm{B}_{v}(u,v)=\bm{E}_{e}^{T}\bm{b}(u,v). (20)

Similarly, the surface patch can also be written with FB-points 𝑷f\bm{P}_{f},

𝑺(u,v)|Ωe=𝑷fT𝑩f(u,v),with𝑩f(u,v)=𝑨eT𝒃(u,v).\bm{S}(u,v)|_{\Omega_{e}}=\bm{P}_{f}^{T}\bm{B}_{f}(u,v),\quad\text{with}\quad\bm{B}_{f}(u,v)=\bm{A}_{e}^{T}\bm{b}(u,v). (21)

The central idea of Bézier extraction is to express each spline function as a linear combination of Bernstein polynomials, which enables general spline functions to be easily integrated with existing finite element and isogeometric codes. While in regular elements, 𝑩v\bm{B}_{v} and 𝑩f\bm{B}_{f} are actually bicubic C2C^{2} and C1C^{1} B-splines, respectively, they are only C0C^{0}-continuous in irregular elements. The D-patch construction essentially adjusts 𝑬eT\bm{E}_{e}^{T} (or 𝑨eT\bm{A}_{e}^{T}) to yield smooth spline functions, which we discuss in the following.

3.2 D-patch method

In a local D-patch construction, the D-patch method is only adopted in regions around EVs, where we need to add necessary face-based control points and define their associated splines. Face-based control points are referred to as F-points in the following. Splines associated with V-points and F-points are referred to as V-splines and F-splines, respectively.

Enrichment via adding F-points. We introduce enriched elements to guide where to add F-points. Initially, all irregular elements are defined as enriched elements in the input mesh, whereas all the other elements are non-enriched elements. Enriched elements in refined meshes follow an “inheritance” rule, which will be discussed in Section 3.4.

Four F-points are then added to each enriched element. In fact, F-points are equivalent to FB-points, and they are obtained according to Eq. (11) in the input mesh. As a result, the control mesh of a local D-patch representation consists of both V-points and F-points; see Fig. 3. However, while all the F-points of enriched elements are active in the sense that they are used in the local D-patch representation, not all V-points are active. A V-point is passive if all its one-ring neighboring elements are enriched elements; otherwise it is active. A prefix “D” will be added to emphasize the context of local D-patch representation when necessary to distinguish those in hierarchical refinement. Clearly, all EVs are passive according to this definition. Essentially, passive V-points are replaced by their neighboring F-points. Note that such a control mesh corresponds to the analysis space discussed in ref:toshniwal17 .

Refer to caption
Figure 3: The control mesh of a local D-patch representation corresponding to the input in Fig. 1, where blue dots are F-points, whereas red dots are EVs and they are passive.

Definition of D-patch splines. We next briefly discuss the smooth D-patch splines around an EV that is shared by NN elements Ωe\Omega_{e}, e=1,2,,Ne=1,2,\ldots,N. Interested readers are referred to ref:reif97 ; ref:toshniwal17 ; ref:casquero20 for details. D-patch splines are developed based on the C0C^{0} version in Eq. (21). This essentially involves smoothing the underlying surface patches around the EV, so we first proceed from the perspective of Bézier control points. Starting from Eq. (13), we refine the Bézier patch via a 2×22\times 2 split,

𝑸¯eij=𝑫ij𝑸e,\bar{\bm{Q}}_{e}^{ij}=\bm{D}_{ij}\bm{Q}_{e}, (22)

where 𝑫ij\bm{D}_{ij} (i,j=1,2i,j=1,2) is the split matrix obtained from the well-known de Casteljau’s algorithm ref:boehm99 , and 𝑸¯eij\bar{\bm{Q}}_{e}^{ij} represents control points of the refined Bézier patch corresponding to the subelement Ωeij\Omega_{e}^{ij}; see Fig. 4. In particular, Q¯1,111=Q¯2,111==Q¯N,111=:Q¯EV\bar{Q}_{1,1}^{11}=\bar{Q}_{2,1}^{11}=\cdots=\bar{Q}_{N,1}^{11}=:\bar{Q}_{EV}.

Refer to caption
Figure 4: 2×22\times 2 split of the Bézier element in Fig. 2(b).

In the D-patch method, a smooth representation is achieved by adjusting all Q¯e,k11\bar{Q}_{e,k}^{11}, e{1,,N}e\in\{1,\ldots,N\}, k{1,2,,16}\{11,12,15,16}k\in\{1,2,\ldots,16\}\backslash\{11,12,15,16\}, which are collected into a vector 𝑸¯s11\bar{\bm{Q}}_{s}^{11}. This is done through a linear projection matrix 𝚷\bm{\Pi},

𝑸~s11=𝚷𝑸¯s11.\tilde{\bm{Q}}_{s}^{11}=\bm{\Pi}\bar{\bm{Q}}_{s}^{11}. (23)

As a result, for every e{1,,N}e\in\{1,\ldots,N\}, Q~e,111=Q~e,211=Q~e,511=Q~e,611Q¯EV\tilde{Q}_{e,1}^{11}=\tilde{Q}_{e,2}^{11}=\tilde{Q}_{e,5}^{11}=\tilde{Q}_{e,6}^{11}\equiv\bar{Q}_{EV}, and the five points Q~e,311\tilde{Q}_{e,3}^{11}, Q~e,711\tilde{Q}_{e,7}^{11}, Q~e,911\tilde{Q}_{e,9}^{11}, Q~e,1011\tilde{Q}_{e,10}^{11} and Q¯EV\bar{Q}_{EV} are coplanar; see indices in Fig. 4. The reminder of 𝑸¯eij\bar{\bm{Q}}_{e}^{ij} stays the same, and the resulting Bézier surface patches are smoothly joined together around the EV. The smoothing matrix 𝚷\bm{\Pi} corresponds to the idempotent version of the analysis space ref:casquero20 ; ref:toshniwal17 . Interested readers are referred there for further details. Note that although 𝚷\bm{\Pi} contains negative coefficients and thus leads to slightly negative spline functions, it guarantees refinability, which is the fundamental property required in a hierarchical spline construction.

Now we discuss the F-splines defined on an irregular element Ωe\Omega_{e}, which are associated with the F-points of the one-ring neighborhood of Ωe\Omega_{e}. They are piecewise-defined on the four subelements (Ωeij\Omega_{e}^{ij}, i,j=1,2i,j=1,2) as

𝑩~f(u,v)|Ωeij=𝑨eT𝑫ijT𝚷e,ijT𝒃(u,v).\tilde{\bm{B}}_{f}(u,v)|_{\Omega_{e}^{ij}}=\bm{A}_{e}^{T}\bm{D}_{ij}^{T}\bm{\Pi}_{e,ij}^{T}\bm{b}(u,v). (24)

where the entries of 𝚷e,ij\bm{\Pi}_{e,ij} come from 𝚷\bm{\Pi} with an proper arrangement for Ωeij\Omega_{e}^{ij}, and in particular, 𝚷e,22\bm{\Pi}_{e,22} is an identity matrix. Comparing Eqs. (21, 24), we observe that by introducing matrices 𝑫ij\bm{D}_{ij} and 𝚷e,ij\bm{\Pi}_{e,ij}, C1C^{1} continuity is built into 𝑩~f\tilde{\bm{B}}_{f}. Moreover, we have 𝑩~f𝑩f\tilde{\bm{B}}_{f}\equiv\bm{B}_{f} outside of the irregular element Ωe\Omega_{e} thanks to the 2×22\times 2 split, or equivalently speaking, the presence of 𝑫ij\bm{D}_{ij}. Mostly importantly, it has also been proved that 𝑩~f\tilde{\bm{B}}_{f} are refinable in the sense of Eq. (7); see ref:tnguyen16 . In the reminder of the paper, we omit “\sim” over 𝑩~f\tilde{\bm{B}}_{f} to keep notations simple.

3.3 Smooth transition

Next, we introduce how to smoothly join enriched and non-enriched elements in a local D-patch representation. The following terms are needed to facilitate the discussion. An interior edge is called an interface edge if it is shared by an enriched element and a non-enriched element. Vertices of interface edges are interface vertices. An element is then called a transition element if it contains an interface vertex. Note that transition elements can be regular or irregular; see Fig. 1. Now let 𝒱\mathcal{V} and \mathcal{F} denote the index sets of V-points and F-points, respectively, and 𝒱a\mathcal{V}_{a} be the active subset of 𝒱\mathcal{V}.

We now discuss the splines associated with the active V-points (𝒱a\mathcal{V}_{a}), which include interface points (𝒱t\mathcal{V}_{t}) and the active regular points (𝒱r\mathcal{V}_{r}) that do not lie on the interface, that is, 𝒱a=𝒱t𝒱r\mathcal{V}_{a}=\mathcal{V}_{t}\cup\mathcal{V}_{r}. Splines associated with 𝒱r\mathcal{V}_{r} are simply bicubic C2C^{2} B-splines, whereas those associated with 𝒱t\mathcal{V}_{t} need truncation to enable a smooth transition between enriched and non-enriched elements. It is related but not the same as that introduced in the context of THB-splines. It was first proposed in blended B-splines ref:wei18 to recover the optimal convergence property when using unstructured hexahedral meshes. To distinguish, we refer to the truncation in a local D-patch representation as the same-level truncation. Recall that it is called the inter-level truncation in the context of THB-splines.

Refer to caption Refer to caption
(a) (b)
Figure 5: The same-level truncation of Bv,iB_{v,i} that is associated with an interface point. (a) The V-spline Bv,iB_{v,i} is expressed in terms of one-ring neighboring F-splines Bf,jB_{f\!,j}, where the numbers are the coefficients dijd_{ij}; and (b) truncation of Bv,iB_{v,i} by setting certain dij=0d_{ij}=0, where the gray element is enriched, and the red and blue squares are active and passive F-points, respectively.

For the V-spline Bv,iB_{v,i} associated with an interface point PiP_{i} (i𝒱ti\in\mathcal{V}_{t}), we can express it in terms of its one-ring neighboring F-splines Bf,jB_{f\!,j},

Bv,i=jidijBf,j,B_{v,i}=\sum_{j\in\mathcal{F}_{i}}d_{ij}B_{f\!,j}, (25)

where the coefficients dijd_{ij} are obtained from Eq. (11) and they are illustrated in Fig. 5(a), i\mathcal{F}_{i}\subseteq\mathcal{F} is the index set of the F-points on the one-ring neighborhood of PiP_{i}, and Bf,jB_{f\!,j} are the children (or D-children, children in the local D-patch representation) of Bv,iB_{v,i}. Bf,jB_{f\!,j} is defined by Eq. (24) if its F-point lies in an irregular element; otherwise it is defined by Eq. (21). Note that not all Bf,jB_{f\!,j} are associated with the F-points of enriched elements. As PiP_{i} is an interface point, there must exist at least one non-enriched element in its one-ring neighborhood. F-points on non-enriched elements are not part of the control mesh in a local D-patch representation, and thus they are passive. In contrast, F-points of enriched elements are active.

The same-level truncation for Bv,iB_{v,i} states that dijd_{ij} is set to be 0 if Bf,jB_{f\!,j} is active. In other words, active children of Bv,iB_{v,i} are discarded,

trunDBv,i=ji\adijBf,j,\mathrm{trun}_{D}B_{v,i}=\sum_{j\in\mathcal{F}_{i}\backslash\mathcal{F}_{a}}d_{ij}B_{f\!,j}, (26)

where a\mathcal{F}_{a} is the index set of active F-points. As a result of truncation, trunDBv,i\mathrm{trun}_{D}B_{v,i} is always a linear combination of regular C1C^{1} B-splines. Fig. 5(b) shows an example of trunDBv,i\mathrm{trun}_{D}B_{v,i}, where the red squares are active F-points as the gray element is enriched whereas the blue squares are passive and only serve as an auxiliary purpose to define trunDBv,i\mathrm{trun}_{D}B_{v,i}. Therefore, the splines associated with interface points are truncated B-splines defined according to Eq. (26). From an element-wise perspective, truncation has no influence outside of transition elements in the sense that trunDBv,iBv,i\mathrm{trun}_{D}B_{v,i}\equiv B_{v,i}.

On the other hand, given an active non-interface point PkP_{k} (k𝒱rk\in\mathcal{V}_{r}), its associated spline Bv,kB_{v,k} is a C2C^{2} B-spline and can be also expressed in the form of Eq. (26), where, however, truncation is trivial as k\a=k\mathcal{F}_{k}\backslash\mathcal{F}_{a}=\mathcal{F}_{k}, because we have ka=\mathcal{F}_{k}\cap\mathcal{F}_{a}=\varnothing by definition. In other words, trunDBv,kBv,k\mathrm{trun}_{D}B_{v,k}\equiv B_{v,k} holds for k𝒱rk\in\mathcal{V}_{r}.

To this end, all spline functions of a local D-patch construction have been discussed, which form a partition of unity and are linearly independent ref:casquero20 . The local D-patch representation is written as

S=iaQiBf,i+i𝒱tPitrunDBv,i+i𝒱rPiBv,i=iaQiBf,i+i𝒱aPitrunDBv,i,S=\sum_{i\in\mathcal{F}_{a}}Q_{i}\,B_{f\!,i}+\sum_{i\in\mathcal{V}_{t}}P_{i}\,\mathrm{trun}_{D}B_{v,i}+\sum_{i\in\mathcal{V}_{r}}P_{i}\,B_{v,i}=\sum_{i\in\mathcal{F}_{a}}Q_{i}\,B_{f\!,i}+\sum_{i\in\mathcal{V}_{a}}P_{i}\,\mathrm{trun}_{D}B_{v,i}, (27)

where we recall that 𝒱a=𝒱r𝒱t\mathcal{V}_{a}=\mathcal{V}_{r}\cup\mathcal{V}_{t}, and QiQ_{i} and PiP_{i} are (active) F-points and V-points, respectively. The corresponding matrix form is given as,

𝑺=[𝑸T𝑷T][𝑩f𝑩v],\bm{S}=\begin{bmatrix}\bm{Q}^{T}&\bm{P}^{T}\end{bmatrix}\begin{bmatrix}\bm{B}_{f}\\ \bm{B}_{v}\end{bmatrix}, (28)

where 𝑩v\bm{B}_{v} and 𝑩f\bm{B}_{f} are vectors of V-splines and F-splines, respectively, and 𝑩v\bm{B}_{v} includes both regular C2C^{2} B-splines (𝒱r\mathcal{V}_{r}) and truncated B-splines (𝒱t\mathcal{V}_{t}).

3.4 Global refinement

Finally, we discuss how to perform global hh-refinement for a local D-patch representation. In the absence of EVs, hh-refinement of a B-spline patch is straightforward through the knot insertion algorithm, where the underlying geometric mapping stays the same during refinement. We call such a refinement the consistent refinement. However, consistent refinement is usually not available when EVs are involved. Currently, only two methods333We only focus on methods based on quadrilaterals. have this property: the D-patch method and subdivision. In fact, subdivision implies a large family of methods that feature an infinite piecewise definition of splines in irregular regions. Interested readers are referred to ref:xli19 ; ref:wei20 for some of the latest developments that aim to recover optimal convergence rates.

Consistent global refinement of a local D-patch representation consists of a topological step and a geometric step. The topological step deals with mesh connectivity as well as inheritance of enriched elements, whereas the geometric step computes control point coordinates of the refined mesh. Elementwise definitions of basis functions are discussed as well after the topological step.

Topological step. In the topological step, every element with a nonzero (parametric) measure is equally subdivided into 4 child elements. If a zero-measure element has a pair of opposite edges with nonzero knot intervals, it is subdivided into 2 child elements at the midpoints of such edges. Recall that irregular elements in the input mesh are marked as enriched elements. Subsequently in a refined mesh, elements in the (2k+12^{k}+1)-ring neighborhood of each EV are marked as enriched elements, where k1k\geq 1 is number of global refinements. We observe the following: (1) regular elements in a refined mesh can be enriched elements; (2) child elements of a enriched element are always enriched elements; and (3) for a transition element that is not enriched, some of its child elements are also enriched, which are in fact the (2k+12^{k}+1)th{}^{\text{th}}-ring neighborhood of an EV. Such an inheritance pattern of enriched elements ensures that the irregular region in the initial local D-patch representation is maintained throughout refinements, which is the key to guaranteeing refinability ref:toshniwal17 .

Elementwise definitions of basis functions. Once topological step is finished, basis functions of a refined mesh can be defined accordingly. Their definitions vary among different element types: regular elements that are not transition or enriched (type-R), non-transition enriched elements (type-E), and transition elements (type-T). A type-R element only involves 16 C2C^{2} B-splines. C1C^{1}-continuous splines are defined on a type-E element, which are D-patch splines if the element is irregular and 16 C1C^{1} B-splines otherwise. On the other hand, a type-T element (no matter if the element is enriched or not) may involve a mix of all kinds of splines, such as V-splines (including C2C^{2} B-splines and truncated B-splines) and F-splines (including C1C^{1} B-splines and C1C^{1} D-patch splines). As V-splines (𝑩v\bm{B}_{v}) can be expressed as linear combinations of F-splines (𝑩f\bm{B}_{f}), we adopt the following matrix form to compactly organize all these splines on a transition element,

[𝑩v𝑩f,a]=[𝟎𝑻𝑰𝟎][𝑩f,a𝑩f,p],with𝑩f=[𝑩f,a𝑩f,p],\begin{bmatrix}\bm{B}_{v}\\ \bm{B}_{f\!,a}\end{bmatrix}=\begin{bmatrix}\bm{0}&\bm{T}\\ \bm{I}&\bm{0}\\ \end{bmatrix}\begin{bmatrix}\bm{B}_{f\!,a}\\ \bm{B}_{f\!,p}\\ \end{bmatrix},\quad\text{with}\quad\bm{B}_{f}=\begin{bmatrix}\bm{B}_{f\!,a}\\ \bm{B}_{f\!,p}\\ \end{bmatrix}, (29)

where coefficients of the matrix 𝑻\bm{T} come from Eq. (26), 𝑰\bm{I} is an identity matrix, and subscripts “aa” and “pp” again denote active and passive splines, respectively.

Geometric step. Positions of control points in a refined mesh are determined in the geometric step. Overall, all the coordinates are determined through the knot insertion algorithm. As has been discussed in ref:wei18 , this simple and unified computation is enabled by the (same-level) truncation.

The computation of point coordinates has two cases: B-spline refinement for non-enriched elements, and Bézier refinement for enriched elements. First, for a surface patch restricted to a non-enriched element (no matter if the element is transition or not), it is simply a B-spline patch when we only focus on its V-points. All the V-points of refined patches are obtained through the knot insertion algorithm applied to such a B-spline patch. Moreover, when the non-enriched element is a transition element, recall that some of its child elements are enriched elements, whose F-points are added according to Eq. (11).

Second, for a surface patch restricted to an enriched element, the corresponding local D-patch representation is first converted to its Bézier representation. Refinement is then applied to this Bézier patch using de Casteljau’s algorithm. In each of the resulting child Bézier patches, the 4 interior Bézier control points are added to the corresponding element (which must be an enriched element by definition) as the F-points.

To this end, both basis functions and control points are defined for a refined mesh. Its local D-patch representation has the same form as Eq. (28).

4 THU-Splines

We introduce the proposed method in this section, namely truncated hierarchical unstructured splines (THU-splines). Following the construction of THB-splines, we discuss the three steps in constructing THU-splines: initialization, selection, and truncation. Among them, truncation becomes particularly complex due to the presence of two kinds of truncation: the same-level truncation and the inter-level truncation.

4.1 Initialization

THU-splines are initialized with the local D-patch construction on an input unstructured quad mesh 0\mathcal{M}^{0}. For the ease of discussion, we introduce a series of consecutively refined meshes, {}=0max\{\mathcal{M}^{\ell}\}_{\ell=0}^{\ell_{\max}}, where max+\ell_{\max}\in\mathbb{N}^{+} is the predefined maximum number of refinements, and \mathcal{M}^{\ell} is a global refinement of 1\mathcal{M}^{\ell-1} (1max1\leq\ell\leq\ell_{\max}) according to Section 3.4. Note that global refinement is never actually performed and these globally refined meshes are introduced only to simplify explanation. Correspondingly, a local D-patch basis \mathcal{B}^{\ell}, which only consists of D-active splines, is constructed on each \mathcal{M}^{\ell}. The initial THU-spline basis 0\mathcal{H}^{0} is given by 0\mathcal{B}^{0}. Moreover, with a closely related proof (Proposition 4.4, ref:toshniwal17 ), we conjecture that refinability holds for {}\{\mathcal{B}^{\ell}\}, for which we will show numerical evidence in Section 5.

Let \mathcal{F}^{\ell} and 𝒱a\mathcal{V}_{a}^{\ell} denote the index sets of F-points and active V-points of \mathcal{M}^{\ell}, respectively. Note that =ap\mathcal{F}^{\ell}=\mathcal{F}_{a}^{\ell}\cup\mathcal{F}_{p}^{\ell}, where passive F-points (p\mathcal{F}_{p}^{\ell}) are introduced as an auxiliary means to define truncated B-splines associated with interface points, and splines associated with p\mathcal{F}_{p}^{\ell} do not belong to \mathcal{B}^{\ell}.

4.2 Selection

The same as in Section 2, we focus on constructing +1\mathcal{H}^{\ell+1} from \mathcal{H}^{\ell}. Following Eq. (4), we assume that a series of nested hierarchical domains {Ω}=0max\{\Omega^{\ell}\}_{\ell=0}^{\ell_{\max}} is given to guide local refinement. However, we need to define the “\supset” operation in Eq. (4) for unstructured meshes. Let Ω0:={Ωe0}e=1n0\Omega^{0}:=\{\Omega_{e}^{0}\}_{e=1}^{n^{0}} be a collection of all n0n^{0} quad elements in 0\mathcal{M}^{0}. Ω\Omega^{\ell} (1max1\leq\ell\leq\ell_{\max}) is defined similarly but does not necessarily contain all elements of \mathcal{M}^{\ell}. ΩΩ+1\Omega^{\ell}\supset\Omega^{\ell+1} means that every element in Ω+1\Omega^{\ell+1} is a child element of a certain element in Ω\Omega^{\ell}. In other words, Ω+1\Omega^{\ell+1} is obtained by locally refining certain elements in Ω\Omega^{\ell}; after refinement, the parent elements of those in Ω+1\Omega^{\ell+1} are no longer used and thus they are marked as passive. The active subdomain of Ωa\Omega_{a}^{\ell} consists of all active elements at Level \ell.

It is left to define the support of every basis function to apply the selection mechanism. Given a generic basis function BiB_{i}^{\ell} (whose control point is denoted as PiP_{i}^{\ell}), its support, suppBi\mathrm{supp}B_{i}^{\ell}, is defined as a collection of certain elements in \mathcal{M}^{\ell}. There are four cases depending on the type of PiP_{i}^{\ell}: (1) a V-point that is not on the interface, (2) an F-point on a regular element, (3) an F-point on an irregular element, and (4) an interface point; see Fig. 6.

Refer to caption Refer to caption
(a) Case 1 (b) Case 2
Refer to caption Refer to caption
(c) Case 3 (b) Case 4
Figure 6: Support of different spline functions, where red dots are extraordinary points, and blue shades are the supports of the green dots.

In Case (1), BiB_{i}^{\ell} is a bicubic C2C^{2} B-spline, so suppBi\mathrm{supp}B_{i}^{\ell} is the two-ring neighborhood of PiP_{i}^{\ell}. In Case (2), BiB_{i}^{\ell} is a bicubic C1C^{1} B-spline with doubly repeated knots, and suppBi\mathrm{supp}B_{i}^{\ell} is the one-ring neighborhood of PiP_{i}^{\ell}. When PiP_{i}^{\ell} is an F-point, its one-ring neighborhood means the one-ring neighborhood of its closest V-point. As a special case, the F-point Qe,11Q_{e,11} in Fig. 2(b), although being on an irregular element, also falls into Case (2), whereas the other three (Qe,6Q_{e,6}, Qe,7Q_{e,7} and Qe,10Q_{e,10}) belong to Case (3).

Case (3) must involve a neighboring EV, and BiB_{i}^{\ell} is defined as a D-patch spline. suppBi\mathrm{supp}B_{i}^{\ell} consists of two parts. First, the same as Case (2), BiB_{i}^{\ell} has support on the one-ring neighborhood of PiP_{i}^{\ell}. Moreover, BiB_{i}^{\ell} is defined using the smoothing matrix such that it also has support on the one-ring neighborhood of the EV. The union of the two one-ring neighborhoods yields suppBi\mathrm{supp}B_{i}^{\ell}.

In Case (4), BiB_{i}^{\ell} (more precisely, trunDBi\mathrm{trun}_{D}B_{i}^{\ell}) is a truncated B-spline that is expressed as a linear combination of certain D-passive C1C^{1} B-splines. Therefore, its support is the union of all the one-ring neighborhoods of these D-passive F-points.

With the hierarchical domains and the support of splines well defined, the selection mechanism follows the same as those in Eqs. (5, 6) to collect all the H-active splines as a\mathcal{B}_{a}^{\ell} and a,0+1\mathcal{B}_{a,0}^{\ell+1}; see an example in Fig. 7. Note that during selection, only D-active splines at each level can be selected to be H-active or H-passive, whereas D-passive ones only serve as an auxiliary purpose to help define truncated B-splines and they never enter the selection procedure. In other words, D-passive functions are neither H-active nor H-passive.

Refer to caption Refer to caption
(a) Level \ell (b) Level +1\ell+1
Figure 7: Selection of spline functions at two consecutive levels. Dots and squares represent D-active and D-passive points, respectively. Filled and hollow dots are H-active and H-passive points, respectively. Black and blue dots (or squares) stand for V-points and F-points, respectively.

Finally, recall that Ω+1\Omega^{\ell+1} needs to be large enough such that at least one Level-(+1\ell+1) spline function can be added to +1\mathcal{H}^{\ell+1}. In the THU-spline construction, this condition can be easily guaranteed if the parent elements of those in Ω+1\Omega^{\ell+1} are a collection of one-ring neighborhoods of certain Level-\ell points. In this manner, Ω+1\Omega^{\ell+1} at least contains the two-ring neighborhood of a Level-(+1\ell+1) point. As the largest support in the above four cases is a two-ring neighborhood, a Level-(+1\ell+1) spline can always be added.

4.3 Truncation

The inter-level truncation follows the same as in Eq. (8). Certain H-active Level-\ell functions are truncated. As a result, a\mathcal{B}_{a}^{\ell} is changed to 𝒯a\mathcal{T}_{a}^{\ell}, and +1\mathcal{H}^{\ell+1} is constructed according to Eq. (10). Although the expressions stay the same as those in THB-splines, evaluation of THU-splines becomes much more involving because there are various types of splines rather than a single type as in THB-splines.

Without loss of generality, we study the THU-splines defined on a transition element Ωe+1\Omega_{e}^{\ell+1}, where we consider two levels (Levels \ell and +1\ell+1) to simplify explanation. Following ref:bornermann13 , we evaluate all levels of H-active functions (𝑯a\bm{H}_{a}^{\ell} and 𝑯a+1\bm{H}_{a}^{\ell+1}) with the functions (both H-active and H-passive) at the highest level, and we write it in the matrix form,

𝑯a:=[𝑯a𝑯a+1]=[𝟎𝑪𝑰𝟎][𝑯a+1𝑯p+1],\bm{H}_{a}:=\begin{bmatrix}\bm{H}_{a}^{\ell}\\ \bm{H}_{a}^{\ell+1}\\ \end{bmatrix}=\begin{bmatrix}\bm{0}&\bm{C}\\ \bm{I}&\bm{0}\\ \end{bmatrix}\begin{bmatrix}\bm{H}_{a}^{\ell+1}\\ \bm{H}_{p}^{\ell+1}\\ \end{bmatrix}, (30)

where the coefficients of 𝑪\bm{C} come from Eq. (8), and spline functions in 𝑯a\bm{H}_{a}^{\ell} and 𝑯+1\bm{H}_{*}^{\ell+1} ({a,p}*\in\{a,p\}) are from a\mathcal{B}_{a}^{\ell} and +1\mathcal{B}^{\ell+1}, respectively. Note that the inter-level truncation has been incorporated for 𝑯a\bm{H}_{a}^{\ell} through the zero submatrix corresponding to 𝑯a+1\bm{H}_{a}^{\ell+1}.

We further split 𝑯a\bm{H}_{a}^{\ell} and 𝑯+1\bm{H}_{*}^{\ell+1} as V-splines (𝑯v,a\bm{H}_{v,a}^{\ell}, 𝑯v,+1\bm{H}_{v,*}^{\ell+1}) and F-splines (𝑯f,a\bm{H}_{f\!,a}^{\ell}, 𝑯f,+1\bm{H}_{f\!,*}^{\ell+1}). As a result, Eq. (30) becomes

[𝑯v,a𝑯f,a𝑯v,a+1𝑯f,a+1]=[𝟎𝟎𝑪11𝑪12𝟎𝟎𝑪21𝑪22𝑰𝟎𝟎𝟎𝟎𝑰𝟎𝟎][𝑯v,a+1𝑯f,a+1𝑯v,p+1𝑯f,p+1],\begin{bmatrix}\bm{H}_{v,a}^{\ell}\\ \bm{H}_{f\!,a}^{\ell}\\ \bm{H}_{v,a}^{\ell+1}\\ \bm{H}_{f\!,a}^{\ell+1}\\ \end{bmatrix}=\begin{bmatrix}\bm{0}&\bm{0}&\bm{C}_{11}&\bm{C}_{12}\\ \bm{0}&\bm{0}&\bm{C}_{21}&\bm{C}_{22}\\ \bm{I}&\bm{0}&\bm{0}&\bm{0}\\ \bm{0}&\bm{I}&\bm{0}&\bm{0}\\ \end{bmatrix}\begin{bmatrix}\bm{H}_{v,a}^{\ell+1}\\ \bm{H}_{f\!,a}^{\ell+1}\\ \bm{H}_{v,p}^{\ell+1}\\ \bm{H}_{f\!,p}^{\ell+1}\\ \end{bmatrix}, (31)

where 𝑪21=𝟎\bm{C}_{21}=\bm{0} because an F-spline can only have F-splines as its children. Moreover, 𝑯v,+1\bm{H}_{v,*}^{\ell+1} can be evaluated according to Eq. (29), that is, 𝑯v,+1=𝑻+1𝑩f,p+1\bm{H}_{v,*}^{\ell+1}=\bm{T}_{*}^{\ell+1}\bm{B}_{f\!,p}^{\ell+1}, where 𝑩f,p+1\bm{B}_{f\!,p}^{\ell+1} is a vector of D-passive F-splines that do not belong to +1\mathcal{B}^{\ell+1}. Substituting this into Eq. (31), we have

𝑯a=[𝑯v,a𝑯f,a𝑯v,a+1𝑯f,a+1]=[𝟎𝟎𝑪11𝑪12𝟎𝟎𝟎𝑪22𝑰𝟎𝟎𝟎𝟎𝑰𝟎𝟎][𝟎𝟎𝑻a+1𝑰𝟎𝟎𝟎𝟎𝑻p+1𝟎𝑰𝟎][𝑯f,a+1𝑯f,p+1𝑩f,p+1]=:𝑴f𝑩f+1,\bm{H}_{a}=\begin{bmatrix}\bm{H}_{v,a}^{\ell}\\ \bm{H}_{f\!,a}^{\ell}\\ \bm{H}_{v,a}^{\ell+1}\\ \bm{H}_{f\!,a}^{\ell+1}\\ \end{bmatrix}=\begin{bmatrix}\bm{0}&\bm{0}&\bm{C}_{11}&\bm{C}_{12}\\ \bm{0}&\bm{0}&\bm{0}&\bm{C}_{22}\\ \bm{I}&\bm{0}&\bm{0}&\bm{0}\\ \bm{0}&\bm{I}&\bm{0}&\bm{0}\\ \end{bmatrix}\begin{bmatrix}\bm{0}&\bm{0}&\bm{T}_{a}^{\ell+1}\\ \bm{I}&\bm{0}&\bm{0}\\ \bm{0}&\bm{0}&\bm{T}_{p}^{\ell+1}\\ \bm{0}&\bm{I}&\bm{0}\\ \end{bmatrix}\begin{bmatrix}\bm{H}_{f\!,a}^{\ell+1}\\ \bm{H}_{f\!,p}^{\ell+1}\\ \bm{B}_{f\!,p}^{\ell+1}\\ \end{bmatrix}=:\bm{M}_{f}\bm{B}_{f}^{\ell+1}, (32)

where 𝑩f+1\bm{B}_{f}^{\ell+1} contains the full set of F-splines (including both D-active ones 𝑩f,a+1:=[𝑯f,a+1,T,𝑯f,p+1,T]T\bm{B}_{f\!,a}^{\ell+1}:=[\bm{H}_{f\!,a}^{\ell+1,T},\bm{H}_{f\!,p}^{\ell+1,T}]^{T}, and D-passive ones 𝑩f,p+1\bm{B}_{f\!,p}^{\ell+1}) defined on the transition element at Level +1\ell+1. Eq. (32) implies that THU-splines 𝑯a\bm{H}_{a} defined on a transition element can be evaluated in this unified manner as linear combinations of F-splines. The key is to obtain elementwise 𝑴f\bm{M}_{f}. With the two kinds of truncation, it can be shown that each column sum of 𝑴f\bm{M}_{f} equals to one. Therefore, THU-splines 𝑯a\bm{H}_{a} form a partition of unity. While we postpone the related proofs to a forthcoming paper, we will show numerical evidence in Section 5.

When Ωe+1\Omega_{e}^{\ell+1} is a non-transition enriched element (i.e., type-E), only F-splines 𝑯f,+1\bm{H}_{f\!,*}^{\ell+1} are involved. In other words, we have 𝑯v,+1=𝟎\bm{H}_{v,*}^{\ell+1}=\bm{0} in Eq. (31). In contrast, when Ωe+1\Omega_{e}^{\ell+1} is a type-R element, only C2C^{2} B-splines 𝑯v,+1\bm{H}_{v,*}^{\ell+1} are involved and they not truncated. Moreover, 𝑯f,+1=𝟎\bm{H}_{f\!,*}^{\ell+1}=\bm{0} as no F-splines are involved. In fact, this latter case coincides with standard THB-splines.

4.4 Consistent refinement with THU-splines

We discuss how THU-splines can achieve a consistent refinement in this section. We approach it in a constructive manner to show how the two kinds of truncation work together to retain this property.

We assume that only two levels (i.e., \ell and +1\ell+1) are involved to provide insights of construction while keeping notations simple. Globally refined meshes (\mathcal{M}^{\ell} and +1\mathcal{M}^{\ell+1}) and and their bases (\mathcal{B}^{\ell} and +1\mathcal{B}^{\ell+1}) are in place to help discussion. Also recall the following notations for index sets at Level L{,+1}L\in\{\ell,\ell+1\}:

  • aL\mathcal{F}_{a}^{L} and pL\mathcal{F}_{p}^{L}: D-active and D-passive F-points/splines, respectively;

  • 𝒱aL\mathcal{V}_{a}^{L}: D-active V-points/splines; and

  • 𝒜L\mathcal{A}^{L}: H-active points/splines (which can be F- or V-points/splines).

In what follows, we start with Level +1\ell+1 alone and then add back Level \ell. Without loss of generality, we study a transition element at Level +1\ell+1, Ωe+1\Omega_{e}^{\ell+1}, which can be enriched or non-enriched. Its surface patch can be written as follows with a full set of Level-(+1\ell+1) F-splines,

Se+1=ia+1Bf,i+1Qi+1+ip+1Bf,i+1Qi+1,S_{e}^{\ell+1}=\sum_{i\in\mathcal{F}_{a}^{\ell+1}}B_{f\!,i}^{\ell+1}Q_{i}^{\ell+1}+\sum_{i\in\mathcal{F}_{p}^{\ell+1}}B_{f\!,i}^{\ell+1}Q_{i}^{\ell+1}, (33)

which is essentially the same as Eq. (21). Next, we express Se+1S_{e}^{\ell+1} in terms of D-active points/splines only. A D-passive F-point is obtained through its neighboring D-active V-points at the same level, so for ip+1i\in\mathcal{F}_{p}^{\ell+1}, we have

Qi+1=j𝒱a+1dji+1Pj+1,j𝒱a+1dji+1=1,Q_{i}^{\ell+1}=\sum_{j\in\mathcal{V}_{a}^{\ell+1}}d_{ji}^{\ell+1}P_{j}^{\ell+1},\quad\sum_{j\in\mathcal{V}_{a}^{\ell+1}}d_{ji}^{\ell+1}=1, (34)

which is in fact the same as Eq. (13), with dji+1{4/9,2/9,1/9,0}d_{ji}^{\ell+1}\in\{4/9,2/9,1/9,0\}. In fact, there are only four of dji+1d_{ji}^{\ell+1} that are nonzero. Substituting Eq. (34) to Eq. (33), we have

Se+1\displaystyle S_{e}^{\ell+1} =ia+1Bf,i+1Qi+1+ip+1Bf,i+1j𝒱a+1dji+1Pj+1\displaystyle=\sum_{i\in\mathcal{F}_{a}^{\ell+1}}B_{f\!,i}^{\ell+1}Q_{i}^{\ell+1}+\sum_{i\in\mathcal{F}_{p}^{\ell+1}}B_{f\!,i}^{\ell+1}\sum_{j\in\mathcal{V}_{a}^{\ell+1}}d_{ji}^{\ell+1}P_{j}^{\ell+1} (35)
=ia+1Bf,i+1Qi+1+j𝒱a+1Pj+1ip+1dji+1Bf,i+1\displaystyle=\sum_{i\in\mathcal{F}_{a}^{\ell+1}}B_{f\!,i}^{\ell+1}Q_{i}^{\ell+1}+\sum_{j\in\mathcal{V}_{a}^{\ell+1}}P_{j}^{\ell+1}\sum_{i\in\mathcal{F}_{p}^{\ell+1}}d_{ji}^{\ell+1}B_{f\!,i}^{\ell+1}
=ia+1Bf,i+1Qi+1+j𝒱a+1Pj+1trunDBv,j+1,\displaystyle=\sum_{i\in\mathcal{F}_{a}^{\ell+1}}B_{f\!,i}^{\ell+1}Q_{i}^{\ell+1}+\sum_{j\in\mathcal{V}_{a}^{\ell+1}}P_{j}^{\ell+1}\mathrm{trun}_{D}B_{v,j}^{\ell+1},

where note that we have used the definition of the same level in the last equation; see Eq. (26). Eq. (35) is the local D-patch representation and it is indeed equivalent to Eq. (27).

Now we add to Eq. (35) the refinement relation between Levels +1\ell+1 and \ell. A Level-(+1\ell+1) D-active V-point Pj+1P_{j}^{\ell+1} (j𝒱a+1j\in\mathcal{V}_{a}^{\ell+1}) is computed with the Level-\ell D-active V-points,

Pj+1=j𝒱ahji+1Pj,j𝒱ahji+1=1,P_{j}^{\ell+1}=\sum_{j\in\mathcal{V}_{a}^{\ell}}h_{ji}^{\ell+1}P_{j}^{\ell},\quad\sum_{j\in\mathcal{V}_{a}^{\ell}}h_{ji}^{\ell+1}=1, (36)

where hji+1h_{ji}^{\ell+1} are the same coefficients as Eq. (7) and only a small number of them are nonzero. On the other hand, a Level-(+1\ell+1) D-active F-point is computed from Level-\ell F-points (both D-active and D-passive), so for ia+1i\in\mathcal{F}_{a}^{\ell+1}, we have

Qi+1=jahji+1Qj+jphji+1Qj,japhji+1=1,Q_{i}^{\ell+1}=\sum_{j\in\mathcal{F}_{a}^{\ell}}h_{ji}^{\ell+1}Q_{j}^{\ell}+\sum_{j\in\mathcal{F}_{p}^{\ell}}h_{ji}^{\ell+1}Q_{j}^{\ell},\quad\sum_{j\in\mathcal{F}_{a}^{\ell}\cup\mathcal{F}_{p}^{\ell}}h_{ji}^{\ell+1}=1, (37)

which is merely applying the B-spline knot insertion to doubly repeated knot vectors. When jpj\in\mathcal{F}_{p}^{\ell}, QjQ_{j}^{\ell} is computed according to Eq. (34) (replacing +1\ell+1 with \ell).

We further divide aL\mathcal{F}_{a}^{L} and 𝒱aL\mathcal{V}_{a}^{L} (L{,+1}L\in\{\ell,\ell+1\}) into H-active and H-passive subsets, leading to 𝒜fL:=aL𝒜L\mathcal{A}_{f}^{L}:=\mathcal{F}_{a}^{L}\cap\mathcal{A}^{L}, 𝒜vL:=𝒱aL𝒜L\mathcal{A}_{v}^{L}:=\mathcal{V}_{a}^{L}\cap\mathcal{A}^{L}, 𝒩fL:=aL\𝒜L\mathcal{N}_{f}^{L}:=\mathcal{F}_{a}^{L}\backslash\mathcal{A}^{L}, and 𝒩vL:=𝒱aL\𝒜L\mathcal{N}_{v}^{L}:=\mathcal{V}_{a}^{L}\backslash\mathcal{A}^{L}. Next, starting from Eq. (35), we have

Se+1\displaystyle S_{e}^{\ell+1} =ia+1Bf,i+1Qi+1+j𝒱a+1Pj+1trunDBv,j+1\displaystyle=\sum_{i\in\mathcal{F}_{a}^{\ell+1}}B_{f\!,i}^{\ell+1}Q_{i}^{\ell+1}+\sum_{j\in\mathcal{V}_{a}^{\ell+1}}P_{j}^{\ell+1}\mathrm{trun}_{D}B_{v,j}^{\ell+1} (38)
=i𝒜f+1Bf,i+1Qi+1+i𝒩f+1Bf,i+1Qi+1\displaystyle=\sum_{i\in\mathcal{A}_{f}^{\ell+1}}B_{f\!,i}^{\ell+1}Q_{i}^{\ell+1}+\sum_{i\in\mathcal{N}_{f}^{\ell+1}}B_{f\!,i}^{\ell+1}Q_{i}^{\ell+1}
+j𝒜v+1Pj+1trunDBv,j+1+j𝒩v+1Pj+1trunDBv,j+1.\displaystyle+\sum_{j\in\mathcal{A}_{v}^{\ell+1}}P_{j}^{\ell+1}\mathrm{trun}_{D}B_{v,j}^{\ell+1}+\sum_{j\in\mathcal{N}_{v}^{\ell+1}}P_{j}^{\ell+1}\mathrm{trun}_{D}B_{v,j}^{\ell+1}.

We keep the terms corresponding to H-active subsets unchanged but further expand H-passive ones using Eqs. (36, 37),

Se,𝒩+1\displaystyle S_{e,\mathcal{N}}^{\ell+1} :=i𝒩f+1Bf,i+1Qi+1+j𝒩v+1Pj+1trunDBv,j+1\displaystyle:=\sum_{i\in\mathcal{N}_{f}^{\ell+1}}B_{f\!,i}^{\ell+1}Q_{i}^{\ell+1}+\sum_{j\in\mathcal{N}_{v}^{\ell+1}}P_{j}^{\ell+1}\mathrm{trun}_{D}B_{v,j}^{\ell+1} (39)
=i𝒩f+1Bf,i+1(jahji+1Qj+jphji+1Qj)+i𝒩v+1(j𝒱ahji+1Pj)trunDBv,i+1\displaystyle=\sum_{i\in\mathcal{N}_{f}^{\ell+1}}B_{f\!,i}^{\ell+1}\left(\sum_{j\in\mathcal{F}_{a}^{\ell}}h_{ji}^{\ell+1}Q_{j}^{\ell}+\sum_{j\in\mathcal{F}_{p}^{\ell}}h_{ji}^{\ell+1}Q_{j}^{\ell}\right)+\sum_{i\in\mathcal{N}_{v}^{\ell+1}}\left(\sum_{j\in\mathcal{V}_{a}^{\ell}}h_{ji}^{\ell+1}P_{j}^{\ell}\right)\mathrm{trun}_{D}B_{v,i}^{\ell+1}
=i𝒩f+1Bf,i+1(jahji+1Qj+jphji+1k𝒱adkj+1Pk)\displaystyle=\sum_{i\in\mathcal{N}_{f}^{\ell+1}}B_{f\!,i}^{\ell+1}\left(\sum_{j\in\mathcal{F}_{a}^{\ell}}h_{ji}^{\ell+1}Q_{j}^{\ell}+\sum_{j\in\mathcal{F}_{p}^{\ell}}h_{ji}^{\ell+1}\sum_{k\in\mathcal{V}_{a}^{\ell}}d_{kj}^{\ell+1}P_{k}^{\ell}\right)
+i𝒩v+1(j𝒱ahji+1Pj)trunDBv,i+1.\displaystyle+\sum_{i\in\mathcal{N}_{v}^{\ell+1}}\left(\sum_{j\in\mathcal{V}_{a}^{\ell}}h_{ji}^{\ell+1}P_{j}^{\ell}\right)\mathrm{trun}_{D}B_{v,i}^{\ell+1}.

Notice that according to the selection mechanism of hierarchical splines, a Level-\ell spline (F- or V-spline) is H-passive if and only if all its children are H-active; in other words, if any of its children is passive, then the spline is active. Therefore in the last equation in Eq. (39), we observe that when i𝒩f+1i\in\mathcal{N}_{f}^{\ell+1} and hji+10h_{ji}^{\ell+1}\neq 0, QjQ_{j}^{\ell} must be H-active, i.e., j𝒜fj\in\mathcal{A}_{f}^{\ell}. Similarly, when i𝒩f+1i\in\mathcal{N}_{f}^{\ell+1}, hji+10h_{ji}^{\ell+1}\neq 0 and dkj+10d_{kj}^{\ell+1}\neq 0, we have k𝒜vk\in\mathcal{A}_{v}^{\ell} for PkP_{k}^{\ell}; when i𝒩v+1i\in\mathcal{N}_{v}^{\ell+1} and hji+10h_{ji}^{\ell+1}\neq 0, we must have j𝒜vj\in\mathcal{A}_{v}^{\ell} for PjP_{j}^{\ell}. Then after proper rearrangement, Eq. (39) becomes

Se,𝒩+1\displaystyle S_{e,\mathcal{N}}^{\ell+1} =j𝒜fQji𝒩f+1hji+1Bf,i+1+k𝒜vPki𝒩f+1Bf,i+1jphji+1dkj+1\displaystyle=\sum_{j\in\mathcal{A}_{f}^{\ell}}Q_{j}^{\ell}\sum_{i\in\mathcal{N}_{f}^{\ell+1}}h_{ji}^{\ell+1}B_{f\!,i}^{\ell+1}+\sum_{k\in\mathcal{A}_{v}^{\ell}}P_{k}^{\ell}\sum_{i\in\mathcal{N}_{f}^{\ell+1}}B_{f\!,i}^{\ell+1}\sum_{j\in\mathcal{F}_{p}^{\ell}}h_{ji}^{\ell+1}d_{kj}^{\ell+1} (40)
+j𝒜vPji𝒩v+1hji+1trunDBv,i+1\displaystyle+\sum_{j\in\mathcal{A}_{v}^{\ell}}P_{j}^{\ell}\sum_{i\in\mathcal{N}_{v}^{\ell+1}}h_{ji}^{\ell+1}\mathrm{trun}_{D}B_{v,i}^{\ell+1}
=j𝒜fQji𝒩f+1hji+1Bf,i+1+k𝒜vPki𝒩f+1Bf,i+1jphji+1dkj+1\displaystyle=\sum_{j\in\mathcal{A}_{f}^{\ell}}Q_{j}^{\ell}\sum_{i\in\mathcal{N}_{f}^{\ell+1}}h_{ji}^{\ell+1}B_{f\!,i}^{\ell+1}+\sum_{k\in\mathcal{A}_{v}^{\ell}}P_{k}^{\ell}\sum_{i\in\mathcal{N}_{f}^{\ell+1}}B_{f\!,i}^{\ell+1}\sum_{j\in\mathcal{F}_{p}^{\ell}}h_{ji}^{\ell+1}d_{kj}^{\ell+1}
+j𝒜vPji𝒩v+1hji+1kp+1dik+1Bf,k+1,\displaystyle+\sum_{j\in\mathcal{A}_{v}^{\ell}}P_{j}^{\ell}\sum_{i\in\mathcal{N}_{v}^{\ell+1}}h_{ji}^{\ell+1}\sum_{k\in\mathcal{F}_{p}^{\ell+1}}d_{ik}^{\ell+1}B_{f\!,k}^{\ell+1},

where we have used the definition of trunDBv,i+1\mathrm{trun}_{D}B_{v,i}^{\ell+1} in the last term. Let ski+1:=jphji+1dkj+1s_{ki}^{\ell+1}:=\sum_{j\in\mathcal{F}_{p}^{\ell}}h_{ji}^{\ell+1}d_{kj}^{\ell+1} and tjk+1:=i𝒩v+1hji+1dik+1t_{jk}^{\ell+1}:=\sum_{i\in\mathcal{N}_{v}^{\ell+1}}h_{ji}^{\ell+1}d_{ik}^{\ell+1}. We have

Se,𝒩+1\displaystyle S_{e,\mathcal{N}}^{\ell+1} =j𝒜fQji𝒩f+1hji+1Bf,i+1+k𝒜vPki𝒩f+1ski+1Bf,i+1+j𝒜vPjkp+1tjk+1Bf,k+1\displaystyle=\sum_{j\in\mathcal{A}_{f}^{\ell}}Q_{j}^{\ell}\sum_{i\in\mathcal{N}_{f}^{\ell+1}}h_{ji}^{\ell+1}B_{f\!,i}^{\ell+1}+\sum_{k\in\mathcal{A}_{v}^{\ell}}P_{k}^{\ell}\sum_{i\in\mathcal{N}_{f}^{\ell+1}}s_{ki}^{\ell+1}B_{f\!,i}^{\ell+1}+\sum_{j\in\mathcal{A}_{v}^{\ell}}P_{j}^{\ell}\sum_{k\in\mathcal{F}_{p}^{\ell+1}}t_{jk}^{\ell+1}B_{f\!,k}^{\ell+1} (41)
=j𝒜fQji𝒩f+1hji+1Bf,i+1+j𝒜vPj(i𝒩f+1sji+1Bf,i+1+ip+1tji+1Bf,i+1)\displaystyle=\sum_{j\in\mathcal{A}_{f}^{\ell}}Q_{j}^{\ell}\sum_{i\in\mathcal{N}_{f}^{\ell+1}}h_{ji}^{\ell+1}B_{f\!,i}^{\ell+1}+\sum_{j\in\mathcal{A}_{v}^{\ell}}P_{j}^{\ell}\left(\sum_{i\in\mathcal{N}_{f}^{\ell+1}}s_{ji}^{\ell+1}B_{f\!,i}^{\ell+1}+\sum_{i\in\mathcal{F}_{p}^{\ell+1}}t_{ji}^{\ell+1}B_{f\!,i}^{\ell+1}\right)
=j𝒜fQjtrunHBf,j+j𝒜vPjtrunHDBv,j,\displaystyle=\sum_{j\in\mathcal{A}_{f}^{\ell}}Q_{j}^{\ell}\mathrm{trun}_{H}B_{f\!,j}^{\ell}+\sum_{j\in\mathcal{A}_{v}^{\ell}}P_{j}^{\ell}\mathrm{trun}_{H\!D}B_{v,j}^{\ell},

with

trunHBf,j=i𝒩f+1hji+1Bf,i+1,\mathrm{trun}_{H}B_{f\!,j}^{\ell}=\sum_{i\in\mathcal{N}_{f}^{\ell+1}}h_{ji}^{\ell+1}B_{f\!,i}^{\ell+1}, (42)

and

trunHDBv,j:=i𝒩f+1sji+1Bf,i+1+ip+1tji+1Bf,i+1.\mathrm{trun}_{H\!D}B_{v,j}^{\ell}:=\sum_{i\in\mathcal{N}_{f}^{\ell+1}}s_{ji}^{\ell+1}B_{f\!,i}^{\ell+1}+\sum_{i\in\mathcal{F}_{p}^{\ell+1}}t_{ji}^{\ell+1}B_{f\!,i}^{\ell+1}. (43)

Eq. (42) is merely a THB-spline that has a knot vector with doubly repeated knots, whereas Eq. (43) implies a mix of the same-level truncation and the inter-level truncation encoded in the coefficients sji+1s_{ji}^{\ell+1} and tji+1t_{ji}^{\ell+1}. Moreover, Eqs. (42, 43) correspond to 𝑯f,a\bm{H}_{f\!,a}^{\ell} and 𝑯v,a\bm{H}_{v,a}^{\ell} in Eq. (32), respectively. Although truncated splines in Eqs. (42, 43) have different forms, the key idea is essentially the same: A truncated spline is always expressed as a linear combination of certain passive splines.

Finally, with Eqs. (38, 41), the surface patch Se+1S_{e}^{\ell+1} of the element Ωe+1\Omega_{e}^{\ell+1} can be written in terms of H-active splines only,

Se+1\displaystyle S_{e}^{\ell+1} =i𝒜f+1Bf,i+1Qi+1+i𝒜v+1Pi+1trunDBv,i+1\displaystyle=\sum_{i\in\mathcal{A}_{f}^{\ell+1}}B_{f\!,i}^{\ell+1}Q_{i}^{\ell+1}+\sum_{i\in\mathcal{A}_{v}^{\ell+1}}P_{i}^{\ell+1}\mathrm{trun}_{D}B_{v,i}^{\ell+1} (44)
+i𝒜fQitrunHBf,i+i𝒜vPitrunHDBv,i,\displaystyle+\sum_{i\in\mathcal{A}_{f}^{\ell}}Q_{i}^{\ell}\mathrm{trun}_{H}B_{f\!,i}^{\ell}+\sum_{i\in\mathcal{A}_{v}^{\ell}}P_{i}^{\ell}\mathrm{trun}_{H\!D}B_{v,i}^{\ell},

which is also the general form of a THU-spline representation (with two levels). When Ωe+1\Omega_{e}^{\ell+1} is a Type-R (non-transition and non-enriched) element, only THB-splines are involved, i.e., 𝒜fL=\mathcal{A}_{f}^{L}=\varnothing, trunDBv,i+1=Bv,i+1\mathrm{trun}_{D}B_{v,i}^{\ell+1}=B_{v,i}^{\ell+1} and trunHDBv,i=Bv,i\mathrm{trun}_{H\!D}B_{v,i}^{\ell}=B_{v,i}^{\ell}. When Ωe+1\Omega_{e}^{\ell+1} is a Type-E (non-transition and enriched) element, only F-splines are involved, i.e., 𝒜vL=\mathcal{A}_{v}^{L}=\varnothing.

5 Numerical Examples

Refer to caption Refer to caption
(a) (b)
Refer to caption Refer to caption
(c) (d)
Figure 8: The patch test using THU-splines on a unit square, where linear elasticity is solved. (a) The spline mesh of the initial local D-patch representation, whose input is given in Fig. 1; (b) the THU-spline mesh after several elements in (a) are refined; and (c, d) displacement (uxu_{x} and uyu_{y}) results on the Bézier mesh.

In this section, we present several examples to show its effectiveness and efficiency. We start with a patch test on a domain of unit square, where linear elasticity is solved using THU-splines. The unstructured quad mesh in Fig. 1 is taken as the input. Accordingly, an initial local D-patch representation is constructed, with its high-order spline mesh shown in Fig. 8(a). Next, we locally refine certain elements using THU-splines, which is intended to be general to include all types of elements: irregular, transition, and regular elements; see the resulting THU-spline mesh in Fig. 8(b). We use it to perform the patch test. Dirichlet boundary conditions ux=0u_{x}=0, ux=0.1u_{x}=0.1, and uy=0u_{y}=0 are imposed on the left, right, and lower boundaries, respectively, whereas free traction is applied to all the other boundaries. Isotropic and homogeneous material is assumed, where the Young’s modulus EE and the Poisson’s ratio are given as E=1E=1 and ν=0.3\nu=0.3, respectively. The displacement results are shown on the Bézier mesh in Fig. 8(c, d), where recall that each irregular element in Fig. 8(b) needs to be split into 2×22\times 2 Bézier elements for the smooth D-patch construction. Moreover, we find that the L2L^{2}-norm error of strains (ϵxx\epsilon_{xx}, ϵyy\epsilon_{yy} and ϵxy\epsilon_{xy}) is in the order of 101610^{-16}. In other words, the patch is passed with machine precision.

Successfully passing the patch test shows the applicability of THU-splines in engineering analysis. The numerical results also show supportive evidence regarding important properties of THU-splines. First, the involved THU-spline functions sum up to one and thus form a partition of unity. This confirms that the two kinds of truncation work as expected. Second, the involved THU-splines are linearly independent and thus constitute a basis. However, all these properties need to be rigorously studied, which is also the primary task of the future work.

Refer to caption Refer to caption
(a) (b)
Refer to caption    Refer to caption
(c) (d)
Figure 9: Adaptively solving the biharmonic equation using THU-splines. (a) The graph of the manufactured solution, (b) the convergence plot with respect to DOF12\mathrm{DOF}^{\frac{1}{2}}, (c) the approximate solution obtained on a locally refined mesh, and (d) the element-wise H1H^{1} semi-norm error.

Next, we use THU-splines to adaptively solve the biharmonic equation with the homogeneous Dirichlet and Neumann boundary conditions,

{Δ2u=finΩ,u=0onΩ,u𝒏=0onΩ,\left\{\begin{array}[]{rll}\Delta^{2}u&=f&\text{in}\quad\Omega,\\ u&=0&\text{on}\quad\partial\Omega,\\ \nabla u\cdot\bm{n}&=0&\text{on}\quad\partial\Omega,\\ \end{array}\right. (45)

where 𝒏\bm{n} is the outwards normal of Ω\partial\Omega. This is a 4th order PDE that requires C1C^{1} continuity of the underlying basis functions. We again solve the problem on a unit square domain and start with the mesh given in Fig. 8(a). For the sake of convergence study, we use the following manufactured solution that has a large gradient across the line xy=0x-y=0,

u(x,y)=ax2(1x)2y2(1y)2tanh(b(yx)),(x,y)[0,1]2,u(x,y)=ax^{2}(1-x)^{2}y^{2}(1-y)^{2}\tanh(b(y-x)),\quad(x,y)\in[0,1]^{2}, (46)

where aa and bb are two constants that control the behavior of the solution, and particularly, bb controls the “sharpness” of the gradient; see Fig. 9(a), where we use a=103a=10^{3} and b=102b=10\sqrt{2}. H1H^{1} semi-norm error is used to drive local refinement to efficiently capture the gradient feature. Global refinement is taken as a reference. The convergence plot is summarized in Fig. 9(b) with respect to the square root of degrees of freedom (DOF). The approximate solution uhu^{h} and the element-wise H1H^{1} semi-norm error on the final locally refined mesh are shown in Fig. 9(c) and (d), respectively. We observe that compared to global refinement, THU-splines can achieve the same accuracy with much fewer DOF.

6 Conclusion and future work

In this paper, we have presented the construction method of THU-splines, a novel method that features a global smooth construction with the presence of EVs and supports flexible local refinement through the idea of THB-splines. Numerical evidence shows that THU-spline functions are refinable and form a partition of unity. Moreover, through solving the biharmonic equation with a manufactured solution, we show the efficiency of THU-splines compared to global refinement.

However, much remains to be studied to fully unleash the power of THU-splines. First of all, we will rigorously prove properties of THU-splines, including refinability, partition of unity, and linear independence. Once these foundations are ready, we will apply THU-splines to Kirchhoff-Love shell problems, where a posteriori error estimate is needed to automatically guide the adaptive analysis of THU-splines. The recent work reported in ref:coradello20 may well fit this purpose with the adaptation in irregular regions.

Acknowledgements.
X. Wei is partially supported by the ERC AdG project CHANGE n. 694515, as well as the Swiss National Science Foundation project HOGAEMS n.200021_188589.

References

  • [1] P. Antolin, A. Buffa, and L. Coradello. A hierarchical approach to the a posteriori error estimation of isogeometric Kirchhoff plates and Kirchhoff–Love shells. Computer Methods in Applied Mechanics and Engineering, 363:112919, 2020.
  • [2] Y. Bazilevs, V. M. Calo, J. A. Cottrell, J. Evans, T. J. R. Hughes, S. Lipton, M. A. Scott, and T. W. Sederberg. Isogeometric analysis using T-splines. Computer Methods in Applied Mechanics and Engineering, 199:229–263, 2010.
  • [3] M. Bercovier and T. Matskewich. Smooth Bézier surfaces over unstructured quadrilateral meshes. Springer International Publishing, 2017.
  • [4] W. Boehm. Inserting new knots into B-spline curves. Computer-Aided Design, 12(4):199–201, 1980.
  • [5] W. Boehm and A. Müller. On de Casteljau’s algorithm. Computer Aided Geometric Design, 16(7):587–605, 1999.
  • [6] P. B. Bornermann and F. Cirak. A subdivision-based implementation of the hierarchical B-spline finite element method. Computer Methods in Applied Mechanics and Engineering, 253:584–598, 2013.
  • [7] H. Casquero, X. Wei, D. Toshniwal, A. Li, T. J. R. Hughes, J. Kiendl, and Y. Zhang. Seamless integration of design and Kirchhoff–Love shell analysis using analysis-suitable unstructured T-splines. Computer Methods in Applied Mechanics and Engineering, 360:112765, 2020.
  • [8] J. A. Cottrell, T. J. R. Hughes, and Y. Bazilevs. Isogemetric analysis: toward integration of CAD and FEA. John Wiley & Sons, 2009.
  • [9] L. Beirão da Veiga, A. Buffa, D. Cho, and G. Sangalli. Analysis-suitable T-splines are dual-compatible. Computer Methods in Applied Mechanics and Engineering, 249–252:42–51, 2012.
  • [10] D. R. Forsey and R. H. Bartels. Hierarchical B-spline refinement. Computer Graphics, 22:205–212, 1988.
  • [11] C. Giannelli, B. Jüttler, and H. Speleers. THB-splines: the truncated basis for hierarchical splines. Computer Aided Geometric Design, 29:485–498, 2012.
  • [12] T. J. R. Hughes, J. A. Cottrell, and Y. Bazilevs. Isogeometric analysis: CAD, finite elements, NURBS, exact geometry and mesh refinement. Computer Methods in Applied Mechanics and Engineering, 194:4135–4195, 2005.
  • [13] M. Kapl, V. Vitrih, B. Jüttler, and K. Birner. Isogeometric analysis with geometrically continuous functions on two-patch geometries. Computers and Mathematics with Applications, 70(7):1518–1538, 2015.
  • [14] R. Kraft. Adaptive and linearly independent multilevel B-splines. In A. L. Méhauté, C. Rabut, and L. L. Schumaker, editors, Surface Fitting and Multiresolution Methods, pages 209–218. Vanderbilt University Press, 1997.
  • [15] X. Li and M. A. Scott. Analysis-suitable T-splines: characterization, refineability, and approximation. Mathematical Models and Methods in Applied Sciences, 24(06):1141–1164, 2014.
  • [16] X. Li, X. Wei, and Y. Zhang. Hybrid non-uniform recursive subdivision with improved convergence rates. Computer Methods in Applied Mechanics and Engineering, 352:606–624, 2019.
  • [17] T. Lyche, C. Manni, and H. Speleers. Foundations of spline theory: B-splines, spline approximation, and hierarchical refinement. Splines and PDEs: From Approximation Theory to Numerical Linear Algebra, Lecture Notes in Mathematics, 2219:1–76, 2018, Springer.
  • [18] M. Majeed and F. Cirak. Isogeometric analysis using manifold-based smooth basis functions. Computer Methods in Applied Mechanics and Engineering, 316:547–567, 2017.
  • [19] T. Nguyen and J. Peters. Refinable C1 spline elements for irregular quad layout. Computer Aided Geometric Design, 43:123–130, 2016.
  • [20] U. Reif. A refineable space of smooth spline surfaces of arbitrary topological genus. Journal of Approximation Theory, 90(2):174–199, 1997.
  • [21] M. A. Scott, X. Li, T. W. Sederberg, and T. J. R. Hughes. Local refinement of analysis-suitable T-splines. Computer Methods in Applied Mechanics and Engineering, 213-216:206–222, 2012.
  • [22] M. A. Scott, R. N. Simpson, J. A. Evans, S. Lipton, S. P. A. Bordas, T. J. R. Hughes, and T. W. Sederberg. Isogeometric boundary element analysis using unstructured T-splines. Computer Methods in Applied Mechanics and Engineering, 254:197–221, 2013.
  • [23] M. A. Scott, D. C. Thomas, and E. J. Evans. Isogeometric spline forests. Computer Methods in Applied Mechanics and Engineering, 269(0):222–264, 2014.
  • [24] T. W. Sederberg, D. L. Cardon, G. T. Finnigan, N. S. North, J. Zheng, and T. Lyche. T-spline simplification and local refinement. ACM Transactions on Graphics, 23:276–283, 2004.
  • [25] T. W. Sederberg, J. Zheng, A. Bakenov, and A. Nasri. T-splines and T-NURCCs. ACM Transactions on Graphics, 22:477–484, 2003.
  • [26] D. Toshniwal, H. Speleers, and T. J. R. Hughes. Smooth cubic spline spaces on unstructured quadrilateral meshes with particular emphasis on extraordinary points: Geometric design and isogeometric analysis considerations. Computer Methods in Applied Mechanics and Engineering, 327:411–458, 2017.
  • [27] A.-V. Vuong, C. Giannelli, B. Jüttler, and B. Simeon. A hierarchical approach to adaptive local refinement in isogeometric analysis. Computer Methods in Applied Mechanics and Engineering, 200:3554–3567, 2011.
  • [28] X. Wei, X. Li, Y. Zhang, and T. J. R. Hughes. Tuned hybrid non-uniform subdivision surfaces with optimal convergence rates. 2020. arXiv:2003.12097.
  • [29] X. Wei, Y. Zhang, T. J. R. Hughes, and M. A. Scott. Truncated hierarchical Catmull-Clark subdivision with local refinement. Computer Methods in Applied Mechanics and Engineering, 291:1–20, 2015.
  • [30] X. Wei, Y. Zhang, T. J. R. Hughes, and M. A. Scott. Extended truncated hierarchical Catmull-Clark subdivision. Computer Methods in Applied Mechanics and Engineering, 299:316–336, 2016.
  • [31] X. Wei, Y. Zhang, D. Toshniwal, H. Speleers, X. Li, C. Manni, J. A. Evans, and T. J. R. Hughes. Blended B-spline construction on unstructured quadrilateral and hexahedral meshes with optimal convergence rates in isogeometric analysis. Computer Methods in Applied Mechanics and Engineering, 341:609–639, 2018.