Volume 23, Issue 4 e202300092
RESEARCH ARTICLE
Open Access

Multi-level Bézier extraction of truncated hierarchical B-splines for isogeometric analysis

Andreas Grendas

Corresponding Author

Andreas Grendas

Institute of Applied Mechanics, TU Graz, Graz, Austria

Correspondence

Andreas Grendas, Institute of Applied Mechanics, TU Graz, Technikerstraße 4, 8010 Graz, Austria.

Email: [email protected]

Search for more papers by this author
Benjamin Marussig

Benjamin Marussig

Institute of Applied Mechanics, TU Graz, Graz, Austria

Search for more papers by this author
First published: 21 September 2023

Abstract

Multivariate basis splines (B-splines) and Non-uniform rational B-splines (NURBS) lack adaptivity due to their tensor product structure. Truncated hierarchical B-splines (THB-splines) provide a solution for this. THB-splines organize the parameter space into a hierarchical structure, which enables efficient approximation and representation of functions with different levels of detail. The truncation mechanism ensures the partition of unity property of B-splines and defines a more scattered set of basis functions without overlapping on the multi-level spline space. Transferring these multi-level splines into Bézier elements representation facilitates straightforward incorporation into existing finite element (FE) codes. By separating the multi-level extraction of the THB-splines from the standard Bézier extraction, a more general independent framework applicable to any sequence of nested spaces is created. The operators for the multi-level structure of THB-splines and the operators of Bézier extraction are constructed in a local approach. Adjusting the operators for the multi-level structure from an element point of view and multiplying with the Bézier extraction operators of those elements, a direct map between Bézier elements and a hierarchical structure is obtained. The presented implementation involves the use of an open-source Octave/MATLAB isogeometric analysis (IGA) code called GeoPDEs. A basic Poisson problem is presented to investigate the performance of multi-level Bézier extraction compared to a standard THB-spline approach.

1 INTRODUCTION

Isogeometric analysis (IGA) [1-3] is a numerical method for solving partial differential equations (PDEs) by using a unified representation for both the analysis and design of structures. IGA is promising to close the gap between analysis and computer-aided design (CAD) geometries of the structures. Traditionally, engineers have used separate methods for modeling the geometry of a structure and analyzing its behavior. However, IGA breaks through this limitation by employing non-uniform rational B-splines (NURBS) functions, a standard technology employed in CAD systems. The isoparametric philosophy is invoked, and the solution space for dependent variables is represented in terms of the same functions that represent the geometry.

Refinement techniques for NURBS functions are inherently simple and do not require further communication with the CAD system. Order elevation and knot insertion are refinement techniques analogous to standard FE methods like h- and p-, and a new, higher-order methodology emerges, k-refinement, which combines order elevation followed by knot insertion. All subsequent meshes retain the exact geometry of the initial CAD structure.

Due to the tensor product structure of the B-spline and NURBS functions, local refinement can not be achieved. Various approaches have been developed to overcome this limitation of tensor product structures, such as T-splines [4], locally refined B-spline (LR-splines) [5], and hierarchical B-splines (HB-splines) [6]. HB-splines are based on a multi-level structure with different levels of detail and appear promising to implement local refinement. Those splines can also be applied to T-splines indicating hierarchical T-splines [7]. The hierarchical B-splines recently extended with the truncation mechanism, namely, THB-splines [8]. This work presents an adaptive IGA framework based on THB-splines. This type of function preserves all the essential mathematical properties of standard B-splines and retains the partition of unity property in a hierarchical structure. Despite the good properties of THB-splines and their simplicity, implementing the hierarchical definition of shape functions into existing finite element (FE) solvers can be rather challenging. The proposed approach for this implementation is based on a generalization of the classical Bézier extraction [9], extended into a hierarchical concept [10, 11]. In fact, the multi-level Bézier extraction maps the multi-level hierarchical functions, and the corresponding knot spans, into a sequence of elements being equipped with a standard single-level basis.

2 PRELIMINARIES

In this section, some preliminary concepts need to be discussed in order to give a summarized overview of the work steps. In particular, B-splines and NURBS, the idea of Bézier extraction, and hierarchical splines, together with the truncation mechanism, are presented.

2.1 B-splines and NURBS

We start by introducing the concept of B-splines and NURBS functions, but further details can be found in refs. [2, 3] and [12]. B-splines basis functions are defined by degree p, and a knot vector:
urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0001(1)
where n is the number of basis functions. The Cox-de Boor recursion formula defines the n functions, by starting from degree urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0002, up to the prescribed degree,
urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0003(2)
The multiplicity k of a knot value can be found from the knot vector and defines the smoothness of the B-spline basis at this location, for example, urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0004. In the case of open knot vectors, the first and the last knot values have multiplicity urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0005, and the basis is interpolatory at the ends of its definition domain. A B-spline curve can be constructed as the linear combination of the basis functions.
urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0006(3)
where urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0007 are the control points and equal the number of basis functions. Figure 1, shows a representation of a B-spline with knot vector urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0008 and degree urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0009.
Details are in the caption following the image
Basis functions of a univariate quadratic B-spline and the corresponding curve. C0 continuity at the urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0010.
Going into higher dimensions to construct multivariate B-splines, tensor product of univariate B-splines is formed. Considering urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0011, the degrees p and q and knot vectors urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0012 and urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0013, define each dimension of a surface. Thus, two sets of basis functions along with the control net Pi, j with urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0014, urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0015, describe the surface:
urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0016(4)

2.2 Standard Bézier extraction

This section provides a short introduction to Bézier extraction [9]. Unlike the standard FE approaches, B-spline basis functions are defined globally (see Figure 1). Bézier extraction provides a mapping between the smooth spline space and a C0 representation of Bézier elements. Those elements are defined by Bernstein polynomials, which are local, that is, their support is non-zero only in a single element. Thus, conventional element-based FE routines can be enriched by splines in a straightforward manner.

Bézier extraction is generally based on knot insertion algorithms. The Bézier decomposition of the B-spline curve into piece-wise Bézier curves is obtained by increasing the multiplicity of each internal knot in Ξ, equals to the degree p. Starting by inserting a single knot urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0017 into Ξ, so urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0018, where urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0019. This procedure continues until the desired multiplicity of the internal knots is achieved, resulting a new set of basis functions and a new set of control points that retain the geometry of the curve. Further details for knot insertion techniques can be found in ref. [2]. The B-spline curve C is described by a set of Bernstein polynomials urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0020 and the Bernstein control points urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0021
urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0022(5)
The control points urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0023 can be computed as a linear combination of the original control points urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0024, which are represented by a matrix operator urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0025, the Bézier extraction operator. The same operator is used for the translation of the basis functions urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0026 to the Bernstein polynomials urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0027. The basis functions can be written in a vector format with urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0028 and urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0029, respectively. So, globally defined B-splines transformed into a basis of Bézier elements reads
urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0030(6)

2.3 Truncated hierarchical B-splines

In this section, the hierarchical B-splines are presented, which are used to achieve local refinement and overcome the limitation of adaptivity due to the tensor product structure of splines. Then, the extension with the truncation mechanism is added to retain the partition of unity property [8, 10].

Hierarchical B-splines [6, 13] introduce a multi-level structure with different levels of refinement. Consider a sequence of nested spline spaces of univariate splines urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0031 with the same polynomial degree, where urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0032 are the levels of refinement. In this contribution, the different levels are constructed with the dyadic refinement technique, where each new level has urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0033 elements (d is the dimension and urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0034 number of elements in urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0035). In Figure 2, a univariate quadratic B-spline with two additional levels of refinement is depicted. The geometry and the parametric representation do not change under the refinement process, but the relation between the levels is happening by an operator called, subdivision matrix urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0036. The parent functions of the level ℓ are a linear combination of fine-scale functions (children functions) of level urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0037
urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0038(7)
Details are in the caption following the image
Basis functions for the computational domain. The gray functions are the deactivated ones and the colored ones are the active ones. The urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0039 and urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0040 are truncated functions.
Each nested knot vector urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0041 defines a new set of B-spline basis functions urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0042. So, the multi-level spline space is defined as in ref. [14]
urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0043(8)

Therefore, the refinement process starts by deactivating parent functions of the corresponding element from the coarse level ℓ and activating their children on level urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0044, until the desired adaptivity is achieved, see Figure 2. The selection of the coarse and fine elements results from error estimator algorithms or manual selection of the preferred elements. This information is stored in the subdivision matrices [14, 15].

The truncated basis was first time introduced in ref. [8]. The truncation mechanism preserves all the nice properties of hierarchical B-splines, such as linear independence, local support, and non-negativity. In addition, truncated hierarchical B-splines (THB-splines) have smaller support and retain the partition of unity property of traditional B-splines. The truncated basis functions are defined as
urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0045(9)

In general, it is straightforward to identify the truncated B-spline functions. Let us assume an evaluation of an element on the finest level urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0046. The basis functions that describe the element are urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0047, with urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0048, where the urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0049 is the knot span of the element in that level. This element holds truncated B-splines on the previous level, ℓ, only if at least one of its urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0050 is inactive (see Figure 2).

3 MULTI-LEVEL BÉZIER EXTRACTION

Having a sequence of nested spline spaces into a hierarchical structure, every basis function of level ℓ can be expressed as a linear combination of basis functions of level urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0051, with the subdivision matrix (7). The global multi-level extraction operator, urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0052, can be defined by applying a sequence of nested spline spaces, where the goal is to extract the hierarchical functions supporting an element at a specific level. For levels urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0053 the urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0054 can be obtained by joining the rows, corresponding to the active basis, of the refinement operators urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0055. More details for constructing the global multi-level extraction operator can be found in ref. [11]. Next, localization of the global multi-level extraction to each element of the domain leads to a local element-by-element approach. By selecting the appropriate columns and rows associated with the basis functions of the element, the extraction operator effectively captures the hierarchical functions. The multi-level extraction operator is always of the same level as the element. All the different matrices, urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0056, correspond to each element of the hierarchical spline space, urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0057. They can be combined directly with the Bézier extraction operator, resulting the multi-level Bézier extraction technique (see Figure 3). This creates a direct map urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0058 from a standard set of reference basis functions equal for each element (Bernstein basis, urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0059) to the multi-level local basis (hierarchical basis).
urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0060(10)
Details are in the caption following the image
Translate from hierarchical spline space to local Bernstein polynomials.

As the hierarchical basis functions are mapped into a local approach with elements with a standard set of basis functions, the calculations into the Bézier elements are performed. This can happen using the existing FE algorithms, and there is no need for separate algorithms to handle the globally defined spline basis functions.

4 NUMERICAL EXAMPLE

This contribution uses GeoPDEs [1, 16], an open-source FE solver for IGA, based on Matlab/Octave. Let us first highlight an advantage of Bézier extraction over the direct use of B-splines basis functions. The problem refers to the evaluation of points at the boundaries of the elements. Due to the Cox-de Boor formula (2), boundary points are generally associated with the right element of the domain, which can lead to misinterpretations. Consider the numerical integration of an element using a Newton-Cotes quadrature rule. These rules contain the boundary points, and based on (2), the contribution of the last point would be associated with the next element instead of the current one. This can be easily overcome with the use of Bézier extraction. An example to illustrate the problem is in Figure 4, where the Newton-Cotes quadrature rule is applied for the integration of the elements in a univariate problem, instead of the Gaussian quadrature method. Bézier extraction should be applied to evaluate accurately. In this case, improving the results is not the goal of Newton-Cotes, but to verify the problem of spline-based algorithms using Cox-de Boor formula.

Details are in the caption following the image
Newton-Cotes integration points appear in the boundary of the elements and can not be evaluated correctly due to the Cox-de Boor formula. Bézier extraction, in the right figure, overcomes this limitation with a standard set of Bernstein polynomials.

4.1 Unit square boundary value problem

The numerical example for this work is a second-order elliptic boundary value problem in a unit square domain. The functions f, g and h are chosen from the exact solution (see Figure 5) of the problem urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0061, where C is constant.
urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0062(11)
For the calculation, two types of THB-splines are assumed, one quadratic and one cubic. In both cases, global and local refinement techniques are compared. For the local refinement, the refined mesh is shown in Figure 6. Now, as for the multi-level Bézier extraction, the goal is to approach the error of the local refinement that GeoPDEs is resulting in. Calculating the multi-level Bézier extraction operator urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0063, as described in Section 3, and then calculating the stiffness matrix of a single Bézier element, the stiffness matrix of an element in the hierarchical structure can be derived.
urn:x-wiley:16177061:media:pamm202300092:pamm202300092-math-0064(12)
Details are in the caption following the image
Exact solution of the unit square boundary value problem.
Details are in the caption following the image
Mesh through iterations of local refinement with THB-splines. THB-splines, truncated hierarchical B-splines.

Gathering all the element-wise stiffness matrices, the stiffness matrix for the whole multi-level spline space is obtained. Figure 7 shows the convergence of the multi-level Bézier extraction and the local refinement of GeoPDEs.

Details are in the caption following the image
L2 norm error. Global refinement, local refinement, and multi-level Bézier extraction on the local refinement. On the left are quadratic splines, and on the right are cubic splines. The green line of multi-level B 'ezier extraction matches exactly the blue line of the local refinement from the patch-wise approach.

When comparing the values of the graphs in both cases, the results of multi-level Bézier extraction fit the IGA-based algorithm. This verifies that by just evaluating a single Bézier element, the stiffness matrix can be directly mapped into a hierarchical structure and evaluate multi-level spline spaces.

5 CONCLUSION

This study demonstrates that Bézier extraction can be extended into a multi-level structure of THB-splines, resulting the multi-level Bézier extraction. The calculation over Bézier elements is sufficient to extract results for hierarchical spline spaces which perform local refinement. The only calculation that needs to be derived is the multi-level Bézier extraction operators for each element of the domain and the standard Bézier extraction operator. Then those operators are applied to Bézier elements. The implementation of the IGA concept into existing FE solvers can be employed. Additionally, this general approach is not restricted to THB-splines but can be compatible with any nested space.

    The full text of this article hosted at iucr.org is unavailable due to technical difficulties.