1 Introduction

1.1 Isogeometric Analysis

Isogeometric analysis (IGA) was introduced in 2005 in the seminal work [129] and since then has been a very successful area of research including mathematical discoveries, computational mechanics challenges as well as a rather unique joint effort to tackle problems that fall outside one single research community.

By using the same building blocks employed in standard Computer-Aided Design (CAD), namely B-splines, Non-Uniform Rational B-splines (NURBS) and variants thereof, the final goal of IGA is to provide an end-to-end methodology that unifies geometrical design with the analysis of partial differential equations (PDEs) for computational engineering. While this is still a widely open issue, in the last decade an extensive amount of research has been dedicated to IGA in various different fields. We refer, e.g., to the special issue [1] for a review of the most prominent works published in recent years. B-spline based formulations are now built on solid mathematical foundations (see, e.g. [20, 129]) and have demonstrated their capabilities in many different areas of engineering. Moreover, since B-splines are nothing but (possibly smooth) piecewise polynomials of a given degree, methods based on them (including IGA) are potentially high-order.

The starting point of IGA is a description of the computational geometry as a collection of (possibly trimmed) patches. A patch is a geometric entity characterized by a spline (or more generally by a non uniform rational spline) parametrization. IGA stands for the class of methods which use spline discretization techniques over such geometric descriptions. Thus, it includes, and it is not restricted to, second or higher order PDEs defined in d-dimensional domains [71], PDEs defined on manifolds such as the ones describing shells [136] or membranes [14] and also boundary integral equations [178]. IGA methods and their applications are now a rather large research area in computational mechanics and numerical analysis so that we refrain from trying to list all relevant contributions to the field.

Indeed, this paradigm has raised significant mathematical challenges. Some of them have only been partially addressed by the community until now, e.g., the construction of \(C^1\) basis functions with optimal approximation properties [134, 170, 212], optimal reparametrization for trimmed surfaces [122, 123, 153, 155] and the construction and manipulation of spline volumes [5, 157, 173, 214]. Instead, other research topics have reached a more advanced maturity, e.g., the approximation estimates of splines of arbitrary degrees [184] or the construction of locally refined splines and their use within an adaptive paradigm, which is the topic of this review paper. The literature on the subject is today very wide and covers several different (integro-) differential problems. This review aims at describing, with a careful mathematical perspective, some of the very many approaches existing in the literature, with a different level of details.

1.2 Adaptivity

As soon as the (given) data or the (unknown) solution u of a PDE have singularities, the possible high-order convergence rate of isogeometric methods is significantly reduced down to rates which could also be achieved by low-order methods. However, at least for standard finite element methods (FEM), it is known that better rates –and usually even optimal algebraic convergence rates– can be regained by an appropriate local mesh grading of the underlying mesh towards these singularities.

If the singularities and the required local mesh grading are a priori unknown, the local mesh adaptation can be automated by so-called adaptive algorithms. Usually, these adaptive algorithms rely on a posteriori error estimators which provide computable (lower and upper) bounds on the error of an already computed approximation \(U \approx u\). Localizing these bounds to related elements of the underlying mesh (resp. specific isogeometric basis functions), one can extract the necessary information of where to locally refine the mesh (resp. where to add additional basis functions).

1.2.1 Modules of Adaptive Loop

Starting from a given initial mesh \({\mathcal {Q}}_0\), adaptive algorithms aim to improve the accuracy of a discrete solution by iterating the so-called adaptive loop

$$\begin{aligned} \boxed {\texttt {solve}} \longrightarrow \boxed {\texttt {estimate}} \longrightarrow \boxed {\texttt {mark}} \longrightarrow \boxed {\texttt {refine}} \end{aligned}$$
(1)

The module \(\texttt {solve}\) computes a discrete solution \(U_k \approx u\) (indexed by some step counter \(k \in {\mathbb N}_0\)) related to the current mesh \({\mathcal {Q}}_k\).

The module \(\texttt {estimate}\) computes for all elements \(Q \in {\mathcal {Q}}_k\) the local contributions \(\eta _k(Q)\) of some a posteriori error estimator \(\eta _k := \big ( \sum _{Q \in {\mathcal {Q}}_k} \eta _k(Q)^2 \big )^{1/2}\) which, at least heuristically, provides a measure of the discretization error \(\Vert u - U_k \Vert \). The so-called refinement indicators \(\eta _k(Q)\) depend usually on the computed discrete solution \(U_k\) and the known problem or mesh data, but are independent of the unknown solution u.

Having computed all refinement indicators, the module \(\texttt {mark}\) selects elements \(Q \in {\mathcal {Q}}_k\) for refinement.

Finally, the module \(\texttt {refine}\) adapts the underlying mesh and generates a new mesh \({\mathcal {Q}}_{k+1}\) by refinement of, at least, all marked elements. We stress that usually, besides the marked elements, also non-marked elements are refined to preserve structural properties of the mesh (e.g., avoidance of certain hanging nodes, preservation of local mesh grading, etc.).

1.2.2 Analysis of Adaptive Algorithms

Empirically, it has already been observed in the seminal papers on a posteriori error estimation [8,9,10,11,12] that adaptive algorithms regain the optimal convergence rate, understood as the decay of the error with respect to the number of degrees of freedom. However, since adaptive algorithms usually do not guarantee that all elements are refined (so that the local mesh size becomes infinitesimally fine everywhere), one cannot rely on a priori error estimates to ensure that the error tends to zero \(\Vert u - U_k \Vert \rightarrow 0\) as the adaptive step counter \(k \rightarrow \infty \) increases.

A first convergence result for adaptive finite elements for a 1D boundary value problem already dates back to [12]. However, it took more than a decade until [85, 166] proved plain convergence for the lowest-order FEM for the Poisson model problem in 2D. Generalizing those arguments, the works [167, 194] proved plain convergence \(\Vert u - U_k \Vert \rightarrow 0\) for a large class of PDE model problems.

Moreover, it took almost two decades to mathematically understand optimal convergence in the sense that \(\Vert u - U_k \Vert = {\mathcal O}((\#{\mathcal {Q}}_k)^{-s})\), where \(\#{\mathcal {Q}}_k\) is proportional to the numbers of the degrees of freedom and the algebraic convergence rate \(s > 0\) is as large as possible. The seminal work [24] proves convergence with optimal algebraic rates for the 2D Poisson problem, discretized by lowest-order elements. While the analysis of [24] requires an additional mesh coarsening step to prove optimal rates, this has been proved unnecessary in the work [200], which was the first work that proved optimal convergence rates for the standard adaptive loop (1). We note, however, that these developments originated from groundbreaking results on adaptive wavelet discretizations [64,65,66, 73], which analyzed optimality for a variety of problems in terms of the best N-term approximation.

The seminal ideas of [200] have then been extended to finite element methods for symmetric second-order linear elliptic PDEs in [57], general second-order linear elliptic PDEs in the setting of the Lax–Milgram lemma [58, 92], and even for well-posed indefinite PDEs like the Helmholtz problem [23], see also [172] for an easy introduction to the topic focussing on the Poisson model problem. For standard boundary element methods (BEMs) based on piecewise polynomials, [6, 90, 91, 96, 110] obtained similar results.

All these developments led to the identification of a unified framework of optimal adaptivity [53], which consists of four axioms of adaptivity that guarantee convergence of the adaptive loop (1) with optimal algebraic rates.

While all mentioned works consider optimal adaptivity with respect to the number of the degrees of freedom, in practice, optimal adaptivity with respect to the computational time is of more importance. This question is mathematically well-understood for wavelet discretizations (see, e.g., [64,65,66, 73]), but the numerical analysis for non-wavelet FEM (or BEM) discretizations still has to be developed. First results, where the adaptive algorithm does not only steer the mesh-refinement but also the iterative and inexact solution, include [101] for standard BEM as well as [104] for an abstract framework based on contractive iterative solvers (like optimally preconditioned CG solvers).

1.3 Adaptive Isogeometric Analysis

Although adaptive algorithms of type (1) have a long history in the finite element theory, their application in 3D is often very complex and some developments do not provide real computational tools. Reasons are of practical type, e.g., splitting a tetrahedral mesh is not an easy task and adaptive approaches may generate several unwanted elements when the refinement of the mesh fails to be aligned with the steep gradient of the solution. Sometimes, in the case of three dimensional finite elements, the generation of a tetrahedral mesh following a certain metric is preferred over the adaptive loop (1).

The situation is different in IGA. The mesh is not as flexible as a tetrahedral mesh, but it is a locally structured and globally unstructured hexahedral mesh. Local refinement and the use of locally refined splines is a viable option to keep the structure of splines (including the isoparametric paradigm) while adapting the mesh to the structure of the solution.

Once locally refined splines are used, the development of adaptive algorithms is not a tremendous overhead on a computational code, and can immensely improve the accuracy of the solution. Indeed, singularities of the PDE solution might significantly spoil the possible high-order convergence rate of isogeometric methods. Thus, we believe that the use of adaptive algorithms in IGA holds the promise of becoming ubiquitous in isogeometric codes.

1.3.1 Splines Suited for Adaptivity

The tensor-product structure of B-splines and NURBS is essentially non-local, because the bisection of one single element extends the refinement through the whole domain. Adaptive IGA methods must be based on suitable extensions of B-splines that break their tensor-product structure and allow local refinement. Such extensions were already available in CAD for the design of small details in large objects, and they were applied in IGA in the last years.

Among this kind of splines with local refinement properties, we mention the following: hierarchical B-splines (HB-splines), introduced in [99] and first used in IGA in [207], which realize local refinement by using splines of different levels, from coarsest to finest; truncated hierarchical B-splines (THB-splines) [114], which span the same space as hierarchical splines in [207] with a more local basis; T-splines, for which basis functions are directly defined on a mesh with T-junctions (or hanging nodes), introduced for CAD in [192, 193], and applied first to IGA in [15, 84]; locally refined-splines (LR-splines), first defined in [80] and almost immediately applied to IGA [130], which are similar to T-splines with the difference that the functions are defined on a different mesh that contains information about the continuity of the splines across edges or faces; finally, polynomial splines over hierarchical T-meshes (PHT-splines), introduced in [77] and first used in IGA in [171, 208], which are also defined on a mesh with hanging nodes, but which have lower continuity on the interfaces between elements than the previous variants.

1.3.2 Available Convergence Results

As far as convergence of adaptive IGA methods is concerned, the first result goes back to [46] which considers IGAFEM with (truncated) hierarchical B-splines for the Poisson model problem. Optimal algebraic convergence rates have been proved independently in [47, 105]. In particular, the work [105] provides a general framework for finite element discretizations guaranteeing that the residual error estimator for general second-order linear elliptic PDEs satisfies the axioms of adaptivity from [53]. Based on this framework, the recent work [107] also proves convergence of adaptive IGAFEM with T-splines using the refinement strategy from [163, 165].

Optimal adaptive IGABEM in 2D has been analyzed in [94] for weakly-singular integral equations and in [109] for hyper-singular integral equations, where these works additionally consider adaptive smoothness control to locally reduce the differentiability of the discrete spline space. First results on optimal adaptive IGABEM in 3D are found in [103]. In the spirit of [105], the recent work [106] provides an abstract framework for boundary element discretizations guaranteeing that the residual error estimator for weakly-singular integral equations satisfies the axioms of adaptivity from [53]. The application to IGABEM with (truncated) hierarchical B-splines is proved in [108], and the application to T-splines will be addressed in the present manuscript.

The main goal of this work is to provide a summary of all these convergence results and the underlying adaptive spline methodologies, i.e., hierarchical splines and T-splines. We will also provide some further information and references on other adaptive spline methodologies in Sect.  4.3.

1.4 Outline and Contributions

As a brief outline, Sect. 2 and 3 present the basics on tensor-product B-splines and their application in IGA, respectively. In Sect. 4, we present hierarchical splines and T-splines along with corresponding refinement algorithms and with special focus on their mathematical properties. Section 5 gives the abstract framework and the properties that guarantee optimal convergence of adaptive algorithms. This framework is applied in Sect. 6 to IGAFEM and in Sect. 7 to IGABEM, considering both hierarchical splines and T-splines for either method.

More in detail, Sect. 2 recalls the definition of non-uniform (rational) multivariate splines along with well-known properties and quasi-interpolation operators. It starts with univariate splines and their basis of B-splines in Sect. 2.1. Via tensor-products, multivariate (B-)splines are introduced in Sect. 2.2. In Sect. 2.3, we briefly mention that the quasi-interpolation results immediately extend to NURBS. Then, in Sect. 2.4, we explain how geometries of arbitrary dimension can be parametrized using these NURBS functions.

In the following Sect. 3, we introduce the considered model problems along with the required setting and present standard isogeometric discretizations with multivariate splines on uniform tensor meshes as in Sect. 2. Section 3.1 considers NURBS parametrizations of the physical domain, which can be either a single-patch or multi-patch geometry. In the case of FEM, the physical domain is a Lipschitz domain, while for BEM, it is the boundary thereof. Section 3.2 introduces the considered PDEs in case of IGAFEM and introduces standard isogeometric ansatz functions. Although adaptivity will only be considered in a later section, the used a posteriori error estimator is already formulated on uniform tensor meshes. Section 3.3 is structured analogously for IGABEM for weakly-singular integral equations arising from Dirichlet boundary value problems: We first introduce the boundary integral equation of the model problem and its discretization with standard IGA methods, and then we formulate the used error estimator.

Splines on adaptive meshes are discussed in Sect. 4. We mainly focus on hierarchical splines (Sect. 4.1) and T-splines (Sect. 4.2), and we also provide, without entering into details, several comments and references on other constructions such as LR-splines in Sect. 4.3. For hierarchical splines, we define in Sect. 4.1 two well-known bases of the same space, namely hierarchical B-splines and truncated hierarchical B-splines. We further recall refinement strategies and resulting admissible hierarchical meshes, and we present results on the hierarchical quasi-interpolation operator from [198]. We also mention the construction of simplified hierarchical splines from [43], following a refinement strategy that marks basis functions instead of elements. In Sect. 4.2, we recall T-splines on T-meshes which are defined as span of T-spline blending functions. The latter are in general not linearly independent, and therefore we also consider two- and three-dimensional dual-compatible T-splines, which indeed provide a basis. We consider a refinement strategy generating admissible meshes that yield dual-compatible T-splines, and we also present a new result stating that elements in an admissible T-mesh consist of at most two Bézier elements. Finally, we mention several extensions of T-splines.

Section 5 gives an abstract formulation of an adaptive mesh-refining algorithm and states and discusses the axioms of adaptivity (Sect. 5.1) which guarantee convergence of adaptive mesh refinement strategies at optimal algebraic convergence rates. Restricted to weighted-residual error estimators these axioms are simplified and adapted in the frame of IGA to FEM (Sect. 5.2) and BEM (Sect. 5.3), which translates into a collection of required mesh, refinement, and space properties.

In Sect. 6, we finally consider adaptive IGAFEM using the adaptive splines and refinement strategies of Sect. 4. Section 6.1 deals with hierarchical splines, and Sect. 6.2 deals with T-splines. In each case, we provide a basis of the corresponding ansatz space for homogeneous Dirichlet problems. Moreover, we state that both approaches fit into the abstract framework of Sect. 5.2, where the employed weighted-residual estimator is reliable and efficient, i.e., equivalent to the total error (consisting of energy error + data oscillations). These results are mostly cited, but especially for hierarchical splines on THB-admissible meshes, some minor new arguments are required. Further, we make the new observation that the optimal convergence rate of the total error for hierarchical splines does not depend on the considered admissibility class of the meshes. Indeed, it coincides with the optimal rate for arbitrary hierarchical meshes without any grading assumption. For hierarchical splines, all results can be relatively easily transferred to the multi-patch case, which in particular requires an adaptation of the single-patch refinement algorithms given in Sect. 4. We conclude Sect. 6.1 with three typical numerical examples for adaptive IGAFEM with hierarchical splines. Especially, we discuss the choice of either HB-splines or THB-splines and give some explanation on the expected optimal convergence rate.

Section 7 considers adaptive IGABEM and is similarly structured as Sect. 6. Again, we state that hierarchical splines (Sect. 7.1) and T-splines (Sect. 7.2) fit into the abstract framework of Sect. 5.3. While the implied optimal convergence of the corresponding adaptive IGABEM is known for hierarchical splines on HB-admissible meshes of class 2 in the literature, it is completely new for hierarchical splines on other HB-admissible meshes of different class or THB-admissible meshes as well as for T-splines on admissible T-meshes. The proof builds on the already known case and uses some arguments of Sect. 6. Again, we present two numerical experiments in the case of hierarchical splines. Finally, Sect. 7.3 presents recent results on an adaptive IGABEM in 2D which uses both h-refinement and multiplicity increase to steer the local smoothness of the employed standard splines. Although this approach does not fit exactly into the framework of Sect. 5.3, similar techniques can be used to prove again optimal convergence rates for the weighted-residual error estimator. We conclude the section with a numerical example.

Finally, Sect. 8 provides our conclusion. There, we also discuss several open questions in the context of adaptive IGAFEM as well as IGABEM.

1.5 General Notation

Throughout the paper and without any ambiguity, \(|\cdot |\) denotes the absolute value of scalars, the Euclidean norm of vectors, or the measure of a set. We write \(A\lesssim B\) to abbreviate \(A\le cB\) with some generic constant \(c>0\), which is clear from the context. Moreover, \(A\simeq B\) abbreviates \(A\lesssim B\lesssim A\). Throughout, we use indices for non-generic meshes, e.g., \({\mathcal {Q}}_+\) typically denotes a refinement of some given mesh \({\mathcal {Q}}\) and \({\mathcal {Q}}_k\) denotes the k-th mesh generated by the adaptive algorithm. Corresponding quantities have the same index, e.g., \(\eta _+\) and \(\eta _k\) denote the error estimators corresponding to the meshes \({\mathcal {Q}}_+\) and \({\mathcal {Q}}_k\), respectively. We often use  \(\widehat{\cdot }\)  for notation on the parametric domain. We employ standard notation for Sobolev spaces, e.g., \(H^1(\varOmega )\) denotes the space of square-integrable functions on some domain \(\varOmega \) whose weak derivative is square-integrable as well. In Sect. 3.3.1, we briefly recall Sobolev spaces on the boundary. A list of acronyms is given in the following Sect. 1.5.1. The most important symbols are listed in the following Sect. 1.5.1.

1.5.1 List of Symbols

Name

Description

First appearance

\(\textbf{A}\)

Diffusion matrix

Section 3.2.1

\(\mathcal {A}_\textbf{p}(\check{{\mathcal {Q}}},\textbf{T}^0)\)

Anchors in T-mesh

Section 4.2.3

\(\textbf{b}\)

Drift vector

Section 3.2.1

\(\widehat{B}_{i,p}\)

Univariate B-spline

Section 2.1.1

\(\widehat{B}[T_{i,p}]\)

(Local) univariate B-spline

Section 2.1.1

\(\widehat{B}_{\textbf{i},\textbf{p}}\)

Multivariate B-spline

Section 2.1.1

\(\widehat{B}_{\textbf{i},\textbf{p}}^\ell \)

Hierarchical B-spline

Section 4.1.1

\(\widehat{B}_{\textbf{z},\textbf{p}}\)

T-spline blending function

Section 4.2.3

\(\widehat{\mathcal {B}}^\ell \)

Uniformly refined multivariate B-splines

Section 4.1.1

\(\widehat{\mathcal {B}}_p(T)\)

Univariate B-splines

Section 2.1.1

\(\widehat{{\mathcal {B}}}_\textbf{p}(\textbf{T})\)

Multivariate B-splines

Section 2.1.1

c

Reaction coefficient

Section 3.2.1

\(C_\textrm{apx}(s)\)

Approximation constant for estimator

Section 5.1.4

\(C_\textrm{apx}^\textrm{tot}(s)\)

Approximation constant for total error

Section 5.2.2

\(\widehat{d}\)

Dimension of parametric domain

Section 2.2.1

d

Dimension of physical domain

Section 2.4

\(\textrm{d\!l}\)

Perturbation term of meshes

Section 5.1.3

\(\mathscr {D}_\nu \)

Conormal derivative

Section 3.2.3

\(\textbf{F}\)

NURBS parametrization

Section 2.4

\(\textbf{F}_m\)

NURBS parametrization of patch

Section 3.1.2

G

Fundamental solution of PDE

Section 3.3.2

h

Volume/boundary mesh-size function

Section 5.2.1/5.3.1

\(\widehat{h}\)

Element size in parametric domain

Section 2.2.1

\(h_Q\)

Element size

Section 3.1

\(\widehat{\mathcal {H}}_\textbf{p}(\widehat{\mathcal {Q}},\textbf{T}^0)\)

Hierarchical B-splines

Section 4.1.1

\(\widehat{J}_{p,T}\)

Quasi-interpolant for univariate splines

Section 2.1.2

\(\widehat{J}_{\textbf{p},\textbf{T}}\)

Quasi-interpolant for multivariate splines

Section 2.2.2

\(\widehat{J}_{\textbf p,\widehat{{\mathcal {Q}}}}^{\,\textrm H}\)

Quasi-interpolant for hierarchical splines

Section 4.1.4

\(\widehat{J}_{\textbf{p},\check{{\mathcal {Q}}}}^{\,\textrm T}\)

Quasi-interpolant for T-splines

Section 4.2.4

\(\mathscr {K}\)

Double-layer operator

Section 3.3.2

\(\textrm{lev}\)

Level of elements in hierarchical/T-mesh

Section 4.1.1/4.2.2

\(\textrm{mot}\)

Mother B-spline of truncated hierarchical B-spline

Section 4.1.2

\({\mathcal N}(\check{Q})\)

Neighbors for T-splines in index domain

Section 4.2.4

\({\mathcal N}(\widehat{Q})\)

Neighbors for T-splines in parametric domain

Section 4.2.4

\(\mathcal {N}(Q)\)

Neighbors for volume/boundary multi-patches

Section 6.1.5/7.1

\(\mathcal {N}_{\mathcal {H}}(\widehat{Q},\mu )\)

Neighbors for HB-splines

Section 4.1.3

\(\mathcal {N}_{\mathcal {T}}(\widehat{Q},\mu )\)

Neighbors for THB-splines

Section 4.1.3

\(\textrm{osc}\)

Oscillations

Section 5.2.2

p

Polynomial degree

Section 2.1.1

\(\textbf{p}\)

Polynomial degree vector

Section 2.2.1

\(\textbf{p}_\textbf{F}\)

Polynomial degree vector for parametrization

Section 3.1

\(\mathscr {P}\)

PDE operator

Section 3.2.1

\(\check{{\mathcal {Q}}}_0\)

Initial T-mesh of index domain

Section 4.2.2

\(\widehat{{\mathcal {Q}}}_0\)

Initial hierarchical/T-mesh in parametric domain

Section 4.1.3/4.2.5

\({\mathcal {Q}}_0\)

Initial mesh

Section 5.1.1

\(\widehat{\mathcal {Q}}_\textbf{F}\)

Mesh of parametric domain induced by knots of parametrization

Section 3.1

\(\widehat{{\mathcal {Q}}}^\ell \)

Uniformly refined mesh of parametric domain

Section 4.1.1

\({\mathcal {Q}}_\textbf{F}\)

Mesh induced by parametrization

Section 3.1

\(\widehat{\mathbb {Q}}\)

Admissible hierarchical/T-meshes

Section 4.1.3/4.2.5

\(\mathbb {Q}\)

Admissible meshes

Section 5.1.1

\(\widehat{\mathbb {Q}}_m\)

Admissible meshes of volume/boundary patch in parametric domain

Section 6.1.5/7.1

\(\mathbb {Q}_m\)

Admissible meshes of volume/boundary patch

Section 6.1.5/7.1

\(S_\textrm{ext}(\widehat{Q})\)

Support extension (for B-splines and T-splines)

Section 2.2.1/4.2.4

\(S_\textrm{ext}(\widehat{Q},k)\)

Multilevel support extension

Section 4.1.3

\(S_\textrm{ext}^*(\widehat{Q})\)

Modified support extension

Section 4.1.4

\(\mathbb {S}\)

FEM/BEM ansatz space

Section 3.2.1/3.3.2

\(\widehat{\mathbb {S}}_p(T)\)

Space of univariate splines

Section 2.1.1

\(\widehat{\mathbb {S}}_\textbf{p}(\textbf{T})\)

Space of multivariate splines

Section 2.2.1

\(\widehat{\mathbb {S}}_\textbf{p}^\textrm{H}(\widehat{Q},\textbf{T}^0)\)

Space of hierarchical splines

Section 4.1.1

\(\widehat{\mathbb {S}}_\textbf{p}^\textrm{T}(\check{{\mathcal {Q}}},\textbf{T}^0)\)

Space of T-splines

Section 4.2.3

T

Knot vector

Section 2.1.1

\(T_0\)

Iinitial knot vector

Section 7.3.2

\(\widehat{T}_{\textbf{i},\textbf{p}}^\ell \)

Truncated hierarchical B-spline

Section 4.1.2

\(\textrm{Trunc}^{\ell +1}\)

Truncation operator

Section 4.1.2

\(\textbf{T}\)

Vector of knot vectors

Section 2.2.1

\(\textbf{T}^0\)

Initial vector of knot vectors

Section 4.2.2

\(\textbf{T}_\textbf{F}\)

Vector of knot vectors for parametrization

Section 3.1

\(\textbf{T}^\ell \)

Uniformly refined vector of knot vectors

Section 4.1.1

\(\widehat{\mathcal {T}}_\textbf{p}(\widehat{\mathcal {Q}},\textbf{T}^0)\)

Truncated hierarchical B-splines

Section 4.1.2

\(\mathbb {T}\)

Admissible knot vectors for univariate refinement

Section 7.3.2

u

PDE solution

Section 3.2.1

U

Galerkin FEM approximation

Section 3.2.1

\(\mathcal {V}\)

Vertices of mesh

Section 7.3.1

\(\mathcal {V}_\textbf{F}\)

Vertices of geometry

Section 3.1.3

\(\mathscr {V}\)

Single-layer operator

Section 3.3.2

Z

Breakpoints

Section 2.1.1

\(\widehat{\gamma }_0\)

Shape-regularity constant

Section 7.3.2

\(\widehat{\varGamma }\)

Parametric domain for BEM

Section 3.1

\(\varGamma \)

Physical domain for BEM

Section 3.1

\(\varGamma _{m,m'}\)

Interface between NURBS patches

Section 3.1.2

\(\eta \)

Error estimator for FEM/BEM

Section 3.2.3/3.3.4

\(\widehat{\lambda }_{i,p}\)

Univariate dual functional

Section 2.1.2

\(\widehat{\lambda }_{\textbf{i},\textbf{p}}\)

Multivariate dual functional

Section 2.2.2

\(\widehat{\lambda }_{\textbf{i}, \textbf{p}}^\ell \)

Dual functional for hierarchical splines

Section 4.1.4

\(\widehat{\lambda }_{\textbf{z},\textbf{p}}\)

Dual functional for T-splines

Section 4.2.4

\(\mu \)

Admissibility parameter for hierarchical meshes

Section 4.1.3

\(\nu \)

Outer normal vector

Section 3.2.3

\(\pi ^q\)

Volume/boundary element-patch

Section 5.2.1/5.3.1

\(\varPi ^q\)

Volume/boundary element-patch (elements)

Section 5.2.1/5.3.1

\(\phi \)

Solution of boundary integral equation

Section 3.3.2

\(\varPhi \)

Galerkin BEM approximation

Section 3.2.2

\(\widehat{\varOmega }\)

Parametric domain

Section 3.1

\(\varOmega \)

Physical domain

Section 3.1

\(\check{\varOmega }_\textrm{act}\)

Active region for definition of T-splines

Section 4.2.3

\(\check{\varOmega }_\textrm{ind}\)

Index domain for definition of T-splines

Section 4.2.2

\(\check{\varOmega }_\textrm{ip}\)

Index/parametric domain for definition of T-splines

Section 4.2.2

\(\widehat{\varOmega }^\ell \)

Nested subsets of parametric domain

Section 4.1.1

\(\varOmega _m\)

NURBS patch

Section 3.1.2

\(\preceq \)

Refinement relation

Section 4.1.1

\(\#\)

Multiplicity of a breakpoint

Section 2.1.1

\(\nabla _\varGamma \)

Surface gradient

Section 3.3.1

\({[}\cdot ]\)

Jump

Section 3.2.3

\(\langle \cdot \,;\,\cdot \rangle _{\mathscr {P}}\)

Bilinear form induced by PDE

Section 3.2.1

2 Splines on Tensor Meshes

The main purpose of this section is to introduce some basic concepts and notation that will be used throughout the paper. In Sects. 2.1 and 2.2, we recall the definition as well as elementary properties of univariate and multivariate splines and their B-spline basis. In Sect. 2.3, we introduce non-rational splines along with the NURBS basis, which are then used in Sect. 2.4 to define NURBS parametrizations. For a more detailed introduction and proofs, we refer, e.g., to [27, 28, 187].

2.1 Univariate B-Splines

2.1.1 Definition and Properties

Given two integers \(p \ge 0\) and \(n > 0\), we define a knot vector as an ordered vector of the form

$$\begin{aligned} T= (t_1, \ldots , t_{n+p+1}), \end{aligned}$$

with \(t_j \le t_{j+1}\) for all \(1 \le j \le n+p\). We say that T is an open (or p-open) knot vector, if the first and last knots are repeated exactly \(p+1\) times, i.e., \(t_1 = \ldots =t_{p+1} < t_{p+2}\) and \(t_n < t_{n+1} = \ldots = t_{n+p+1}\). For simplicity, we will assume that \(t_{1} = 0\) and \(t_{n+p+1} = 1\) in the following.

We also introduce the ordered set of breakpoints \(Z= \{ z_1, \ldots , z_{n'} \}\), which accounts for knots without repetitions. We denote by \(\# z_j\) the multiplicity of the breakpoint \(z_j\), such that \(\sum _{j=1}^{n'} \# z_j = n+p+1\) and

$$\begin{aligned} T= (\underbrace{z_1, \dots , z_{1} }_{\#z_1 \text { times}},\underbrace{z_2, \dots , z_{2} }_{\# z_2 \text { times}},\ldots , \underbrace{z_{n'}, \dots , z_{{n'}} }_{\# z_{n'} \text { times}}). \end{aligned}$$

For \(2 \le j \le {n'}-1\), i.e., for all internal knots, the multiplicity satisfies \(\# z_j \le p+1\). Later on, and in particular for FEM, we will require lower multiplicity.

From the knot vector \(T\), a set of n B-splines is defined using the Cox–de Boor recursion formula. We start defining the piecewise constant functions

$$ \widehat{B}_{{i,0}} (t): = \left\{ {\begin{array}{*{20}c} 1 & {{\text{if }}t_{i} \, \le \,t\, < \,t_{{i + 1}} ,} \\ 0 & {{\text{otherwise}}.} \\ \end{array} } \right. $$

For \(1 \le k \le p\), the B-spline functions are defined by the recursion

$$\begin{aligned} \widehat{B}_{i,k}(t) = \frac{t- t_i}{t_{i+k} - t_i} \widehat{B}_{i,k-1}(t) + \frac{t_{i+k+1} - t}{t_{i+k+1} - t_{i+1}} \widehat{B}_{i+1,k-1}(t), \end{aligned}$$

where we use the convention that fractions with zero denominator are equal to zero.

Among many other properties, the B-splines are non-negative and satisfy the partition of unity (see [187, Theorem 4.20])

$$\begin{aligned} \sum _{i=1}^n \widehat{B}_{i,p}(t) = 1, \quad \text {for all } t\in (0,1), \end{aligned}$$

they have local support (see [187, Theorem 4.17]), in particular

$$\begin{aligned} \textrm{supp}( \widehat{B}_{i,p}) = [t_i,t_{i+p+1}], \; \text { for }i = 1, \ldots , n, \end{aligned}$$
(2)

they are locally linearly independent in the sense that for any open set \(O \subseteq (0,1)\) the functions \(\{B_{i,p}|_{O} : B_{i,p}|_{O} \ne 0 \}\) are linearly independent (see [28, Chapter IX, (47)] and [187, Theorem 4.18]), and they form a basis of the space of piecewise polynomials of degree p with \(p - \# z_j\) continuous derivatives at the breakpoints \(z_j\), for each \(j = 2, \ldots ,{n'}-1\) (see [28, Chapter IX, (44)]). Notice that the maximum and minimum allowed continuity at the breakpoints are \(C^{p-1}\) and \(C^{-1}\) (i.e., no continuity) which correspond to multiplicity \(\# z_j = 1\) and \(\# z_j = p+1\), respectively. We denote the basis of B-splines as

$$\begin{aligned} \widehat{\mathcal {B}}_p(T) := \{ \widehat{B}_{i,p} : i=1,\ldots , n \}, \end{aligned}$$

and the spline space spanned by them as

$$\begin{aligned} \widehat{\mathbb {S}}_{p}(T) := \textrm {span} (\widehat{\mathcal {B}}_p(T) ). \end{aligned}$$

It is easy to see, from the recursion formula in the definition, that the definition of the B-spline \(\widehat{B}_{i,p}\), for \(i = 1, \ldots , n\), depends only on the local knot vector \(T_{i,p} = (t_i, \ldots , t_{i+p+1})\), which is closely related to the support of the function (2). When necessary, and in particular when dealing with T-splines, we will stress this fact by using the equivalent notation

$$\begin{aligned} \widehat{B}[T_{i,p}] := \widehat{B}_{i,p}. \end{aligned}$$
(3)

Finally, we note that the breakpoints in \(Z\) generate a partition of the interval (0, 1), and we denote by \(I_j := (z_j, z_{j+1})\) the local elements for \(j = 1, \ldots , {n'}-1\), and by \(\widehat{h}_j := z_{j+1} - z_j\) their corresponding element sizes. For each element \(I_j\), which can be uniquely written as \((t_i, t_{i+1})\) for a certain index \(p+1 \le i \le n\), we introduce its support extension

$$\begin{aligned} S_\textrm{ext}({I}_j) := [t_{i-p}, t_{i+p+1}] , \end{aligned}$$
(4)

being the union of the supports of B-splines that do not vanish on \(I_j\).

Assuming that the maximum multiplicity of the internal knots is less than or equal to the degree p, i.e., the B-spline functions are at least continuous, the (right-hand) derivative of each B-spline \(\widehat{B}_{i,p}\) is given by the expression [187, Sect. 4.2]

$$\begin{aligned} \widehat{B}'_{i,p}= \frac{p}{t_{i+p}-t_i} \widehat{B}_{i,p-1} - \frac{p}{t_{i+p+1}-t_{i+1}} \widehat{B}_{i+1,p-1}. \end{aligned}$$

2.1.2 Quasi-Interpolation Operators

Let \(C_\textrm{locuni}\ge 1\) be such that the following local quasi-uniformity is satisfied

$$\begin{aligned} C_\textrm{locuni}^{-1} \le \frac{\widehat{h}_j}{\widehat{h}_{j+1}} \le C_\textrm{locuni} \end{aligned}$$
(5)

for all \(j=1,\dots ,n'-2\). Clearly, for a given a knot vector \(T\), such a constant always exists and we will use it to stress certain dependencies on the ratios \(\widehat{h}_j/\widehat{h}_{j+1}\).

There are several ways to define quasi-interpolation and projection operators onto the space of splines \(\widehat{\mathbb {S}}_{p}(T)\). In this work, we are interested in the theoretical properties of these operators, and not in their actual computation. For this reason, we will focus on two particular operators, and refer the reader to [183] for further discussion on quasi-interpolation operators.

To define the quasi-interpolation operators, we first need to define a set of linear functionals \(\widehat{\lambda }_{i,p}\) associated to the B-splines. Then, the quasi-interpolant takes the form

$$\begin{aligned} \widehat{J}_{p,T}: L^2(0,1) \rightarrow \widehat{\mathbb {S}}_{p}(T), \quad \widehat{v}\mapsto \sum _{i=1}^n \widehat{\lambda }_{i,p}(\widehat{v}) \widehat{B}_{i,p}. \end{aligned}$$
(6)

Notice that, when \(\widehat{\lambda }_{i,p} (\widehat{B}_{j,p}) = \delta _{ij}\), with \(\delta _{ij}\) the Kronecker symbol, the linear functionals form a dual basis, and the quasi-interpolant becomes a projector, i.e.,

$$\begin{aligned} \widehat{J}_{p,T} \widehat{v} = \widehat{v} \quad \text { for all } \widehat{v} \in \widehat{\mathbb {S}}_{p}(T). \end{aligned}$$

The first operator that we use was introduced in [26] (see also [187, Sect. 4.6]) and is the one traditionally used in IGA [16, 20]. We will denote it by \(\widehat{J}_{p,T}^{\,\textrm dB}\) (where dB stands for de Boor). In this case, the functionals are defined as

$$\begin{aligned} \widehat{\lambda }_{i,p}(\widehat{v}) \equiv \widehat{\lambda }^{\,\textrm dB}_{i,p}(\widehat{v}) := \int \limits _{t_i}^{t_{i+p+1}} \widehat{v}(s) D^{p+1}\psi _{i}(s)~\textrm{d}s, \end{aligned}$$
(7)

where \(D^{k}\) stands for the k-th derivative, and \(\psi _{i}(t)=G_{i}(t)\phi _{i}(t)\), with

$$\begin{aligned} \phi _i(t) := \frac{(t- t_{i+1}) \dots (t- t_{i+p})}{p!}, \end{aligned}$$

and

$$\begin{aligned} G_{i}(t) := g\left( \frac{2t-t_i-t_{i+p+1}}{t_{i+p+1}-t_{i}}\right) , \end{aligned}$$

where g is the transition function defined in [187, Theorem 4.37]. Note that it is trivial to see from (7) that

$$\begin{aligned} \widehat{v}|_{\textrm{supp}(\widehat{B}_{i,p})} = 0 \implies \widehat{\lambda }^{\,\textrm dB}_{i,p}(\widehat{v}) = 0. \end{aligned}$$

Moreover, we notice that the definition of each dual functional is based on the local knot vector, and we will stress this fact with the alternative notation

$$\begin{aligned} \widehat{\lambda }^{\,\textrm dB}[T_{i,p}] := \widehat{\lambda }^{\,\textrm dB}_{i,p}. \end{aligned}$$
(8)

The second operator is defined in [45, 202], to which we refer for the details. We will denote it by \(\widehat{J}_{p,T}^{\,\textrm Bp}\), since it is sometimes called Bézier projection. We start defining, for each element \(I_j\), the local \(L^2\)-projection \(P_{I_j}\) into the space of polynomials of degree p on \(I_j\). Since B-splines span piecewise polynomials, the local \(L^2\)-projection \(P_{I_j}\) can be written as in (6) considering the restriction of the functions to \(I_j\), namely

$$\begin{aligned} P_{I_j} (\widehat{v}|_{I_j}) = \sum _{\begin{array}{c} i=1 \\ \textrm{supp}( \widehat{B}_{i,p}) \cap I_j \not = \emptyset \end{array}}^n \widehat{\lambda }^{I_j}_{i,p} (\widehat{v}) \widehat{B}_{i,p}|_{I_j}. \end{aligned}$$
(9)

Then, the functionals \(\widehat{\lambda }_{i,p} \equiv \widehat{\lambda }^{\,\textrm Bp}_{i,p}\) are defined as convex combinations of the corresponding functionals of the local projection

$$\begin{aligned} \widehat{\lambda }_{i,p} := \sum _{\begin{array}{c} j=1 \\ I_j \cap \textrm{supp}( \widehat{B}_{i,p}) \not = \emptyset \end{array}}^{n'-1} c_{i,I_j} \widehat{\lambda }^{I_j}_{i,p}, \end{aligned}$$

with coefficients \(c_{i,I_j} \ge 0\) and \(\sum _{j=1}^{{n'}-1} c_{i,I_j} = 1\) for \(1 \le i \le n\). The functionals form a dual basis. For the following results, the concrete choice of the coefficients \(c_{i,I_j}\) is not relevant. Among the three suggested choices given in [45, Sect. 6], we consider the following one: for each basis function \(\widehat{B}_{i,p}\), we choose a local element \(I_{k(i)} \subseteq \textrm{supp}( \widehat{B}_{i,p})\) such that

$$\begin{aligned} | I_{k(i)}| \simeq |\textrm{supp}( \widehat{B}_{i,p})|. \end{aligned}$$

In our case, this is valid for any element thanks to (5), with hidden constants that depend only on the degree p and the constant \(C_\textrm{locuni}\). Then, the coefficients are taken as

$$\begin{aligned} c_{i,I_j} := \left\{ \begin{array}{ll} 1 &{} \text { if } I_j = I_{k(i)}, \\ 0 &{} \text { otherwise}, \end{array} \right. \end{aligned}$$

and the dual functionals simply become \(\widehat{\lambda }^{\,\textrm Bp}_{i,p} = \widehat{\lambda }^{I_{k(i)}}_{i,p}\).

The importance of these two quasi-interpolants comes from the following stability result. The proofs can be found in [20, Propositions 2.2] and [45, Theorem 2], respectively.

Proposition 1

Let either \(\widehat{J}_{p,T}= \widehat{J}_{p,T}^{\,\textrm dB}\) or \(\widehat{J}_{p,T}= \widehat{J}_{p,T}^{\,\textrm Bp}\). Then, for any interval \(I_j\), it holds that

$$\begin{aligned} \Vert \widehat{J}_{p,T} \widehat{v} \Vert _{L^2(I_j)} \le C \Vert \widehat{v} \Vert _{L^2(S_\textrm{ext}(I_j))} \; \text { for all } \widehat{v}\in L^2(0,1), \end{aligned}$$

where the constant \(C >0\) depends only on the degree p and the constant \(C_\textrm{locuni}\).

2.2 Multivariate B-Splines

The generalization of univariate B-splines to the multivariate setting is done by tensorization. In this section, we introduce the notation for the tensor-product basis functions and spaces.

2.2.1 Definition and Properties

Let \({\widehat{d}}\) be the space dimension, which will be \({\widehat{d}}= 2, 3\) in practical cases. Let the integers \(p_j\ge 0\) and \(n_j > 0\), and let \(T_j = (t_{j,1} , \ldots , t_{j,n_j+p_j+1} )\) be a \(p_j\)-open knot vector for each \(j = 1, \ldots , {\widehat{d}}\). We set the degree vector \(\textbf {p} := (p_1, \ldots , p_{\widehat{d}})\) and \(\textbf {T} := (T_1, \ldots , T_{\widehat{d}})\). Then, multivariate B-splines are defined as products of the form

$$\begin{aligned} \widehat{B}_{\textbf{i},\textbf{p}}(\textbf {t}) := \widehat{B}_{i_1,p_1}(t_1) \cdots \widehat{B}_{i_{\widehat{d}},p_{\widehat{d}}}(t_{\widehat{d}}), \end{aligned}$$

for \(\textbf{i} = (i_1, \ldots , i_{\widehat{d}})\) and \(1 \le i_j \le n_j\) for each \(j = 1,\ldots , {\widehat{d}}\), where it is understood that \(\widehat{B}_{i_j,p_j}\) is defined from the knot vector \(T_j\). Analogously to the univariate case, we will denote the B-spline basis as

$$\begin{aligned} \widehat{\mathcal {B}}_\textbf{p}(\textbf {T}) := \{\widehat{B}_{\textbf{i},\textbf{p}} : \, \textbf{i} = (i_1, \ldots , i_{\widehat{d}}), \, 1 \le i_j \le n_j \}, \end{aligned}$$

while the spline space is the spanned space, which is denoted by

$$\begin{aligned} \widehat{\mathbb {S}}_\textbf{p}(\textbf {T}):= \textrm {span} (\widehat{\mathcal {B}}_\textbf{p}(\textbf {T})). \end{aligned}$$

It is worth noting that \( \widehat{\mathbb {S}}_\textbf{p}(\textbf {T})= \otimes _{j=1}^{\widehat{d}}\widehat{\mathbb {S}}_{p_j}(T_j)\), i.e., it can defined as tensor-product of the univariate spaces. Multivariate B-splines have basically the same properties as univariate B-splines: they are non-negative and form a partition of unity, they have local support, and they are locally linearly independent.

Analogously to the univariate case, from the knot vector in each direction we define the set of breakpoints, or knots without repetitions, \(Z_j := \{ z_{j,1}, \ldots , z_{j,n'_j}\}\), for \(j = 1, \ldots , {\widehat{d}}\). Analogously to the partition of the interval in the univariate case, the breakpoints form a rectilinear grid of the form

$$\begin{aligned} \widehat{\mathcal {Q}} :=&\{ \widehat{Q}_\textbf{k} = I_{1,k_1} \times \ldots \times I_{{\widehat{d}}, k_{\widehat{d}}} : \\&I_{j, k_j} = (z_{j,k_j}, z_{j,k_j+1}) \text { for } 1\le k_j \le n'_j-1 \}. \end{aligned}$$

For a generic element \(\widehat{Q}_\textbf{k} \in \widehat{\mathcal {Q}}\), we define the element size as

$$\begin{aligned} \widehat{h}_{\widehat{Q}_\textbf{k}} := |\widehat{Q}_\textbf{k}|^{1/{\widehat{d}}}. \end{aligned}$$

We also define its support extension as the union of the (open) supports of basis functions that do not vanish in \(\widehat{Q}_\textbf{k}\), and due to the tensor-product structure, this is defined from the univariate support extensions as

$$\begin{aligned} S_\textrm{ext}(\widehat{Q}_\textbf{k}) := S_\textrm{ext}(I_{1,k_1}) \times \ldots \times S_\textrm{ext}(I_{{\widehat{d}},k_{\widehat{d}}}) \end{aligned}$$
(10)

for \(\textbf{k} = (k_1, \ldots , k_{\widehat{d}})\). Here, \(S_\textrm{ext}(I_{j,k_j})\) is the univariate support extension in the j-th direction given by (4).

2.2.2 Quasi-Interpolation Operators

The quasi-interpolation operators and dual bases from Sect. 2.1.2 can be generalized to the multivariate setting. The first quasi-interpolant \(\widehat{J}_{\textbf {p},\textbf {T}}^{\,\textrm dB} : L^2((0,1)^{\widehat{d}}) \rightarrow \widehat{\mathbb {S}}_\textbf{p}(\textbf {T})\) is defined as tensor-product

$$\begin{aligned} \widehat{J}_{\textbf {p},\textbf {T}}^{\,\textrm dB} := \widehat{J}_{p_1,T_1}^{\,\textrm dB} \otimes \ldots \otimes \widehat{J}_{p_{\widehat{d}},T_{\widehat{d}}}^{\,\textrm dB}, \end{aligned}$$

where the tensorization is interpreted in the sense of [28, Chapter XVII], see also [20, Sect. 2.2]. This kind of quasi-interpolant will be used for T-splines in Sect. 4.2.

For the second quasi-interpolant, instead of applying tensorization, we define it in a similar way as in the univariate case. As in (6), it is defined by constructing a dual basis. To define the dual basis, for each basis function \(\widehat{B}_{\textbf {i},\textbf {p}}\), we choose an element \(\widehat{Q}_{\textbf{k}(\textbf{i})}\subseteq \textrm{supp}(\widehat{B}_{\textbf {i},\textbf {p}})\) with size equivalent to the size of the support. Then, introducing a local projector in \(\widehat{Q}_{\textbf{k}(\textbf{i})}\), as in (9), and with an analogous notation for the local dual basis, the dual functional associated to this basis function is given by \(\widehat{\lambda }^{\,\textrm Bp}_{\textbf {i},\textbf {p}} := \widehat{\lambda }_{\textbf {i},\textbf {p}}^{\widehat{Q}_{\textbf{k}(\textbf{i})}}\). This type of quasi-interpolant will be used for hierarchical B-splines in Sect. 4.1.

Since the multivariate quasi-interpolation operators are defined from a dual basis they are also projectors, i.e.,

$$\begin{aligned} \widehat{J}_{\textbf {p},\textbf {T}}\widehat{v} = \widehat{v} \quad \text { for all } \widehat{v} \in \widehat{\mathbb {S}}_\textbf{p}(\textbf {T}), \end{aligned}$$

where we can choose \(\widehat{J}_{\textbf {p},\textbf {T}}\) either equal to \(\widehat{J}_{\textbf {p},\textbf {T}}^{\,\textrm dB}\) or to \(\widehat{J}_{\textbf {p},\textbf {T}}^{\,\textrm Bp}\). Moreover, for the two operators we have a stability result analogous to the one already presented in the univariate setting in Proposition 1. The result for \(\widehat{J}_{\textbf {p},\textbf {T}}=\widehat{J}_{\textbf {p},\textbf {T}}^{\,\textrm dB}\) of the following proposition is proved in [16, Lemma 3.2]. For the second quasi-interpolant \(\widehat{J}_{\textbf {p},\textbf {T}}=\widehat{J}_{\textbf {p},\textbf {T}}^{\,\textrm dB}\), the result is proved in [45, Theorem 2], see also [47, Sect. 3.1].

Proposition 2

Let either \(\widehat{J}_{\textbf {p},\textbf {T}}=\widehat{J}_{\textbf {p},\textbf {T}}^{\,\textrm dB}\) or \(\widehat{J}_{\textbf {p},\textbf {T}}=\widehat{J}_{\textbf {p},\textbf {T}}^{\,\textrm Bp}\). Then, for any element \(\widehat{Q} \in \widehat{\mathcal {Q}}\), it holds that

$$\begin{aligned} \Vert \widehat{J}_{\textbf {p},\textbf {T}}\widehat{v} \Vert _{L^2(\widehat{Q})} \le C \Vert \widehat{v} \Vert _{L^2(S_\textrm{ext}(\widehat{Q}))} \; \text { for all } v\in L^2((0,1)^{\widehat{d}}). \end{aligned}$$

The constant \(C>0\) depends only on the polynomial degrees \(p_1,\dots ,p_{\widehat{d}}\) and local quasi-uniformity (5) in each direction.

2.3 Non-uniform Rational B-Splines

Non-uniform rational B-splines (NURBS) are a generalization of B-splines. When used to build geometry parametrizations, as we will do in Sect. 2.4, they have the advantage of giving exact representations of conic sections, which cannot be achieved with piecewise polynomials, see [177, Sect. 1.4] for more details.

We start in the univariate setting. Given the B-spline basis, we define the weight function as a linear combination of B-splines

$$\begin{aligned} \widehat{W} := \sum _{i=1}^n w_i \widehat{B}_{i,p}, \end{aligned}$$

with positive coefficients \(w_i > 0\) for \(i=1, \ldots , n\). Then, the set of NURBS basis functions is formed by the rational functions

$$\begin{aligned} \widehat{R}_{i,p} := \frac{w_i \widehat{B}_{i,p}}{\sum _{j=1}^n w_j \widehat{B}_{j,p}} = \frac{w_i \widehat{B}_{i,p}}{\widehat{W}}. \end{aligned}$$

Analogously, in the multivariate case, if we introduce the set of multi-indices \(\mathcal{I} := \{ \textbf{i} = (i_1, \ldots , i_{\widehat{d}}) : 1 \le i_j \le n_j \}\), the weight function is defined as

$$\begin{aligned} \widehat{W} := \sum _{\textbf{i} \in \mathcal{I}} w_\textbf{i} \widehat{B}_{\textbf{i},\textbf{p}} \end{aligned}$$
(11)

and provides the multivariate NURBS basis functions

$$\begin{aligned} \widehat{R}_{\textbf{i},\textbf{p}} := \frac{w_\textbf{i} \widehat{B}_{\textbf{i},\textbf{p}}}{\sum _{\textbf{j} \in \mathcal{I}} w_\textbf{j} \widehat{B}_{\textbf{j},\textbf{p}}} = \frac{w_\textbf{i} \widehat{B}_{\textbf{i},\textbf{p}}}{\widehat{W}}. \end{aligned}$$
(12)

Note that, although the NURBS basis functions are defined starting from B-splines, they are not constructed by tensor-product due to the presence of the weights.

Finally, we can also define a quasi-interpolant for NURBS. Using the generic notation \(\widehat{J}_{\textbf {p},\textbf {T}}\) for a B-spline quasi-interpolant, we define the corresponding NURBS quasi-interpolant by

$$\begin{aligned} \widehat{J}_{\textbf {p},\textbf {T}}^{\,\widehat{W}} (\widehat{v}) := \frac{\widehat{J}_{\textbf {p},\textbf {T}}(\widehat{W} \, \widehat{v})}{\,\widehat{W}}. \end{aligned}$$

It can be readily seen that this operator is a projector onto the NURBS space provided that \(\widehat{J}_{\textbf {p},\textbf {T}}\) is a projector onto the spline space. Moreover, if \(\widehat{J}_{\textbf {p},\textbf {T}}\) is as in Proposition 1 or Proposition 2, \(\widehat{J}_{\textbf {p},\textbf {T}}^{\,\widehat{W}}\) satisfies the same stability and approximation properties as \(\widehat{J}_{\textbf {p},\textbf {T}}\), where the constants depend additionally on \(\widehat{W}\), see [16] and [20, Sect. 4] for details.

2.4 B-Splines and NURBS Geometries

A spline or NURBS geometry is built as a linear combination of B-splines or NURBS basis functions, by associating a control point to each basis function. More precisely, let the set of \({\widehat{d}}\)-variate NURBS be defined as in (12) and let \(\textbf{C}_\textbf{i} \in \mathbb {R}^d\) with \(d\ge {\widehat{d}}\) be the associated control points. The parametrization of the NURBS geometry is then given by

$$\begin{aligned} \textbf{F}(\textbf{t}) := \sum _{\textbf{i} \in \mathcal{I}} \textbf{C}_\textbf{i} \widehat{R}_\textbf{i, p} (\textbf{t}). \end{aligned}$$
(13)

The parametrization of a spline geometry is built completely analogously, replacing the rational basis functions by B-splines. Note that, as mentioned above, particular choices of the weight function \(\widehat{W}\) will allow the exact representation of conic geometries by NURBS. Moreover, it is also worth noting that, for a NURBS geometry, each component \((\textbf{F})_i\) belongs to a space of rational splines, namely

$$\begin{aligned} (\textbf{F})_i\in \big \{\widehat{S}/\widehat{W}\,:\,\widehat{S}\in \widehat{\mathbb {S}}_{\textbf{p}}(\textbf {T})\big \}, \text { for } i = 1,\ldots , d. \end{aligned}$$

Examples of a spline curve with \({\widehat{d}}=1\) and \(d=2\), and a spline surface with \({\widehat{d}}=2\) and \(d=3\), are respectively given in Figs. 1 and 2. For more details on the properties of NURBS geometries and different methods to construct them, we refer to [68, 89, 127, 177].

Fig. 1
figure 1

Quadratic spline curve, constructed from the knot vector \(T = (0, 0, 0, 1/4, 2/4, 3/4, 3/4, 1, 1, 1)\), along with its control points in \(\mathbb {R}^2\)

Fig. 2
figure 2

Quadratic spline surface, constructed from the knot vectors \(T_1 = T_2 = (0, 0, 0, 1/3, 2/3, 1, 1, 1)\), along with its control points in \(\mathbb {R}^3\)

3 Model Problems and Isogeometric Analysis

In this section we introduce the basic concepts of IGA plus some important assumptions required for the numerical analysis of the method. In Sect. 3.1, we start with an explanation on the description of the considered geometry, i.e., a Lipschitz domain in the case of FEM and its boundary in the case of BEM, along with some important assumptions on the NURBS parametrizations that define it. Then, in Sect. 3.2 we present the concept of IGA in the setting of FEM: we give a model problem written in terms of a PDE, we show how it is discretized with isogeometric methods, and present a residual-based error estimator. Finally, we present in Sect. 3.3 analogous ideas in the setting of isogeometric BEM for the discretization of a model problem written as a boundary integral equation.

3.1 Parametrization of the Physical Domain

We introduce here the assumptions of the physical domain. We start introducing the assumptions for the single-patch case, which will be valid throughout the paper. Then, we describe the assumptions required for multi-patch domains, and finally introduce a further assumption which is needed for BEM.

3.1.1 General Setting and Single-Patch Domains

In the following, we will always assume that our geometry is described through a spline or NURBS parametrization as defined in Sect. 2.4. Let \(\textbf{p}_{\textbf{F}}\) be the vector of polynomial degrees, \(\textbf{T}_{\textbf{F}} = (T_{\textbf{F},1}, \ldots , T_{\textbf{F},{\widehat{d}}})\) the multivariate open knot vector, with multiplicity smaller or equal to \(p_{\textbf{F},j}\) for the internal knots in the j-th direction, and let \(\widehat{{\mathcal {Q}}}_{\textbf{F}}\) be the corresponding tensor-mesh of the parametric domain

$$\begin{aligned} \widehat{\varOmega } := (0,1)^{\widehat{d}}. \end{aligned}$$

Introducing a weight function \(\widehat{W}_{\textbf{F}}\) as in (11), let \(\textbf{F}\) be a NURBS parametrization as in (13), with control points in \(\mathbb {R}^d\). We define the physical domain as

$$\begin{aligned} \varOmega := \textbf{F}(\widehat{\varOmega }) \subset \mathbb {R}^d. \end{aligned}$$

In the case of FEM, it holds that \(d=\widehat{d}\) and \(|\cdot |\) will denote the d-dimensional volume. In the case of BEM, where we will only work on the boundary \(\varGamma \) of some Lipschitz domain, we will write \(\widehat{\varGamma }\) and \(\varGamma \) instead of \(\widehat{\varOmega }\) and \(\varOmega \). Then, \(\widehat{d}=d-1\) and \(|\cdot |\) will denote the \((d-1)\)-dimensional surface measure.

The image through \(\textbf{F}\) of the mesh in the parametric domain automatically defines a mesh in the physical domain

$$\begin{aligned} {\mathcal {Q}}_{\textbf{F}} := \{Q = \textbf{F}(\widehat{Q}) : \widehat{Q} \in \widehat{{\mathcal {Q}}}_{\textbf{F}} \}; \end{aligned}$$
(14)

see an example in Fig. 3. Moreover, for any element \(Q\in {\mathcal {Q}}_\textbf{F}\) we define the element size as

$$\begin{aligned} h_Q := |Q|^{1/{\widehat{d}}}. \end{aligned}$$

These definitions are trivially extended to any mesh in the parametric domain.

Fig. 3
figure 3

Mesh in the parametric domain (left) and its image through \(\textbf{F}\) in the physical domain (right)

By definition of NURBS (and B-splines), it is obvious that

$$\begin{aligned} \textbf{F}|_{\overline{\widehat{Q}}}\in \left( C^\infty (\overline{\widehat{Q}}) \right) ^d\quad \text {for all }\widehat{Q}\in \widehat{{\mathcal {Q}}}_{\textbf{F}}, \end{aligned}$$

where \(\overline{\widehat{Q}}\) denotes the closure of \(\widehat{Q}\). However, in order to have a valid mesh, it is necessary to avoid the presence of singularities in the (inverse of the) parametrization, for which further assumptions are required.

In the following, we assume that \(\textbf{F}\) is a bi-Lipschitz homeomorphismFootnote 1, which in particular implies that the inverse \(\textbf{F}^{-1}\) exists. Moreover, it implies that the Gram determinant is bounded from above and from below, namely there exists a constant \(C_\textrm{\textbf{F}} > 0\) such that

$$\begin{aligned} C_\textrm{\textbf{F}}^{-{\widehat{d}}} \le \sqrt{\det (D\textbf{F}^\top (\textbf{t}) D\textbf{F}(\textbf{t}))} \le C_\textrm{\textbf{F}}^{{\widehat{d}}} \end{aligned}$$
(15a)

for almost all \(\textbf{t} \in \widehat{\varOmega }\), where \(D\textbf{F}\) is the Jacobian matrix of the parametrization. Note that when \({\widehat{d}}=d\) the Gram determinant reduces to \(| \det (D\textbf{F}(\textbf{t})) |\). When \({\widehat{d}}=d\), we additionally assume that

$$\begin{aligned} \textbf{F}^{-1}|_{\overline{Q}} \in \left( C^2(\overline{Q})\right) ^{\widehat{d}}\quad \text {for all } Q\in {\mathcal {Q}}_{\textbf{F}}, \end{aligned}$$

so that \({\mathcal {Q}}_\textbf{F}\)-elementwise second derivatives of spline functions in the physical domain are well-defined. Moreover, being bi-Lipschitz guarantees the boundedness of the first derivatives of \(\textbf{F}\) and its inverse. In particular, these assumptions imply the existence of \(C_\textrm{\textbf{F}}>0\) with (15a) and for all \(i,j,k\in \{1,\dots ,{\widehat{d}}\}\),

$$\begin{aligned} \begin{aligned}&\Big \Vert \frac{\partial }{\partial t_j}(\textbf{F})_i\Big \Vert _{L^\infty ( \widehat{\varOmega })}\le C_{\varvec{\textbf{F}}}, \quad \Big \Vert \frac{\partial }{\partial x_j}(\textbf{F}^{-1})_i\Big \Vert _{L^\infty (\varOmega )}\le C_{\varvec{\textbf{F}}},\\&\Big \Vert \frac{\partial ^2}{\partial t_j\partial t_k }(\textbf{F})_i\Big \Vert _{L^\infty (\widehat{\varOmega })}\le C_{\varvec{\textbf{F}}}, \Big \Vert \frac{\partial ^2}{\partial x_j\partial x_k }(\textbf{F}^{-1})_i\Big \Vert _{L^\infty (\varOmega )}\le C_{\varvec{\textbf{F}}}, \end{aligned} \end{aligned}$$
(15b)

where \((\textbf{F})_i\) and \((\textbf{F}^{-1})_i\) respectively denote the i-th component of \(\textbf{F}\) and \(\textbf{F}^{-1}\), and the second derivatives are defined elementwise.

Finally, we remark that under the assumptions on the parametrization \(\textbf{F}\) the size of the elements in the parametric and the physical domain is comparable, i.e., for any element \(Q= \textbf{F}(\widehat{Q})\) it holds that

$$\begin{aligned} h_Q\simeq \widehat{h}_{\widehat{Q}}, \end{aligned}$$

and the hidden constants depend only on \(\textbf{F}\).

3.1.2 Extension to Multi-patch Domains

A single mapping \(\textbf{F}\) can only be used to parametrize simple domains that are images of the unit square or cube. To deal with more complex geometries, we introduce the concept of multi-patch domains, where each patch is constructed with a NURBS parametrization.

In detail, we assume that the domain \(\varOmega \) is constructed with a partition into \(M \in \mathbb {N}\) patches in the sense that

$$\begin{aligned} \overline{\varOmega }= \bigcup _{m=1}^M \overline{\varOmega _m}, \end{aligned}$$

where each patch \(\varOmega _m\) is defined with a NURBS parame-trization of the form

$$\begin{aligned} \textbf{F}_m : \widehat{\varOmega } \longrightarrow \varOmega _m, \end{aligned}$$

and the assumptions made in Sect. 3.1 are valid for each \(\textbf{F}_m\). Again, in the case of BEM, we will write \(\varGamma _m\) instead of \(\varOmega _m\). We denote by \(\textbf{p}_{\textbf{F}_{m}}\) and \(\textbf{T}_{\textbf{F}_m}\) the degree and the knot vector associated to the parametrization of each patch, and by \(\widehat{{\mathcal {Q}}}_{\textbf{F}_m}\) and \(\widehat{\mathcal {B}}_{\textbf{p}_{\textbf{F}_m}}(\textbf{T}_{\textbf{F}_m})\) the corresponding mesh and the B-spline basis, respectively. Then, defining \({\mathcal {Q}}_{\textbf{F}_{m}}\) as in (14), we can define the multi-patch mesh

$$\begin{aligned} {\mathcal {Q}}_\textbf{F}:= \bigcup _{m=1}^M {\mathcal {Q}}_{\textbf{F}_{m}}. \end{aligned}$$
(16)

As before, this definition can be trivially extended to refined meshes.

In order to construct suitable discrete spaces in the multi-patch domain, we must require that the meshes are conforming at the interfaces, and the patches glue together with \(C^0\) continuity. Let us denote the interfaces by \(\varGamma _{m,m'} := \overline{\varOmega _m} \cap \overline{\varOmega _{m'}}\) for \(m \not = m'\). We assume that the two following conditions hold true for all \(m,m'\) with \(m\ne m'\):

(P1):

\(\varGamma _{m,m'}\) is either empty, or a vertex, or the image of a full edge, or the image of a full face of \(\widehat{\varOmega }\) for both parametrizations.

(P2):

For each B-spline \(\widehat{\beta }_m \in \widehat{\mathcal {B}}_{\textbf{p}_{\textbf{F}_{m}}}(\textbf{T}_{\textbf{F}_{m}})\) such that

$$\begin{aligned} (\widehat{\beta }_m \circ \textbf{F}_m^{-1})|_{\varGamma _{m,m'}} \not = 0, \end{aligned}$$

there exists a unique function \(\widehat{\beta }_{m'} \in \widehat{\mathcal {B}}_{\textbf{p}_{\textbf{F}_{m'}}}(\textbf{T}_{\textbf{F}_{m'}})\) such that \((\widehat{\beta }_m \circ \textbf{F}_m^{-1}) |_{\varGamma _{m,m'}} = (\widehat{\beta }_{m'} \circ \textbf{F}_{m'}^{-1}) |_{\varGamma _{m,m'}}\).

The assumptions imply that the meshes are conforming at the interfaces and the coincident knot vectors are related by an affine transformation, including also knot repetitions. Moreover, the control points and the weights associated to the interface functions of adjacent patches must also coincide. As a consequence, the mesh \({\mathcal {Q}}_\textbf{F}\) is globally unstructured, but locally structured on each patch, see Fig. 4.

Fig. 4
figure 4

An example of a multi-patch domain formed by three patches (left), and their corresponding control points (right). The control points associated to interface functions of adjacent patches coincide

3.1.3 A Further Assumption for BEM

In the case of BEM, we require a further assumption. Here, the boundary \(\varGamma \) of some \(d\)-dimensional Lipschitz domain is defined as a multi-patch geometry through NURBS parametrizations. More precisely, we have that \(\varGamma = \bigcup _{m=1}^M \overline{\varGamma _m}\), where each

$$\begin{aligned} \textbf{F}_m :(0,1)^{d-1} \rightarrow \varGamma _m \subset \mathbb {R}^d\end{aligned}$$

is a NURBS parametrization. Let us denote by

$$\begin{aligned} \mathcal{V}_\textbf{F} := \bigcup _{m=1}^M \{ \textbf{F}_m(\widehat{\textbf{z}}): \widehat{\textbf{z}} \in \{0,1\}^{d-1}\}, \end{aligned}$$

the set of vertices of the geometry. For each vertex \(\textbf{z} \in \mathcal{V}_\textbf{F}\), we define the subdomain covered by its neighboring elements as

$$\begin{aligned} \pi _\textbf{F}(\textbf{z}) := \bigcup \big \{\overline{Q}\,:\,Q\in {\mathcal {Q}}_\textbf{F}\wedge \textbf{z}\in \overline{Q}\big \} \end{aligned}$$

Following [103, Sect. 5.4.1], we assume that the following condition holds true:

(P3):

For every vertex \(\textbf{z} \in \mathcal{V}_\textbf{F}\), there exists a set \(\widehat{\pi }_\textbf{F}(\textbf{z}) \subset \mathbb {R}^{d-1}\) that is an interval for \(d=2\) and a polygon for \(d=3\) and a bi-Lipschitz mapping

$$\begin{aligned} \textbf{F}_\textbf{z} : \widehat{\pi }_\textbf{F}(\textbf{z}) \longrightarrow \pi _\textbf{F}(\textbf{z}) \end{aligned}$$

such that \(\textbf{F}_z^{-1} \circ \textbf{F}_m|_{\widehat{Q}}\) is an affine mapping for all \(m \in \{1, \ldots , M \}\) and all \(\widehat{Q}\in \widehat{{\mathcal {Q}}}_{\textbf{F}_m}\) with \(Q:=\textbf{F}_m(\widehat{Q})\) \(\subset \pi _\textbf{F}(\textbf{z})\).

The assumption means that each subdomain \(\pi _\textbf{F}(\textbf{z})\) can be flattened and that the inverse of the bi-Lipschitz mapping \(\textbf{F}_\textbf{z}\) restricted to Q essentially coincides with the inverse of \(\textbf{F}_m^{-1}\), see Fig. 5. In particular, this prevents the case \(\pi _\textbf{F}(\textbf{z}) = \varGamma \). We stress that the same assumption is also made in [185, Assumption 4.3.25] for curvilinear triangulations.

Fig. 5
figure 5

Graphical representation of assumption (P3), in a parametrization of the sphere with 60 patches and one single element per patch. The three elements forming \(\pi _\textbf{F}(\textbf{z})\) on the left are colored in different tones of gray, and the corresponding polygon \(\widehat{\pi }_\textbf{F}(\textbf{z})\) is the hexagon shown in the middle. The mapping \(\textbf{F}_\textbf{z}^{-1} \circ \textbf{F}_m\) is an affine transformation

3.2 Isogeometric Analysis for FEM (IGAFEM)

We now describe IGA based on tensor-product B-splines, i.e., without adaptive refinement. For more details about IGA we refer to [20, 71, 129].

3.2.1 Model Problem and Galerkin Approximation

Let \(\varOmega \subset {\mathbb R}^d\) with \(d\ge 2\) be a bounded Lipschitz domain as in [159, Definition 3.28]. In practice, \(\varOmega \) is a multi-patch domain defined as in Sect. 3.1.2 with \({\widehat{d}}=d\). We consider a general second-order linear elliptic PDE with homogenous Dirichlet boundary condition

$$\begin{aligned} \begin{aligned} \mathscr {P}u&=f\quad \text {in }\varOmega ,\\ u&=0\quad \text {on }\varGamma :=\partial \varOmega , \end{aligned} \end{aligned}$$
(17)

where

$$\begin{aligned} \mathscr {P}u:=-\textrm{div}(\textbf{A}\nabla u)+\textbf{b}\cdot \nabla u +cu, \end{aligned}$$
(18)

with \(\textbf{A}\in W^{1,\infty }(\varOmega )^{d\times d}\) and symmetric, \(\textbf{b}\in L^\infty (\varOmega )^{d}\), and \(c\in L^\infty (\varOmega )\).

We interpret \(\mathscr {P}\) in its weak form and define the corresponding bilinear form

$$\begin{aligned} \begin{aligned} \langle w\,;\,v\rangle _{\mathscr {P}}&:=\int \limits _\varOmega (\textbf{A}\nabla w)\cdot \nabla v + (\textbf{b}\cdot \nabla w) v+c w v\,\text {d}\textbf{x}. \end{aligned} \end{aligned}$$

The bilinear form is clearly continuous, i.e., there exists a positive constant \(C_\textrm{cont} > 0\) such that

$$\begin{aligned} \begin{aligned} \langle w\,;\,v\rangle _{\mathscr {P}}\le C_\textrm{cont}\Vert w\Vert _{H^1(\varOmega )}\Vert v\Vert _{H^1(\varOmega )}\; \text {for all }v,w\in H^1(\varOmega ). \end{aligned} \end{aligned}$$

Additionally, we suppose ellipticity of \(\langle \cdot \,;\,\cdot \rangle _{\mathscr {P}}\) on \(H_0^1(\varOmega )\), i.e., there exists \(C_\textrm{ell} > 0\) such that

$$\begin{aligned} \langle v\,;\,v\rangle _{\mathscr {P}}\ge C_\textrm{ell}\Vert v\Vert _{H^1(\varOmega )}^2\quad \text {for all }v\in H_0^1(\varOmega ). \end{aligned}$$

Note that ellipticity is for instance satisfied if the matrix \(\textbf{A}\) is uniformly positive definite and the vector \(\textbf{b}\in \textbf{H}(\textrm{div},\varOmega )\) satisfies that \(-\frac{1}{2}\,\textrm{div}\,\textbf{b}+c\ge 0\) almost everywhere in \(\varOmega \).

According to the Lax–Milgram theorem, for arbitrary \(f\in L^2(\varOmega )\) problem (17) admits a unique solution \(u\in H_0^1(\varOmega )\) to the weak formulation

$$\begin{aligned} \langle u\,;\,v\rangle _{\mathscr {P}} = \int \limits _\varOmega f v\,\text {d}\textbf{x}\quad \text {for all }v\in H_0^1(\varOmega ). \end{aligned}$$
(19)

Finally, we note that the additional regularity \(\textbf{A}\in W^{1,\infty }(\varOmega )^{d\times d}\) (instead of only the natural assumption \(\textbf{A}\in L^{\infty }(\varOmega )^{d\times d}\)) is only required for the well-posedness of the residual a posteriori error estimator, see Sect. 3.2.3 below.

Let \(\mathbb {S}\subset H_0^1(\varOmega )\) be an arbitrary discrete subspace and let \(U\in \mathbb {S}\) be the corresponding Galerkin approximation to the solution \(u\in H_0^1(\varOmega )\), i.e.,

$$\begin{aligned} \langle U\,;\,V\rangle _{\mathscr {P}} = \int _\varOmega f V\,\text {d}\textbf{x}\quad \text {for all }V\in \mathbb {S}. \end{aligned}$$
(20)

We note the Galerkin orthogonality

$$\begin{aligned} \langle u-U\,;\,V\rangle _{\mathscr {P}} = 0 \quad \text {for all }V\in \mathbb {S}, \end{aligned}$$

as well as the resulting Céa type quasi-optimality

$$\begin{aligned} \Vert u-U\Vert _{H^1(\varOmega )} \le C_{\text {C}\acute{\text {e}}\text {a}}\min _{V\in \mathbb {S}}\Vert u-V\Vert _{H^1(\varOmega )} \end{aligned}$$

with \(C_{\text {C}\acute{\text {e}}\text {a}} := {C_\textrm{cont}}/{C_\textrm{ell}}\).

3.2.2 Isogeometric Discretization

For the discretization of the model problem with the IGA method, we start with the case of a single-patch domain, and then generalize the method to the multi-patch case.

The single-patch case Let us assume that \(\varOmega = \textbf{F}(\widehat{\varOmega })\), with a NURBS parametrization \(\textbf{F}\) of degree \(\textbf{p}_{\textbf{F}}\) constructed from the knot vector \(\textbf {T}_{\textbf{F}}\) as in Sect. 3.1. We consider a discrete space of splines \(\widehat{\mathbb {S}}_\textbf{p}(\textbf {T})\supseteq \widehat{\mathbb {S}}_{\textbf{p}_{\textbf{F}}} (\textbf {T}_{\textbf{F}})\), which is obtained by refinement of the space used to build the parametrization. We note that both h-refinement and p-refinement can be applied, see [129] for details.

We will however use a milder assumption for the discrete space \(\widehat{\mathbb {S}}_\textbf{p}(\textbf {T})\), and allow to use a lower degree than for the parametrization, while the mesh and the continuity given by \(\textbf{F}\) must be respected. In particular, we assume that \(\widehat{{\mathcal {Q}}}_\textbf{F}\) and \(\widehat{{\mathcal {Q}}}\), the meshes respectively associated to the discrete spaces \(\widehat{\mathbb {S}}_{\textbf{p}_{\textbf{F}}} (\textbf {T}_{\textbf{F}})\) and \(\widehat{\mathbb {S}}_\textbf{p}(\textbf {T})\), are nested, in the sense that the corresponding sets of breakpoints satisfy \(Z_{\textbf{F},j} \subseteq Z_j\) for \(j=1,\ldots , {\widehat{d}}\). We also assume that the continuity of \(\widehat{\mathbb {S}}_\textbf{p}(\textbf {T})\) along the knot lines of \(\widehat{{\mathcal {Q}}}_\textbf{F}\) is always less or equal than the one of \(\widehat{\mathbb {S}}_{\textbf{p}_{\textbf{F}}} (\textbf {T}_{\textbf{F}})\). Note that this is always satisfied if \(\widehat{\mathbb {S}}_\textbf{p}(\textbf {T})\supseteq \widehat{\mathbb {S}}_{\textbf{p}_{\textbf{F}}} (\textbf {T}_{\textbf{F}})\). Moreover, to obtain conforming spaces in \(H^1(\varOmega )\) we assume that the continuity across elements is not lower than \(C^0\).

The discrete space in the physical domain is defined by push-forward using the NURBS parametrization, namely

$$\begin{aligned} \mathbb {S}_\textbf{p}(\textbf{T}) :=\big \{ V = \widehat{V} \circ \textbf{F}^{-1} : \widehat{V} \in \widehat{\mathbb {S}}_\textbf{p}(\textbf {T})\big \}. \end{aligned}$$
(21)

We can easily define a basis for this space by push-forward of the B-spline basis functions, that is

$$\begin{aligned} \begin{aligned} \mathcal{B}_\textbf{p}(\textbf{T}) := \big \{ B_{\textbf{i},\textbf{p}} = \widehat{B}_{\textbf{i},\textbf{p}} \circ \textbf{F}^{-1} : \widehat{B}_{\textbf{i},\textbf{p}} \in \widehat{\mathcal {B}}_\textbf{p}(\textbf{T}) \big \}. \end{aligned} \end{aligned}$$
(22)

For the solution of the discrete problem (20), we define the discrete space with vanishing boundary conditions

$$\begin{aligned} \mathbb {S} := \mathbb {S}_\textbf{p}(\textbf{T}) \cap H_0^1(\varOmega ). \end{aligned}$$

In practice, and thanks to the use of the open knot vectors, vanishing boundary conditions are enforced by removing the first and last basis functions from the univariate B-spline spaces.

It is worth noting that the space \(\widehat{\mathbb {S}}_\textbf{p}(\textbf {T})\) is associated to a mesh in the parametric domain, which we denote by \(\widehat{{\mathcal {Q}}}\) and which is a refinement of \(\widehat{{\mathcal {Q}}}_{\textbf{F}}\). As in (14), this mesh is mapped through \(\textbf{F}\) to define the mesh \({\mathcal {Q}}\) of \(\varOmega \) associated to the space \(\mathbb {S}\).

Remark 1

The assumption on the continuity along the knot lines of \(\widehat{{\mathcal {Q}}}_\textbf{F}\) is in fact a condition on the knots. Let us assume for simplicity the same degrees p and \(p_\textbf{F}\) in every direction, and the same multiplicities of the internal knots, m and \(m_\textbf{F}\), referring respectively to spaces \(\widehat{\mathbb {S}}_\textbf{p}(\textbf {T})\) and \(\widehat{\mathbb {S}}_{\textbf{p}_{\textbf{F}}} (\textbf {T}_{\textbf{F}})\). Then the condition reads

$$\begin{aligned} p - m \le p_\textbf{F} - m_\textbf{F}. \end{aligned}$$

It is important to note that, if the condition is not respected, the optimal convergence rate may not be achieved, even for smooth solutions, see the numerical tests in [51].

Remark 2

In IGA, it is common to follow the isoparametric paradigm, and to define the discrete space as the push-forward of a NURBS space [129]. Although our parametrization is constructed via NURBS, we have preferred to limit ourselves to (non-rational) spline spaces for the sake of clarity and to avoid the cumbersome presence of the weight during the mathematical analysis. The analysis of IGA with uniform NURBS discretizations has already been carried out in [16], see also [20, Sect. 4]. The results of this work can be extended to adaptive methods with rational splines without major (but notational) difficulties.

The multi-patch case For the definition of the multi-patch space we follow the same approach as in [20, Sect. 3], see also [139]. For each patch, let \(\widehat{\mathbb {S}}_{\textbf{p}_m}(\textbf{T}_m)\) satisfy the same assumptions with respect to \(\widehat{\mathbb {S}}_{\textbf{p}_{\textbf{F}_{m}}}(\textbf{T}_{\textbf{F}_{m}})\) as in the single-patch case. By push-forward, we define the corresponding space \({\mathbb {S}}_{\textbf{p}_m}(\textbf{T}_m)\) and its local basis \(\mathcal{B}_{\textbf{p}_m}(\textbf{T}_m)\) as in the single-patch case. Then, the multi-patch discrete space is given as

$$\begin{aligned} \widetilde{\mathbb {S}} := \big \{ V \in C^0(\varOmega ) : V|_{\varOmega _m} \in {\mathbb {S}}_{\textbf{p}_m}(\textbf{T}_m), \text { for } m = 1, \ldots , M\big \}, \end{aligned}$$

and finally the discrete space with vanishing boundary conditions is simply

$$\begin{aligned} \mathbb {S} := \widetilde{\mathbb {S}} \cap H_0^1(\varOmega ). \end{aligned}$$

Since each local space is associated to a mesh, which we denote by \({\mathcal {Q}}_m\), we can define the multi-patch mesh analogously to (16), i.e., \({\mathcal {Q}}:= \bigcup _{m=1}^M {\mathcal {Q}}_m\).

In order to construct a global basis for the multi-patch space, besides the assumptions on the parametrization given in Sect. 3.1.2, we need an analogous assumption to guarantee that the refined meshes are conforming. In particular, we assume that the following condition holds true:

(P2’):

For each \(\beta _m \in \mathcal{B}_{\textbf{p}_m}(\textbf{T}_m)\) such that \(\beta _m|_{\varGamma _{m,m'}} \not = 0\), there exists a unique function \(\beta _{m'} \in \mathcal{B}_{\textbf{p}_{m'}}(\textbf{T}_{m'})\) such that \(\beta _m|_{\varGamma _{m,m'}} = \beta _{m'}|_{\varGamma _{m,m'}}\).

With this assumption, we can build a basis of the multi-patch space \(\mathbb {S}\) by gluing together functions of adjacent patches in a procedure which is analogous to the construction of the connectivity array in standard finite elements. To define a basis of \(\widetilde{\mathbb {S}}\), let us denote by n the dimension of \(\widetilde{\mathbb {S}}\). We define for each patch a mapping

$$\begin{aligned} g_m: \mathcal{B}_{\textbf{p}_m}(\textbf{T}_m) \rightarrow \{1, \ldots , n\}\quad \text {for } m = 1, \ldots , M, \end{aligned}$$

in such a way that, for any \(\beta _m \in \mathcal{B}_{\textbf{p}_m}(\textbf{T}_m)\) and \(\beta _{m'} \in \mathcal{B}_{\textbf{p}_{m'}}(\textbf{T}_{m'})\) with \(m\ne m'\),

$$\begin{aligned} g_m(\beta _m) = g_{m'}(\beta _{m'}) \iff \varGamma _{m,m'} \not = \emptyset \text { and } \\ \beta _m |_{\varGamma _{m,m'}} = \beta _{m'} |_{\varGamma _{m,m'}}. \end{aligned}$$

Then, we define the basis of the multi-patch basis

$$\begin{aligned} \mathcal{B} := \{ B_j: \, j = 1, \ldots , n \}, \end{aligned}$$

where each basis function is given by

$$\begin{aligned} B_j |_{\overline{\varOmega _m}} := \left\{ \begin{array}{ll} \beta _m &{} \text { if } g_m(\beta _m) = j,\\ 0 &{} \text {otherwise}. \end{array} \right. \end{aligned}$$

The conditions described above guarantee that the basis functions are continuous at the interfaces, see an example in Fig. 6.

Fig. 6
figure 6

An example of a \(C^0\) basis function of the multi-patch space, defined in the same domain as in Fig. 4

Once we have the basis for \(\widetilde{\mathbb {S}}\), a basis for \(\mathbb {S}\) is easily constructed by removing the basis functions that do not vanish on the boundary similarly to the single-patch case.

Remark 3

The construction of splines with \(C^1\) continuity (or higher) in multi-patch domains is an important subject of research not only in IGA but in general in computer aided geometric design. Different kinds of constructions have recently been proposed in the literature. For the interested reader, we mention [133, 134, 154, 169, 170, 203, 212]. The analysis of adaptive methods in multi-patch domains with high continuity is beyond the current state of the art, with preliminary steps in [34], and in particular beyond the scope of this paper.

3.2.3 A Posteriori Error Estimator

Despite not having introduced the spline spaces with local refinement, we can already introduce the error estimator that will drive the adaptive refinement. Let the mesh \({\mathcal {Q}}\) be defined as above, and let \(Q\in {\mathcal {Q}}\). For almost every \(\textbf{x}\in \partial Q\cap \varOmega \) on the interior skeleton of the mesh, there exists a unique element \(Q'\in {\mathcal {Q}}\) with \(\textbf{x}\in \partial Q'\) and \(Q' \not = Q\). We denote the corresponding outer normal vectors by \({\varvec{\nu }}\) and \({\varvec{\nu }}'\). With the notation

$$\begin{aligned} \begin{aligned} \mathscr {D}_{{\varvec{\nu }}} (\cdot ):=(\textbf{A}\nabla (\cdot ))\cdot {\varvec{\nu }},\quad \mathscr {D}_{{\varvec{\nu }}'} (\cdot ):=(\textbf{A}\nabla (\cdot ))\cdot {\varvec{\nu }}', \end{aligned} \end{aligned}$$

we define the normal jump as

$$\begin{aligned}{}[\mathscr {D}_{{\varvec{\nu }}} U](\textbf{x}) : = (\mathscr {D}_{{\varvec{\nu }}} U|_{Q})(\textbf{x})+(\mathscr {D}_{{\varvec{\nu }}'} U|_{Q'})(\textbf{x}). \end{aligned}$$

With this definition, we employ the weighted-residual a posteriori error estimator

$$\begin{aligned} \begin{aligned}&\eta := \eta ({\mathcal {Q}})\; \text {with}\; \eta (\mathcal {S})^2:=\sum _{Q\in \mathcal {S}} \eta (Q)^2 \text { for all }\mathcal {S}\subseteq {\mathcal {Q}}, \end{aligned} \end{aligned}$$
(23a)

where, for all \(Q\in {\mathcal {Q}}\) with element size \(h_Q\), the local refinement indicators read

$$\begin{aligned} \eta (Q)^2:=h_Q^{2} \Vert f-\mathscr {P}U\Vert _{L^2(Q)}^2+h_Q \Vert [\mathscr {D}_{{\varvec{\nu }}} U]\Vert _{L^2(\partial Q\cap \varOmega )}^2. \end{aligned}$$
(23b)

We refer, e.g., to the monographs [3, 206] for the analysis of the residual a posteriori error estimator (23) in the frame of standard FEM with piecewise polynomials of fixed order.

Remark 4

The additional regularity \(\textbf{A}\) \(\in \) \(W^{1,\infty }(\varOmega )^{d\times d}\) (instead of only \(\textbf{A}\in L^\infty (\varOmega )^{d\times d}\)) is needed to ensure that \(\mathscr {D}_{{\varvec{\nu }}}(\cdot )\) is well-defined.

Remark 5

If \(\mathbb {S}\subset C^1(\varOmega )\), then the jump contributions in (23) vanish and \(\eta (Q)\) consists only of the volume residual, i.e., \(\eta (Q)^2 = h_Q^2 \Vert f-\mathscr {P}U\Vert _{L^2(Q)}^2\).

3.3 Isogeometric Analysis for BEM (IGABEM)

The potential benefits of using IGA for the solution of boundary integral equations were already mentioned in the conclusions of [129], but it has only been considered first in [178]. The research on IGABEM has steadily grown since then, although not as fast as for IGAFEM, with applications in acoustics [61, 82, 196, 205], elasticity [13, 168], electromagnetics [83, 195, 204], lifting flow [63], potential flow [118, 140, 141], and solid mechanics [156, 190], see also the recent book [17] for a comprehensive survey of the topic and a complete review of the existing literature. An implementation of (non-adaptive) IGABEM is available in the open-source library Bembel [81]. Although some of the previously mentioned works consider locally refined T-splines, the mathematical research on adaptive IGABEM methods is rather limited. Results for the two-dimensional case are found in [93,94,95, 100, 109], where [95] is also the first work that considers Galerkin instead of collocation IGABEM. The three-dimensional case has only recently been considered in [103, 106, 108].

3.3.1 Sobolev Spaces for BEM

For arbitrary \(d\ge 2\), let \(\varOmega \subset {\mathbb R}^d\) be a bounded Lipschitz domain as in [159, Definition 3.28] and \(\varGamma := \partial \varOmega \) its boundary. In practice, \(\varGamma \) is a multi-patch domain defined as in Sect. 3.1.2 with \({\widehat{d}}=d-1\). Before we give the model problem and discuss its discretization, we have to introduce the involved Sobolev spaces on \(\varGamma \). For \(\sigma \in [0,1]\), we define the Hilbert spaces \(H^{\pm \sigma }(\varGamma )\) with corresponding norms as in [159, p. 99] by use of Bessel potentials on \({\mathbb R}^{d-1}\) and liftings via bi-Lipschitz mappings that describe \(\varGamma \). For \(\sigma =0\), this procedure yields that \(H^0(\varGamma )=L^2(\varGamma )\) with equivalent norms. Therefore, we set \(\Vert \cdot \Vert _{H^0(\varGamma )}:=\Vert \cdot \Vert _{L^2(\varGamma )}\).

For \(\sigma \in (0,1]\), any measurable subset \(\omega \subseteq \varGamma \), and all \(v\in H^\sigma (\varGamma )\), we define the associated Sobolev–Slobodeckij norm

$$\begin{aligned} \Vert v\Vert _{H^{\sigma }(\omega )}^2 := \Vert v\Vert _{L^2(\omega )}^2 + |v|_{H^{\sigma }(\omega )}^2 \end{aligned}$$

with

$$\begin{aligned} |v|_{H^{\sigma }(\omega )}^2 :={\left\{ \begin{array}{ll} \int \limits_\omega \int \limits_\omega \frac{|v(\textbf{x})-v(\textbf{y})|^2}{|\textbf{x}-\textbf{y}|^{d-1+2\sigma }}\,\text {d}\textbf{x}\,\text {d}\textbf{y}&{}\text { if }\sigma \in (0,1),\\ \Vert \nabla _\varGamma v\Vert _{L^2(\omega )}^2&{}\text { if }\sigma =1.\end{array}\right. } \end{aligned}$$

Here, \(\nabla _\varGamma (\cdot )\) denotes the usual (weak) surface gradient which is well-defined for almost all \(\textbf{x}\in \varGamma \). It is well known that \(\Vert \cdot \Vert _{H^\sigma (\varGamma )}\) provides an equivalent norm on \(H^\sigma (\varGamma )\), see, e.g., [199, Lemma 2.19] and [159, Theorem 3.30 and p. 99] for \(\sigma \in (0,1)\) and [160, Theorem 2.28] for \(\sigma =1\).

For \(\sigma \in (0,1]\), \(H^{-\sigma }(\varGamma )\) is a realization of the dual space of \(H^{\sigma }(\varGamma )\) according to [159, Theorem 3.30 and p. 99]. With the duality bracket \(\langle \cdot \,;\,\cdot \rangle \), we define the following equivalent norm on \(H^{-\sigma }(\varGamma )\)

$$\begin{aligned} \Vert \psi \Vert _{H^{-\sigma }(\varGamma )}&:=\sup \big \{\langle v\,;\,\psi \rangle \,:\,v\in H^\sigma (\varGamma ), \Vert v\Vert _{H^\sigma (\varGamma )}=1\big \} \nonumber\; \text {for all } \psi \in H^{-\sigma }(\varGamma ). \end{aligned}$$

In [159, p. 76], it is stated that \(H^{\sigma _1}(\varGamma )\subset H^{\sigma _2}(\varGamma )\) for \(-1\le \sigma _1<\sigma _2\le 1\), where the inclusion is continuous, dense, and compact. In particular, \(H^{\sigma }(\varGamma )\subset L^2(\varGamma )\subset H^{-\sigma }(\varGamma )\) forms a Gelfand triple in the sense of [185, Sect. 2.1.2.4] for all \(\sigma \in (0,1]\), where \(\psi \in L^2(\varGamma )\) is interpreted as a function in \(H^{-\sigma }(\varGamma )\) via

$$\begin{aligned} \begin{aligned} \langle v\,;\,\psi \rangle :=\langle v\,;\,\psi \rangle _{L^2(\varGamma )}=\int \limits _\varGamma v\,\psi \,\text {d}\textbf{x}\\ \text {for all }v\in H^\sigma (\varGamma ),\psi \in L^2(\varGamma ). \end{aligned} \end{aligned}$$

The spaces \(H^\sigma (\varGamma )\) can also be defined as trace spaces or via interpolation, where the resulting norms are always equivalent with constants which depend only on the dimension \(d\) and the boundary \(\varGamma \). For a more detailed introduction to Sobolev spaces on the boundary, the reader is referred to [128, 159, 185, 199].

3.3.2 Model Problem and Galerkin Approximation

Again, we consider a general second-order linear PDE on the \(d\)-dimensional bounded Lipschitz domain \(\varOmega \) with partial differential operator

$$\begin{aligned} \begin{aligned} \mathscr {P}u:=-\textrm{div}(\textbf{A}\nabla u)+\textbf{b}\cdot \nabla u +cu, \end{aligned} \end{aligned}$$

where the coefficients \(\textbf{A}\in {\mathbb R}^{d\times d}, \textbf{b}\in {\mathbb R}^d\), and \(c\in {\mathbb R}\) now additionally supposed to be constant. Moreover, we assume that \(\textbf{A}\) is symmetric and positive definite.

Let \(G:{\mathbb R}^d\setminus \{0\}\rightarrow {\mathbb R}\) be a corresponding fundamental solution in the sense of [159, p. 198], i.e., a distributional solution of \(\mathscr {P}G=\delta \), where \(\delta \) denotes the Dirac delta function. For \(\psi \in L^\infty (\varGamma )\), we define the single-layer operator as

$$\begin{aligned} ({\mathscr {V}}\psi )(\textbf{x}):=\int \limits _{\varGamma } G(\textbf{x}-\textbf{y}) \psi (\textbf{y}) \,\,\text {d}\textbf{y}\quad \text {for all }\textbf{x}\in \varGamma . \end{aligned}$$

According to [159, pp. 209 and 219–220] and [124, Corollary 3.38], this operator can be extended for arbitrary \(\sigma \in (-1/2,1/2\)] to a bounded linear operator

$$\begin{aligned} \mathscr {V}: H^{-1/2+\sigma }(\varGamma )\rightarrow H^{1/2+\sigma }(\varGamma ). \end{aligned}$$
(24)

In [159, Theorem 7.6], it is stated that \(\mathscr {V}\) is always elliptic up to some compact perturbation. We assume that it is elliptic even without perturbation, i.e.,

$$\begin{aligned} \langle \mathscr {V}\psi \,;\,\psi \rangle \ge C_\textrm{ell}\Vert \psi \Vert _{H^{-1/2}(\varGamma )}^2\text { for all }\psi \in H^{-1/2}(\varGamma ). \end{aligned}$$
(25)

This is particularly satisfied for the Laplace problem or for the linear elasticity problem, where the case \(d=2\) requires an additional scaling of the geometry \(\varOmega \), see, e.g., [199, Chapter 6]. Moreover, the bilinear form \(\langle \mathscr {V}\,\cdot \,;\,\cdot \rangle \) is continuous due to (24), i.e., it holds with \(C_\textrm{cont}:=\Vert \mathscr {V}\Vert _{H^{-1/2}(\varGamma )\rightarrow H^{1/2}(\varGamma )}\) that

$$\begin{aligned} \begin{aligned} \langle \mathscr {V}\psi \,;\,\xi \rangle \le C_\textrm{cont}\Vert \psi \Vert _{H^{-1/2}(\varGamma )}\Vert \xi \Vert _{H^{-1/2}(\varGamma )} \\ \text {for all }\psi ,\xi \in H^{-1/2}(\varGamma ). \end{aligned} \end{aligned}$$
(26)

Given a right-hand side \(f\in H^{1}(\varGamma )\), we consider the weakly-singular boundary integral equation

$$\begin{aligned} \mathscr {V}\phi = f. \end{aligned}$$
(27)

Such equations arise from the solution of Dirichlet problems of the form \(\mathscr {P} u=0\) in \(\varOmega \) with \(u=g\) on \(\varGamma \) for some \(g\in H^{1}(\varGamma )\), see, e.g., [159, pp. 226–229]. The normal derivative \(\phi := (\textbf{A}\nabla u)\cdot {\varvec{\nu }}\) of the weak solution u then satisfies the integral equation (27) with \(f:=(\mathscr {K}+1/2)g\), i.e.,

$$\begin{aligned} \mathscr {V}\phi =(\mathscr {K}+1/2) g, \end{aligned}$$
(28)

where

$$\begin{aligned} \mathscr {K}: H^{1/2}(\varGamma )\rightarrow H^{1/2}(\varGamma ) \end{aligned}$$
(29)

denotes the double-layer operator [159, pp. 218–223]. If \(\varGamma \) is piecewise smooth and if \(g\in L^\infty (\varGamma )\), for all \(\textbf{x}\in \varGamma \) where \(\varGamma \) is locally smooth and g is continuous there holds the representation

$$\begin{aligned} \begin{aligned} \mathscr {K}g(\textbf{x})= \int \limits_{\varGamma _{}} g(\textbf{y}) \big (\textbf{A}\nabla _\textbf{y}G(\textbf{x},\textbf{y}) + \textbf{b}\,G(\textbf{x},\textbf{y}) \big )\cdot \nu (\textbf{y}) \,\textrm{d}{} \textbf{y}; \end{aligned} \end{aligned}$$

see [185, Sect. 3.3.3]. Due to (25)–(26) the Lax–Milgram lemma guarantees existence and uniqueness of the solution \(\phi \in H^{-1/2}(\varGamma _{})\) of the equivalent variational formulation of (27)

$$\begin{aligned} \langle \mathscr {V}\phi \,;\,\psi \rangle =\langle f\,;\,\psi \rangle \quad \text {for all }\psi \in H^{-1/2}(\varGamma _{}). \end{aligned}$$

In particular, we see that \(\mathscr {V}:H^{-1/2}(\varGamma )\rightarrow H^{1/2}(\varGamma )\) is an isomorphism.

In the Galerkin BEM, the test space \(H^{-1/2}(\varGamma _{})\) is replaced by some discrete subspace \(\mathbb {S}\subset {L^{2}(\varGamma _{})}\subset H^{-1/2}(\varGamma _{})\). Again, the Lax–Milgram lemma applies and guarantees the existence and uniqueness of the solution \(\varPhi \in \mathbb {S}\) of the discrete variational formulation

$$\begin{aligned} \langle \mathscr {V}\varPhi \,;\,\varPsi \rangle = \langle f\,;\,\varPsi \rangle \quad \text {for all }\varPsi \in \mathbb {S}. \end{aligned}$$
(30)

In fact, \(\varPhi \) can be computed by solving a linear system of equations. Note that (24) even implies that \(\mathscr {V} \varPsi \in H^1(\varGamma )\) for arbitrary \(\varPsi \in \mathbb {S}\). The additional regularity \(f\in H^1(\varGamma )\) instead of \(f\in H^{1/2}(\varGamma )\) is only needed to define the residual error estimator (32) below, which requires that \(f-\mathscr {V}\in H^1(\varGamma )\). As for the FEM problem, we also note the Galerkin orthogonality

$$\begin{aligned} \langle f-\mathscr {V}\varPhi \,;\,\varPsi \rangle = 0 \quad \text {for all }\varPsi \in \mathbb {S}, \end{aligned}$$
(31)

as well as the resulting Céa-type quasi-optimality

$$\begin{aligned} \Vert \phi -\varPhi \Vert _{H^{-1/2}(\varGamma )} \le C_{\text {C}\acute{\text {e}}\text {a}}\min _{\varPsi \in \mathbb {S}}\Vert \phi -\varPsi \Vert _{H^{-1/2}(\varGamma )}, \end{aligned}$$

where \( C_{\text {C}\acute{\text {e}}\text {a}} := {C_\textrm{cont}}/{C_\textrm{ell}}\). For a more detailed introduction to boundary integral equations and BEM, the reader is referred to the monographs [128, 159, 185, 199].

3.3.3 Isogeometric Discretization

For the solution of the discrete problem with isogeometric methods, we assume that the boundary of the domain \(\varGamma = \partial \varOmega \subset \mathbb {R}^d\) (and not necessarily \(\varOmega \)) is defined as a multi-patch geometry through NURBS parametrizations. More precisely, we suppose that \(\varGamma = \bigcup _{m=1}^M \overline{\varGamma _m}\), where

$$\begin{aligned} \textbf{F}_m :(0,1)^{d-1} \rightarrow \varGamma _m \subset \mathbb {R}^d\end{aligned}$$

is a NURBS parametrization and the assumptions of Sect. 3.1 are valid. In particular, each \(\textbf{F}_m\) is a bi-Lipschitz homeomorphism. Moreover, we suppose the properties (P1)–(P3) regarding the conformity of the meshes in multi-patch domains given in Sect. 3.1.2 hold true.

On each patch, we first define the local space of mapped splines \({\mathbb {S}}_{\textbf{p}_m}(\textbf{T}_m)\) with the local basis \(\mathcal{B}_{\textbf{p}_m}(\textbf{T}_m)\) via push-forward as in the IGAFEM case (21)–(22). Then, we define the discrete isogeometric space as

$$\begin{aligned} \mathbb {S} := \{V \in L^2(\varGamma ) : V|_{\varGamma _m} \in {\mathbb {S}}_{\textbf{p}_m}(\textbf{T}_m), \text { for } m = 1, \ldots , M \}. \end{aligned}$$

Note that, in contrast to IGAFEM, continuity of the discrete functions at the interfaces is not required for the weakly-singular boundary integral equation (27) as \(\mathbb {S}\) only needs to be contained in \(L^2(\varGamma )\). A basis for this space is clearly given by

$$\begin{aligned} \mathcal{B} := \bigcup _{m=1}^M \mathcal{B}_{\textbf{p}_m}(\textbf{T}_m). \end{aligned}$$

Remark 6

In contrast to weakly-singular integral equations, hypersingular integral equations, which result from Neumann problems (see, e.g., [159, Chapter 7]), require continuous trial functions. Assuming also the conformity property (P2’), corresponding basis functions can be constructed as for IGAFEM in Sect. 3.2.2.

3.3.4 A Posteriori Error Estimator

Let \({\mathcal {Q}}\) be the mesh on \(\varGamma \), defined as above. Due to the regularity assumption \(f\in H^1(\varGamma )\), the mapping property (24), and \(\mathbb {S}\subset L^2(\varGamma )\), the residual satisfies that \(f-\mathscr {V}\varPsi \in H^1(\varGamma )\) for all \(\varPsi \in \mathbb {S}\). This allows to employ the weighted-residual a posteriori error estimator

$$\begin{aligned} \begin{aligned}&\eta := \eta ({\mathcal {Q}})\;\text {with}\; \eta (\mathcal {S})^2:=\sum _{Q\in \mathcal {S}} \eta (Q)^2 \text { for all }\mathcal {S}\subseteq {\mathcal {Q}}, \end{aligned} \end{aligned}$$
(32a)

where, for all \(Q\in {\mathcal {Q}}\) with element size \(h_Q\), the local refinement indicators read

$$\begin{aligned} \eta (Q)^2:=h_Q \vert f-\mathscr {V}\varPhi \vert _{H^1(Q)}^2. \end{aligned}$$
(32b)

This estimator goes back to the works [52, 56], where reliability is proved for standard 2D BEM with piecewise polynomials on polygonal geometries, while the corresponding result for standard 3D BEM is found in [54]. The recent work [106] generalizes these results to PDEs beyond the Laplace equation and beyond standard discretizations based on piecewise polynomials.

4 Splines on Adaptive Meshes

The design of adaptive isogeometric methods requires suitable adaptive spline spaces that enable local mesh refinement. Here, we focus on two of the main solutions that break the structure of standard multivariate tensor-product splines: hierarchical splines in Sect. 4.1 and T-splines in Sect. 4.2. We stress that, at the moment and up to our knowledge, a thorough analysis on optimal convergence of resulting adaptive algorithms is only available for these two. Section 4.3 finally collects alternative adaptive spline models and briefly comments on them.

4.1 Hierarchical Splines

Hierarchical spline surfaces were introduced in [99] by considering a sequence of overlays to enable an efficient local editing of the geometric model. A simple selection algorithm to properly identify the B-splines at different refinement levels needed to define a suitable basis for hierarchical spline spaces was proposed in [142, 143]. More recently, a slightly different hierarchical B-spline basis was proposed in [207] and since then the hierarchical approach was widely used by different authors in IGA, see, e.g., [121, 186, 191, 207]. In order to overcome some limitations of hierarchical B-splines, the truncated basis for the same hierarchical spline space was introduced in [114] leading to the definition of truncated hierarchical B-splines (THB-splines). Their application in IGA has been investigated by several authors for second order [30, 75, 113, 120] and fourth order PDEs [4, 120], and also for trimmed domains [69, 70, 179, 181]. Implementation aspects related to (T)HB-splines were addressed in [29, 36, 40, 111, 137]. Finally, we mention that the idea of considering the linear span of (tensor-product) B-splines on different, hierarchically ordered grid levels has also been used for wavelet approaches, see, e.g., [67, 74, 180].

4.1.1 Definition and Properties

Let

$$\begin{aligned} \widehat{\mathbb {S}}_\textbf{p}(\textbf{T}^{0}) \subset \widehat{\mathbb {S}}_\textbf{p}(\textbf{T}^{1}) \subset \ldots \subset \widehat{\mathbb {S}}_\textbf{p}(\textbf{T}^{N-1}) \end{aligned}$$
(33)

be a nested sequence of N tensor-product spline spaces \(\widehat{\mathbb {S}}_\textbf{p}(\textbf{T}^{\ell })\), for \(\ell = 0, \ldots , N-1\), defined without loss of generality on the open hyper-cube \(\widehat{\varOmega } := (0,1)^{\widehat{d}}\).

At any level \(\ell \), we consider the B-spline basis \(\widehat{\mathcal {B}}^\ell :=\widehat{\mathcal {B}}_{\textbf{p}}(\textbf{T}^\ell )\) of degree \(\textbf {p}\) defined on the rectilinear grid \(\widehat{\mathcal{Q}}^\ell \), analogously to the one-level case described in Sect. 2.2. Any (non-empty) element \(\widehat{Q}\) of the grid \(\widehat{\mathcal{Q}}^\ell \) is the Cartesian product of \({\widehat{d}}\) open intervals defined by consecutive breakpoints. We abbreviate its level \(\textrm {lev}(\widehat{Q}):=\ell \). The knot vector \(T^\ell _i\) in the coordinate direction i, for \(i=1,\ldots ,{\widehat{d}}\), is associated to the grid at level \(\ell \) and contains non-decreasing real numbers so that each breakpoint \(z_j^\ell \) appears in the knot vector as many times as specified by a certain multiplicity. For \({\widehat{d}}= 1\), an example of grids and B-spline bases of three different levels is shown in Fig. 7.

Fig. 7
figure 7

An example of grids (a) of three hierarchical levels for \({\widehat{d}}=1\). The univariate B-splines of degree 3 defined on level 0, 1 and 2 are shown in (bd), respectively. All internal knots have multiplicity one

We assume open knot vectors in any direction at level 0 and multiplicities of internal knots between one and \(p_i\). To guarantee the nested nature of the spline spaces given by (33), we also assume dyadic mesh refinement between consecutive hierarchical levels so that an element of level \(\ell \) is uniformly refined in \(2^{\widehat{d}}\) elements of level \(\ell +1\), see Figs. 7 and 8 for \({\widehat{d}}=1\) and \({\widehat{d}}=2\), respectively. In addition, any newly inserted knot appears with multiplicity one.

Remark 7

Note that more general refinement possibilities can also be covered within the hierarchical spline model [115].

Fig. 8
figure 8

An example of grids and domains (gray regions) of levels 0 (a), 1 (b), 2 (c) for \({\widehat{d}}=2\). The hierarchical mesh is also shown (d)

In order to define the spline hierarchy, we consider a nested sequence of closed subsets of \({\widehat{\varOmega }}^0 := \overline{\widehat{\varOmega }}\), given by

$$\begin{aligned} {\widehat{\varOmega }}^0\supseteq {\widehat{\varOmega }}^1\supseteq \ldots \supseteq \widehat{\varOmega }^{N-1} \supseteq \widehat{\varOmega }^{N} = \emptyset , \end{aligned}$$

where we assume that \(\widehat{\varOmega }^\ell \) is the union of the closure of elements of level \(\ell -1\). By considering the set of active elements at level \(\ell \), for \(\ell =0,\ldots ,N-1\), we can define the hierarchical mesh as follows:

$$\begin{aligned} \begin{aligned} {\widehat{\mathcal{Q}}} := \big \{ \widehat{Q}\in \widehat{\mathcal{Q}}^\ell :\,&\widehat{Q} \,\subseteq \,\widehat{\varOmega }^\ell \wedge \widehat{Q} \,\not \subseteq \,\widehat{\varOmega }^{\ell +1},\\&\qquad \quad \ell =0,\ldots ,N-1\big \}. \end{aligned} \end{aligned}$$
(34)

For \({\widehat{d}}=2\), an example of domain hierarchy on three refinement levels is shown in Fig. 8.

We say that a mesh \(\widehat{{\mathcal {Q}}}_+\) is a refinement of \(\widehat{{\mathcal {Q}}}\), and we denote it by \(\widehat{{\mathcal {Q}}} \preceq \widehat{{\mathcal {Q}}}_+\) (or \(\widehat{{\mathcal {Q}}}_+\succeq \widehat{{\mathcal {Q}}}\)), if it is obtained from \(\widehat{{\mathcal {Q}}}\) by successive splitting via dyadic refinement of some of its elements. Note that, under our assumptions, the fine mesh is associated to an enlargement of the subdomains \((\widehat{\varOmega }^\ell _+)_{\ell =0, \ldots ,N_+}\), such that \(N \le N_+\), \(\widehat{\varOmega }^0 = \widehat{\varOmega }^0_+\), \(\varOmega ^{N_+}_+= \emptyset \), and \(\widehat{\varOmega }^\ell \subseteq \widehat{\varOmega }^\ell _+\) for \(\ell =1, \ldots , N\).

Given a hierarchical mesh \(\widehat{\mathcal {Q}}\), the set of hierarchical B-splines (HB-splines) \(\widehat{\mathcal {H}}_\textbf{p}(\widehat{\mathcal {Q}},\textbf{T}^{0}):=\widehat{\mathcal {H}}^{N-1} \) can be constructed according to the following steps:

  1. 1.

    \(\widehat{\mathcal {H}}^0 := \widehat{\mathcal {B}}^0\);

  2. 2.

    for \(\ell =0,\ldots , N-2\)

    $$\begin{aligned} \widehat{\mathcal {H}}^{\ell +1} := \widehat{\mathcal {H}}_A^{\ell +1} \cup \widehat{\mathcal {H}}_B^{\ell +1}, \end{aligned}$$

where

$$\begin{aligned} \widehat{\mathcal {H}}_A^{\ell +1}&:= \left\{ \widehat{B}_{\textbf{i},\textbf{p}}^\ell \in \widehat{\mathcal {H}}^{\ell } : \textrm{supp}(\widehat{B}_{\textbf{i},\textbf{p}}^\ell ) \not \subseteq \widehat{\varOmega }^{\ell +1}\right\} ,\\ \widehat{\mathcal {H}}_B^{\ell +1}&:= \left\{ \widehat{B}_{\textbf{i},\textbf{p}}^{\ell +1} \in \widehat{\mathcal {B}}^{\ell +1} : \textrm{supp}(\widehat{B}_{\textbf{i},\textbf{p}}^{\ell +1}) \subseteq \widehat{\varOmega }^{\ell +1}\right\} . \end{aligned}$$

Steps 1–2 define a selection mechanism which activates and deactivates B-splines at different levels of resolution by taking into account the hierarchical domain configuration. After initializing the set of hierarchical B-splines with the B-splines of level 0, for any subsequent level \(\ell \), the set \(\widehat{\mathcal {H}}^{\ell +1}\) of HB-splines of level \(\ell +1\) includes

  • B-splines of coarser levels whose support is not contained in \(\widehat{\varOmega }^{\ell +1}\) (\(\widehat{\mathcal {H}}_A^{\ell +1}\));

  • B-splines of level \(\ell +1\) whose support is contained in \(\widehat{\varOmega }^{\ell +1}\) (\(\widehat{\mathcal {H}}_B^{\ell +1}\)).

Note that the HB-spline basis \(\widehat{\mathcal {H}}_\textbf{p}(\widehat{\mathcal {Q}},\textbf{T}^{0})\) with respect to the mesh \(\widehat{\mathcal {Q}}\) can also be defined as

$$\begin{aligned} \widehat{\mathcal {H}}_\textbf{p}(\widehat{\mathcal {Q}},\textbf{T}^{0})&= \left\{ \widehat{B}_{\textbf{i},\textbf{p}}^\ell \in {\widehat{\mathcal{B}}}^\ell : \textrm{supp}(\widehat{B}_{\textbf{i},\textbf{p}}^\ell )\subseteq {\widehat{\varOmega }}^\ell \right. \\&\quad \;\wedge \left. \textrm{supp}(\widehat{B}_{\textbf{i},\textbf{p}}^\ell )\not \subseteq {\widehat{\varOmega }}^{\ell +1}, \, \ell =0,\ldots ,N-1 \right\} . \end{aligned}$$

Fig. 9 shows an example of cubic hierarchical B-splines for \({\widehat{d}}=1\).

Fig. 9
figure 9

An example of cubic HB-splines (b) and THB-splines (c) defined on a domain hierarchy consisting of three levels (a). All internal knots have multiplicity one

The following proposition shows that \(\widehat{\mathcal {H}}_\textbf{p}(\widehat{\mathcal {Q}},\textbf{T}^{0})\) is indeed a basis for the hierarchical spline space

$$\begin{aligned} \widehat{\mathbb {S}}_\textbf{p}^\textrm{H}(\widehat{\mathcal {Q}},\textbf{T}^{0}) :=\text{ span }\,\widehat{\mathcal {H}}_\textbf{p}(\widehat{\mathcal {Q}},\textbf{T}^{0}). \end{aligned}$$

Properties (i)–(iii) in Proposition 3 are proved in [115, 198, 207]. The characterization (iv) is taken from [198, Sect. 3].

Proposition 3

The hierarchical basis \(\widehat{\mathcal {H}}_\textbf{p}(\widehat{\mathcal {Q}},\textbf{T}^{0})\) satisfies the following properties:

  1. (i)

    The HB-splines in \(\widehat{\mathcal {H}}_\textbf{p}(\widehat{\mathcal {Q}},\textbf{T}^{0})\) are nonnegative and linearly independent.

  2. (ii)

    The intermediate spline spaces are nested, i.e., \(\textrm{span} \,\widehat{\mathcal {H}}^{\ell }\subseteq \textrm{span}\,\widehat{\mathcal {H}}^{\ell +1}\), for \(\ell =0,\ldots ,N-2\).

  3. (iii)

    Given a mesh \(\widehat{{\mathcal {Q}}}_+\succeq \widehat{{\mathcal {Q}}}\), it holds that \(\widehat{\mathbb {S}}_\textbf{p}^\textrm{H}(\widehat{\mathcal {Q}},\textbf{T}^{0}) \subseteq \widehat{\mathbb {S}}_\textbf{p}^\textrm{H}(\widehat{\mathcal {Q}}_+,\textbf{T}^{0})\).

  4. (iv)

    It holds the explicit characterization \(\widehat{\mathbb {S}}_\textbf{p}^\textrm{H}(\widehat{\mathcal {Q}},\textbf{T}^{0})=\big \{\widehat{S}\,:\,\widehat{S}|_{\widehat{\varOmega }\setminus \widehat{\varOmega }^{\ell +1}}\in \widehat{\mathbb {S}}_\textbf{p}(\textbf{T}^{\ell })|_{\widehat{\varOmega }\setminus \widehat{\varOmega }^{\ell +1}}, \,\ell =0,\dots ,N-1\big \}\). In particular, hierarchical splines are polynomials of degree \(\textbf{p}\) on each element \(\widehat{Q}\in \widehat{{\mathcal {Q}}}\).

The dimensions of bivariate and trivariate hierarchical B-spline spaces were investigated in [112] and [21], respectively, for the case of maximal smoothness. In [162], a more comprehensive analysis covering also reduced regularity was presented.

4.1.2 Truncated Hierarchical B-Splines

The HB-spline basis is composed by B-splines defined on grids of different resolution which interact with each other on refined elements. Thanks to the refinable nature of the B-spline model, it is possible to reduce the overlapping of B-splines introduced at successive levels with the coarser ones by exploiting a truncation mechanism [114].

By recalling the nested nature of the sequence of spline spaces in (33), let \(\widehat{S}\in \widehat{\mathbb {S}}_\textbf{p}(\textbf{T}^{\ell })\subset \widehat{\mathbb {S}}_\textbf{p}(\textbf{T}^{\ell +1})\) be a spline of level \(\ell \) expressed in terms of B-splines of level \(\ell +1\) as

$$\begin{aligned} \widehat{S} = \sum _{ \widehat{B}_{\textbf{i},\textbf{p}}^{\ell +1} \in {\widehat{\mathcal{B}}}^{\ell +1}} c_{\textbf{i},\textbf{p}}^{\ell +1}(\widehat{S}) \widehat{B}_{\textbf{i},\textbf{p}}^{\ell +1}. \end{aligned}$$
(35)

The truncation of \(\widehat{S}\) with respect to level \(\ell +1\) is defined as

$$\begin{aligned} \textrm{trunc}^{\ell +1} \widehat{S} = \sum _{{\widehat{B}_{\textbf{i},\textbf{p}}^{\ell +1} \in {\widehat{\mathcal{B}}}^{\ell +1} \setminus \widehat{\mathcal {H}}_B^{\ell +1}}} c_{\textbf{i},\textbf{p}}^{\ell +1}(\widehat{S}) \widehat{B}_{\textbf{i},\textbf{p}}^{\ell +1}, \end{aligned}$$

and leads to a truncated function whose support is either equal or reduced when compared to the one of function \(\widehat{S}\), i.e., \(\textrm{supp}(\textrm{trunc}^{\ell +1}\widehat{S}) \subseteq \textrm{supp}(\widehat{S})\), for all \(\widehat{S} \in \widehat{\mathbb {S}}_\textbf{p}(\textbf{T}^{\ell })\). In particular, the contribution of B-splines of level \(\ell +1\) which will be included in the hierarchical basis is removed from the expression of \(\widehat{S}\) given by (35). For \({\widehat{d}}= 1\), an example of truncation applied to a quadratic univariate B-spline is shown in Fig. 10.

Fig. 10
figure 10

Top: a univariate cubic B-spline of level \(\ell \) (in black) represented as linear combination of functions of level \(\ell +1\) (in gray). Bottom: the original B-spline (solid dashed) and its truncated version (black solid line) by considering \(\varOmega ^{\ell +1}=[0.25,1]\)

Analogously to the HB-spline case, given a hierarchical mesh \(\widehat{\mathcal {Q}}\), the set of THB-splines \(\widehat{\mathcal {T}}_\textbf{p}(\widehat{\mathcal {Q}},\textbf T^{\textbf 0}):=\widehat{\mathcal {T}}^{N-1} \) can be constructed according to the following steps:

  1. 1.

    \(\widehat{\mathcal {T}}^0 := \widehat{\mathcal {H}}^0\);

  2. 2.

    for \(\ell =0,\ldots , N-2\)

    $$\begin{aligned} \widehat{\mathcal {T}}^{\ell +1} := \widehat{\mathcal {T}}_A^0 \cup \widehat{\mathcal {T}}_B^{\ell +1}, \end{aligned}$$

where

$$\begin{aligned} \widehat{\mathcal {T}}_A^{\ell +1}&:= \left\{ \textrm{trunc}^{\ell +1}(\widehat{T}_{\textbf{i},\textbf{p}}^\ell ): \right. \\&\left. \qquad \qquad \widehat{T}_{\textbf{i},\textbf{p}}^\ell \in \widehat{\mathcal {T}}^{\ell } \wedge \; \textrm{supp}(\widehat{T}_{\textbf{i},\textbf{p}}^\ell ) \not \subseteq \widehat{\varOmega }^{\ell +1}\right\} ,\\ \widehat{\mathcal {T}}_B^{\ell +1}&:= \widehat{\mathcal {H}}_B^{\ell +1}. \end{aligned}$$

In this case, the two steps of the constructions define a selection mechanism which does not only activate and deactivate but also truncates B-splines of different levels by taking into account the hierarchical domain configuration. After initializing the set of THB-splines with the (H)B-splines of level 0, for any subsequent level \(\ell \), the set of THB-splines of level \(\ell +1\) (\(\widehat{\mathcal {T}}^{\ell +1}\)) includes

  • truncated B-splines of coarser levels whose support is not contained in \(\widehat{\varOmega }^{\ell +1}\) (\(\widehat{\mathcal {T}}_A^{\ell +1}\));

  • B-splines of level \(\ell +1\) whose support is contained in \(\widehat{\varOmega }^{\ell +1}\) (\(\widehat{\mathcal {T}}_B^{\ell +1}\)).

By defining the successive truncation of a B-spline of level \(\ell \) as

$$\begin{aligned} \textrm{Trunc}^{\ell +1}(\widehat{B}_{\textbf{i},\textbf{p}}^\ell ) : = \textrm{trunc}^{N-1} \left( \ldots \left( \textrm{trunc}^{\ell +1}(\widehat{B}_{\textbf{i},\textbf{p}}^\ell ) \right) \ldots \right) , \end{aligned}$$

and \(\textrm{Trunc}^{N}(\widehat{B}_{\textbf{i},\textbf{p}}^{N-1}):= \widehat{B}_{\textbf{i},\textbf{p}}^{N-1}\), we can also define the THB-spline basis as follows:

$$\begin{aligned} \widehat{\mathcal {T}}_\textbf{p}(\widehat{\mathcal {Q}},\textbf T^{\textbf 0}) = \big \{ \textrm{Trunc}^{\ell +1}(\widehat{B}_{\textbf{i},\textbf{p}}^\ell ) :&\widehat{B}_{\textbf{i},\textbf{p}}^\ell \in {\widehat{\mathcal{B}}}^\ell \cap \widehat{\mathcal {H}}_\textbf{p}(\widehat{\mathcal {Q}},\textbf{T}^{0}),\\&\quad \qquad \ell =0,\ldots ,N-1 \big \}. \end{aligned}$$

Any HB-spline \(\widehat{B}_{\textbf{i},\textbf{p}}^\ell {\in \widehat{\mathcal {H}}_\textbf{p}(\widehat{\mathcal {Q}},\textbf{T}^{0})}\) generates a corresponding THB-spline \(\widehat{T}_{\textbf{i},\textbf{p}}^\ell :=\textrm{Trunc}^{\ell +1}(\widehat{B}_{\textbf{i},\textbf{p}}^\ell ) \in \widehat{\mathcal {T}}_\textbf{p}(\widehat{\mathcal {Q}},\textbf T^\textbf 0) \), for \(\ell =0, ..., N-1\) and it is denoted as the mother B-spline of \(\widehat{T}_{\textbf{i},\textbf{p}}^\ell \), namely

$$\begin{aligned} \mathop {\textrm {mot}}\widehat{T}_{\textbf{i},\textbf{p}}^\ell := \widehat{B}_{\textbf{i},\textbf{p}}^\ell . \end{aligned}$$
(36)

Note that, being defined in terms of the successive application of the truncation mechanism, each THB-spline is characterized by a support that is either equal or smaller than the one of its mother B-spline. However, as for finite elements defined in meshes with hanging nodes, the support of THB-splines is more complicated and in general not even convex or connected. Figs. 9(c) and 11 show examples of THB-splines for \({\widehat{d}}=1\) and \({\widehat{d}}=2\), respectively.

Fig. 11
figure 11

Two bi-quadratic mother B-splines (left) and corresponding THB splines (right) defined on a hierarchical mesh with three levels (bottom). All internal knots have multiplicity one

The following properties hold according to [114, 115].

Proposition 4

The truncated hierarchical basis \(\widehat{\mathcal {T}}_\textbf{p}(\widehat{\mathcal {Q}},\textbf T^\textbf 0)\) satisfies the following properties:

  1. (i)

    The THB-splines in \(\widehat{\mathcal {T}}_\textbf{p}(\widehat{\mathcal {Q}},\textbf T^{\textbf 0})\) are nonnegative, linearly independent, and form a partition of unity.

  2. (ii)

    The intermediate spline spaces are nested, namely \(\textrm{span} \,\widehat{\mathcal {T}}^{\ell }\subseteq \textrm{span}\,\widehat{\mathcal {T}}^{\ell +1}\).

  3. (iii)

    It holds that \(\textrm{span} \,\widehat{\mathcal {T}}^{\ell } = \textrm{span} \,\widehat{\mathcal {H}}^{\ell }\), for \(\ell =0,\dots ,N-1\), and \(\textrm{span}\,\widehat{\mathcal {T}}_\textbf{p}(\widehat{\mathcal {Q}},\textbf T^{\textbf 0}) =\widehat{\mathbb {S}}_\textbf{p}^\textrm{H}(\widehat{\mathcal {Q}},\textbf{T}^{0})\).

We also note that, in contrast to tensor-product B-splines, THB-splines and HB-splines are not locally linearly independent. In particular, their restriction to a single element can be linearly dependent.

Applications of THB-splines for adaptive CAD model reconstruction were presented in [33, 138]. The truncation approach was also considered to define truncated decoupled hierarchical B-splines [161], hierarchies of spaces spanned by generating systems [215], (extended) truncated hierarchical Catmull-Clark subdivision [209, 210], truncated hierarchical box splines [116, 132], and truncated T-splines [211].

4.1.3 Refinement Strategies

We have introduced above the concept of mesh refinement in the sense that \({\mathcal {Q}}\preceq {\mathcal {Q}}_+\). However, the theoretical analysis of adaptive isogeometric methods requires to impose some grading conditions on how the local refinement should be performed. To obtain hierarchical mesh configurations suitable for the theoretical analysis, we follow the approach originally introduced in [46] for THB-splines and in [164] for HB-splines, and further elaborated in [36] by introducing a general framework for the design and implementation of refinement algorithms with (T)HB-splines. The refinement rule for HB-splines limited to two-level interaction was already presented in [105]. These refinement rules control the interaction of hierarchical basis functions of different levels and generate suitably graded meshes for the considered hierarchical basis. Note that the effect of the truncation can be suitably exploited to generate less refined meshes for THB-splines than the ones obtained for HB-splines, while simultaneously guaranteeing limited interaction between hierarchical basis functions of different levels. However, THB-splines additionally require the truncation procedure and have a more complicated, although smaller, support than HB-splines.

Fig. 12
figure 12

Examples of the domains \(\widehat{\omega }_\mathcal{H}^1\) (dark gray) and \(\widehat{\omega }_\mathcal{T}^1\) (light gray) for different degrees and mesh configurations. All internal knots have multiplicity one

The first notion we need to introduce extends the concept of support extension introduced in (10) for the multivariate tensor-product case to the hierarchical setting. The multilevel support extension of an element \(\widehat{Q}\in {\widehat{{\mathcal {Q}}^{\ell}} }\) with respect to level k, with \(0\le k\le \ell \), is defined as

$$\begin{aligned} S_\textrm{ext}(\widehat{Q},k)&:= S_\textrm{ext}(\widehat{Q}'), \; \text { with } \widehat{Q}' \in \widehat{\mathcal {Q}}^k \text { and } \widehat{Q} \subseteq \widehat{Q}', \end{aligned}$$

where \( S_{\textrm{ext}}(\widehat{Q}')\) is the support extension of (10) corresponding to the mesh \(\widehat{\mathcal {Q}}^{k}\).

The concept of admissible hierarchical meshes is based on the auxiliary domains

$$\begin{aligned} {\widehat{\omega }}^{\ell }_\mathcal{H}&:=\bigcup \left\{ \overline{\widehat{Q}} \,:\, \widehat{Q} \in \widehat{\mathcal{Q}}^{\ell } \,\wedge \, S_\textrm{ext}(\widehat{Q},{\ell }-1)\subseteq \widehat{\varOmega }^{\ell } \right\} , \end{aligned}$$
(37a)
$$\begin{aligned} {\widehat{\omega }}^{\ell }_\mathcal{T}&:=\bigcup \left\{ \overline{\widehat{Q}} \,:\, \widehat{Q} \in \widehat{\mathcal{Q}}^{\ell } \,\wedge \, S_\textrm{ext}(\widehat{Q},{\ell })\subseteq \widehat{\varOmega }^{\ell } \right\} , \end{aligned}$$
(37b)

for \(\ell = 0, \ldots , N-1\), with \({\widehat{\omega }}^{0}_\mathcal{H} := \widehat{\varOmega }^0\). The domain \({\widehat{\omega }}^{\ell }_\mathcal{H}\) represents the region of \(\widehat{\varOmega }^\ell \) where all the active basis functions of level \(\ell -1\), namely functions in \(\widehat{\mathcal{H}}_\textbf{p}(\widehat{\mathcal {Q}},\textbf{T}^0) \cap \widehat{\mathcal{B}}^{\ell -1}\), are zero. A similar property is valid for the domain \({\widehat{\omega }}^{\ell }_\mathcal{T}\): all the basis functions of level \(\ell -1\) truncated with respect to level \(\ell \), i.e., functions in \(\widehat{\mathcal{T}}^\ell \) such that their mother is in \(\widehat{\mathcal{B}}^{\ell -1}\), vanish in \(\widehat{\omega }^\ell _\mathcal{T}\). By definition, it holds that \(\widehat{\omega }^\ell _\mathcal{H} \subseteq \widehat{\omega }^\ell _\mathcal{T}\) (see also Fig. 12).

A mesh \(\widehat{\mathcal{Q}}\) is \(\mathcal{H}\)-admissible (respectively, \(\mathcal{T}\)-admissible) of class \(\mu \) if it holds that

$$\begin{aligned} \widehat{\varOmega }^\ell \subseteq \widehat{\omega }^{\ell -\mu +1}_\mathcal{H}, \quad (\text {resp. } \widehat{\varOmega }^\ell \subseteq \widehat{\omega }^{\ell -\mu +1}_\mathcal{T}), \end{aligned}$$
(38)

for all \(\ell =\mu ,\mu +1,\ldots ,N-1\). By definition, it holds that \(\widehat{\omega }^\ell _\mathcal{H} \subseteq \widehat{\omega }^\ell _\mathcal{T}\), which immediately yields that any \(\mathcal{H}\)-admissible mesh of class \(\mu \) is also \(\mathcal{T}\)-admissible of class \(\mu \). Admissibility of a mesh guarantees the following proposition, see [36, Definition 3].

Proposition 5

If \(\widehat{\mathcal {Q}}\) is an \(\mathcal{H}\)-admissible (respectively \(\mathcal{T}\)-admissible) mesh of class \(\mu \), with \(\mu \ge 2\), then, the basis functions in \(\widehat{\mathcal{H}}_\textbf{p}(\widehat{\mathcal {Q}},\textbf{T}^0)\) (resp. \(\widehat{\mathcal{T}}_\textbf{p}(\widehat{\mathcal {Q}},\textbf{T}^0)\)) that take non-zero values over any element \(\widehat{Q}\in \widehat{\mathcal {Q}}\) can only be of \(\mu \) successive levels.

Remark 8

Note that Proposition 5 is not true for HB-splines \({\widehat{H}}_\textbf{p}(\widehat{\mathcal {Q}},\textbf{T}^0)\) on \(\mathcal{T}\)-admissible meshes (instead of \(\mathcal{H}\)-admissible meshes), see Fig. 13 for a simple example of this kind.

Fig. 13
figure 13

A \(\mathcal{T}\)-admissible mesh for \(\textbf {p}=(1,1)\) and \(\mu =2\) with three levels: HB-splines of level 0, 1, 2 are non zero on the element of the finest level in the bottom left corner. THB-splines of only levels 1, 2 are non zero on the same element

Remark 9

Note that in [30, 46, 47] a \(\mathcal{T}\)-admissible mesh was denoted strictly admissible. Reference [36] introduced \(\mathcal{H}\)-admissible meshes, which were there called strictly \(\mathcal{H}\)-admissible. Similarly, \(\mathcal{T}\)-admissible meshes were called strictly \(\mathcal{T}\)-admissible there. Instead, the property of Proposition 5 was referred to as admissible in these references. We also mention that these references even prove that the basis functions that take non-zero values over \(\widehat{Q}\) can indeed only be of levels \(\textrm {lev}(\widehat{Q})-\mu +1, \ldots , \textrm {lev}(\widehat{Q})\).

The structure of admissible hierarchical configurations guarantees, first, a suitable grading of the mesh, and, second, that differences between the levels of neighboring elements are always bounded, as stated in the following proposition.

Proposition 6

Let \(\widehat{\mathcal {Q}}\) be an \(\mathcal{H}\)-admissible (resp. \(\mathcal{T}\)-admissible) hierarchical mesh of class \(\mu \). For any \(\widehat{Q}, \widehat{Q}' \in \widehat{\mathcal {Q}}\), let \(\ell := \min \{ \textrm {lev}(\widehat{Q}),\textrm {lev}(\widehat{Q}')\}\). If there exists \(\widehat{\beta }\in \widehat{\mathcal{B}}^{\ell }\), (resp. \(\widehat{\beta } \in \widehat{\mathcal{B}}^{\ell +1}\)), such that \(\textrm{supp}(\widehat{\beta }) \cap \widehat{Q}\not = \emptyset \) and \(\textrm{supp}(\widehat{\beta }) \cap \widehat{Q}' \not = \emptyset \), then it holds that

$$\begin{aligned} | \textrm {lev}(\widehat{Q}) - \textrm {lev}(\widehat{Q}') | < \mu . \end{aligned}$$

Proof

We proceed by contradiction. Let us assume there exist \(\widehat{Q}, \widehat{Q}' \in \widehat{\mathcal {Q}}\) as in the hypothesis such that \(| \textrm {lev}(\widehat{Q}) - \textrm {lev}(\widehat{Q}') | \ge \mu \). We assume without loss of generality that \(\ell = \textrm {lev}(\widehat{Q}) < \textrm {lev}(\widehat{Q}') =: \ell '\) and thus

$$\begin{aligned} \ell \le \ell ' - \mu . \end{aligned}$$
(39)

Let \(\widehat{Q}''\) be the ancestor of \(\widehat{Q}'\) of level \(\ell '-\mu +1\). By the assumptions on \(\widehat{\beta }\), it clearly satisfies that \(\widehat{Q}\cap S_\textrm{ext}(\widehat{Q}'',k) \not = \emptyset \) for \(k=\ell '-\mu \) (respectively \(k=\ell '-\mu +1\)). As a consequence, we get with (39) and (34) that \(S_\textrm{ext}(\widehat{Q}'',k) \not \subseteq \widehat{\varOmega }^{\ell '-\mu +1}\). We conclude from the definition in (37) that \(\widehat{Q}' \not \subseteq {\widehat{\omega }}^{\ell '-\mu +1}_\mathcal{H}\) (respectively \({\widehat{\omega }}^{\ell '-\mu +1}_\mathcal{T}\)), which contradicts the definition of \(\mathcal{H}\)-admissibility, and of \(\mathcal{T}\)-admissibility, see (38). \(\square \)

As an immediate consequence, we have an analogous result for adjacent elements if the interior multiplicities in all knot vectors \(T_i^\ell \) are less or equal than \(p_i\) so that all B-splines are at least continuous.

Corollary 1

Suppose that the interior multiplicities in all knot vectors \(T_i^\ell \), \(i=1,\dots {\widehat{d}}\), \(\ell =0,\dots ,N-1\), are less or equal than \(p_i\). Let \(\widehat{\mathcal {Q}}\) be a hierarchical mesh which is either \(\mathcal{H}\)-admissible or \(\mathcal{T}\)-admissible of class \(\mu \). For any \(\widehat{Q}, \widehat{Q}' \in \widehat{\mathcal {Q}}\) with \(\overline{\widehat{Q}} \cap \overline{\widehat{Q}'} \not = \emptyset \), it holds that

$$\begin{aligned} | \textrm {lev}(\widehat{Q}) - \textrm {lev}(\widehat{Q}') | < \mu . \end{aligned}$$

The refinement algorithms to generate suitable admissible meshes recursively refine all the elements in a certain neighborhood of any marked element to produce the refined mesh for the next step of the adaptive loop, while simultaneously preserving a fixed class of admissibility.

Given an element \(\widehat{Q}\in \widehat{\mathcal{Q}}\) with \(\textrm {lev}(\widehat{Q})=:\ell \), its \(\mathcal{H}\)-neighborhood and its \(\mathcal{T}\)-neighborhood with respect to \(\mu \) are defined as

$$\begin{aligned} \mathcal{N}_\mathcal{H}(\widehat{Q},\mu ) \,&:=\, \left\{ \widehat{Q}\prime\in \widehat{\mathcal{Q}} \,\cap \,{\widehat{Q}}^{\ell -\mu +1}:\right. \\&\left. \qquad \;\widehat{Q}\prime \cap S_{\textrm{ext}}(\widehat{Q},\ell -\mu +1)\ne \emptyset \right\} ,\\ \mathcal{N}_{\mathcal{T}}(\widehat{Q},\mu ) \,&:=\, \left\{ \widehat{Q}'\in \widehat{\mathcal{Q}} \,\cap \,{\widehat{Q}}^{\ell -\mu +1}: \right. \\ & \left. \qquad \; \widehat{Q}\prime \cap S_{\textrm{ext}}(\widehat{Q},\ell -\mu +2)\ne \emptyset \right\} , \end{aligned}$$

respectively, when \(\ell -\mu +1 \ge 0\), and \(\mathcal{N}_\mathcal{H}(\widehat{Q},\mu ) := \mathcal{N}_\mathcal{T}(\widehat{Q},\mu ) := \emptyset \,\) for \(\ell -\mu +1 < 0\). Recall that we consider open elements, whereas the support extension is a closed set. The conditions in the two sets are thus equivalent to \(\widehat{Q}' \subseteq S_\textrm{ext}(\widehat{Q},\ell -\mu +1)\) and \(\exists \, \widehat{Q}'' \in \widehat{\mathcal {Q}}^{\ell -\mu +2}\) with \(\widehat{Q}''\subseteq S_\textrm{ext}(\widehat{Q},\ell -\mu +2), \widehat{Q}''\subseteq \widehat{Q}' \), respectively. An example of \(\mathcal{H}\)-neighborhood and the \(\mathcal{T}\)-neighborhood for \(\textbf {p}=(2,2)\) and \(\mu =2\) is shown in Fig. 14.

Fig. 14
figure 14

For the light gray element \(\widehat{Q}\) (a), we plot in dark gray its \(\mathcal{H}\)-neighborhood (b) and \(\mathcal{T}\)-neighborhood (c), for \(\textbf {p}=(2,2)\) and \(\mu =2\). All internal knots have multiplicity one

By exploiting the neighborhoods to define the refinement patch associated to each set of a marked element, we can generate admissible meshes and encapsulate a certain structure naturally connected with the support of hierarchical basis functions. Algorithm 1 and 2 present the admissible refinement procedure for HB-splines and THB-splines, respectively. In both algorithms, given a set of marked (active) elements, we iteratively also mark the elements in the \(\mathcal{H}\)-neighborhood (Algorithm 1) or \(\mathcal{T}\)-neighborhood (Algorithm 2) of the marked ones until these neighborhood sets are empty (and no additional elements are marked). Then, we refine the hierarchical mesh by replacing the set of marked elements with its children. Note that the difference between the two algorithms only affects the computation of the neighborhood. The output of the two algorithms coincides with the output of the recursive refinement modules introduced in [46] and [36] for \(\mathcal{T}\)-admissible and \(\mathcal{H}\)-admissible meshes, respectively. \(\mathcal{H}\)-admissible refinements were also considered in [105, Algorithm 3.1] and [164] for \(\mu =2\) and \(\mu \ge 2\), respectively. Details for the implementation of the two refinement algorithms can be found in [36].

figure a
figure b

A selection of meshes generated by the two algorithms when the finest element in the bottom left corner of the current mesh is marked for refinement is shown in Fig. 15 for \(\textbf {p}=(1,1)\) and \(\mu =2\). Note that at each refinement step, the \(\mathcal{T}\)-neighborhood is always empty and, consequently, only the marked element is refined. A more significative comparison is shown in Fig. 16, where a diagonal refinement of the unit square is considered for \(\mu =3\) and \(\textbf {p}=(2,2)\), \(\textbf {p}=(3,3)\), \(\textbf {p}=(4,4)\) after six refinement levels, see also [36, Sect. 5.1] for different values of \(\mu \).

Fig. 15
figure 15

\(\mathcal{H}\)-admissible (b) and \(\mathcal{T}\)-admissible (c) meshes generated by Algorithm 1 and 2, respectively, by refining three times the finest element in the bottom left corner of the mesh with \(\textbf {p}=(1,1)\) and \(\mu =2\). The initial mesh and a marked element at step 0 are shown as well (a). At each step, the dark gray elements appear by refinement of the neighborhood of the previous marked element. All internal knots have multiplicity one

Fig. 16
figure 16

Diagonal refinement of the unit square, starting from a uniform \(4\times 4\) mesh, after six refinement steps: \(\mathcal{H}\)-admissible (left) and \(\mathcal{T}\)-admissible (right) meshes generated by Algorithm 1 and 2, respectively. Results for \(\mu =3\) and \(\textbf {p}=(2,2)\), \(\textbf {p}=(3,3)\), \(\textbf {p}=(4,4)\). At each refinement step, we mark a strip of \(2\lceil \frac{p+1}{2}\rceil \) cells centered at the diagonal. This naturally guarantees that in each step functions of the finest level are activated. All internal knots have multiplicity one

The properties of the refine modules were detailed in [46, 49] and [105, 164] for \(\mathcal{T}\)- and \(\mathcal{H}\)-admissible meshes, respectively, and subsequently revisited in [36] in a unified framework. Proposition 7 guarantees that Algorithm 1 and Algorithm 2 generate a refined hierarchical mesh characterized by the same admissibility properties of the input mesh, see [36, Proposition 2].

Proposition 7

Let \(\widehat{\mathcal{Q}}\), \(\widehat{\mathcal{M}}\), and \(\mu \) be the input arguments of Algorithm 1 (respectively Algorithm 2), where \(\widehat{\mathcal{Q}}\) is \(\mathcal{H}\)-admissible (respectively \(\mathcal{T}\)-admissible) of class \(\mu \). Then, the considered algorithm returns a refined hierarchical mesh, \(\widehat{\mathcal{Q}}_+\succeq \widehat{{\mathcal {Q}}}\), which is \(\mathcal{H}\)-admissible (respectively \(\mathcal{T}\)-admissible) of class \(\mu \).

For fixed \(\mu \) and fixed \(\mathcal{{H}}\)-admissible or \(\mathcal{{T}}\)-admissible refinement, we abbreviate \(\widehat{\mathbb {Q}}:= \texttt{refine}(\widehat{{\mathcal {Q}}}_0)\) as the set of meshes that can be obtained by iterative application of admissible refinement to the initial mesh \(\widehat{{\mathcal {Q}}}_0:=\widehat{{\mathcal {Q}}}^0\). In fact, \(\texttt{refine}(\widehat{{\mathcal {Q}}}_0)\) coincides with the whole set of admissible meshes that are obtained by refinement of \(\widehat{{\mathcal {Q}}}_0\), see [164, Propositions 3.1.8 and 4.2.3] for the \(\mathcal{H}\)-admissible and \(\mathcal{T}\)-admissible meshes, respectively. See also [105, Prop. 5.1] for the proof in the case of \(\mathcal{H}\)-admissible meshes with \(\mu =2\).

The following proposition provides a bound on the possible overrefinement of the algorithm to preserve admissibility. It was proved in [49, Theorem 13] and [164, Theorem 3.1.12] for \(\mathcal{T}\)- and \({\mathcal H}\)-admissible refinement algorithms, respectively. The case \(\mu =2\) for HB-splines was also addressed in [105, Sect. 5.4]. The original versions for triangular meshes go back to [24] and [200] .

Proposition 8

There exists a uniform constant \(C>0\) such that for arbitrary sequences \(({\mathcal {Q}}_k)_{k\in {\mathbb N}_0}\) in \(\mathbb {Q}\) with \({\mathcal {Q}}_{k+1}=\texttt{refine}({\mathcal {Q}}_k,\mathcal M_k)\) for some \(\mathcal M_k\subseteq {\mathcal {Q}}_k\) and all \(k\in {\mathbb N}_0\), it holds that

$$\begin{aligned} \# {\mathcal {Q}}_k-\#{\mathcal {Q}}_0\le C \sum _{j=0}^{k-1}\#\mathcal M_j \quad \text {for all }k\in {\mathbb N}_0. \end{aligned}$$

The constant C depends only on the dimension \({\widehat{d}}\), the degrees \(p_i\), and the initial mesh \(\widehat{\mathcal{Q}}_0\).

4.1.4 Hierarchical Quasi-Interpolation

The THB-spline property of preservation of coefficients [115] enables the definition of hierarchical quasi-interpolation operators that do not require additional computations with respect to the tensor-product case [198].

For each level \(\ell =0,\ldots ,N-1\), we consider the quasi-interpolant into the B-spline space of level \(\ell \)

$$\begin{aligned} \widehat{J}_{\textbf{p},\textbf{T}^\ell }:L^2(\widehat{\varOmega })\rightarrow \widehat{\mathbb {S}}^{\ell }_\textbf{p}(\textbf{T}^{\ell }),\quad \widehat{v}\mapsto \sum _{\textbf{i}\in \mathcal{I}^\ell } \widehat{\lambda }_{\textbf{i},\textbf{p}}^\ell (\widehat{v}) \widehat{B}_{\textbf{i},\textbf{p}}^\ell , \end{aligned}$$
(40)

with \(\mathcal{I}^\ell := \{ \textbf{i}: \widehat{B}_{\textbf{i},\textbf{p}}^\ell \in \widehat{\mathcal {B}}^\ell \}\), and each functional \(\widehat{\lambda }_{\textbf{i},\textbf{p}}^\ell (\widehat{v}) \) is defined via a local projection onto one element that belongs to the support of the corresponding B-spline as described in Sect. 2.2.2, see also [45].

By construction of (T)HB-splines, it is easy to see that for each (T)HB-spline of level \(\ell \) there exists within its support an element in \(\widehat{\mathcal {Q}}\) of the same level, which is contained in \(\widehat{\varOmega }^{\ell } \setminus \widehat{\varOmega }^{\ell +1}\) (i.e., it is in \(\widehat{\mathcal {Q}} \cap \widehat{\mathcal {Q}}^\ell \)). Its size is obviously equivalent to the size of the support, in the sense that their ratio is uniformly bounded. With this choice of the element, the hierarchical quasi-interpolant \(\widehat{J}_{\textbf {p},\widehat{\mathcal {Q}}}^{\,\textrm H}\) can then be defined as

$$\begin{aligned} \widehat{J}_{\textbf {p},\widehat{\mathcal {Q}}}^{\,\textrm H}:L^2(\widehat{\varOmega })\rightarrow \widehat{\mathbb {S}}_\textbf{p}^\textrm{H}(\widehat{\mathcal {Q}},\textbf{T}^{0}),\,\, \widehat{v}\mapsto \sum _{\ell =0}^{N-1} \sum _{\textbf{i}\in \mathcal{I}_{\widehat{\mathcal{Q}}}^\ell }^{} \widehat{\lambda }_{\textbf{i},\textbf{p}}^\ell (\widehat{v}) \widehat{T}_{\textbf{i},\textbf{p}}^\ell , \end{aligned}$$

where \(\mathcal{I}_{\widehat{\mathcal{Q}}}^\ell \) is the set of indices corresponding to active basis functions of level \(\ell \), namely

$$\begin{aligned} \mathcal{I}_{\widehat{\mathcal{Q}}}^\ell := \left\{ \textbf{i}: \widehat{B}_{\textbf{i},\textbf{p}}^\ell \in \widehat{\mathcal{B}}^\ell \cap \widehat{\mathcal{H}}_\textbf{p}(\widehat{\mathcal {Q}},\textbf{T}^0)\right\} , \end{aligned}$$
(41)

with \(\widehat{B}_{\textbf{i},\textbf{p}}^\ell = \mathop {\textrm {mot}}\widehat{T}_{\textbf{i},\textbf{p}}^\ell \). According to [198, Theorem 4], the quasi-interpolant is in fact a projector as stated in the following proposition.

Proposition 9

For an arbitrary hierarchical (not necessarily admissible) mesh \(\widehat{\mathcal {Q}}\), it holds that

$$\begin{aligned} \widehat{J}_{\textbf {p},\widehat{\mathcal {Q}}}^{\,\textrm H} \widehat{S} = \widehat{S} \quad \text { for all } \widehat{S} \in \widehat{\mathbb {S}}_\textbf{p}^\textrm{H}(\widehat{\mathcal {Q}},\textbf{T}^{0}). \end{aligned}$$

As a simple corollary and from the definition of the dual functionals, the quasi-interpolant is also a local projector. Let us define for \(\widehat{Q}\in \widehat{\mathcal {Q}}^\ell \) a modified support extension, given by

$$\begin{aligned}&{S}_\textrm{ext}^*(\widehat{Q}) := \\&\quad \bigcup \left\{ \widehat{\omega }_\textbf{i, p}^\ell : \widehat{T}_{\textbf{i},\textbf{p}}^\ell \in \widehat{\mathcal{T}}_\textbf{p}(\widehat{\mathcal {Q}},\textbf{T}^0):\ \widehat{\omega }_\textbf{i, p}^\ell \cap \widehat{Q}\ne \emptyset \right\} , \nonumber \end{aligned}$$

where

$$\begin{aligned} \widehat{\omega }_\textbf{i, p}^\ell := \textrm{supp}({\textrm{trunc}}^{\ell +1} \widehat{B}_{\textbf{i},\textbf{p}}^\ell ) \end{aligned}$$

identifies the extended support of the THB-spline \(\widehat{T}_{\textbf{i},\textbf{p}}^\ell \), i.e., the support when only the first level of truncation has been applied. The THB-splines on a \({\mathcal T}\)-admissible mesh considered in the definition of \({S}_\textrm{ext}^*(\widehat{Q})\) vary from level \(\max (0,\ell -\mu +1)\) to \(\ell \), see Remark 9.

Corollary 2

For any \(\widehat{Q}\in \widehat{\mathcal {Q}}\) it holds that

$$\begin{aligned} (\widehat{J}_{\textbf {p},\widehat{\mathcal {Q}}}^{\,\textrm H} \widehat{S})|_{\widehat{Q}} = \widehat{S}|_{\widehat{Q}}\quad \text{ if } \widehat{S}|_{{S}_\textrm{ext}^*(\widehat{Q})} \in \widehat{\mathbb {S}}_\textbf{p}^\textrm{H}(\widehat{\mathcal {Q}},\textbf{T}^{0})|_{{S}_\textrm{ext}^*(\widehat{Q})}. \end{aligned}$$

Remark 10

Actually, the locality result is also valid for a set of elements smaller than \({S}_\textrm{ext}^*(\widehat{Q})\), where the extended support \(\widehat{\omega }_{\textbf{i},\textbf{p}}^\ell \) is replaced by \(\textrm{supp}({\widehat{T}_{\textbf{i},\textbf{p}}^\ell })\).

The next property can be found in [48, Theorem 4], and it implies that the number of active elements contained in \({S}_\textrm{ext}^*(\widehat{Q})\) is uniformly bounded.

Proposition 10

Let \(\widehat{{\mathcal {Q}}}\) be a \(\mathcal{T}\)-admissible mesh of class \(\mu \), and let \(\widehat{Q} \in \widehat{{\mathcal {Q}}} \cap \widehat{{\mathcal {Q}}}^\ell \). Then, the set \({S}_\textrm{ext}^*(\widehat{Q})\) is connected. Moreover, for any \(\widehat{Q}' \in \widehat{{\mathcal {Q}}}\) with \(\widehat{Q}' \subseteq {S}_\textrm{ext}^*(\widehat{Q})\) it holds that

$$\begin{aligned} |\widehat{Q}'| \simeq | {S}_\textrm{ext}^*(\widehat{Q})|, \end{aligned}$$

where the hidden constants depend on the degrees \(p_i\), the admissibility class \(\mu \), the dimension \({\widehat{d}}\), and the initial mesh \(\widehat{{\mathcal {Q}}}_0\).

The next result is a stability property analogous to Proposition 2 in the tensor-product case. The proof can be found in [48] for a slightly modified operator onto the space \(\widehat{\mathbb {S}}_\textbf{p}^\textrm{H}(\widehat{\mathcal {Q}},\textbf{T}^{0})\cap H_0^1(\widehat{\varOmega })\), but works the same in our case. On \(\mathcal{H}\)-admissible meshes of class \(\mu =2\), a similar result is also given in [105].

Proposition 11

Let \(\widehat{\mathcal {Q}}\) be either an \(\mathcal{H}\)-admissible or \(\mathcal{T}\)-admissible mesh of class \(\mu \). There exists a constant C such that for any element \(\widehat{Q}\in \widehat{\mathcal {Q}}\) it holds that

$$\begin{aligned} || \widehat{J}_{\textbf {p},\widehat{\mathcal {Q}}}^{\,\textrm H}\widehat{v} ||_{L^2(\widehat{Q})}&\le C ||\widehat{v}||_{L^2({S}_\textrm{ext}^*(\widehat{Q}))}, \end{aligned}$$

for all \(\widehat{v}\in L^2(\widehat{\varOmega })\). The constant C depends only on the dimension \({\widehat{d}}\), the degrees \(p_i\), and the initial mesh \(\widehat{\mathcal{Q}}_0\).

Finally, with the help of the local projector, we prove a result regarding a local characterization for refined spaces. We note that this result does not require admissibility. We start introducing some notation. Let \(\widehat{{\mathcal {Q}}}\) be a hierarchical mesh, and \(\widehat{{\mathcal {Q}}}_+\) another hierarchical mesh obtained by refinement, i.e., \(\widehat{{\mathcal {Q}}} \preceq \widehat{{\mathcal {Q}}}_+\). We recall the definition of the sets of indices \(\mathcal{I}_{\widehat{\mathcal{Q}}}^\ell \) given by (41), and define analogously the sets \(\mathcal{I}_{\widehat{\mathcal{Q}}_+}^\ell \) for levels \(\ell = 0, \ldots , N_+-1\). This allows us to introduce their splitting in disjoint index sets as follows

$$\begin{aligned} \mathcal{I}_{\widehat{{\mathcal {Q}}}}^\ell := \mathcal{I}_{\widehat{{\mathcal {Q}}}\rightarrow {\widehat{{\mathcal {Q}}}_+}}^{\ell ,\text{fix}} \cup \mathcal{I}_{\widehat{{\mathcal {Q}}}}^{\ell ,\text{old}},\qquad \mathcal{I}_{\widehat{{\mathcal {Q}}}_+}^\ell := \mathcal{I}_{\widehat{{\mathcal {Q}}} \rightarrow {\widehat{{\mathcal {Q}}}_+}}^{\ell ,\text{fix}} \cup \mathcal{I}_{\widehat{{\mathcal {Q}}}_+}^{\ell ,\text{new}}, \end{aligned}$$

for \(\ell =0,\ldots ,N-1\) and \(\ell =0,\ldots ,N_+-1\), respectively, with

$$\begin{aligned} \mathcal{I}_{\widehat{{\mathcal {Q}}}\rightarrow {\widehat{{\mathcal {Q}}}_+}}^{\ell ,{\text{fix}}} := \mathcal{I}_{\widehat{{\mathcal {Q}}}}^\ell \cap \mathcal{I}_{\widehat{{\mathcal {Q}}}_+}^\ell , \end{aligned}$$
(42)

i.e., indices related to functions which are active in both meshes, although they may differ by truncation, and

$$\begin{aligned} \mathcal{I}_{\widehat{{\mathcal {Q}}}}^{\ell ,{\text{old}}} := \mathcal{I}_{\widehat{{\mathcal {Q}}}}^\ell \setminus \mathcal{I}_{\widehat{{\mathcal {Q}}}\rightarrow {\widehat{{\mathcal {Q}}}_+}}^{\ell ,{\text{fix}}},\quad \mathcal{I}_{\widehat{{\mathcal {Q}}}_+}^{\ell ,\text{new}} := \mathcal{I}_{\widehat{{\mathcal {Q}}}_+}^\ell \setminus \mathcal{I}_{\widehat{{\mathcal {Q}}}\rightarrow {\widehat{{\mathcal {Q}}}_+}}^{\ell ,\text{fix}}, \end{aligned}$$
(43)

indices of basis functions that are respectively removed or added after refinement. We also introduce the set of elements in the support of the new functions, the domain they cover, and its (closed) complementary, respectively denoted by

$$\begin{aligned}&{\widehat{\mathcal{R}}_+} : = \{\widehat{Q}\in \widehat{{\mathcal {Q}}}_+: \exists \ell \in \{0, \ldots , N_+-1\} \, \exists \textbf{i} \in \mathcal{I}_{\widehat{{\mathcal {Q}}}_+}^{\ell ,\text{new}} \nonumber \\&\qquad \text { such that }\widehat{Q}\subset \textrm{supp}(\widehat{T}_{+,\textbf{i},\textbf{p}}^\ell )\}, \\&\widehat{\varOmega }_{\widehat{R}_+} := \bigcup \big \{ \overline{\widehat{Q}}: \widehat{Q}\in {\widehat{\mathcal{R}}}_+\big \}, \quad \widehat{\varOmega }_{\widehat{Q}} := \overline{\widehat{\varOmega }\setminus \widehat{\varOmega }_{\widehat{\mathcal{R}}_+}}.\nonumber \end{aligned}$$
(44)

Proposition 12

Let \(\widehat{{\mathcal {Q}}}, \widehat{{\mathcal {Q}}}_+\) be two hierarchical meshes with \(\widehat{{\mathcal {Q}}} \preceq \widehat{{\mathcal {Q}}}_+\). Moreover, for every \(\textbf{i} \in \mathcal{I}_{\widehat{{\mathcal {Q}}}\rightarrow {\widehat{{\mathcal {Q}}}_+}}^{\ell ,\text{fix}}\), \(\ell = 0, \ldots , N-1\), we choose the element for the coefficients in (40) to be in \(\widehat{\mathcal {Q}} \cap \widehat{\mathcal {Q}}_+\cap \widehat{\mathcal {Q}}^\ell \). Then it holds that

$$\begin{aligned} (\widehat{J}_{\textbf {p},\widehat{\mathcal {Q}}}^{\textrm{H}} \widehat{S})|_{\widehat{\varOmega}_{\widehat{\mathcal{Q}}}} = \widehat{S}|_{{\widehat{\varOmega }}_{\widehat{\mathcal{Q}}}} \quad \text {for all } \widehat{S} \in \widehat{\mathbb {S}}_{\textbf{p}}^{\textrm{H}}(\widehat{\mathcal {Q}}_+,{\textbf{T}}^{0}). \end{aligned}$$

Proof

Let

$$\begin{aligned} \widehat{J}_{\textbf {p},\widehat{\mathcal {Q}}}^{\,\textrm H} \widehat{S}&= \sum _{\ell =0}^{N-1} \sum _{\textbf{i}\in \mathcal{I}_{\widehat{\mathcal{Q}}}^\ell }^{} \widehat{\lambda }_{\textbf{i},\textbf{p}}^\ell (\widehat{S}) \widehat{T}_{\textbf{i},\textbf{p}}^\ell , \end{aligned}$$
(45)

and

$$\begin{aligned} \widehat{J}_{\textbf {p},{\widehat{\mathcal {Q}}_+}}^{\,\textrm H} \widehat{S}&= \sum _{\ell =0}^{N_+-1} \sum _{\textbf{i}\in \mathcal{I}_{\widehat{{\mathcal {Q}}}_+}^\ell }^{} \widehat{\lambda }_{+,\textbf{i},\textbf{p}}^\ell (\widehat{S}) \widehat{T}_{+,\textbf{i},\textbf{p}}^{\ell }, \end{aligned}$$
(46)

where \(\widehat{B}_{\textbf{i},\textbf{p}}^\ell = \mathop {\textrm {mot}}\widehat{T}_{\textbf{i},\textbf{p}}^\ell \) or \(\widehat{B}_{\textbf{i},\textbf{p}}^{\ell }= \mathop {\textrm {mot}}\widehat{T}_{+,\textbf{i},\textbf{p}}^{\ell }\), be the two hierarchical quasi-interpolants expressed in terms of the truncated bases. For the operator (46), we choose for every \(\textbf{i} \in \mathcal{I}_{\widehat{{\mathcal {Q}}}\rightarrow {\widehat{{\mathcal {Q}}}_+}}^{\ell ,\text{fix}}\) the same element as for (45). By using the index sets introduced in (42) and (43), we can rewrite the inner sums in (45) and (46) respectively as

$$\begin{aligned}&\sum _{\textbf{i}\in \mathcal{I}_{\widehat{{\mathcal {Q}}}\rightarrow {\widehat{{\mathcal {Q}}}_+}}^{\ell ,\text{fix}}} \widehat{\lambda }_{\textbf{i},\textbf{p}}^\ell (\widehat{S}) \widehat{T}_{\textbf{i},\textbf{p}}^\ell + \sum _{\textbf{i}\in \mathcal{I}_{\widehat{\mathcal{Q}}}^{\ell ,\text{old}}}^{} \widehat{\lambda }_{\textbf{i},\textbf{p}}^\ell (\widehat{S}) \widehat{T}_{\textbf{i},\textbf{p}}^\ell \end{aligned}$$

and

$$\begin{aligned}&\sum _{\textbf{i}\in \mathcal{I}_{\widehat{{\mathcal {Q}}}\rightarrow {\widehat{{\mathcal {Q}}}_+}}^{\ell ,{\text{fix}}}} \widehat{\lambda }_{+,\textbf{i},\textbf{p}}^\ell (\widehat{S}) \widehat{T}_{+,\textbf{i},\textbf{p}}^{\ell }+ \sum _{\textbf{i}\in \mathcal{I}_{\widehat{{\mathcal {Q}}}_+}^{\ell ,{\text{new}}}}^{} \widehat{\lambda }_{+,\textbf{i},\textbf{p}}^\ell (\widehat{S}) \widehat{T}_{+,\textbf{i},\textbf{p}}^{\ell }. \end{aligned}$$

For any index \(\textbf{i}\in \mathcal{I}_{\widehat{{\mathcal {Q}}}\rightarrow {\widehat{{\mathcal {Q}}}_+}}^{\ell ,\textrm fix}\), the definition of \(\widehat{\varOmega }_{\widehat{\mathcal{Q}}}\) and our assumptions for the coefficients of the quasi-interpolants show that

$$\begin{aligned} \widehat{T}_{\textbf{i},\textbf{p}}^{\ell }|_{\widehat{\varOmega }_{\widehat{\mathcal Q}}} = \widehat{T}_{+, \textbf{i},\textbf{p}}^{\ell }|_{\widehat{\varOmega }_{\widehat{\mathcal Q}}},\qquad \lambda _{\textbf{i},\textbf{p}}^\ell (\widehat{S}) = \lambda _{+,\textbf{i},\textbf{p}}^\ell (\widehat{S}). \end{aligned}$$

For any index \(\textbf{i}\in \mathcal{I}_{\widehat{{\mathcal {Q}}}}^{\ell ,\text{old}}\) or \(\textbf{i}\in \mathcal{I}_{\widehat{{\mathcal {Q}}}}^{\ell ,\text{new}}\), we have

$$\begin{aligned} \widehat{T}_{\textbf{i},\textbf{p}}^{\ell }|_{\widehat{\varOmega }_{\widehat{\mathcal Q}}} = 0, \quad \widehat{T}_{+,\textbf{i},\textbf{p}}^{\ell }|_{\widehat{\varOmega }_{\widehat{\mathcal Q}}} = 0. \end{aligned}$$

Consequently, since \(\widehat{J}_{\textbf {p},{\widehat{\mathcal {Q}}_+}}^{\,\textrm H}\) is a projector onto the space \(\widehat{\mathbb {S}}_\textbf{p}^\textrm{H}(\widehat{\mathcal {Q}}_+,\textbf{T}^{0})\), we obtain that

$$\begin{aligned} (\widehat{J}_{\textbf {p},\widehat{\mathcal {Q}}}^{\,\textrm H} \widehat{S})|_{\widehat{\varOmega }_{\widehat{\mathcal Q}}}&= \sum _{\ell =0}^{N-1} \sum _{\textbf{i}\in \mathcal{I}_{\widehat{{\mathcal {Q}}}\rightarrow {\widehat{{\mathcal {Q}}}_+}}^{\ell ,\textrm fix}} \widehat{\lambda }_{\textbf{i},\textbf{p}}^\ell (\widehat{S}) \widehat{T}_{\textbf{i},\textbf{p}}^\ell |_{\widehat{\varOmega }_{\widehat{\mathcal Q}}} \\&= \sum _{\ell =0}^{N-1} \sum _{\textbf{i}\in \mathcal{I}_{\widehat{{\mathcal {Q}}}\rightarrow {\widehat{{\mathcal {Q}}}_+}}^{\ell ,\textrm fix}} \widehat{\lambda }_{+,\textbf{i},\textbf{p}}^\ell (\widehat{S}) \widehat{T}_{+,\textbf{i},\textbf{p}}^\ell |_{\widehat{\varOmega }_{\widehat{\mathcal Q}}} \\&= (\widehat{J}_{\textbf {p},\widehat{\mathcal {Q}}_+}^{\,\textrm H} \widehat{S})|_{\widehat{\varOmega }_{\widehat{\mathcal Q}}} = \widehat{S}|_{\widehat{\varOmega }_{\widehat{\mathcal Q}}}. \end{aligned}$$

This concludes the proof. \(\square \)

Corollary 3

Let \(\widehat{{\mathcal {Q}}}, \widehat{{\mathcal {Q}}}_+\) be two hierarchical meshes with \(\widehat{{\mathcal {Q}}} \preceq \widehat{{\mathcal {Q}}}_+\). Then, their associated spaces of hierarchical splines coincide in \(\widehat{\varOmega }_{\widehat{\mathcal Q}}\), i.e., it holds that

$$\begin{aligned} \widehat{\mathbb {S}}_\textbf{p}^\textrm{H}(\widehat{\mathcal {Q}},\textbf{T}^{0}) |_{\widehat{\varOmega }_{\widehat{\mathcal Q}}} = \widehat{\mathbb {S}}_\textbf{p}^\textrm{H}(\widehat{\mathcal {Q}}_+,\textbf{T}^{0}) |_{\widehat{\varOmega }_{\widehat{\mathcal Q}}}. \end{aligned}$$

Finally, we remark that although our construction is based on [45, 198], hierarchical quasi-interpolation with HB-splines and THB-splines was also studied in [142] and [35, 197], respectively.

4.1.5 Hierarchical Splines Refined by Functions

An alternative viewpoint for the construction of hierarchical splines is to consider a refinement algorithm which does not refine the elements, but instead it refines basis functions. In the context of adaptive methods for PDEs, this idea can be traced back at least to [117, 144], and it was recently improved by Sabin in [182] to easily deal with possible linear dependencies of basis functions. The basic idea is to replace any marked basis function with their children, that are the basis functions of the next level appearing in (35).

In terms of the analysis of adaptive methods, refinement by functions is studied in [2]. To avoid possible linear dependencies of basis functions, the authors suggest to use what they call absorbing generators, which in fact are equivalent to the simplified hierarchical splines in [43]. In the latter, basis functions are refined (deactivated) according to the elements in their support, but only children of refined basis functions can be activated. Their definition can be done with a recursive algorithm similar to the one of HB-splines in Sect. 4.1.1:

  1. 1.

    \(\widehat{\mathcal {H}}_s^0 := \widehat{\mathcal {B}}^0\);

  2. 2.

    for \(\ell =0,\ldots , N-2\)

    $$\begin{aligned} \widehat{\mathcal {H}}_s^{\ell +1} := \widehat{\mathcal {H}}_{s,A}^{\ell +1} \cup \widehat{\mathcal {H}}_{s,B}^{\ell +1}, \end{aligned}$$

where \(\widehat{\mathcal {H}}_{s,A}^{\ell +1}\) is defined analogously to \(\widehat{\mathcal {H}}_{A}^{\ell +1}\) in the HB-splines case, while \(\widehat{\mathcal {H}}_{s,B}^{\ell +1}\) is given by the sets of children

$$\begin{aligned} \widehat{\mathcal {H}}_{s,B}^{\ell +1}:= \bigcup _{{\mathop {\textrm{supp}(\widehat{\beta }) \subset \varOmega ^{\ell +1}}\limits ^{ \widehat{\beta } \in \widehat{\mathcal {H}}_s^{\ell +1}}}} \left\{ \widehat{B}_{\textbf{i},\textbf{p}}^{\ell +1} \in \widehat{\mathcal {B}}^{\ell +1} : c^{\ell +1}_\textbf{i, \textbf{p}}(\widehat{\beta }) \not = 0\right\} , \end{aligned}$$

and the coefficients \(c_\textbf{i, \textbf{p}}^{\ell +1}(\widehat{\beta })\) are defined in (35).

In [43] it is proved that, for every \(\ell = 0, \ldots , N-1\), the set of simplified HB-splines is contained in the set of HB-splines, namely \(\widehat{\mathcal {H}}_{s}^{\ell } \subseteq \widehat{\mathcal {H}}^{\ell }\). Indeed, with the unique nonnegative coefficients from \(\sum _{\widehat{\beta }\in \widehat{\mathcal {H}}^{\ell }} c_{\widehat{\beta }} \widehat{\beta }=1\), it even holds that \(\widehat{\mathcal {H}}_{s}^{\ell }=\big \{\widehat{\beta }\in \widehat{\mathcal {H}}^{\ell }\,:\,c_{\widehat{\beta }}>0\big \}\). Moreover, the first three properties of Proposition 3 are proved for these simplified hierarchical splines in the same paper. In [2], the authors introduce a refinement algorithm by functions that, analogously to the admissibility property presented above, prevents the interaction of coarse and fine functions, and they prove that the algorithm has linear complexity with respect to the number of marked basis functions, see Proposition 8 for the analogous result in an element-wise version.

The definition of a multilevel quasi-interpolant for simplified hierarchical splines is also given in [43]. This quasi-interpolant generalizes the one introduced by Kraft for HB-splines in [142] to general knot vectors. However, the quasi-interpolant is not a projector.

Regarding a posteriori error estimation, an estimator based on basis functions was introduced in [43], although as far as we know only the upper bound of the error has been proved.

4.2 T-Splines

An alternative for the development of adaptive isogeometric methods is the use of T-splines, which were introduced for CAD and computer graphics by T. Sederberg et al. in [192, 193]. They were soon recognized as an interesting tool to develop adaptivity in IGA [15, 84]. A sound mathematical theory for approximation with T-splines was missing at that time and in [42] the first counterexample of linearly dependent T-splines was presented along with preliminary results about linear independence. The mathematical analysis of T-splines made a big step forward with the introduction of analysis suitable T-splines in [152] and the equivalent concept (under the mild assumption that facing T-junctions do not exist) of dual-compatible T-splines in [18], for which it was possible to construct a dual basis, and consequently to prove linear independence. While these concepts were first restricted to cubic T-splines, they were generalized to arbitrary degree in [19], and equivalence was proved under the same assumption. The characterization of the space and some other important properties were analyzed in [38, 150]. These works are mostly restricted to the two-dimensional case, although the definition of dual-compatible T-splines extends to three-dimensional one.

Algorithms for automatic refinement with T-splines were first studied in [192] and for analysis suitable T-splines in [189]. Refinement algorithms that guarantee the dual compatibility property by alternating the direction of refinement were introduced in [165] and were later generalized to the trivariate case (with odd degree) in [163, 164]. The advantage of these refinement algorithms over previous ones is that they guarantee linear complexity and also shape-regularity of the mesh avoiding the presence of undesired anisotropic elements.

In this section we present the definition of T-splines, focusing on dual-compatible T-splines and describe the concept of admissible T-meshes and the refinement algorithms introduced in [163,164,165]. For the presentation we mainly follow the survey [20], which collects results from previous papers, and [163]. We will restrict ourselves to the case of T-splines of odd degree, because the analysis of trivariate T-splines in [163] has not been extended to arbitrary degree so far.

4.2.1 The Basic Idea of T-Splines

T-splines are a generalization of B-splines, where the functions are defined from a mesh of rectangular elements with T-junctions, the so-called T-mesh, see Fig. 17. The lines of the T-mesh play a similar role as the knot indices in the tensor-product case and a knot value is associated to each of these lines. A T-spline function is then associated to each vertex of the T-mesh (or to each element if the degree is even), in what we call the anchors. Each of these functions is defined analogously to a B-spline, and the local knot vector in the j-th direction is obtained by tracing a line from the anchor in this direction, and considering the intersections of this line with the T-mesh. For example, in Fig. 17 with degree \(\textbf{p} = (5,3)\), the function anchored at the node with indices (9, 8) has local knot vectors \(\displaystyle \left( \frac{1}{16},\frac{1}{8},\frac{1}{4},\frac{3}{8},\frac{1}{2},\frac{9}{16},\frac{5}{8} \right) \) and \(\displaystyle \left( \frac{5}{16},\frac{3}{8},\frac{1}{2},\frac{5}{8},\frac{3}{4}\right) \).

Fig. 17
figure 17

A two-dimensional T-mesh with degree \((p_1,p_2)=(5,3)\). For the three (blue) nodes \(\textbf{z}\in \{(6,4),(9,8),(15,13)\}\), their corresponding local knot vectors are indicated by red crosses. In the axes we indicate the indices in \(\mathcal {I}_j^0\) and, between parentheses, the value of the corresponding knots. (Color figure online)

We notice that, due to knot repetitions in the open knot vectors, the first p knot spans in each direction have zero length. These elements with zero measure are colored in gray in Fig. 17, and the white region will be called the index/parametric region. Moreover, we recall that for B-splines, a knot vector of \(n+p+1\) knots defines n functions. To take this into account, the anchors are limited to what is called the region of active anchors, given by the white and light gray elements in Fig. 17.

Although the idea of T-splines is not complex, the rigorous definition and analysis of their properties require some involved notation, which we present in the following subsections.

4.2.2 T-Meshes Refined by Bisection

For simplicity, we will limit ourselves to T-meshes where the elements are refined by bisection. We also restrict ourselves to dimension \({\widehat{d}}=2,3\), as this is the state of the art, although some advances for arbitrary dimension were introduced in [164]. Moreover, as we said above we also limit the presentation to odd polynomial degrees. For the definition and properties of even and mixed degree T-splines, we refer to [19, 165], see also Remark 11 below.

For the ease of reading, we repeat here some of the definitions of the tensor-product case. Let us introduce for \( 1 \le j \le {\widehat{d}}\), an odd degree \(p_j \ge 3\), the number of univariate functions \(n_j\), the set of indices \(\mathcal {I}_j^0 = \{1,2, \ldots , n_j + p_j + 1 \}\), and the open knot vector \(T_j^0\) \(= (t_{j,1}, \ldots , t_{j,n_j+p_j+1})\) \(=\) \((t_{j,i})_{i \in \mathcal {I}_j^0}\), with \(t_{j,p_j+1} = 0\) and \(t_{j,n_j+1} = 1\). We also assume that internal knots are not repeated, that is

$$\begin{aligned} t_{j,i} < t_{j,i+1} \quad \text { for } i = p_j+1, \ldots , n_j. \end{aligned}$$

Again, we abbreviate \(\textbf{p}:=(p_1,\dots ,p_{\widehat{d}})\) as well as \(\textbf{T}^0:=(T^0_1,\dots ,T^0_{\widehat{d}})\).

The starting point is the Cartesian grid

$$\begin{aligned} \check{{\mathcal {Q}}}_0 :=&\big \{(l_1, l_1+1) \times \ldots \times (l_{\widehat{d}}, l_{\widehat{d}}+1): \\&\quad 1 \le l_j \le n_j + p_j \text { for } 1\le j\le {\widehat{d}}\big \}, \end{aligned}$$

which is a uniform partition of the index domain

$$\begin{aligned} \check{\varOmega }_{\textrm {ind}}:= \varPi _{j=1}^{\widehat{d}}(1,n_j+p_j+1). \end{aligned}$$

We also introduce the index/parametric domain

$$\begin{aligned} \check{\varOmega }_{\textrm {ip}}:= \varPi _{j=1}^{\widehat{d}}(p_j+1,n_j+1). \end{aligned}$$

In Fig. 17, \(\check{\varOmega }_{\textrm {ip}}\) is formed by white elements, while \(\check{\varOmega }_{\textrm {ind}}\) is given by all the elements of the mesh. We also define \(\widehat{\varOmega }:= (0,1)^{\widehat{d}}\).

For any integer \(k >0 \), we define the set of rational indices

$$\begin{aligned} \mathcal {I}_j^k := {\mathcal I}_j^0 \cup \bigg \{&i+r: i \in {\mathcal I}_j^0,\, p_j+1 \le i \le n_j,\, \\&r \in \Big \{\frac{1}{2^k}, \ldots , \frac{2^k-1}{2^k} \Big \} \bigg \}. \end{aligned}$$

With this, we can define for \( 1 \le j \le {\widehat{d}}\) and for \(k \ge 0\), the ordered knot vectors at stage k

$$\begin{aligned} T_j^k := (t_{j,r})_{r \in \mathcal {I}_j^k } \end{aligned}$$

in a recursive way: starting from \(T_j^0\), for \(k > 0\) and for any new index \(r \in \mathcal {I}_j^k \setminus \mathcal {I}_j^{k-1}\), we define

$$\begin{aligned} t_{j,r} := \frac{1}{2} \left( t_{j,r-\frac{1}{2^k}} + t_{j,r+\frac{1}{2^k}}\right) , \end{aligned}$$

which is well defined because \(r-\frac{1}{2^k}, r+\frac{1}{2^k} \in \mathcal {I}_j^{k-1}\). Note that we are not inserting new knots between the repeated knots of the open knot vector.

We also define, for an arbitrary hyperrectangular element in the index domain \({\check{Q}}= \varPi _{i=1}^{\widehat{d}}(a_i,b_i)\), the bisection operator in the j-th direction (compare with [163, Definition 2.5] and [62, Sect. 4.1])

$$\begin{aligned} \texttt{bisect}_j({\check{Q}}) := \left\{ \begin{array}{ll} \{ {\check{Q}}_j^1, {\check{Q}}_j^2 \} &{} \text { if } t_{j,a_j} \not = t_{j,b_j}, \\ \{{\check{Q}}\} &{} \text { if } t_{j,a_j} = t_{j,b_j}, \end{array} \right. \end{aligned}$$
(47)

where

$$\begin{aligned} {\check{Q}}_j^1 = \varPi _{i=1}^{j-1}(a_i,b_i) \times \Big (a_j,\frac{a_j+b_j}{2}\Big ) \times \varPi _{i=j+1}^{{\widehat{d}}}(a_i,b_i), \\ {\check{Q}}_j^2 = \varPi _{i=1}^{j-1}(a_i,b_i) \times \Big (\frac{a_j+b_j}{2},b_j\Big ) \times \varPi _{i=j+1}^{{\widehat{d}}}(a_i,b_i). \end{aligned}$$

That is, the element is bisected in the j-th direction only if the corresponding knots in this direction are different, otherwise it is left unchanged. In particular, due to the presence of the open knot vector, the first and last \(p_j\) “columns” of elements in the j-th direction are never bisected in this direction.

Setting the level of the elements of the starting mesh \({\check{Q}}\in \check{\mathcal {Q}}_0\) equal to zero, \(\textrm {lev}({\check{Q}}) := 0\), we associate to each level \(\ell \in \mathbb {N}_0\) the direction of bisection

$$\begin{aligned} \textrm {dir}(\ell ):= (\,\ell \text { mod } \widehat{d}\,) +1, \end{aligned}$$

and we also set the level of the elements obtained by bisection

$$\begin{aligned} \textrm {lev}({\check{Q}}') := \textrm {lev}({\check{Q}}) + 1, {\check{Q}}' \in \texttt{bisect}_{\textrm {dir}(\textrm {lev}({\check{Q}}))}({\check{Q}}). \end{aligned}$$

With this choice, the elements will be split into two in alternating directions determined by their level, see the examples in Figs. 18 and 19. Note that if an element \({\check{Q}}\) is unchanged via bisection because its indices refer to repeated knots, see (47), we still implicitly distinguish \({\check{Q}}\) and \({\check{Q}}' := \texttt{bisect}({\check{Q}})\) by equipping the latter with a different level.

Fig. 18
figure 18

Example of bisection for \({\widehat{d}}=2\). The initial element of level 0 is bisected in the x-direction (\(\textrm {dir}(0)=1\)) to obtain two elements of level 1. These are then bisected in the y-direction (\(\textrm {dir}(1) = 2\)) to obtain the four elements of level 2

Fig. 19
figure 19

Example of bisection for \({\widehat{d}}=3\). The initial element of level 0 is bisected in the x-direction (\(\textrm {dir}(0)=1\)) to obtain two elements of level 1. These are then bisected in the y-direction (\(\textrm {dir}(1) = 2\)) to obtain four elements of level 2, which are bisected in the z-direction (\(\textrm {dir}(2) = 3\)) to get eight elements of level 3

A T-mesh in the index domain, or simply index T-mesh, is defined as \(\check{\mathcal {Q}}:= \check{\mathcal {Q}}_N\) by successively applying bisection for \(k = 0, \ldots , N-1\), in the form

$$\begin{aligned} \check{\mathcal {Q}}_{k+1} := (\check{\mathcal {Q}}_k \setminus \{{\check{Q}}_k\}) \, \cup \, \texttt{bisect}_{\textrm {dir}(\textrm {lev}({\check{Q}}_k))}({\check{Q}}_k), \end{aligned}$$

with \({\check{Q}}_k \in \check{\mathcal {Q}}_k\). The index T-mesh defines a partition of the index domain \(\check{\varOmega }_{\textrm {ind}}\) into disjoint hyperrectangles. Noting that bisection is applied alternating the direction of refinement, it is easy to see that any element \({\check{Q}}\in \check{\mathcal {Q}}\) can be written as \(\varPi _{j=1}^{\widehat{d}}(a_j,b_j)\), with \(a_j, b_j \in {\mathcal I}_j^{k_j({\check{Q}})}\) and

$$\begin{aligned} k_j({\check{Q}}) := \lfloor (\textrm {lev}({\check{Q}}) + {\widehat{d}}- j)/{\widehat{d}}\rfloor . \end{aligned}$$

Thus, we can define its parametric image as

$$\begin{aligned} \texttt {param}({\check{Q}}) := \varPi _{j=1}^{\widehat{d}}(t_{j,a_j}, t_{j,b_j}), \end{aligned}$$

where \(t_{j,a_j}, t_{j,b_j} \in T_j^{k_j({\check{Q}})}\). With this definition, from the index T-mesh \(\check{\mathcal {Q}}\) we can infer a T-mesh in the parametric domain, or parametric T-mesh, which is given by the parametric images with non-zero measure of the elements in the index T-mesh

$$\begin{aligned} \widehat{\mathcal {Q}}:= \{ \widehat{Q}= \texttt {param}({\check{Q}}) : {\check{Q}}\in \check{\mathcal {Q}}\text { and } |\widehat{Q}| \not = 0\}. \end{aligned}$$
(48)

We plot in Fig. 20a the parametric T-mesh associated to the index T-mesh of Fig. 17. Notice that any element in the parametric T-mesh has a corresponding element in the index T-mesh, while the opposite is not true. Therefore, we can define for any \(\widehat{Q}\in \widehat{\mathcal {Q}}\) its index preimage

$$\begin{aligned} \texttt {index}(\widehat{Q}) := {\check{Q}}, \, \text { with } \widehat{Q}= \texttt {param}({\check{Q}}), \end{aligned}$$

and we can set the level of \(\widehat{Q}\) as the level of its index preimage, \(\textrm {lev}(\widehat{Q}) := \textrm {lev}(\texttt {index}(\widehat{Q}))\). Note that it always holds that \(\texttt {index}(\widehat{Q}) \subset \check{\varOmega }_{\textrm {ip}}\).

4.2.3 T-Spline Blending Functions

After defining the T-mesh, it remains to define the T-spline blending functions. We start by defining the region of active anchors, which is usually called the active region, as

$$\begin{aligned} \check{\varOmega }_{\textrm {act}}:= \varPi _{j=1}^{\widehat{d}}(\lceil p_j/2 \rceil +1, n_j+p_j+1-\lceil p_j/2 \rceil ), \end{aligned}$$

and the set of anchors, sometimes also called nodes,

$$\begin{aligned} \mathcal {A}_\textbf{p}(\check{\mathcal {Q}},\textbf{T}^0) := \{ \textbf {z}\in \overline{\check{\varOmega }_{\textrm {act}}}: \textbf {z}\text { vertex of some } {\check{Q}}\in \check{\mathcal {Q}}\}. \end{aligned}$$

In Fig. 17 the region of active anchors is given by the white and light gray elements.

Remark 11

We are restricting ourselves to the case of odd degree. For even degree, the anchors are associated to elements, while for mixed degree they are associated to either vertical or horizontal edges in the two-dimensional case, and to edges (two odd, one even degree) or faces (one odd, two even degrees) in the three-dimensional case, see, e.g., [20] for details.

For each element \({\check{Q}}= \varPi _{i=1}^{\widehat{d}}(a_i,b_i) \in \check{\mathcal {Q}}\), we define its skeleton in the j-th direction, for \(j= 1, \ldots , {\widehat{d}}\), as

$$\begin{aligned} \texttt {skel}_{j}({\check{Q}}) := \varPi _{i=1}^{j-1}[a_i,b_i] \times \{a_j,b_j\} \times \varPi _{i=j+1}^{{\widehat{d}}}[a_i,b_i], \end{aligned}$$

and the skeleton of a T-mesh in the j-th direction as

$$\begin{aligned} \texttt {skel}_{j}(\check{\mathcal {Q}}) := \bigcup _{{\check{Q}}\in \check{\mathcal {Q}}} \texttt {skel}_{j}({\check{Q}}). \end{aligned}$$

Then, to each anchor \(\textbf {z}= (z_1, \ldots , z_{\widehat{d}}) \in \mathcal {A}_\textbf{p}(\check{\mathcal {Q}},\textbf{T}^0)\) and to each direction \(j \in \{1,\ldots , {\widehat{d}}\}\), we associate the corresponding ordered global index vector

$$\begin{aligned} \begin{array}{l} \mathcal {I}^{\textrm {gl}}_{j}(\textbf {z},\check{\mathcal {Q}}) := \{ s \in [1,n_j+p_j+1] : \\ \qquad (z_1, \ldots , z_{j-1}, s, z_{j+1}, \ldots , z_{\widehat{d}}) \in \texttt {skel}_j(\check{\mathcal {Q}}) \}, \end{array} \end{aligned}$$

and the local index vector \(\mathcal {I}^{\textrm {loc}}_{j}(\textbf {z},\check{\mathcal {Q}}) \subset \mathbb {R}^{p_j+2}\) being the vector of \(p_j+2\) consecutive indices of \(\mathcal {I}^{\textrm {gl}}_{j}(\textbf {z},\check{\mathcal {Q}})\) having \(z_j\) as its middle entry, in the \(((p_j+3)/2)\)-th position. This is equivalent to trace a line from the anchor parallel to the j-th axis, and considering in each direction the first \(\lfloor (p_j+2)/2 \rfloor \) intersections with the skeleton of the T-mesh as in Fig. 17. Once we have defined the local index vector, we define the local knot vector in the j-th direction as

$$\begin{aligned} T_j(\textbf {z},\check{\mathcal {Q}}) := (t_{j,r})_{r \in \mathcal {I}^{\textrm {loc}}_j(\textbf {z},\check{\mathcal {Q}})}, \end{aligned}$$

and we remark that there exists an integer k such that \(T_j(\textbf {z},\check{\mathcal {Q}})\) is a subvector of \(T_j^k\), not necessarily with consecutive indices. Recalling the notation from (3), we can now define the T-spline blending function associated to each anchor as

$$\begin{aligned} \widehat{B}_{\textbf {z},\textbf {p}}(\textbf {t}) := \widehat{B}[T_1(\textbf {z},\check{\mathcal {Q}})](t_1) \ldots \widehat{B}[T_{\widehat{d}}(\textbf {z},\check{\mathcal {Q}})](t_{\widehat{d}}). \end{aligned}$$
(49)

Note that, in general, the restriction of a T-spline function to an element of \(\widehat{\mathcal {Q}}\) is not a polynomial.

Following [20, Def. 7.5], we define the Bézier mesh as the collection of maximal open sets \(\widehat{Q}_{B} \subset \widehat{\varOmega }\) such that each function \(\widehat{B}_{\textbf {z},\textbf {p}}\) restricted to \(\widehat{Q}_{B}\) is a polynomial of degree \(\textbf {p}\). Note that the Bézier mesh does in general not coincide with the parametric T-mesh \(\widehat{\mathcal {Q}}\), as the restriction of T-splines to elements in \(\widehat{\mathcal {Q}}\) are in general only piecewise polynomials. The elements of the Bézier mesh are called Bézier elements. We note that, in the two-dimensional case, the Bézier mesh can be obtained by applying suitable extensions to the elements of the parametric T-mesh, see an example in Fig. 20b, and [193, Sect. 5.2] as well as [20, Sect 7.3] for more details. Although a similar construction is not available in the three-dimensional case, the Bézier mesh can be obtained from the local knot vectors of all the blending functions or, in the case of dual-compatible T-splines (see below), by using the perturbed regions defined in [163, Sect. 5]. Note that the Bézier mesh is always finer than the parametric T-mesh.

Fig. 20
figure 20

Parametric T-mesh and corresponding Bézier mesh, for the index T-mesh in Fig. 17 and degree \(\textbf{p} = (5,3)\)

Finally, we define the T-spline space as the space spanned by the T-spline blending functions,

$$\begin{aligned} \widehat{\mathbb {S}}^\textrm{T}_{\textbf {p}}(\check{\mathcal {Q}},\textbf {T}^0):= \textrm {span} \{ \widehat{B}_{\textbf {z},\textbf {p}} : \textbf {z}\in \mathcal {A}_\textbf{p}(\check{\mathcal {Q}},\textbf{T}^0) \}. \end{aligned}$$

We notice that, in general, it is not guaranteed that the T-spline blending functions are linearly independent [42]. For this reason they are called blending functions and not basis functions. This gives the motivation to introduce dual-compatible T-splines.

4.2.4 Dual-Compatible T-Splines

In order to obtain linearly independent T-spline blending functions, and to define a quasi-interpolant, we rely on the concept of dual-compatibility as presented in [20]. We start with the definition of overlap, see [20, Def. 7.1] and [163, Proposition 6.1]. We remark that this definition is slightly different from the one in [18, 19], which uses the local index vectors instead of the local knot vectors.

We say that two local knot vectors \(T' = (t'_1, \ldots , t'_{p+2})\) and \(T'' = (t''_1, \ldots , t''_{p+2})\) overlap if they are both sub-vectors, with consecutive indices, of the same knot vector. That is, there exists a knot vector \(T= (t_1, \ldots , t_s)\) and two integers \(s', s''\) such that

$$\begin{aligned} t'_i = t_{i+s'}, \quad t''_i = t_{i+s''}, \quad \text { for all } i = 1, \ldots , p+2. \end{aligned}$$

Furthermore, we say that the index T-mesh \(\check{\mathcal {Q}}\), along with the knot vectors \(T_j^k\), is a dual-compatible T-mesh if for every \(\textbf {z}', \textbf {z}'' \in \mathcal {A}_\textbf{p}(\check{\mathcal {Q}},\textbf{T}^0)\) with \(\textbf {z}' \not = \textbf {z}''\), there exists a direction j such that the local knot vectors \(T_j(\textbf {z}',\check{\mathcal {Q}})\) and \(T_j(\textbf {z}'',\check{\mathcal {Q}})\) are different and overlap, cf. [20, Def. 7.2]. We say that it is a strongly dual-compatible T-mesh if for every \(\textbf {z}', \textbf {z}'' \in \mathcal {A}_\textbf{p}(\check{\mathcal {Q}},\textbf{T}^0)\) with \(\textbf {z}' \not = \textbf {z}''\), their local knot vectors overlap in \({\widehat{d}}-1\) directions, cf. [163, Def. 6.4]. For \({\widehat{d}}=2\) both conditions are equivalent, while for \({\widehat{d}}=3\) any strongly dual-compatible T-mesh is also dual-compatible, see the remark in [163, Sect. 6].

Dual-compatible T-meshes take their name from the fact that they allow the construction of a dual basis. Using the notation introduced in (8), we define, for each anchor \(\textbf {z}\in \mathcal {A}_\textbf{p}(\check{\mathcal {Q}},\textbf{T}^0)\), the dual functional

$$\begin{aligned} \widehat{\lambda }_{\textbf {z},\textbf {p}} := \widehat{\lambda }^\textrm{dB}[T_1(\textbf {z},\check{\mathcal {Q}})] \otimes \ldots \otimes \widehat{\lambda }^\textrm{dB}[T_{\widehat{d}}(\textbf {z},\check{\mathcal {Q}})]. \end{aligned}$$
(50)

It can be shown that the dual functionals (50) form a dual basis, see [20, Propoposition 7.3]. The dual basis allows to prove that dual-compatible T-splines are a partition of unity, linearly independent [20, Proposition 7.4], and also locally linearly independent [147, Theorem 3.2].

Proposition 13

Let \(\check{\mathcal {Q}}\) be dual-compatible. Then, the functions \(\{\widehat{B}_{\textbf {z},\textbf {p}} : \textbf {z}\in \mathcal {A}_\textbf{p}(\check{\mathcal {Q}},\textbf{T}^0) \}\) are linearly independent, and also locally linearly independent, i.e., they are linearly independent on any open set \(O \subset \widehat{\varOmega }\). Moreover, if the constant functions are contained in \(\widehat{\mathbb {S}}^\textrm{T}_{\textbf {p}}(\check{\mathcal {Q}},\textbf {T}^0)\), these functions form a partition of unity.

The dual basis also allows to prove the following result, closely related to local linear independence, see [20, Proposition 7.6] and [147, Theorem 4.1].

Lemma 1

Let \(\check{\mathcal {Q}}\) be a dual-compatible T-mesh. Then, for any Bézier element \(\widehat{Q}_{B}\) there are at most \((p_1+1) \ldots (p_{\widehat{d}}+1)\) basis functions that do not vanish in \(\widehat{Q}_{B}\).

Moreover, from the dual basis we can define the quasi-interpolant

$$\begin{aligned} \widehat{J}^{\,\textrm T}_{\textbf {p},\check{\mathcal {Q}}} : L^2(\widehat{\varOmega }) \rightarrow \widehat{\mathbb {S}}^\textrm{T}_{\textbf {p}}(\check{\mathcal {Q}},\textbf {T}^0), \,\widehat{v} \mapsto \sum _{\textbf {z}\in \mathcal {A}_\textbf{p}(\check{\mathcal {Q}},\textbf{T}^0)} \widehat{\lambda }_{\textbf {z},\textbf {p}}(\widehat{v}) \widehat{B}_{\textbf {z},\textbf {p}}. \end{aligned}$$
(51)

According to [20, Proposition 7.3], this operator is a projector.

Proposition 14

Let \(\check{\mathcal {Q}}\) be a dual-compatible T-mesh. Then, the functionals (50) form a dual basis, and the operator (51) is a projector in the sense that

$$\begin{aligned} \widehat{J}^{\,\textrm T}_{\textbf {p},\check{\mathcal {Q}}}\widehat{v} = \widehat{v} \; \text { for all } \widehat{v} \in \widehat{\mathbb {S}}^\textrm{T}_{\textbf {p}}(\check{\mathcal {Q}},\textbf {T}^0). \end{aligned}$$

For each element \(\widehat{Q}\) of the parametric T-mesh \(\widehat{\mathcal {Q}}\), we define the set of anchors such that their corresponding basis functions do not vanish in \(\widehat{Q}\), as

$$\begin{aligned}&\mathcal {A}(\widehat{Q}) := \{ \textbf {z}\in \mathcal {A}_\textbf{p}(\check{\mathcal {Q}},\textbf{T}^0): \textrm{supp}(\widehat{B}_{\textbf {z},\textbf {p}}) \cap \widehat{Q}\not = \emptyset \}. \end{aligned}$$

Analogously to the definition in (4) for the B-spline case, we define the support extension as the union of supports of basis functions that do not vanish on \(\widehat{Q}\) i.e.,

$$\begin{aligned}&S_\textrm{ext}(\widehat{Q}) := \bigcup _{\textbf {z}\in \mathcal {A}(\widehat{Q})} \textrm{supp}(\widehat{B}_{\textbf {z},\textbf {p}}), \end{aligned}$$

For a Bézier element \(\widehat{Q}_B\), we define analogously \(\mathcal {A}(\widehat{Q}_B)\) and \(S_\textrm{ext}(\widehat{Q}_B)\), by simply replacing \(\widehat{Q}\) by \(\widehat{Q}_B\) in the definitions.

Then, from the definition of the dual functionals, as an immediate corollary of Proposition 14, the quasi-interpolant is a local projector.

Corollary 4

Let \(\check{\mathcal {Q}}\) be a dual-compatible T-mesh, and \(\widehat{\mathcal {Q}}\) its associated parametric T-mesh. For any \(\widehat{Q}\in \widehat{\mathcal {Q}}\), it holds that

$$\begin{aligned} (\widehat{J}^{\,\textrm T}_{\textbf {p},\check{\mathcal {Q}}} \widehat{v})|_{\widehat{Q}} = \widehat{v}|_{\widehat{Q}} \quad \text {if } \widehat{v}|_{S_\textrm{ext}(\widehat{Q})} \in \widehat{\mathbb {S}}^\textrm{T}_{\textbf {p}}(\check{\mathcal {Q}},\textbf {T}^0)|_{S_\textrm{ext}(\widehat{Q})}. \end{aligned}$$

Moreover, we have the following stability result, which is proved in [20, Proposition 7.7].

Proposition 15

Let \(\check{\mathcal {Q}}\) be a dual-compatible T-mesh, and let \(\widehat{\mathcal {Q}}\) be the corresponding T-mesh in the parametric domain. Then, for all Bézier element \(\widehat{Q}_B\) and all \(\widehat{v} \in L^2(\widehat{\varOmega })\), we have that

$$\begin{aligned} \Vert \widehat{J}^{\,\textrm T}_{\textbf {p},\check{\mathcal {Q}}}\widehat{v} \Vert _{L^2(\widehat{Q}_B)} \le C \Vert \widehat{v} \Vert _{L^2(S_\textrm{ext}(\widehat{Q}_B))}, \end{aligned}$$

where \(C > 0\) depends only on the dimension \({\widehat{d}}\), the degrees \(p_j\), and the coarsest knot vectors \(T_j^0\).

Now, the main issue is to define a refinement strategy that delivers dual-compatible T-splines and such that the size of any element \(\widehat{Q}\) and any Bézier element \(\widehat{Q}_B\) is comparable to the size of its support extension.

4.2.5 Refinement Strategy: Admissible T-Meshes

We now introduce the refinement algorithm that derives from [163, 165]. As we mentioned above, the reason to use this algorithm instead of [189] is that it guarantees linear complexity, and it also preserves the shape-regularity of the mesh. To proceed, we need to define some concepts related to the index T-mesh.

For any element \({\check{Q}}\) in the index T-mesh with \(\check{Q}\subseteq \check{\varOmega }_{\textrm {ip}}\), we denote its middle point as \(\textbf {x}_{{\check{Q}}}\), and define the set of its generalized neighbors

$$\begin{aligned} \mathcal {N}^\textrm{gen}({\check{Q}})&:= \{ {\check{Q}}' \in \check{\mathcal {Q}}: {\check{Q}}' \subseteq \check{\varOmega }_{\textrm {ip}}\wedge \exists \textbf {x}=(x_1, \ldots , x_{\widehat{d}}) \in {\check{Q}}' \\ \text { with }&|x_j - (\textbf {x}_{\check{Q}})_j| < (\textbf {D}_{\textbf {p}}(\textrm {lev}({\check{Q}})))_j, \; \text { for } j=1, \ldots , {\widehat{d}}\}, \end{aligned}$$

where the vector \(\textbf {D}_{\textbf {p}}(k)\) is defined differently for the two-dimensional case [165, Def. 2.4]

$$\begin{aligned} \textbf {D}_{\textbf {p}}(k) := \left\{ \begin{array}{ll} \frac{1}{2^{k/2}} (\lfloor \frac{p_1}{2} \rfloor + \frac{1}{2}, \lceil \frac{p_2}{2} \rceil + \frac{1}{2}) &{} k=0 {\ \textrm mod \ } 2,\\ \frac{1}{2^{(k+1)/2}} (\lceil \frac{p_1}{2} \rceil + \frac{1}{2}, 2\lfloor \frac{p_2}{2} \rfloor + 1) &{} k=1 {\ \textrm mod \ } 2, \end{array} \right. \end{aligned}$$

and for the three-dimensional case [163, Def. 2.4]

$$\begin{aligned} \textbf {D}_{\textbf {p}}(k) := \left\{ \begin{array}{ll} \frac{1}{2^{k/3}} (p_1 + \frac{3}{2}, p_2 + \frac{3}{2}, p_3 + \frac{3}{2}) &{} k=0 {\ \textrm mod \ } 3, \\ \frac{1}{2^{(k-1)/3}} (\frac{p_1+3/2}{2}, p_2 + \frac{3}{2}, p_3 + \frac{3}{2}) &{} k=1 {\ \textrm mod \ } 3, \\ \frac{1}{2^{(k-2)/3}} (\frac{p_1+3/2}{2}, \frac{p_2 + 3/2}{2}, p_3 + \frac{3}{2}) &{} k=2 {\ \textrm mod \ } 3, \end{array} \right. \end{aligned}$$

see some examples for uniform meshes in Fig. 21 and for a non-uniform mesh in Fig. 22.

Fig. 21
figure 21

Visualization of the generalized neighborhood on uniform leveled meshes, for simplicity represented in \(\check{\varOmega }_{\textrm {ip}}\), and for different degrees. For the element \({\check{Q}}\) in dark gray, its generalized neighborhood \(\mathcal {N}^\textrm{gen}({\check{Q}})\) is formed by all the gray elements

Remark 12

In the two-dimensional case, for a uniform even-leveled mesh, \(\mathcal {N}^\textrm{gen}({\check{Q}})\) is obtained by extending \({\check{Q}}\) by \((p-1)/2\) elements to the left and right, and by \((p+1)/2\) elements above and belowFootnote 2, while for a uniform odd-leveled mesh, we have to extend by \((p+1)/2\) elements to the left and right, and by \((p-1)/2\) elements above and below, which corresponds to the gray area in Fig. 21. For non-uniform meshes, \(\mathcal {N}^\textrm{gen}({\check{Q}})\) is formed by elements which intersect the same area. Similar considerations apply in the three-dimensional case.

We also define the set of neighbors

$$\begin{aligned} \mathcal {N}({\check{Q}}) := \{ {\check{Q}}' \in \mathcal {N}^\textrm{gen}({\check{Q}}) : \textrm {lev}({\check{Q}}') < \textrm {lev}({\check{Q}}) \}. \end{aligned}$$

With a slight abuse of notation, we define the set of (generalized) neighbors for a parametric element \(\widehat{Q}\in \widehat{\mathcal {Q}}\) as

$$\begin{aligned} \mathcal {N}^\textrm{gen}(\widehat{Q})&:= \{ \widehat{Q}' \in \widehat{\mathcal {Q}}: \texttt {index}(\widehat{Q}') \in \mathcal {N}^\textrm{gen}(\texttt {index}(\widehat{Q})) \}, \\ \mathcal {N}(\widehat{Q})&:= \{ \widehat{Q}' \in \widehat{\mathcal {Q}}: \texttt {index}(\widehat{Q}') \in \mathcal {N}(\texttt {index}(\widehat{Q})) \}. \end{aligned}$$

An example of these definitions is given in Fig. 22.

Fig. 22
figure 22

Visualization of the generalized neighborhood for degree \(\textbf{p} = (5,3)\) in \(\widehat{\varOmega }\). For the element \(\widehat{Q}\) in dark gray, its generalized neighborhood \(\mathcal {N}^\textrm{gen}(\widehat{Q})\) is formed by all the gray elements, while the neighborhood \(\mathcal {N}(\widehat{Q})\) is constituted only by the light gray elements

Remark 13

As an immediate consequence of these definitions, and because we assume that \(p_j \ge 2\) for \(j = 1, \ldots , {\widehat{d}}\), for any \(\widehat{Q}\in \widehat{\mathcal {Q}}\) it holds that

$$\begin{aligned} \{\widehat{Q}' \in \widehat{\mathcal {Q}}: \overline{\widehat{Q}}\cap \overline{\widehat{Q}'} \not = \emptyset \} \subseteq \mathcal {N}^\textrm{gen}(\widehat{Q}). \end{aligned}$$

Remark 14

In the refinement algorithm, the neighbors will play the same role as the \(\mathcal{H}\)-neighborhood and \(\mathcal{T}\)-neighborhood of Sect. 4.1.3 for (T)HB-splines.

For any point \(\textbf {x} = (x_1, \ldots , x_{\widehat{d}}) \in \overline{\check{\varOmega }_{\textrm {ind}}}\) we define its projection into the index/parametric domain as \(\widetilde{\textbf {x}} := (\widetilde{x}_1, \ldots , \widetilde{x}_{\widehat{d}})\), where \(\widetilde{x}_j = \min (\max (x_j, p_j+1), n_j+1)\). Then, for any element \({\check{Q}}\in \check{\mathcal {Q}}, {\check{Q}}\subseteq \check{\varOmega }_{\textrm {ip}}\), we define its boundary prolongation in the index T-mesh as the set of elements

$$\begin{aligned} \texttt {prol}({\check{Q}}) {:}= \{{{\check{Q}}}' \in {\check{\mathcal {Q}}} : \widetilde{{\textbf{x}}}_{{{\check{Q}}}'} \in \partial {\check{Q}}\}, \end{aligned}$$

and for any set of elements \(\check{\mathcal {M}}\subseteq \check{\mathcal {Q}}\) we will also denote

$$\begin{aligned} \texttt {prol}(\check{\mathcal {M}}) : = \bigcup _{{\check{Q}}\in \check{\mathcal {M}}} \texttt {prol}({\check{Q}}). \end{aligned}$$

Several examples of boundary prolongations are shown in Fig. 23a.

Fig. 23
figure 23

The left figure shows the boundary prolongations of the dark gray elements, which are given by the gray elements. The right figure shows the result of applying Algorithm 3, after marking the dark gray elements on the left figure. The degree is \(p_1 = p_2 = 3\). Light gray elements are outside \(\check{\varOmega }_{\textrm {ip}}\)

With this notation, we are now in the position to introduce our refinement algorithm, which is based on [165, Algorithm 2.9] and [163, Algorithm 2.9], with the difference of the bisection of elements outside \(\check{\varOmega }_{\textrm {ip}}\), see Remark 15 below. First, given an index T-mesh \(\check{\mathcal {Q}}\) and \({\check{Q}}\in \check{\mathcal {Q}}\), we say that the bisection of \({\check{Q}}\) is admissible if \(\mathcal {N}({\check{Q}}) = \emptyset \), cf. [165, Def. 2.11] and [163, Def. 3.1].

Algorithm 3 provides a refinement algorithm for index T-meshes such that the bisections in the last step can be performed in such an order that each one is admissible, see [165, Proposition 2.13] and [163, Theorem 3.3]. Given an index T-mesh \(\check{\mathcal {Q}}\) and a set of elements \(\check{\mathcal {M}}\) to be refined with \(\bigcup \check{\mathcal {M}}\subseteq \check{\varOmega }_{\textrm {ip}}\), we apply Algorithm 3 to obtain a refined index T-mesh, which we denote by \(\texttt{refine\_index}(\check{\mathcal {Q}}, \check{\mathcal {M}})\). The algorithm recursively marks all the neighbors of marked elements that are contained in \(\check{\varOmega }_{\textrm {ip}}\). To avoid the appearance of undesired T-junctions outside \(\check{\varOmega }_{\textrm {ip}}\), the boundary prolongation of marked elements is also marked, which is equivalent to extend any T-junction from the boundary of the index/parametric domain \(\check{\varOmega }_{\textrm {ip}}\) to the boundary of the index domain \(\check{\varOmega }_{\textrm {ind}}\). An example is shown in Fig. 23b. In this example, the neighbors of marked elements are marked, resulting in the refinement of other elements in the white region \(\check{\varOmega }_{\textrm {ip}}\). Then, also boundary prolongations of marked elements are marked, resulting in the bisection of elements in the gray region outside \(\check{\varOmega }_{\textrm {ip}}\). Some gray elements are marked but not bisected. Their level has been implicitly increased by one, and they might be bisected the next time they are marked.

figure c

Algorithm 3 refines the index T-mesh, but in practice the marked elements will be given in the parametric T-mesh. For this reason we need to introduce a second algorithm. Given a parametric T-mesh \(\widehat{\mathcal {Q}}\), its corresponding index T-mesh \(\check{\mathcal {Q}}\), and a list of marked elements \(\widehat{\mathcal {M}}\subseteq \widehat{\mathcal {Q}}\), we apply Algorithm 4 to obtain a refined parametric T-mesh, which we denote by \(\texttt{refine}(\widehat{\mathcal {Q}}, \widehat{\mathcal {M}})\). Note that Algorithm 4 passes the marked elements to their index preimage, then it applies Algorithm 3 to obtain the refined index T-mesh, and finally returns its parametric image.

figure d

An example of the application of the refinement algorithm is shown in Fig. 24, starting from a uniform parametric T-mesh of \(4\times 4\) elements, and marking always the element in the bottom left corner.

Fig. 24
figure 24

Application of Algorithm 4 starting from a \(4 \times 4\) parametric T-mesh, with degree \(\textbf{p} = (5,3)\), and marking always the element in the bottom left corner. The plot shows the refined parametric T-meshes after 1, 2, 3, and 6 refinement steps. The marked element \(\widehat{Q}\) is highlighted in dark gray, while all the elements in gray belong to its generalized neighborhood \(\mathcal {N}^\textrm{gen}(\widehat{Q})\), and the elements in light gray belong to its neighborhood \(\mathcal {N}(\widehat{Q})\), and therefore are marked by the refinement algorithm. Note that also the neighbors of these elements, which we do not highlight, are marked for refinement by the algorithm

We define \(\texttt{refine}(\widehat{\mathcal {Q}})\) as the set of all meshes that can be obtained via iterative application of \(\texttt{refine}\) to \(\widehat{\mathcal {Q}}\). Moreover, denoting by \(\widehat{\mathcal {Q}}_0\) the parametric image of \(\check{\mathcal {Q}}_0\), which is obtained as in (48), we define the set of admissible parametric T-meshes

$$\begin{aligned} \widehat{\mathbb {Q}}:= \texttt{refine}(\widehat{\mathcal {Q}}_0). \end{aligned}$$

Remark 15

Unfortunately, the admissible refinement in [163, 165] does not take care of repeated knots that appear due to open knot vectors. To our knowledge, two different remedies have been proposed: in [107], the refinement is performed directly on the parametric domain, and the (index) T-mesh is then extended taking into account the repetitions due to the open knot vector; in [62], refinement is performed on the (index) T-mesh, but the algorithm does not bisect intervals with zero length. We have followed the same approach as in [107] with a notation similar to [62], because we believe this notation may be useful for future research on adaptivity with smoothness control, which requires repeated internal knots. Our refinement algorithm provides exactly the same output as [107, Algorithm 2.1]. In fact, Algorithm 4 generates the same parametric T-meshes as [165, Algorithm 2.9] for \({\widehat{d}}=2\) and [163, Algorithm 2.9] for \({\widehat{d}}=3\).

Remark 16

The combination of Algorithm 3 and 4 guarantees that to each parametric T-mesh corresponds a unique index T-mesh, which is the same as in [107]. It is worth noting that this is not true in general, and if we do not apply the refinement algorithms above, the same parametric T-mesh could be generated by two different index T-meshes due to the bisection of elements outside \(\check{\varOmega }_{\textrm {ip}}\). Note that a change in the index T-meshes implies a change in the basis functions, and consequently in the discrete space.

In the following, we present the most important theoretical results that derive from the refinement algorithm and that were mainly proved in [163,164,165]. The first result states dual-compatibility of admissible meshes. It follows from [165, Theorem 3.6] for \({\widehat{d}}=2\) and from [163, Theorem 6.6] for \({\widehat{d}}=3\), see also Remark 15.

Proposition 16

Let \(\widehat{\mathcal {Q}}\in \widehat{\mathbb {Q}}\), and let \(\check{\mathcal {Q}}\) be its corresponding admissible index T-mesh. Then, \(\check{\mathcal {Q}}\) is strongly dual-compatible, and thus it is dual-compatible.

The next result states nestedness of the spaces obtained by the refinement algorithm, which is highly non-trivial and not necessarily satisfied by general T-splines. It is proved in [165, Corollary 5.8] for \({\widehat{d}}=2\) and in [164] for \({\widehat{d}}=3\). Note that \({\widehat{\mathbb {S}}^\textrm{T}_{\textbf {p}}(\check{\mathcal {Q}}_0,\textbf {T}^0)}\) coincides with the usual spline space \({\widehat{\mathbb {S}}_{\textbf {p}}(\textbf {T}^0)}\) and the next result in conjunction with Proposition 13 thus implies that the T-spline blending functions form a partition of unity.

Proposition 17

Let \(\widehat{\mathcal {Q}}\in \widehat{\mathbb {Q}}\) and \(\widehat{\mathcal {Q}}_+\in \texttt{refine}(\widehat{\mathcal {Q}})\), and let \(\check{\mathcal {Q}}\) and \(\check{\mathcal {Q}}_+\) be their associated index T-meshes. Then,

$$\begin{aligned} \widehat{\mathbb {S}}^\textrm{T}_{\textbf {p}}(\check{\mathcal {Q}},\textbf {T}^0)\subseteq \widehat{\mathbb {S}}^\textrm{T}_{\textbf {p}}(\check{\mathcal {Q}}_+,\varvec{T}^0). \end{aligned}$$

The next proposition provides local quasi-uniformity of admissible meshes. Making use of the equivalence of the algorithms mentioned in Remark 15, the assertion follows from [165, Lemma 2.14] for \({\widehat{d}}=2\) and from [163, Lemma 3.5] for \({\widehat{d}}=3\), where the same result was proved for the index T-mesh.

Proposition 18

Let \(\widehat{\mathcal {Q}}\in \widehat{\mathbb {Q}}\). For any \(\widehat{Q}\in \widehat{\mathcal {Q}}\), it holds that

$$\begin{aligned} |\textrm {lev}(\widehat{Q}) - \textrm {lev}(\widehat{Q}')| \le 1 \quad \text {for all } \widehat{Q}' \in \mathcal {N}^\textrm{gen}(\widehat{Q}). \end{aligned}$$

The following result is new. It relates Bézier elements to the elements of the considered admissible T-mesh. The proof is rather technical and is thus postponed to Sect. 4.2.8. Without providing an explicit bound, the fact that the number of Bézier elements on an element is uniformly bounded and that the Bézier elements are of comparable size also follows easily from [107, Lemma 2.5].

Lemma 2

Let \(\widehat{\mathcal {Q}}\in \widehat{\mathbb {Q}}\) and \(\widehat{Q}\in \widehat{\mathcal {Q}}\). Then, \(\widehat{Q}\) consists either of one Bézier element equal to \(\widehat{Q}\), or two Bézier elements of measure \(|\widehat{Q}|/2\).

As an immediate consequence of the previous lemma, we obtain a result analogous to Proposition 15 for elements in the parametric T-mesh.

Proposition 19

Let \(\widehat{\mathcal {Q}}\in \widehat{\mathbb {Q}}\) and \(\widehat{Q}\in \widehat{\mathcal {Q}}\). Then, for all \(\widehat{v} \in L^2(\widehat{\varOmega })\), we have that

$$\begin{aligned} \Vert \widehat{J}^{\,\textrm T}_{\textbf {p},\check{\mathcal {Q}}}\widehat{v} \Vert _{L^2(\widehat{Q})} \le C \Vert \widehat{v} \Vert _{L^2(S_\textrm{ext}(\widehat{Q}))}, \end{aligned}$$

where \(C > 0\) depends only on the dimension \({\widehat{d}}\), the degrees \(p_j\), and the coarsest knot vectors \(T_j^0\).

The next proposition bounds the number as well as the support of T-spline basis functions that live on a given element. The first assertion is an immediate consequence of Lemma 1 and Lemma 2. The second assertion is already proved in [107, Lemma 2.5]. A similar result is also given in [62, Proposition 4.9] for \({\widehat{d}}=2\).

Proposition 20

Let \(\widehat{\mathcal {Q}}\in \widehat{\mathbb {Q}}\) and \(\check{\mathcal {Q}}\) its corresponding index T-mesh. For any \(\widehat{Q}\in \widehat{\mathcal {Q}}\), there exist at most \(2(p_1+1) \ldots (p_{\widehat{d}}+1)\) anchors \(\textbf {z}\in \mathcal {A}_\textbf{p}(\check{\mathcal {Q}},\textbf{T}^0)\) such that \(\widehat{Q}\cap \textrm{supp}(\widehat{B}_{\textbf {z},\textbf {p}}) \ne \emptyset \). Moreover, there exists \(q \in \mathbb {N}\) depending only on the dimension \({\widehat{d}}\) and the degrees \(p_j\) such that there exists \(\widehat{\mathcal {S}}\subseteq \widehat{{\mathcal {Q}}}\) with \(S_\textrm{ext}(\widehat{Q})\subseteq \bigcup \big \{\overline{\widehat{Q}'}\,:\,\widehat{Q}'\in \widehat{\mathcal {S}}\big \}\), \(\#\widehat{\mathcal {S}}\le q\), and \(\bigcup \big \{\overline{\widehat{Q}'}\,:\,\widehat{Q}'\in \widehat{\mathcal {S}}\big \}\) is connected.

We conclude this section with a proposition from [165, Sect. 6] for \(d=2\) and from [163, Sect. 7] for \(d=3\), respectively, which states that the possible overrefinement of Algorithm 4 to preserve admissibility is bounded up to some uniform constant by the number of marked elements. Indeed, these references even provide explicit upper bounds for the constant along with numerical experiments on the quality of these bounds.

Proposition 21

There exists a uniform constant \(C>0\) such that for arbitrary sequences \(({\mathcal {Q}}_k)_{k\in {\mathbb N}_0}\) in \(\mathbb {Q}\) with \({\mathcal {Q}}_{k+1}=\texttt{refine}({\mathcal {Q}}_k,\mathcal M_k)\) for some \(\mathcal M_k\subseteq {\mathcal {Q}}_k\) and all \(k\in {\mathbb N}_0\), it holds that

$$\begin{aligned} \# {\mathcal {Q}}_k-\#{\mathcal {Q}}_0\le C \sum _{j=0}^{k-1}\#\mathcal M_j \quad \text {for all }k\in {\mathbb N}_0. \end{aligned}$$

The constant C depends only on the dimension \({\widehat{d}}\), the degrees \(p_j\), and the coarsest knot vectors \(T_j^0\).

4.2.6 The Role of the Bézier Mesh

The results of the previous section were presented considering the elements of the parametric T-mesh. However, the implementation of isogeometric methods with T-splines is usually based on the Bézier mesh. Indeed, numerical integration is usually performed on Bézier elements, since they are the maximal sets where the restriction of the T-spline functions are polynomials. Moreover, the evaluation of T-spline functions on the local Bézier element can be made through Bézier extraction [188], a local change of basis to represent T-splines as linear combinations of Bernstein polynomials. The Bézier mesh and the matrix of the Bézier extraction operators have been also used in [158] to analyze the linear dependence of T-splines and also to develop refinement algorithms for T-splines [60].

We remark that, thanks to Lemma 2, for admissible meshes it is easy to pass from the Bézier mesh to the parametric T-mesh and vice versa. Therefore, the refinement algorithm could be easily adapted to take as input marked elements on the Bézier mesh. In practice, numerical quadrature must be computed on Bézier elements, so it may be natural to compute the estimator directly on Bézier elements.

4.2.7 Recent Developments on T-Splines

Here we give some details about other sets of T-meshes that have appeared in recent years, which relax the constraints of dual-compatible T-meshes. We stress that all these works are restricted to the two-dimensional case.

Bracco and Cho introduced in [31] a generalization of dual-compatible T-meshes. They replace the concept of overlap by a certain shifting of the anchors, which is then used to introduce the class of weakly dual-compatible T-meshes. They prove that any dual-compatible T-mesh in the sense of [18, 19] is also weakly dual-compatible. However, it is important to remark that this does not hold true with the definition of dual-compatibility in [20], which we are considering, and there are examples of weakly dual-compatible T-meshes that are not dual-compatible and vice versa.

Wei et al. introduced in [211] a refinement strategy with similar ideas to the one in [165], limited to bicubic degree. Marked elements are split into four subelements, with their level increased by one, and to obtain linear independence the refinement is propagated to other elements in just one direction, with their level increased by one half. Making use of the concept of truncated T-splines (which resembles the one for THB-splines), they prove that for T-meshes constructed with their refinement strategy, linear independence holds if the face extensions of the T-mesh, which determine the Bézier mesh, do not intersect.

Different and more involved constraints are introduced by Li and Zhang in [151] to define AS++ T-splines, for which it is possible to prove linear independence and to construct a dual basis. A refinement algorithm for the set of AS++ T-splines is presented in [213]. Although the presentation is limited to bicubic T-splines, the authors plan to generalize their approach to arbitrary degree.

It is important to note that, although the aforementioned works introduce interesting refinement algorithms for T-splines, none of them presents a rigorous analysis of the algorithm’s complexity as in Proposition 21, which is necessary to develop the mathematical theory of adaptivity. For this reason, we have decided to focus on the dual-compatible T-splines studied in [163, 165].

4.2.8 Relation Between an Admissible T-Mesh and its Bézier Mesh

We now give the detailed proof of Lemma 2, which states that any element of an admissible T-mesh contains at most two Bézier elements of equal size.

Proof

The proof is rather technical, although the main idea is not complex. Let \({\check{Q}}= \texttt {index}(\widehat{Q})\). Suppose by contradiction that \(\widehat{Q}\) contains more than two Bézier elements. These must appear after the bisection of an element \({\check{Q}}'\) which is finer, in terms of the level, than \({\check{Q}}\). On the one hand, since the bisection of \({\check{Q}}'\) affects the Bézier elements in \(\widehat{Q}\), it must be sufficiently close to \({\check{Q}}\). On the other hand, since the mesh is admissible, \({\check{Q}}\) cannot be in the neighborhood of \({\check{Q}}'\). That is, the two elements must be at the same time sufficiently close and far from each other, and we arrive at a contradiction. Let us now begin with the technical part.

Let \(\check{\mathcal {Q}}\) be the associated index T-mesh, let \({\check{Q}}= \texttt {index}(\widehat{Q}) = \varPi _{j=1}^{\widehat{d}}(a_j,b_j)\), and let us suppose that \(\widehat{Q}\) contains more than two Bézier elements to arrive at a contradiction. Since we refine by bisection and alternate the refinement directions, it is clear that the bisection of elements of the same level of \(\widehat{Q}\) will not split it in more than two Bézier elements. Therefore, there must exist an element \({\check{Q}}' = \varPi _{j=1}^{\widehat{d}}(a'_j,b'_j)\), with \(k = \textrm {lev}({\check{Q}}') > \textrm {lev}({\check{Q}})\), that has been bisected in direction \(s = \textrm {dir}(k)\), such that \(\texttt{bisect}({\check{Q}}') \subset \check{\mathcal {Q}}\). This element is translated with respect to \({\check{Q}}\) only in a direction different from s, in the sense that

$$\begin{aligned} a_j \le a_j'< b_j' \le b_j, \, \text { for all } j \not = \widetilde{s}, \text { for one } \widetilde{s} \not = s, \end{aligned}$$

see a two-dimensional example in Fig. 25.

Fig. 25
figure 25

For degree \(\textbf{p} = (3,3)\), the element \({\check{Q}}\) (light gray) is bisected in more than two Bézier elements after the bisection of \({\check{Q}}'\) (dark gray). The element \({\check{Q}}'\) is bisected by the thick black line in direction \(s=1\), and it is translated with respect to \({\check{Q}}\) in direction \(\widetilde{s} = 2\)

Moreover, there exists an anchor such that its local index vector depends on the bisection of \({\check{Q}}'\), and the support of the associated function intersects \(\widehat{Q}\). Putting it rigorously, there exists \(\textbf {z}\in \mathcal {A}(\check{\mathcal {Q}})\) with \(\textrm{supp}(\widehat{B}_{\textbf {z},\textbf {p}}) \cap \widehat{Q}\not = \emptyset \), such that \(\frac{a'_s+b'_s}{2} \in \mathcal {I}^{\textrm {loc}}_{s}(\textbf {z},\check{\mathcal {Q}})\) and \(z_j \in (a_j',b_j')\) for all \(j \not = s\).

Without loss of generality, we can assume that \({\check{Q}}' \subset \check{\varOmega }_{\textrm {ip}}\). Moreover, since \(\check{\mathcal {Q}}\) is admissible we can also assume that the bisection of \({\check{Q}}'\) is admissible, i.e., there exists an admissible T-mesh \(\check{\mathcal {Q}}_{}\) such that

$$\begin{aligned} \check{\mathcal {Q}}= \texttt{refine\_index}(\check{\mathcal {Q}}_{}, {\check{Q}}'), \end{aligned}$$

and only \({\check{Q}}'\), and eventually \(\texttt {prol}({\check{Q}}')\), have been bisectedFootnote 3. Denoting by \(\mathcal {N}^\textrm{gen}_{}({\check{Q}}')\) the generalized neighborhood in \(\check{\mathcal {Q}}_{}\), since the bisection was admissible and \(\textrm {lev}({\check{Q}}') > \textrm {lev}({\check{Q}})\), we know from Proposition 18 that \({\check{Q}}\not \in \mathcal {N}^\textrm{gen}_{}({\check{Q}}')\), otherwise it would also be a neighbor. As a consequence, \({\check{Q}}'\) and \({\check{Q}}\) must be far from each other, and in particular

$$\begin{aligned} |x_{\widetilde{s}} - (\textbf{x}_{{\check{Q}}'})_{\widetilde{s}}| > (\textbf D_\textbf p(k))_{\widetilde{s}} \, \text { for any } \textbf{x} \in {\check{Q}}. \end{aligned}$$
(52)

Taking into account the relation between k and \(s = \textrm {dir}(k)\), and that \(\widetilde{s} \not = s\), a careful (and tedious) computation gives that

$$\begin{aligned} (\textbf D_\textbf p(k))_{s}= & {} \left\{ \begin{array}{ll} \left( \frac{1}{2}\right) ^{(k-s+1)/2} (p_s/2) &{} \text { for } {\widehat{d}}=2, \\ \left( \frac{1}{2}\right) ^{(k-s+1)/3} (p_s + 3/2) &{} \text { for } {\widehat{d}}=3. \end{array} \right. \\ (\textbf D_\textbf p(k))_{\widetilde{s}}= & {} \left\{ \begin{array}{ll} \left( \frac{1}{2}\right) ^{(k-\widetilde{s}+2)/2} (p_{\widetilde{s}}/2 + 1) &{} \text { for } {\widehat{d}}=2, \\ \left( \frac{1}{2}\right) ^{\lfloor (k-\widetilde{s}+3)/3 \rfloor } (p_{\widetilde{s}} + 3/2) &{} \text { for } {\widehat{d}}=3, \end{array} \right. \end{aligned}$$

It is readily seen that the length of an element of level k in the j-th direction is exactly \((1/2)^{\lfloor (k-j+{\widehat{d}})/{\widehat{d}}\rfloor }\). Note that \(\mathcal {I}^{\textrm {loc}}_{s}(\textbf {z},\check{\mathcal {Q}})\) consists of \(p_s + 2\) indices. Since we consider odd degrees, \(z_s\) is in the middle position, which means that we only need to check \((p_s+3)/2\) indices. Using the relation between k and \(s = \textrm {dir}(k)\), the value of \((\textbf D_\textbf p(k))_{s}\), the length of the elements of level k in direction s, and the number of indices, a careful check shows that \(\textbf {z}\in \partial {\check{Q}}''\) for some element \({\check{Q}}'' \in \mathcal {N}^\textrm{gen}_{}({\check{Q}}')\).

As the bisection was admissible, Proposition 18 shows that all elements in \(\mathcal {N}^\textrm{gen}_{}({\check{Q}}')\) have level at least equal to k. A similar check in the \(\widetilde{s}\) direction and the fact that \(\textbf {z}\) is in one generalized neighbor show that \(\mathcal {I}^{\textrm {loc}}_{\widetilde{s}}(\textbf {z},\check{\mathcal {Q}})\) is built using only indices corresponding to elements in \(\mathcal {N}^\textrm{gen}_{}({\check{Q}}')\). As a consequence, the fact that \(\textrm{supp}(\widehat{B}_{\textbf {z},\textbf {p}}) \cap \widehat{Q}\not = \emptyset \) is in contradiction with (52).

Finally, the result of the measure of the Bézier elements holds because the elements are refined by bisection. \(\square \)

4.3 Other Splines for Adaptive Methods

Our focus in this section has been on (T)HB-splines and analysis-suitable (or dual-compatible) T-splines because the mathematical theory of adaptive isogeometric methods based on these functions is the most advanced one. However, there are other kinds of spline spaces with local refinement capabilities which are successfully used in IGA, especially in the engineering literature, but for which the mathematical theory, especially the convergence theory, has not been studied yet. For completeness, we mention here the most popular ones and address the reader to the cited references for the details.

Probably, the most popular alternative is the one given by locally refined-splines, or LR-splines [37, 80]. They are similar to T-splines, but instead of being defined from the T-mesh, they are directly defined from the Bézier mesh by associating a certain continuity to each edge (or face in 3D). They have been used for IGA for the first time in [130], and after that they have appeared in several papers, see for instance [145, 146]. A refinement algorithm that alternates the refinement direction, similar to the one we detailed for T-splines, has been introduced in [39]. Recently, [175] introduced another refinement algorithm which preserves (local) linear independence of LR-splines. A comparison of LR-splines and THB-splines can be found in [131].

A simpler construction is the one of polynomial splines over hierarchical T-meshes (PHT-splines) [77]. The starting point is a T-mesh, as for LR-splines, but in this case the continuity is the same for all edges. Assuming that the continuity is lower than one half of the degree, it is possible to determine the dimension of the space of piecewise polynomials over the T-mesh [77], and to construct a basis for computations [78, 149]. PHT-splines have been used in isogeometric methods for the first time in [171, 208]. The main drawback of the reduced smoothness of PHT-splines is that it increases the number of degrees of freedom, while its advantage is that basis functions are more localized, and their implementation and analysis is more similar to standard FEM. We refer to the survey [148] for more details about PHT-splines, including a complete list of references.

Another interesting approach for refinement is given by hierarchical T-splines [59, 87], where the initial mesh is defined by analysis-suitable T-meshes, and the refinement is done by applying the algorithm of hierarchical splines, replacing in the construction of \(\widehat{\mathcal{H}}^{N-1}\) in Sect. 4.1 the B-splines of each level by analysis-suitable T-splines of different levels. The main difficulty of this approach is that, to build the T-splines of different levels, the initial T-mesh must be refined globally, but maintaining T-junctions away from each other in such a way that the T-mesh of the next level remains analysis-suitable, see [87] for details.

Finally, we remark that one of the drawbacks of (T)HB-splines compared to T-splines or LR-splines is that it is not allowed to perform anisotropic refinement, since the refinement direction at each level is determined by the (global) refinement between levelsFootnote 4. This constraint is alleviated in the construction of patchwork B-splines in [86], which combines different refinement directions for different regions of the domain, and even different degrees and smoothness.

5 Adaptivity: Abstract Framework

In this section, we consider an abstract adaptive algorithm of the form

$$\begin{aligned} \boxed {\texttt {solve}} \longrightarrow \boxed {\texttt {estimate}} \longrightarrow \boxed {\texttt {mark}} \longrightarrow \boxed {\texttt {refine}} \end{aligned}$$
(53)

See Algorithm 5 below for the formal statement. First, in Sect. 5.1, we give general properties, the so-called axioms of adaptivity from [53], that guarantee convergence of the involved error estimator at optimal algebraic rate. In Sects. 5.2 and 5.3, we consider Algorithm 5 in the frame of FEM and BEM, respectively. These sections provide more concrete properties for the meshes, the refinement, and the ansatz spaces which ensure the axioms of adaptivity and thus guarantee optimal convergence. In Section 6 below, we will show that adaptive IGAFEM and IGABEM fit into the framework of Sects. 5.2 and 5.3, respectively.

5.1 Axioms of Adaptivity

We provide a set of sufficient properties for the error estimator as well as for the mesh refinement so that Algorithm 5 below guarantees convergence of the estimator at optimal algebraic rate. These properties are known as axioms of adaptivity and have been introduced in [53]. In one way or another, the axioms arose over the years in various works throughout the literature. In [53, Sect. 3.2], a historical overview on their development can be found. We especially highlight the milestones on rate-optimality [24, 57, 58, 92, 200].

This section is essentially a summary of the results from [53]. As in [53], we mainly focus on the error estimator. This is motivated by the fact that the adaptive algorithm has no other information than the error estimator to steer the mesh refinement. However, at least for FEM, we will show that the corresponding error estimator is equivalent to the so-called total error (which is the sum of error plus data oscillations).

5.1.1 Admissible Meshes

Let \(\mathbb {Q}\) be a set of finite sets \({\mathcal {Q}}\in \mathbb {Q}\), which we refer to as admissible meshes. Concretely, we will later consider quadrilateral meshes of some Lipschitz-domain \(\varOmega \) or its boundary \(\varGamma :=\partial \varOmega \), where admissibility will describe a certain grading property, see also Sects. 4.1.3 and 4.2.5 for details. Let \(\texttt{refine}(\cdot ,\cdot )\) be a fixed refinement strategy such that, for \({\mathcal {Q}}_{}\in \mathbb {Q}\) and marked \(\mathcal M_{}\subseteq {\mathcal {Q}}_{}\), it holds that \({\mathcal {Q}}_{+}=\texttt{refine}({\mathcal {Q}}_{},\mathcal M_{})\in \mathbb {Q}\) with \(\mathcal M_{}\subseteq {\mathcal {Q}}_{}\setminus {\mathcal {Q}}_{+}\), i.e., at least the marked elements \(\mathcal M_{}\) are refined, and \(\texttt{refine}({\mathcal {Q}}_{},\emptyset )={\mathcal {Q}}_{}\). Note that in practice, one cannot expect that only the marked elements are refined. Indeed, to preserve admissibility of our considered quadrilateral meshes, additional elements have to be refined. For arbitrary \({\mathcal {Q}}_{},{\mathcal {Q}}_{+}\in \mathbb {Q}\), we write \({\mathcal {Q}}_{+}\in \texttt{refine}({\mathcal {Q}}_{})\), if \({\mathcal {Q}}_{+}\) is obtained by iterative application of \(\texttt{refine}\) and we note that \({\mathcal {Q}}_{}\in \texttt{refine}({\mathcal {Q}}_{})\). Moreover, we assume that each admissible mesh \({\mathcal {Q}}\in \mathbb {Q}\) can be reached via refinement starting from a fixed initial mesh \({\mathcal {Q}}_0\in \mathbb {Q}\), i.e., \(\texttt{refine}({\mathcal {Q}}_0)=\mathbb {Q}\). We suppose that \(\#{\mathcal {Q}}_{}<\# {\mathcal {Q}}_+\) for all \({\mathcal {Q}}_{}\in \mathbb {Q}\) and all \({\mathcal {Q}}_+\in \texttt{refine}({\mathcal {Q}}_{})\) with \({\mathcal {Q}}_{}\ne {\mathcal {Q}}_+\). In practice, the latter property is trivially satisfied, but it has to be explicitly assumed within the abstract framework.

5.1.2 Adaptive Algorithm

On each mesh \({\mathcal {Q}}_{}\in \mathbb {Q}\), we want to compute an associated quantity \(U_{}\), think of, e.g., a Galerkin approximation of some PDE solution u. We suppose that we are given an error estimator associated to each mesh \({\mathcal {Q}}_{}\in \mathbb {Q}\), i.e., a function \(\eta _{}:{\mathcal {Q}}_{}\rightarrow [0,\infty )\). At least heuristically, this estimator shall estimate the difference \(\Vert u-U_{}\Vert _{}\). By abuse of notation, we also write \(\eta _{}:=\eta _{}({\mathcal {Q}}_{})\), where \(\eta _{}(\mathcal {S}):=(\sum _{Q\in \mathcal {S}}\eta _{}(Q)^2)^{1/2}\) for all \(\mathcal {S}\subseteq {\mathcal {Q}}_{}\). Based on this error estimator, we consider the adaptive Algorithm 5 of the form (53).

figure e

In the module solve and estimate, we compute the quantity \(U_k\) and the refinement indicators \(\eta _k(Q)\) of all elements Q in the current mesh \({\mathcal {Q}}_k\), respectively. In the module mark, we determine up to a multiplicative constant \(C_\textrm{min}\) a minimal set of elements \(\mathcal M_k\subseteq {\mathcal {Q}}_k\) that satisfies the Dörfler marking [85]

$$\begin{aligned} \theta \,\eta _k^2 \le \eta _k(\mathcal M_k)^2. \end{aligned}$$
(54)

This means that \(\#\mathcal M_k\le C_\textrm{min} \#\mathcal {S}\) for all sets \(\mathcal {S}\subseteq {\mathcal {Q}}_k\) with \(\theta \eta _k^2\le \eta _k(\mathcal {S})^2\). If \(C_\textrm{min}=\infty \), this is always satisfied and allows for uniform refinement, where \(\mathcal M_k={\mathcal {Q}}_k\). We note that a naive implementation of the Dörfler marking (54) with \(C_\textrm{min}=1\), which gives the truly minimal set \(\mathcal M_k\), especially requires sorting of the error indicators, which leads to a log-linear effort. To overcome this disadvantage, [200, Sect. 5] proposed an algorithm to realize it with \(C_\textrm{min}=2\) in linear complexity. Only recently, [176] showed that linear complexity can also be attained for \(C_\textrm{min}=1\). Based on the marked elements \(\mathcal M_k\), the mesh \({\mathcal {Q}}_k\) is refined in the module \({\tt refine}\).

We stress that an actual implementation of Algorithm 5 will also have some kind of stopping criterion, e.g., k is greater than some given bound \(K\in {\mathbb N}\) or if \(\eta _k\) is smaller than some given tolerance \(\tau >0\). Moreover, in practice \(\eta _k\) and \({\mathcal {Q}}_k\) are not saved but overwritten by \(\eta _{k+1}\) and \({\mathcal {Q}}_{k+1}\), respectively. However, the given form of the algorithm allows to present convergence results in a simple way.

5.1.3 The Axioms

We suppose that we are given some function of perturbations \(\textrm{d\!l}:\mathbb {Q}\times \mathbb {Q}\rightarrow [0,\infty )\), and constants \(C_\textrm{stab}\), \(C_\textrm{red}\), \(C_\textrm{ref}\), \(C_\textrm{drel} >0\), and \(0\le \rho _\textrm{red}<1\) such that there hold the following estimator properties (E1)–(E3) for all \({\mathcal {Q}}_{}\in \mathbb {Q}\) and all \({\mathcal {Q}}_{+}\in \texttt{refine}({\mathcal {Q}}_{})\):

(E1):

Stability on non-refined elements: It holds that

$$\begin{aligned} |\eta _{+}({\mathcal {Q}}_{}\cap {\mathcal {Q}}_{+})-\eta _{}({\mathcal {Q}}_{}\cap {\mathcal {Q}}_{+})|\le C_\textrm{stab}\textrm{d\!l}({\mathcal {Q}}_{},{\mathcal {Q}}_+). \end{aligned}$$
(E2):

Reduction on refined elements: It holds that

$$\begin{aligned} \eta _{+}({\mathcal {Q}}_{+}\setminus {\mathcal {Q}}_{})^2&\le \rho _\textrm{red}\eta _{}( {\mathcal {Q}}_{}\setminus {\mathcal {Q}}_{+})^2\,+C_\textrm{red}\textrm{d\!l}({\mathcal {Q}}_{},{\mathcal {Q}}_+)^2. \end{aligned}$$
(E3):

Discrete reliability: There exists a set \(\mathcal {R}({\mathcal {Q}}_{}, {\mathcal {Q}}_+)\) with \({\mathcal {Q}}_{}\setminus {\mathcal {Q}}_{+}\) \(\subseteq \) \(\mathcal {R}({\mathcal {Q}}_{}, {\mathcal {Q}}_+)\) \(\subseteq \) \({\mathcal {Q}}_{}\) and \(\#\mathcal {R}({\mathcal {Q}}_{}, {\mathcal {Q}}_+)\le C_\textrm{ref}\big (\#{\mathcal {Q}}_{+}-\#{\mathcal {Q}}_{}\big )\) such that

$$\begin{aligned} \textrm{d\!l}({\mathcal {Q}}_{},{\mathcal {Q}}_+)^2\le C_\textrm{drel}^2\eta _{}(\mathcal {R}\big ({\mathcal {Q}}_{}, {\mathcal {Q}}_+)\big )^2\!, \end{aligned}$$

i.e., the perturbations are essentially controlled by the estimator on the refined elements.

Moreover, with the Dörfler parameter \(0<\theta \le 1\) of Algorithm 5, let \(C_\textrm{qo}>0\) and \(0\le \varepsilon _\textrm{qo}<1\) satisfy the following property (E4) for the sequence \(({\mathcal {Q}}_k)_{k\in {\mathbb N}_0}\) from Algorithm 5:

(E4):

General quasi-orthogonality: It holds that

$$\begin{aligned} 0\le \varepsilon _\textrm{qo}<\sup _{\delta >0}\frac{1-(1+\delta )(1-(1-\rho _\textrm{red})\theta )}{C_\textrm{red}+(1+\delta ^{-1})C_\textrm{stab}^2}\!, \end{aligned}$$

and for all \(k,N\in {\mathbb N}_0\) that

$$\begin{aligned} \sum _{j=k}^{k+N}(\textrm{d\!l}({\mathcal {Q}}_j,{\mathcal {Q}}_{j+1})^2-\varepsilon _\textrm{qo}\eta _j^2)\le C_\textrm{qo} \eta _k^2\!, \end{aligned}$$

i.e., the sum of perturbations (minus some minor estimator terms) is controlled by the estimator.

Remark 17

Later, in a more concrete setting, \(\textrm{d\!l}({\mathcal {Q}}_{},{\mathcal {Q}}_+)\) will always be the error \(\Vert U_+-U_{}\Vert _{}\) between the two Galerkin solutions \(U_{}\) and \(U_+\) corresponding to the meshes \({\mathcal {Q}}_{}\) and \({\mathcal {Q}}_+\), respectively. If the involved bilinear form is symmetric, (E4) even with \(\varepsilon _\textrm{qo}=0\) follows directly from the Pythagoras identity \(\Vert U_{j+1}-U_j\Vert _{}^2 =\Vert u-U_j\Vert _{}^2- \Vert u-U_{j+1}\Vert _{}^2\) in the energy norm and reliability \(\Vert u-U_k\Vert _{}\lesssim \eta _k\) of the estimator, see also Remark 22.

Moreover, we suppose that we are given constants \(C_\textrm{child}\), \(C_\textrm{clos}\ge 1\) such that there hold the following refinement properties (R1)–(R3):

(R1):

Child estimate: For all \({\mathcal {Q}}_{}\in \mathbb {Q}\), \(\mathcal M_{}\subseteq {\mathcal {Q}}_{}\) and \({\mathcal {Q}}_+:=\texttt{refine}({\mathcal {Q}}_{},\mathcal M_{})\), it holds that

$$\#\mathcal{Q}_+ \le C_{\rm child}\#\mathcal{Q}$$

i.e., one step of refinement leads to a bounded increase of elements.

(R2):

Closure estimate: Let \(({\mathcal {Q}}_k)_{k\in {\mathbb N}_0}\) be an arbitrary sequence in \(\mathbb {Q}\) such that \({\mathcal {Q}}_{k+1}=\texttt{refine}({\mathcal {Q}}_k,\mathcal M_k)\) with some \(\mathcal M_k\subseteq {\mathcal {Q}}_k\) for all \(k\in {\mathbb N}_0\). Then, for all \(k\in {\mathbb N}_0\), it holds that

$$\begin{aligned} \# {\mathcal {Q}}_k-\#{\mathcal {Q}}_0\le C_\textrm{clos}\sum _{j=0}^{k-1}\#\mathcal M_j. \end{aligned}$$

This inequality is trivially satisfied if only marked elements are refined. However, in practice, to preserve admissibility of the meshes, additional elements have to be refined. Then, (R2) states that the overall number of elements \(\#{\mathcal {Q}}_k\) can be controlled by \(\#{\mathcal {Q}}_0\) plus the number of marked elements.

(R3):

Overlay property: For all meshes \({\mathcal {Q}}_{},{\mathcal {Q}}_\times \in \mathbb {Q}\), there exists a common refinement \({\mathcal {Q}}_+\in \texttt{refine}({\mathcal {Q}}_{})\) \(\cap \) \(\texttt{refine}({\mathcal {Q}}_\times )\) which satisfies the overlay estimate

$$\begin{aligned} \#{\mathcal {Q}}_+\le \#{\mathcal {Q}}_{}+ \#{\mathcal {Q}}_\times - \#{\mathcal {Q}}_0. \end{aligned}$$

5.1.4 Optimal Convergence for the Error Estimator

The following theorem is the main result of Sect. 5.1. It was already proved in [53, Theorem 4.1 and Corollary 4.8]. For arbitrary \(s>0\), we set

$$\begin{aligned} C_\textrm{apx}(s):=\sup _{N\ge \#{\mathcal {Q}}_0} \min _{{\mathcal {Q}}_\star \in \mathbb {Q}(N)}(N^s\eta _\star )\in [0,\infty ] \end{aligned}$$
(55)

with \(\mathbb {Q}(N):=\big \{{\mathcal {Q}}_{{}}\in \mathbb {Q}\,:\,\#{\mathcal {Q}}_{{}}\le N\big \}\), where \(\eta _{{\star }}\) denotes the estimator corresponding to \({\mathcal {Q}}_\star \). By definition, it holds that \(C_\textrm{apx}(s)<\infty \) if and only if the error estimator converges as \(\eta _{}={\mathcal O}((\#{\mathcal {Q}}_{})^{-s})\) if the optimal admissible meshes are chosen. Consequently, an adaptive algorithm is called optimal if the sequence of adaptively generated meshes leads to \(\eta _\ell ={\mathcal O}((\#{\mathcal {Q}}_\ell )^{-s})\) for all \(s>0\) with \(C_\textrm{apx}(s)<\infty \).

Theorem 1

Let \({\mathcal {Q}}_0, \theta \in (0,1]\), and \(C_\textrm{min} \in [1, \infty ]\) be the input arguments of Algorithm 5, and let \(({\mathcal {Q}}_k)_{k\in {\mathbb N}_0}\) and \((\eta _k)_{k\in {\mathbb N}_0}\) be the meshes and estimators generated by Algorithm 5. Then, there hold:

  1. (i)

    Suppose that the axioms (E1)–(E2) hold true at least for \({\mathcal {Q}}_{k+1}\in \texttt{refine}({\mathcal {Q}}_k)\) and all \(k\in {\mathbb N}_0\), and assume that \(\lim _{k\rightarrow \infty }\textrm{d\!l}({\mathcal {Q}}_k,{\mathcal {Q}}_{k+1})=0\). Then, for all \(0<\theta \le 1\) and all \(C_\textrm{min}\in [1,\infty ]\), the estimator converges, i.e.,

    $$\begin{aligned} \lim _{k\rightarrow \infty }\eta _k=0. \end{aligned}$$
    (56)
  2. (ii)

    Suppose that the axioms (E1)–(E2) hold true at least for \({\mathcal {Q}}_{k+1}\in \texttt{refine}({\mathcal {Q}}_k)\) and all \(k\in {\mathbb N}_0\) and (E4) holds true as well. Then, for all \(0<\theta \le 1\) and all \(C_\textrm{min}\in [1,\infty ]\), the estimator converges linearly, i.e., there exist constants \(0<\rho _\textrm{lin}<1\) and \(C_\textrm{lin}\ge 1\) such that

    $$\begin{aligned} \eta _{k+j}^2\le C_\textrm{lin} \rho _\textrm{lin}^j\eta _k^2\quad \text {for all }j,k\in {\mathbb N}_0. \end{aligned}$$
    (57)
  3. (iii)

    Suppose that the axioms (E1)–(E4) as well as (R1)–(R3) hold true. Then, for all \(0<\theta <\theta _\textrm{opt}:=(1+C_\textrm{stab}^2 C_\textrm{drel}^2)^{-1}\) and all \(C_\textrm{min}\in [1,\infty )\), the estimator converges at optimal rate, i.e., for all \(s>0\) there exist constants \(c_\textrm{opt},C_\textrm{opt}>0\) such that

    $$\begin{aligned} c_\textrm{opt} C_\textrm{apx}(s)&\le \sup _{k\in {\mathbb N}_0}{(\#{\mathcal {Q}}_k)^{s}}{\eta _k}\le C_\textrm{opt} C_\textrm{apx}(s), \end{aligned}$$
    (58)

    where the lower bound relies only on (R1).

The constants \(C_\textrm{lin},\rho _\textrm{lin}\) depend only on \(\rho _\textrm{red}, C_\textrm{qo}, \varepsilon _\textrm{qo}\), and on \(\theta \). The constant \(C_\textrm{opt}\) depends additionally on \(C_\textrm{min},C_\textrm{ref},C_\textrm{drel}, \varepsilon _\textrm{drel},C_\textrm{clos},C_\textrm{over}, \#{\mathcal {Q}}_0\), and on s, while \(c_\textrm{opt}\) depends only on \(C_\textrm{child}, \#{\mathcal {Q}}_0\), s, and if there exists \(k_0\) with \(\eta _{k_0}=0\) also on \(k_0\).

Proof

In the following, we only give a sketch of the proof. For details, we refer to [53, Theorem 4.1 and Corollary 4.8].

Sketch of (i). Elementary calculations show that the axioms (E1)–(E2) and the fact that \(\mathcal M_k\subseteq {\mathcal {Q}}_k\setminus {\mathcal {Q}}_{k+1}\) in combination with Dörfler marking (54) lead to estimator reduction: There exist constants \(0<\rho _\textrm{est}<1\) and \(C_\textrm{est}>0\) such that

$$\begin{aligned} 0\le \eta _{k+1}^2\le \rho _\textrm{est}\eta _k^2+C_\textrm{est}\textrm{d\!l}({\mathcal {Q}}_k,{\mathcal {Q}}_{k+1})^2 \text { for all }k\in {\mathbb N}_0. \end{aligned}$$
(59)

Due to the assumption \(\lim _{k\rightarrow \infty }\textrm{d\!l}({\mathcal {Q}}_k,{\mathcal {Q}}_{k+1})=0\), basic calculus proves (56).

Sketch of (ii). Linear convergence (57) can be equivalently reformulated as

$$\begin{aligned} \sum _{j=k+1}^\infty \eta _j^2 \lesssim \eta _k^2\quad \text {for all }k\in {\mathbb N}_0. \end{aligned}$$

The latter follows from estimator reduction (59) and general quasi-orthogonality (E4).

Sketch of (iii). The lower estimate in (58) follows elementarily from the child estimate (R1). The upper bound is more involved. Let \(j\in {\mathbb N}_0\). Stability (E1) plus discrete reliability (E3) elementarily yield the existence of some constant \(0<q(\theta )<1\) such that any refinement \({\mathcal {Q}}_{+(j)}\in \texttt{refine}({\mathcal {Q}}_j)\) with \(\eta _{+(j)}^2\le q(\theta )\eta _j^2\) satisfies the Dörfler marking

$$\begin{aligned} \theta \eta _j^2\le \eta _j\big (\mathcal {R}({\mathcal {Q}}_j,{\mathcal {Q}}_{+(j)})\big )^2. \end{aligned}$$
(60)

The heart of the proof is that there exists \({\mathcal {Q}}_{+(j)}\in \texttt{refine}({\mathcal {Q}}_j)\) with \(\eta _{+(j)}^2\le q(\theta )\eta _j^2\), which additionally satisfies that

$$\begin{aligned} \#{\mathcal {Q}}_{+(j)}-\#{\mathcal {Q}}_j\lesssim \eta _j^{-1/s}. \end{aligned}$$
(61)

This follows from the definition of \(C_\textrm{apx}(s)\), the overlay property (R3), and quasi-monotonicity \(\eta _{+(j)}\lesssim \eta _{}\) for any \({\mathcal {Q}}_{}\in \mathbb {Q}\) with \({\mathcal {Q}}_{+(j)}\in \texttt{refine}({\mathcal {Q}}_{})\). The latter is a consequence of (E1), (E2), and (E3). Since \(\mathcal M_j\subseteq {\mathcal {Q}}_j\) is an essentially minimal set that satisfies the Dörfler marking (54), (60) gives that

$$\begin{aligned} \#\mathcal M_j\lesssim \# \mathcal {R}({\mathcal {Q}}_j,{\mathcal {Q}}_{+(j)}). \end{aligned}$$

The closure estimate (R2), discrete reliability (E3), and (61) imply that

$$\begin{aligned} \# {\mathcal {Q}}_k-\#{\mathcal {Q}}_0\lesssim & {} \sum _{j=0}^{k-1}\#\mathcal M_j \lesssim \sum _{j=0}^{k-1}\# \mathcal {R}({\mathcal {Q}}_j,{\mathcal {Q}}_{+(j)})\\\lesssim & {} \sum _{j=0}^{k-1} (\#{\mathcal {Q}}_{+(j)}-\#{\mathcal {Q}}_j) \lesssim \sum _{j=0}^{k-1} \eta _j^{-1/s}. \end{aligned}$$

Finally, linear convergence (57) elementarily shows that \(\sum _{j=0}^{k-1} \eta _j^{-1/s}\lesssim \eta _k^{-1/s}\). This concludes the proof. \(\square \)

Remark 18

The upper bound in (58) states that the estimator sequence \(\eta _k\) of Algorithm 5 converges with algebraic rate s if \(C_\textrm{apx}(s)<\infty \). This means that if a decay with rate s is possible for optimally chosen admissible meshes, the same decay is realized by the adaptive algorithm. Together with the upper bound, the lower bound in (58) states that the convergence rate of the estimator sequence characterizes the theoretically optimal convergence rate.

5.2 Abstract Adaptive FEM

This section summarizes the results of the recent own works [103, 105]. For the model problem (17) of Sect. 3.2.1, i.e.,

$$\begin{aligned} \mathscr {P}u&=f\quad \text {in }\varOmega ,\\ u&=0\quad \text {on }\varGamma :=\partial \varOmega , \end{aligned}$$

we consider Algorithm 5 in the context of conforming FEM discretizations on a multi-patch geometry \(\varOmega \) as in Sect. 3.1, where adaptivity is driven by the weighted-residual a posteriori error estimator (23), which reads

$$\begin{aligned} \eta (Q)^2:=h_Q^{2} \Vert f-\mathscr {P}U\Vert _{L^2(Q)}^2+h_Q \Vert [\mathscr {D}_{{\varvec{\nu }}} U]\Vert _{L^2(\partial Q\cap \varOmega )}^2. \end{aligned}$$

We identify the crucial properties of the underlying meshes, the mesh refinement, and the finite element spaces, which ensure that the weighted-residual error estimator fits into the general framework of Sect. 5.1 and which hence guarantee optimal convergence behavior of the adaptive algorithm in the sense of Theorem 1. The main result of this section is Theorem 2. In Sect. 6, we will see that it is applicable to hierarchical splines as well as T-splines.

5.2.1 Axioms of Adaptivity (Revisited)

Meshes Throughout this section, \({\mathcal {Q}}_{}\) is a mesh of the bounded Lipschitz domain \(\varOmega \subset {\mathbb R}^d\) in the following sense:

  • \({\mathcal {Q}}_{}\) is a finite set of transformed open hyperrectangles, i.e., each element Q has the form \(Q=\textbf{F}_m(\widehat{Q})\) for some \(\textbf{F}_m\) from Sect. 3.1, where \(\widehat{Q}=\prod _{i=1}^d(a_i,b_i)\) is an open \(d\)-dimensional hyperrectangle;

  • for all \(Q,Q'\in {\mathcal {Q}}_{}\) with \(Q\ne Q'\), the intersection is empty, i.e., \(Q\cap Q'=\emptyset \);

  • \(\overline{\varOmega }= \bigcup _{Q\in {\mathcal {Q}}_{}}{\overline{Q}}\), i.e., \({\mathcal {Q}}_{}\) is (essentially) a partition of \(\varOmega \).

Let \(\mathbb {Q}\) be a set of such meshes. These are referred to as admissible. In order to ease notation, we introduce for \({\mathcal {Q}}_{}\in \mathbb {Q}\) the corresponding mesh-width function

$$\begin{aligned} h_{}\in L^\infty (\varOmega ), \,h_{}|_Q:=h_Q:=|Q|^{1/d}\text { for all }Q\in {\mathcal {Q}}_{}. \end{aligned}$$

For \(\omega \subseteq \overline{\varOmega }\), we define the element-patchesFootnote 5\(\pi _{}^q(\omega )\subseteq \overline{\varOmega }\) of order \(q\in {\mathbb N}_0\) inductively by

$$\begin{aligned} \begin{aligned} \pi _{}^0(\omega )&:=\overline{\omega },\\ \pi _{}^{q+1}(\omega )&:= \bigcup \big \{\overline{Q}\,:\, Q\in {\mathcal {Q}}_{},\, {\overline{Q}}\cap \pi _{}^{q}(\omega )\ne \emptyset \big \}. \end{aligned} \end{aligned}$$
(62)

The corresponding set of elements is defined as

$$\begin{aligned} \varPi _{}^q(\omega ) := \big \{Q\in {\mathcal {Q}}_{}\,:\, {Q} \subseteq \pi _{}^q(\omega )\big \} \quad \text {for } q>0, \end{aligned}$$
(63)

i.e., \(\pi _{}^q(\omega ) = \overline{\bigcup \varPi _{}^q(\omega )}\). To abbreviate notation, we set \(\pi _{}(\omega ) := \pi _{}^1(\omega )\) and \(\varPi _{}(\omega ) := \varPi _{}^1(\omega )\). For \(\mathcal {S}\subseteq {\mathcal {Q}}_{}\), we define \(\pi _{}^q(\mathcal {S}):=\pi _{}^q(\bigcup \mathcal {S})\) and \(\varPi _{}^q(\mathcal {S}):=\varPi _{}^q(\bigcup \mathcal {S})\).

We suppose that there exist constants \(C_\textrm{shape}\), \(C_\textrm{locuni}\) > 0 such that all meshes \({\mathcal {Q}}_{}\in \mathbb {Q}\) satisfy the following two mesh properties (M1)–(M2):

(M1):

Shape-regularity: It holds thatFootnote 6

$$\begin{aligned} {\textrm{diam}(Q)}/{h_Q}\le C_\textrm{shape} \quad \text {for all } Q\in {\mathcal {Q}}_{}. \end{aligned}$$

Since there always holds that \(h_Q\le \textrm{diam}(Q)\), this implies that \(h_Q \simeq \textrm{diam}(Q)\).

(M2):

Local quasi-uniformity: It holds that

$$\begin{aligned} h_Q/h_{Q'} \le C_\textrm{locuni}\quad \text {for all }Q\in {\mathcal {Q}}_{}, Q'\in \varPi _{}(Q), \end{aligned}$$

i.e., neighboring elements have comparable size.

Mesh refinement We suppose that we are given a refinement strategy \(\texttt{refine}(\cdot ,\cdot )\) as in Sects. 5.1.1 and  5.1.3. In particular, we suppose the existence of some initial mesh \({\mathcal {Q}}_0\) with \(\texttt{refine}({\mathcal {Q}}_0)=\mathbb {Q}\) and the refinement axioms (R1)–(R3) hold true. Moreover, we assume that for all \({\mathcal {Q}}_{}\in \mathbb {Q}\) and arbitrary marked elements \(\mathcal M_{}\subseteq {\mathcal {Q}}_{}\) with refinement \({\mathcal {Q}}_+\) \(:=\) \(\texttt{refine}({\mathcal {Q}}_{},\mathcal M_{})\), it holds that

$$\begin{aligned} \overline{Q}=\bigcup \big \{\overline{Q'}\,:\,Q'\in {\mathcal {Q}}_+, Q'\subseteq Q\big \}\text { for all }Q\in {\mathcal {Q}}_{}, \end{aligned}$$
(64)

i.e., each element Q is the union of its successors.

Finite element space With each \({\mathcal {Q}}_{}\in \mathbb {Q}\), we associate a finite dimensional space

$$\begin{aligned} \begin{aligned} \mathbb {S}_{}\subset \big \{v\in H^1_0(\varOmega ): \,&v|_Q\in H^2(Q)\text { for all }Q\in {\mathcal {Q}}_{}\big \}. \end{aligned} \end{aligned}$$

Let \(U_{}\in \mathbb {S}_{}\) be the corresponding Galerkin approximation, defined via the variational formulation (20), to the solution \(u\in H^1_0(\varOmega )\) of problem (19).

We suppose that there exist constants \(q_\textrm{loc},q_\textrm{proj} \in {\mathbb N}_0\) and for all \({\mathcal {Q}}_{}\in \mathbb {Q}\) a Scott–Zhang-type projector \(J_{}:H^1_0(\varOmega )\rightarrow \mathbb {S}_{}\) such that the following space properties (S1)–(S3) hold for all \({\mathcal {Q}}_{}\in \mathbb {Q}\) and all refinements \({\mathcal {Q}}_+\in \texttt{refine}({\mathcal {Q}}_{})\):

(S1):

Nestedness: It holds that

$$\begin{aligned} \mathbb {S}_{}\subseteq \mathbb {S}_+. \end{aligned}$$
(S2):

Local domain of definition: For all Q \(\in \) \({\mathcal {Q}}_{}\setminus \varPi _{}^{q_\textrm{loc}}( {\mathcal {Q}}_{}\setminus {\mathcal {Q}}_+)\subseteq {\mathcal {Q}}_{}\cap {\mathcal {Q}}_+\) (i.e., Q is in a certain sense far away from the refined elements \({\mathcal {Q}}_{}\setminus {\mathcal {Q}}_+\)) and for all \(V_+\in \mathbb {S}_+\), it holds that

$$\begin{aligned} V_+|_{\pi _{}^{q_\textrm{proj}}(Q)} \in \big \{V_{}|_{\pi _{}^{q_\textrm{proj}}(Q)}\,:\,V_{}\in \mathbb {S}_{}\big \}. \end{aligned}$$
(S3):

Local projection property: For all \(v\in H^1_0(\varOmega )\) and \(Q\in {\mathcal {Q}}_{}\), it holds that

$$\begin{aligned}&(J_{}v)|_Q = v|_Q\; \text {if } v|_{\pi _{}^{q_\textrm{proj}}(Q)} \in \big \{V_{}|_{\pi _{}^{q_\textrm{proj}}(Q)}\,:\,V_{}\in \mathbb {S}_{}\big \}. \end{aligned}$$

Besides (S1)–(S3), which are also required in the following Sect. 5.3 on abstract adaptive BEM, we suppose the existence of constants \(C_\textrm{inv},C_\textrm{sz}>0\) and \(q_\textrm{sz}\in {\mathbb N}_0\) such that the following FEM properties (F1)–(F3) hold for all \({\mathcal {Q}}_{}\in \mathbb {Q}\):

(F1):

Inverse inequality: For all \(j,k\in \{0,1,2\}\) with \(k\le j\), all \(V_{}\in \mathbb {S}_{}\), and all \(Q\in {\mathcal {Q}}_{}\), it holds that

$$\begin{aligned} h_Q^{(j-k)} \Vert V_{}\Vert _{H^j(Q)}\le C_\textrm{inv} \, \Vert V_{}\Vert _{H^{k}(Q)}. \end{aligned}$$
(F2):

Local \(\varvec{L^2}\)-approximation property: For all \(Q\in {\mathcal {Q}}_{}\) and all \(v\in H_0^1(\varOmega )\), it holds that

$$\begin{aligned} \Vert (1-J_{})v\Vert _{L^2(Q)}\le C_\textrm{sz} \,h_Q\,\Vert v\Vert _{H^1(\pi _{}^{q_\textrm{sz}}(Q))}. \end{aligned}$$
(F3):

Local \(\varvec{H^1}\)-stability: For all \(Q\in {\mathcal {Q}}_{}\) and \(v\in H_0^1(\varOmega )\), it holds that

$$\begin{aligned}\Vert \nabla J_{}v\Vert _{L^2(Q)}\le C_\textrm{sz} \Vert v\Vert _{H^1(\pi _{}^{q_\textrm{sz}}(Q))}. \end{aligned}$$

5.2.2 Data Oscillations

The definition of the data oscillations corresponding to the residual error estimator (23) requires some further notation. Let \(\mathbb {P}(\varOmega )\) be the set of all (transformed) tensor polynomials of some fixed degree \((p',\dots ,p')\) on \(\varOmega \), i.e., with the patches \(\varOmega _m\) from Sect. 3.1.2,

$$\begin{aligned} \begin{aligned} \mathbb {P}(\varOmega ):=\big \{W:\, W|_{\varOmega _m}\circ \textbf{F}_m \text { polynomial of degree } \\ (p',\dots ,p') \text { for all }m\in \{1,\dots ,M\}\big \}. \end{aligned} \end{aligned}$$

For \({\mathcal {Q}}_{}\in \mathbb {Q}\) and \(Q\in {\mathcal {Q}}_{}\), let \(P_{Q}:L^2(Q)\rightarrow \big \{{W}|_{Q}\,:\,{W}\in \mathbb {P}(\varOmega )\big \}\) be the \(L^2\)-orthogonal projection, i.e.,

$$\begin{aligned} \Vert v-P_Q v\Vert _{L^2(Q)} = \min _{W\in \mathbb {P}(\varOmega )} \Vert v-W\Vert _{L^2(Q)} \end{aligned}$$

for all \(v\in L^2(Q)\). For an interior edge in 2D or face in 3D, \(E\in \mathcal {E}_{Q}:=\big \{\overline{Q}\cap \overline{Q}'\,:\,Q'\in {\mathcal {Q}}_{}, \textrm{dim}(\overline{Q}\cap \overline{Q}')=d-1\big \}\), where \(\dim (\cdot )\) denotes the dimension, we define the \(L^2\)-orthogonal projection \(P_{E}:L^2(E)\rightarrow \big \{{W}|_{E}\,:\,{W}\in \mathbb {P}(\varOmega )\big \}\). Finally, for \(V_{}\in \mathbb {S}_{}\), we define the corresponding oscillations

$$\begin{aligned}&\textrm{osc}_{}(V_{}) := \textrm{osc}_{}(V_{},{\mathcal {Q}}_{})\\&\quad \text {with } \textrm{osc}_{}({{V_{}}},\mathcal {S})^2:=\sum _{Q\in \mathcal {S}} \textrm{osc}_{}({{V_{}}}, Q)^2 \text { for all }\mathcal {S}\subseteq {\mathcal {Q}}_{},\nonumber \end{aligned}$$
(65a)

where, for all \(Q\in {\mathcal {Q}}_{}\), the local oscillations read

$$\begin{aligned} \textrm{osc}_{}({{V_{}}},Q)^2&:=h_Q^2 \Vert (1-P_{Q})(f-\mathscr {P}U_{})\Vert _{L^2(Q)}^2\\ {}&\quad +\sum _{E\in \mathcal {E}_{Q}}h_Q\Vert (1-P_{E})[\mathscr {D}_{\varvec{\nu }}U_{}]\Vert _{L^2(E)}^2.\nonumber \end{aligned}$$
(65b)

Remark 19

For the analysis of oscillations in the frame of standard FEM with piecewise polynomials of fixed order, we refer, e.g., to [172].

Remark 20

If \(\mathbb {S}_{}\subset C^1(\overline{\varOmega })\), then the jump contributions in (65) vanish and \(\textrm{osc}_{}(V_{},Q)\) consists only of the volume oscillations.

5.2.3 Optimal Convergence

Recall the definition (55) of the approximation constant \(C_\textrm{apx}(s)\). We say that the solution \(u\in H_0^1(\varOmega )\) belongs to the approximation class s with respect to the estimator (23), if

$$\begin{aligned} C_\textrm{apx}(s)<\infty . \end{aligned}$$

Further, we say that it belongs to the approximation class s with respect to the minimal total error if

$$\begin{aligned} \nonumber C_\textrm{apx}^\textrm{tot}(s)&:= \sup _{N\ge \#{\mathcal {Q}}_0} \min _{{\mathcal {Q}}_{}\in \mathbb {Q}(N)}(N^s\inf _{V_{}\in \mathbb {S}_{}}\big (\Vert u-V_{}\Vert _{H^1(\varOmega )}\\&+\textrm{osc}_{}(V_{}))<\infty . \end{aligned}$$
(66)

Note that both approximation classes depend on the considered ansatz spaces, the underlying meshes, and the corresponding refinement strategy.

By definition, \(C_\textrm{apx}(s)<\infty \) (resp. \(C_\textrm{apx}^\textrm{tot}(s)<\infty \)) implies that the error estimator \(\eta _{}\) (resp. the minimal total error) on the optimal meshes \({\mathcal {Q}}_{}\) decays at least with rate \({\mathcal O}\big ((\#{\mathcal {Q}}_{})^{-s}\big )\). The following main theorem states that each possible rate \(s>0\) is in fact realized by Algorithm 5. It stems from [105, Theorem 2.1] and essentially follows from its abstract counterpart Theorem 1 by verifying the axioms of Sect. 5.1.3 for the perturbations

$$\begin{aligned} \textrm{d\!l}({\mathcal {Q}}_{},{\mathcal {Q}}_+):=\Vert U_+-U_{}\Vert _{H^1(\varOmega )}&\text { for all }{\mathcal {Q}}_{}\in \mathbb {Q}, \\&\text { and }{\mathcal {Q}}_{+}\in \texttt{refine}({\mathcal {Q}}_{}). \end{aligned}$$

For piecewise polynomials on shape-regular triangulations of a polyhedral domain \(\varOmega \), optimal convergence was already proved in [57] for symmetric \(\mathscr {P}\) and in [58, 92] for non-symmetric \(\mathscr {P}\).

Theorem 2

Let \(({\mathcal {Q}}_k)_{k\in {\mathbb N}_0}\) be the sequence of meshes generated by Algorithm 5 with Galerkin approximations \(U_k\in \mathbb {S}_k\). Then, there hold:

  1. (i)

    Suppose that (M1)–(M2) and (F2)–(F3) hold true. Then, the residual error estimator satisfies reliability, i.e., there exists \(C_\textrm{rel}>0\) such that for all \({\mathcal {Q}}_{}\in \mathbb {Q}\),

    $$\begin{aligned} \Vert u-U_{}\Vert _{H^1(\varOmega )}+\textrm{osc}_{}(U_{})\le C_\textrm{rel}\eta _{}. \end{aligned}$$
    (67)
  2. (ii)

    Suppose that (M1)–(M2) and (F1) hold true. Then, the residual error estimator satisfies efficiency, i.e., there exists \(C_\textrm{eff}>0\) such that for all \({\mathcal {Q}}_{}\in \mathbb {Q}\),

    $$\begin{aligned} C_\textrm{eff}^{-1}\eta _{}\le \inf _{V_{}\in \mathbb {S}_{}}\big (&\Vert u-V_{}\Vert _{H^1(\varOmega )}+\textrm{osc}_{}(V_{})\big ). \end{aligned}$$
    (68)
  3. (iii)

    Suppose that (M1)–(M2), (S1) and (F1) hold true. Then, the axioms (E1)–(E2) as well as the convergence of the perturbations \(\lim _{k\rightarrow \infty }\textrm{d\!l}({\mathcal {Q}}_k,{\mathcal {Q}}_{k+1})=0\) are satisfied. These are exactly the assumptions of Theorem 1 (i), which implies convergence (56) of the estimator.

  4. (iv)

    Suppose that (M1)–(M2), (S1) and (F1)–(F3) hold true. Then, the axioms (E1)–(E2) and (E4) are satisfied. These are exactly the assumptions of Theorem 1 (ii), which implies linear convergence (57) of the estimator.

  5. (v)

    Suppose (M1)–(M2), (R1)–(R3), (S1)–(S3) and (F1)–(F3) hold true. Then, the axioms (E1)–(E4) as well as (R1)–(R3) are satisfied. These are exactly the assumptions of Theorem 1 (iii), which implies optimal convergence (58) of the estimator.

All involved constants \(C_\textrm{rel},C_\textrm{eff},C_\textrm{lin},\rho _\textrm{lin},\theta _\textrm{opt}\), and \(C_\textrm{opt}\) (of Theorem 1) depend only on the assumptions made, the dimension \(d\), the coefficients of the differential operator \(\mathscr {P}\), \(\textrm{diam}(\varOmega )\), and the parametrization constant \(C_\textbf{F}\) from Sect. 3.1, where \(C_\textrm{lin},\rho _\textrm{lin}\) depend additionally on \(\theta \) and the sequence \((U_k)_{k\in {\mathbb N}_0}\) (see also Remark 22), and \(C_\textrm{opt}\) depends furthermore on \(C_\textrm{min}\) and s. The constant \(c_\textrm{opt}\) depends only on \(C_\textrm{child}, \#{\mathcal {Q}}_0\), s, and if there exists \(k_0\) with \(\eta _{k_0}=0\) also on \(k_0\) and \(\eta _0\).

Proof

The proof is found in [105, Sect. 4] and details are elaborated in [103, Sect. 4.5]. Indeed, these works consider even more general meshes. They assume additional abstract mesh and refinement properties, given by (69)–(72) below. Moreover, the analysis of [103, 105] requires certain properties of the space \(\mathbb {P}(\varOmega )\), which have only been proved for single-patch domains in [105, Sects. 5.11 and 5.12], but the proof easily extends to the considered multi-patch case. Therefore, in the remainder of the proof, we only verify that the assumptions (69)–(72) are automatically satisfied in our setting, and the result follows from [105, Sect. 4].

Let \({\mathcal {Q}}_{}\in \mathbb {Q}\). The properties (M1)–(M2) especially imply the uniform boundedness of the number of elements within an element-patch, i.e.,

$$\begin{aligned} \#\varPi _{}(Q)\lesssim 1 \quad \text {for all }Q\in {\mathcal {Q}}_{}. \end{aligned}$$
(69)

To see this, we note the elementary inequality \(|\varPi _{}(Q)|\le \textrm{diam}(\varPi _{}(Q))^d\). Then, (M1)–(M2) show that \(\textrm{diam}(\varPi _{}(Q))\) \(\lesssim \) \(\textrm{diam}(Q)\simeq |Q|^{1/d}\). On the one hand, we see that \(|Q|\le |\varPi _{}(Q)|\lesssim |Q|\), i.e., \(|\varPi _{}(Q)|\simeq |Q|\). On the other hand, (M2) implies that \(|\varPi _{}(Q)|\) \(\simeq \) \(\#\varPi _{}(Q)|Q|\). This concludes the proof of (69).

Moreover, it is easy to see that our assumptions on \(C_\textbf{F}\) of (15) along with (M1) yield that \([0,1]^d\) is a reference element in the sense that for all \(Q\in {\mathcal {Q}}_{}\in \mathbb {Q}\), there exists a bi-Lipschitz mapping \(\widetilde{\textbf{F}}_Q:[0,h_Q]^d\rightarrow Q\) with uniform Lipschitz constants that depend only on \(C_\textbf{F}\) and (M1). In particular, one obtains the trace inequality

$$\begin{aligned} \begin{aligned} \Vert v\Vert _{L^2(\partial Q)}^2\lesssim \big (h_Q^{-1}\Vert v\Vert _{L^2(Q)}^2+ \Vert v\Vert _{L^2(Q)}\Vert \nabla v\Vert _{L^2(Q)}\big )\\ \text {for all }v\in H^1(\varOmega ), \end{aligned} \end{aligned}$$
(70)

and the local Poincaré estimate

$$\begin{aligned} h_Q^{-1} \Vert w\Vert _{H^{-1}(Q)}\lesssim \Vert w\Vert _{L^2(Q)}\quad \text {for all }w\in L^2(\varOmega ) \end{aligned}$$
(71)

for the dual norm \(\Vert {w}\Vert _{H^{-1}(Q)}= \sup \{\int _Q{w} v\,\text {d}\textbf{x}:\) \(v\in H_0^1(Q),\) \(\Vert v\Vert _{H^1(Q)}=1\}\). The constants hidden in (70)–(71) depend only on \(C_\textbf{F}\) and (M1), see, e.g., [103, Proposition 4.2.2 and Proposition 4.2.3] for a proof. The latter inequality (71) is a simple consequence of the classical Poincaré inequality.

The identities (64) and (M2) imply the existence of a uniform constant \(0<\rho _\textrm{}<1\) such that

$$\begin{aligned} |Q'| \le \rho _\textrm{}|Q|\text { for all }Q\in {\mathcal {Q}}_{}, Q'\in {\mathcal {Q}}_+\text { with } Q'\subsetneqq Q, \end{aligned}$$
(72)

i.e., children are uniformly smaller than their parents. To see this, one can argue by contradiction. If the assertion is wrong, then there exist sequences \((Q'_n)_{n\in {\mathbb N}}\) and \((Q_n)_{n\in {\mathbb N}}\) of such elements with

$$\begin{aligned} \lim _{n\rightarrow \infty } \frac{|Q_n|-|Q_n'|}{|Q_n|}=\lim _{n\rightarrow \infty } \frac{|Q_n\setminus Q_n'|}{|Q_n|}=0. \end{aligned}$$

However, (64) and (M2) show the existence of \(Q_n''\subset Q_n\setminus Q_n'\) with \(|Q_n''|\simeq |Q_n'|\), which contradicts the latter equality. \(\square \)

Remark 21

If the assumptions of Theorem 2 (i)–(ii) are satisfied, there holds in particular that

$$\begin{aligned} C_\textrm{eff}^{-1}\Vert u\Vert _{\mathbb {A}^\textrm{est}_s}\le \Vert u\Vert _{\mathbb {A}^\textrm{tot}_s}\le C_\textrm{rel}\Vert u\Vert _{\mathbb {A}^\textrm{est}_s} \text { for all }s>0. \end{aligned}$$

This also shows that the optimality results in [57, 58, 200] coincide with that of [53, 92].

Remark 22

Only general quasi-orthogonality (E4) depends on the sequence \((U_k)_{k\in {\mathbb N}_0}\). If the bilinear form \(\langle \cdot \,;\,\cdot \rangle _{\mathscr {P}}\) is symmetric, then (E4) follows from the Pythagoras identity \(\Vert u-U_{j+1}\Vert _{\mathscr {P}}^2+\Vert U_{j+1}-U_j\Vert _{\mathscr {P}}^2=\Vert u-U_j\Vert _{\mathscr {P}}^2\) in the \(\mathscr {P}\)-induced energy norm \(\Vert v\Vert _{\mathscr {P}}^2:=\langle v\,;\,v\rangle _{\mathscr {P}}\) and norm equivalence

$$\begin{aligned}&\sum _{j=k}^{k+N}\Vert U_{j+1}-U_j\Vert _{H^1(\varOmega )}^2 \simeq \sum _{j=k}^{k+N}\Vert U_{j+1}-U_j\Vert _{\mathscr {P}}^2 \\&\quad = \Vert u-U_k\Vert _{\mathscr {P}}^2-\Vert u-U_{k+N+1}\Vert _{\mathscr {P}}^2 \lesssim \Vert u-U_k\Vert _{H^1(\varOmega )}^2. \end{aligned}$$

Together with reliability (67), this proves (E4) even for \(\varepsilon _\textrm{qo}=0\), and \(C_\textrm{qo}\) is independent of the sequence \((U_k)_{k\in {\mathbb N}_0}\). In this case, the constants \(C_\textrm{lin}, \rho _\textrm{lin}\) and \(C_\textrm{opt}\) in Theorem 2 are independent of \((U_k)_{k\in {\mathbb N}}\). In the general case, a compactness argument and a priori convergence \(\Vert u-u_k\Vert _{H^1(\varOmega )}\rightarrow 0\) as \(k\rightarrow \infty \) guarantee that \(C_\textrm{lin},C_\textrm{opt}>0\) and \(0<\rho _\textrm{lin}<1\) exist, but their size may depend on the possibly slow convergence in the preasymptotic regime of Algorithm 5.

Remark 23

Under the assumption that \(\Vert h_{k}\Vert _{L^\infty (\varOmega )}\rightarrow 0\) as \(k\rightarrow \infty \) (which can be easily guaranteed by marking additional elements), one can show that \(\mathbb {S}_\infty :=\overline{\bigcup _{k\in {\mathbb N}_0}\mathbb {S}_k}=H_0^1(\varOmega )\), see [105, Remark 2.7]. This allows to follow the ideas of [23] and to prove Theorem 2 if the bilinear form \(\langle \cdot \,;\,\cdot \rangle _\mathscr {P}\) is only elliptic up to some compact perturbation, provided that the continuous problem is well-posed. This includes, e.g., adaptive FEM for the Helmholtz equation. For details, the reader is referred to [23].

5.3 Abstract Adaptive BEM

This section summarizes the results of the recent own works [103, 106]. Given the setting of Sect. 3.3.2, we consider Algorithm 5 (with \(U_k\) replaced by \(\varPhi _k\)) in the context of conforming BEM discretizations of our model problem (27), i.e.,

$$\begin{aligned} \mathscr {V}\phi = f \end{aligned}$$

on a multi-patch geometry \(\varGamma \) as in Sect. 3.1, where adaptivity is driven by the weighted-residual a posteriori error estimator from (32), which reads

$$\begin{aligned} \eta (Q)^2:= h_Q \vert f-\mathscr {V}\varPhi \vert _{H^1(Q)}^2 \quad \text {for all } Q\in {\mathcal {Q}}\in \mathbb {Q}. \end{aligned}$$

We identify the crucial properties of the underlying meshes, the mesh refinement, and the boundary element spaces which ensure that the weighted-residual error estimator fits into the general framework of Sect. 5.1 and which hence guarantee optimal convergence behavior of the adaptive Algorithm 5 in the sense of Theorem 1. The main result of this section is Theorem 3.

5.3.1 Axioms of Adaptivity (Revisited)

Meshes Throughout this section, \({\mathcal {Q}}_{}\) is a mesh of the boundary \(\varGamma =\partial \varOmega \) of the bounded Lipschitz domain \(\varOmega \subset {\mathbb R}^d\) in the following sense:

  • \({\mathcal {Q}}_{}\) is a finite set of transformed hyperrectangles, i.e., each element Q has the form \(Q=\textbf{F}_m(\widehat{Q})\) for some \(\textbf{F}_m\) from Sect. 3.1, where \(\widehat{Q}=\prod _{i=1}^{d-1}(a_i,b_i)\) is an open \((d-1)\)-dimensional hyperrectangle;

  • for all \(Q,Q'\in {\mathcal {Q}}_{}\) with \(Q\ne Q'\), the intersection is empty, i.e., \(Q\cap Q'=\emptyset \);

  • \({\mathcal {Q}}_{}\) is a partition of \(\varGamma \), i.e., \(\varGamma = \bigcup _{Q\in {\mathcal {Q}}_{}}\overline{Q}\).

Let \(\mathbb {Q}\) be a set of such meshes. These are referred to as admissible. In order to ease notation, we introduce for \({\mathcal {Q}}_{}\in \mathbb {Q}\) the corresponding mesh-width function

$$\begin{aligned} h_{}\in L^\infty (\varGamma ), \,h_{}|_Q:=h_Q:=|Q|^{1/{(d-1)}}\text { for all }Q\in {\mathcal {Q}}_{}. \end{aligned}$$

For \(\omega \subseteq \varGamma \), we define the element-patches \(\pi _{}^q(\omega )\) of order \(q\in {\mathbb N}_0\) and the corresponding set of elements \(\varPi _{}^q(\omega )\) as in (62)–(63), and we also use the abbreviations from there. As in Sect. 5.2.1, we suppose that shape regularity (M1) and local quasi-uniformity (M2) are satisfied.

Mesh refinement We suppose that we are given a mesh refinement strategy \(\texttt{refine}(\cdot ,\cdot )\) as in Sect. 5.2.1. In particular, we suppose the existence of some initial mesh \({\mathcal {Q}}_0\) with \(\texttt{refine}({\mathcal {Q}}_0)=\mathbb {Q}\) and that the refinement axioms (R1)–(R3) hold true. Moreover, we even suppose a stronger version of (64), which ensures that there are only finitely many reference element-patches: For all \({\mathcal {Q}}_{}\in \mathbb {Q}\) and arbitrary marked elements \(\mathcal M_{}\subseteq {\mathcal {Q}}_{}\) with refinement \({\mathcal {Q}}_+\) \(:=\) \(\texttt{refine}({\mathcal {Q}}_{},\mathcal M_{})\), any refined element \(Q\in {\mathcal {Q}}_{}\setminus {\mathcal {Q}}_+\) can only be uniformly bisected in any direction, i.e., for any \(Q\in {\mathcal {Q}}_{}\), the corresponding element in the parametric domain \(\widehat{Q}=\prod _{i=1}^{d-1}(a_i,b_i)\) is split into elements in the parametric domain of the form

$$\begin{aligned} \widehat{Q}'=\prod _{i=1}^{d-1}(a_i',b_i') \text { with } a_i'=a_i+(b_i-a_i)k/n_{Q,i} \end{aligned}$$

for some \(n_{Q,i}\in {\mathbb N}\) and \(k\in \{1,\dots ,n_{Q,i}\}\). Here, \(n_{Q,i}-1\) is the number of (uniform) bisections in direction i. Note that (R1) yields boundedness of all \(n_{Q,i}\). This stronger version is used to prove the auxiliary results (74)–(75) below.

Boundary element spaces With each \({\mathcal {Q}}_{}\in \mathbb {Q}\), we associate a finite dimensional space

$$\begin{aligned} \mathbb {S}_{}\subset L^2(\varGamma )\subset H^{-1/2}(\varGamma ). \end{aligned}$$

Let \(\varPhi _{}\in \mathbb {S}_{}\) be the corresponding Galerkin approximation, defined via the variational formulation (30), to the solution \(\phi \in H^{-1/2}(\varGamma )\) of problem (27).

We assume that the same space properties (S1)–(S2) as in Sect. 5.2.1 hold true. Additionally, we assume a slightly stronger version of (S3): For all \({\mathcal {Q}}_{}\in \mathbb {Q}\) and all \(\mathcal {S}\subseteq {\mathcal {Q}}_{}\), there exists a linear operator \(J_{{}\mathcal {S}}:L^2(\varGamma )\rightarrow \big \{\varPsi _{}\in \mathbb {S}_{}\,:\,\varPsi _{}|_{\bigcup ({\mathcal {Q}}_{}\setminus \mathcal {S})}=0\big \}\) with the following property (S3’):

(S3’):

Local projection property. Let \(q_\textrm{loc}, q_\textrm{proj}\in {\mathbb N}_0\) from (S2). For all \(\psi \in L^2(\varGamma )\) and \(Q\in {\mathcal {Q}}_{}\) with \(\varPi _{}^{q_\textrm{loc}}(Q)\subseteq \mathcal {S}\), it holds that

$$\begin{aligned}&(J_{{}\mathcal {S}} \psi )|_Q = \psi |_Q\; \text {if }\psi |_{\pi _{}^{q_\textrm{proj}}(Q)} \in \big \{\varPsi _{}|_{\pi _{}^{{q_\textrm{proj}}}(Q)}\,:\,\varPsi _{}\in \mathbb {S}_{}\big \}. \end{aligned}$$

Clearly, (S3’) coincides with (S3) if \(\mathcal {S}={\mathcal {Q}}_{}\). In contrast to (S3), (S3’) provides a local projection operator that can be additionally used as cut-off operator, which somehow replaces (F2) in the proof of discrete reliability (E3), see [106, Sect. 4.8] for details.

Besides (S1)–(S2) and (S3’), we suppose the existence of constants \(C_\textrm{inv},C_\textrm{sz}>0\), \(\,q_\textrm{supp},q_\textrm{sz}\in {\mathbb N}_0\), and \(0<\rho _\textrm{unit}<1\) such that the following BEM properties (B1)–(B3) hold for all \({\mathcal {Q}}_{}\in \mathbb {Q}\):

(B1):

Inverse inequality: For all \(\varPsi _{}\in \mathbb {S}_{}\), it holds that

$$\begin{aligned} \Vert h_{}^{1/2}\varPsi _{}\Vert _{L^2(\varGamma )}\le C_\textrm{inv} \, \Vert \varPsi _{}\Vert _{H^{-1/2}(\varGamma )}. \end{aligned}$$
(B2):

Local approximation of unity: For all \(Q\in {\mathcal {Q}}_{}\), there exists \(\varPsi _{{}Q}\in \mathbb {S}_{}\) with \(Q\subseteq \textrm{supp}(\varPsi _{{}Q})\subseteq \pi _{}^{q_\textrm{supp}}(Q)\), and

$$\begin{aligned}&\Vert 1-\varPsi _{{}Q}\Vert _{L^2(\textrm{supp}(\varPsi _{{}Q}))} \le \rho _\textrm{unit}{|\textrm{supp}(\varPsi _{{}Q})|}^{1/2}. \end{aligned}$$
(B3):

Local \(\varvec{L^2}\)-stability. For all \(\psi \in L^2(\varGamma )\) and all \(Q\in {\mathcal {Q}}_{}\), it holds that

$$\begin{aligned} \Vert J_{{}\mathcal {S}} \psi \Vert _{L^2(Q)}\le C_\textrm{sz} \Vert \psi \Vert _{L^2(\pi _{}^{q_\textrm{sz}}(Q))}. \end{aligned}$$

5.3.2 Optimal Convergence

Recall the definition (55) of the approximation constant \(C_\textrm{apx}(s)\). With the definitions from Sect. 5.1.1, we say that the solution \(\phi \in H^{-1/2}(\varGamma )\) belongs to the approximation class s with respect to the estimator (32) if

$$\begin{aligned} C_\textrm{apx}(s)<\infty . \end{aligned}$$

By definition, \(C_\textrm{apx}(s)<\infty \) implies that the error estimator \(\eta _{}\) decays at least with rate \({\mathcal O}\big ((\#{\mathcal {Q}}_{})^{-s}\big )\) on the optimal meshes \({\mathcal {Q}}_{}\). The following main theorem from [106, Theorem 3.4] states that each possible rate \(s>0\) is in fact realized by Algorithm 5. We note that [106] even allows for systems of PDEs (such as the linear elasticity problem) with possibly complex coefficients. The theorem follows essentially from its abstract counterpart Theorem 1 by verifying the axioms of Sect. 5.1.3 for the perturbations

$$\begin{aligned} \textrm{d\!l}({\mathcal {Q}}_{},{\mathcal {Q}}_+):=\Vert \varPhi _+-\varPhi _{}\Vert _{H^{-1/2}(\varGamma )} \quad \text {for all } {\mathcal {Q}}_{}\in \mathbb {Q}\\ \text {and } {\mathcal {Q}}_{+}\in \texttt{refine}({\mathcal {Q}}_{}). \end{aligned}$$

Such an optimality result was first proved in [96] for the Laplace operator \(\mathscr {P}=-\varDelta \) on a polyhedral domain \(\varOmega \). As ansatz space, [96] considered piecewise constants on shape-regular triangulations. The work [90] in combination with [6] extends the assertion to piecewise polynomials on shape-regular curvilinear triangulations of some piecewise smooth boundary \(\varGamma \). Independently, [110] proved the same result for globally smooth \(\varGamma \) and a large class of symmetric and elliptic boundary integral operators.

Theorem 3

Let \(({\mathcal {Q}}_k)_{k\in {\mathbb N}_0}\) be the sequence of meshes generated by Algorithm 5 with the corresponding Galerkin approximations \(\varPhi _k\in \mathbb {S}_k\). Then, there hold:

  1. (i)

    Suppose that (M1)–(M2), (R1), and (B2) hold true. Then, the residual error estimator satisfies reliability, i.e., there exists \(C_\textrm{rel}>0\) such that for all \({\mathcal {Q}}_{}\in \mathbb {Q}\),

    $$\begin{aligned} \Vert \phi -\varPhi _{}\Vert _{H^{-1/2}(\varGamma )}\le C_\textrm{rel}\eta _{}. \end{aligned}$$
    (73)
  2. (ii)

    Suppose that (M1)–(M2), (R1), (S1) and (B1) hold true. Then, the axioms (E1)–(E2) and convergence of the perturbations \(\lim _{k\rightarrow \infty }\textrm{d\!l}({\mathcal {Q}}_k,{\mathcal {Q}}_{k+1})\) \(=\) 0 are satisfied. These are exactly the assumptions of Theorem 1 (i), which implies convergence (56) of the estimator.

  3. (iii)

    Suppose that (M1)–(M2), (R1), (S1) and (B1) hold true. Then, the axioms (E1)–(E4) are satisfied. These are exactly the assumptions of Theorem 1 (ii), which implies linear convergence (57) of the estimator.

  4. (iv)

    Suppose that (M1)–(M2), (R1)–(R3), (S1)–(S2), (S3’) and (B1)–(B3) hold true. Then, the axioms (E1)–(E3) as well as (R1)–(R3) are satisfied. These are exactly the assumptions of Theorem 1 (iii), which implies optimal convergence (58) of the estimator.

All involved constants \(C_\textrm{rel},C_\textrm{lin},\rho _\textrm{lin},\theta _\textrm{opt}\), and \(C_\textrm{opt}\) (of Theorem 1) depend only on the assumptions made and the dimension \(d\), the coefficients of the differential operator \(\mathscr {P}\), the boundary \(\varGamma \), and the parametrization constants \(C_{\textbf{F}_m}\) from Sect. 3.1, while \(C_\textrm{lin},\rho _\textrm{lin}\) depend additionally on \(\theta \) and the sequence \((\varPhi _k)_{k\in {\mathbb N}_0}\) (see also Remark 25), and \(C_\textrm{opt}\) depends furthermore on \(C_\textrm{min}\), and \(s>0\). The constant \(c_\textrm{opt}\) depends only on \(C_\textrm{child}, \#{\mathcal {Q}}_0\), s, and if there exists \(k_0\) with \(\eta _{k_0}=0\), then also on \(k_0\) and \(\eta _0\).

Proof

The proof is found in [106, Sect. 4]. Indeed, that work considers even more general meshes. It assumes additional abstract mesh and refinement properties (69) and (72), as in the FEM case, plus (74) and (75), which are automatically satisfied in our setting. We note that (69) and (72) follow along the lines of the proof of Theorem 2. Thus, in the remainder of the proof we only verify that (74) and (75) are satisfied.

Let \({\mathcal {Q}}_{}\in \mathbb {Q}\). The flattening assumption from Sect. 3.1.3, (M1)–(M2), (R1), and the assumption that each element can only be uniformly bisected in any direction imply that there exist only finitely many reference element-patches of elements. This shows that each element lies essentially in the center of its element-patch, i.e., thatFootnote 7

$$\begin{aligned} \textrm{diam}(Q)\lesssim \textrm{dist}(Q,\varGamma \setminus \pi _{}(Q))\quad {\text {for all }}Q\in {\mathcal {Q}}_{}; \end{aligned}$$
(74)

see [103, Sect. 5.5.4] for details. Similarly, one sees that there exist only finitely many reference element-patches of points. This implies for all points \(\textbf{z}\in \varGamma \) and \(v\in H^1(\varGamma )\) the following Poincaré-type inequality

$$\begin{aligned} |v|_{H^{1/2}(\pi _{{}}(\{{\textbf{z}}\}))}\lesssim \textrm{diam}({\pi }_{{}}(\{{\textbf{z}}\}))^{1/2}| v|_{H^{1}(\pi _{{}}(\{{\textbf{z}}\}))}, \end{aligned}$$
(75)

see [103, Sect. 5.5.4].\(\square \)

Remark 24

In contrast to FEM, an efficiency result analogous to (68) for the weighted-residual error estimator \(\eta _{}\) is an open question. Indeed, [7] is the only available result in the literature. However, [7] is restricted to the two dimensional case \(\varOmega \subset {\mathbb R}^2\) with piecewise constant ansatz functions. Moreover, additional (regularity) assumptions on the right-hand side f are required. More precisely, it then holds that

$$\begin{aligned} \eta \lesssim \Vert h^{1/2} (\phi -\varPhi )\Vert _{H^{-1/2}(\varGamma )} + \textrm{osc} \end{aligned}$$

with some higher order oscillation term \(\textrm{osc}\).

We also mention that [6] proves a so-called weak efficiency of the weighted-residual estimator, which states that

$$\begin{aligned} \eta \lesssim \Vert h^{1/2} (\phi -\varPhi )\Vert _{L^2(\varGamma )} \end{aligned}$$

provided that the sought solution has additional regularity \(\phi \in L^2(\varGamma )\).

Remark 25

As in Remark 22, we mention that only general quasi-orthogonality (E4) depends on the sequence \((\varPhi _k)_{k\in {\mathbb N}_0}\). Along the same lines, one sees that this dependence vanishes if the bilinear form \(\langle \mathscr {V}\,\cdot \,;\,\cdot \rangle \) is symmetric.

Remark 26

Let \(\varGamma _0\subsetneqq \varGamma \) be an open subset of \(\varGamma =\partial \varOmega \) and let \(\mathscr {E}_0:L^2(\varGamma _0)\rightarrow L^2(\varGamma )\) denote the extension operator that extends a function defined on \(\varGamma _0\) by zero to a function on \(\varGamma \). We define the space of restrictions \(H^{1/2}(\varGamma _0):=\big \{v|_{\varGamma _0}\,:\,v\in H^{1/2}(\varGamma )\big \}\) endowed with the quotient norm \(v_0\mapsto \inf \big \{\Vert v\Vert _{H^{1/2}(\varGamma )}\,:\,v|_{\varGamma _0}=v_0\big \}\) and its dual space \(\widetilde{H}^{-1/2}(\varGamma _0):= H^{1/2}(\varGamma _0)^*\). According to [6, Sect. 2.1], \(\mathscr {E}_0\) can be extended to an isometric operator \(\mathscr {E}_0:\widetilde{H}^{-1/2}(\varGamma _0)\rightarrow H^{-1/2}(\varGamma )\). Then, one can consider the integral equation

$$\begin{aligned} (\mathscr {V}\mathscr {E}_0\phi )|_{\varGamma _0}=f|_{\varGamma _0}, \end{aligned}$$
(76)

where \((\mathscr {V}\mathscr {E}_0(\cdot ))|_{\varGamma _0}:\widetilde{H}^{-1/2}(\varGamma _0)\rightarrow H^{1/2}(\varGamma _0)\). In the literature, such problems are known as screen problems, see, e.g., [185, Sect. 3.5.3]. Theorem 3 holds analogously for the screen problem (76). Indeed, the works [6, 90, 96, 110] cover this case as well. To ease the presentation, we only focus on closed boundaries \(\varGamma =\partial \varOmega \).

Remark 27

Let us additionally assume that \(\mathbb {S}_{}\) contains all constant functions, i.e.,

$$\begin{aligned} (\textbf{x}\mapsto c)\in \mathbb {S}_{}\quad \text {for all }c\in {\mathbb R}. \end{aligned}$$

Then, under the assumption that \(\Vert h_{k}\Vert _{L^\infty (\varOmega )}\rightarrow 0\) as \(k\rightarrow \infty \) (which can be easily guaranteed by marking additional elements), one can show that \(\mathbb {S}_\infty :=\overline{\bigcup _{k\in {\mathbb N}_0}\mathbb {S}_k}\) \(=H^{-1/2}(\varGamma )\), see [103, Remark 5.2.9]. This observation allows to follow the ideas of [23] and to prove Theorem 3 even if the bilinear form \(\langle \mathscr {V}\,\cdot \,;\,\cdot \rangle \) is only elliptic up to some compact perturbation, provided that the continuous problem is well-posed. This includes, e.g., adaptive BEM for the Helmhotz equation, see [199, Sect. 6.9]. For details, the reader is referred to [22, 23].

6 Adaptive IGAFEM in Arbitrary Dimension

In this section, we consider two concrete realizations of the abstract adaptive FEM framework from Sect. 5.2, namely hierarchical splines in Sect. 6.1 and T-splines in Sect. 6.2. To ease the presentation, we focus on single-patch Lipschitz domains \(\varOmega \subset {\mathbb R}^d\) as in Sect. 3.1. For hierarchical splines, the generalization to multi-patch domains is notationally more involved but straightforward and will thus only be sketched in Sect. 6.1.5, where we comment on the minor changes in the proof. Instead, for T-splines, since the direction of bisection on admissible T-meshes is periodically changed, one cannot avoid hanging nodes at the interfaces of multi-patch domains as in Sect. 6.1.5. This complicates the generalization for T-splines. Indeed, such a generalization is not available yet. For hierarchical splines, the theoretical findings are underlined by numerical experiments in Sect. 6.1.6. For numerical experiments with T-splines and the considered refinement strategy, we refer to [119]. As in Sect. 3.2, in the following we restrict ourselves to the case \({\widehat{d}}= d\), i.e., a d-dimensional domain \(\varOmega \subset \mathbb {R}^d\).

6.1 Adaptive IGAFEM with Hierarchical Splines

For the IGAFEM setting with hierarchical B-splines, we start with the single-patch domain. Let \(\textbf {p}:=(p_1,\dots ,p_d)\) be a vector of positive polynomial degrees and \(\textbf {T}^0\) be a multivariate open knot vector on \(\widehat{\varOmega }=(0,1)^d\) with induced initial mesh \(\widehat{{\mathcal {Q}}}_0:=\widehat{{\mathcal {Q}}}^0\). We assume that \(\widehat{\mathbb {S}}_{\textbf{p}} (\textbf {T}^0)\) and \(\widehat{\mathbb {S}}_{\textbf{p}_{\textbf{F}}} (\textbf{T}_{\textbf{F}})\) with \(\textbf{p}_\textbf{F}\) and \(\textbf{T}_\textbf{F}\) from the parametrization \(\textbf{F}:\widehat{\varOmega }\rightarrow \varOmega \) (see Sect. 3.1) are compatible to each other as in Sect. 3.2.2. Note that \(\widehat{\mathbb {S}}_{\textbf{p}} (\textbf {T}^0)=\widehat{\mathbb {S}}_{\textbf{p}}^\textrm{H}(\widehat{{\mathcal {Q}}}_{0},\textbf{T}^0)\), i.e., the starting space corresponds to standard B-splines. We fix the admissibility parameter \(\mu \) (see (38)) as well as the basis and the kind of meshes that we want to consider, i.e., \({\mathcal H}\)-admissible or \({\mathcal T}\)-admissible meshes, and abbreviate the set of all corresponding admissible meshes as \(\widehat{\mathbb {Q}}\) and the corresponding refinement strategy as \(\texttt{refine}(\cdot ,\cdot )\), see Sect. 4.1.3. For all \(\widehat{{\mathcal {Q}}}_{}\in \widehat{\mathbb {Q}}\), let \(\widehat{\mathbb {S}}_{}:=\widehat{\mathbb {S}}_\textbf{p}^\textrm{H}(\widehat{{\mathcal {Q}}}_{},\textbf {T}^{0})\cap H_0^1(\widehat{\varOmega })\) be the associated ansatz space in the parametric domain, see Sect. 4.1.1. As in Sect. 3, we define the corresponding quantities in the physical domain via the parametrization \(\textbf{F}:\widehat{\varOmega }\rightarrow \varOmega \), i.e., the meshes are given by

$$\begin{aligned}&{\mathcal {Q}}_{}:=\big \{\textbf{F}(\widehat{Q})\,:\,\widehat{Q}\in \widehat{{\mathcal {Q}}}_{}\big \}\quad \text {for all }\widehat{{\mathcal {Q}}}_{}\in \widehat{\mathbb {Q}}, \\&\mathbb {Q}:=\big \{{\mathcal {Q}}_{}\,:\,\widehat{{\mathcal {Q}}}_{}\in \widehat{\mathbb {Q}}\big \}, \\&\texttt{refine}({\mathcal {Q}}_{},\mathcal M_{}):=\big \{\textbf{F}(\widehat{Q})\,:\,\widehat{Q}\in \texttt{refine}(\widehat{{\mathcal {Q}}}_{}, \widehat{\mathcal M}_{})\big \} \\&\qquad \text {for all }{\mathcal {Q}}_{}\in \mathbb {Q}, \mathcal M_{}\subseteq {\mathcal {Q}}_{}\\&\qquad \text {with }\widehat{\mathcal M}_{}:=\big \{\textbf{F}^{-1}(Q)\,:\,Q\in {\mathcal {Q}}_{}\big \}, \end{aligned}$$

and the discrete space associated to \({\mathcal {Q}}_{}\) is defined as

$$\begin{aligned}&\mathbb {S}_{}:=\big \{\widehat{V}\circ \textbf{F}^{-1}\,:\,\widehat{V}\in \widehat{\mathbb {S}}_{}\big \}. \end{aligned}$$

In the following lemma, we give two bases in terms of (T)HB-splines for \(\widehat{\mathbb {S}}_{}\). The proof is given in [105, Corollary 3.1] and relies on the fact that HB-splines restricted to any \((d-1)\)-dimensional hyperface of the unit cube are again HB-splines. Clearly, these bases can be transferred to the physical domain via the parametrization \(\textbf{F}\). We stress that the chosen basis is theoretically irrelevant for the realization of Algorithm 5 (in particular for the solving step), see also Sect. 6.1.6 for a detailed discussion.

Lemma 3

Let \(\widehat{{\mathcal {Q}}}_{}\) be a hierarchical (not necessarily admissible) mesh in the parametric domain. Then, the hierarchical B-splines \(\widehat{{\mathcal H}}_\textbf{p}(\widehat{\mathcal {Q}},\textbf {T}^{0})\cap H_0^1(\widehat{\varOmega })\) and the truncated hierarchical B-splines \(\widehat{{\mathcal T}}_\textbf{p}(\widehat{\mathcal {Q}},\textbf {T}^{0})\cap H_0^1(\widehat{\varOmega })\) are both bases of \(\widehat{\mathbb {S}}_{}\).

The given setting fits into the abstract framework of Sect. 5.2, and in particular the axioms for abstract adaptive FEM are satisfied, as we will see in Theorem 4 below. For \({\mathcal T}\)-admissible meshes, the proof of this result is implicitly given in [46, 47]. Independently, the theorem has been proved for \({\mathcal H}\)-admissible meshes of class \(\mu =2\) in [105], see also [103, Sect. 4.4–4.5] for details. We also stress that the last assertion (77) of the theorem is new. It states that the approximation class with respect to the minimal total error and admissible hierarchical meshes defined in (66) is equivalent to the one with arbitrary hierarchical meshes. In particular, the approximation class does neither depend on whether \({\mathcal H}\)-admissible or \({\mathcal T}\)-admissible meshes are considered nor on the admissibility parameter \(\mu \). For its formulation, we set for \(s>0\)

$$\begin{aligned} \nonumber C_\textrm{apx}^\textrm{tot,H}(s)&:= \sup _{N\ge \#{\mathcal {Q}}_0} \min _{{\mathcal {Q}}_{}\in \mathbb {Q}^\textrm{H}(N)}\big (N^s\inf _{V_{}\in \mathbb {S}_{}}\big (\Vert u-V_{}\Vert _{H^1(\varOmega )}+\textrm{osc}_{}(V_{})\big )\big ). \end{aligned}$$

with

$$\begin{aligned} \mathbb {Q}^\textrm{H}(N):=\big \{{\mathcal {Q}}_{{}}\text { hier.\ mesh}\,:\,\#{\mathcal {Q}}_{{}}\le N\big \}\supseteq \mathbb {Q}(N), \end{aligned}$$

where \(\mathbb {Q}(N):=\big \{{\mathcal {Q}}_{{}}\in \mathbb {Q}\,:\,\#{\mathcal {Q}}_{{}}\le N\big \}\). Here, we say that \({\mathcal {Q}}_{{}}\) is a hierarchical mesh if the corresponding set \(\widehat{{\mathcal {Q}}}_{}\) defined via \(\textbf{F}\) is a hierarchical mesh in the parametric domain obtained by arbitrary bisections of the initial mesh \(\widehat{{\mathcal {Q}}}_0\). We also note that \(\mathbb {S}_{}\) as well as \(\textrm{osc}_{}\) have actually only been defined for admissible meshes, but the definitions can be extended in an obvious way.

Theorem 4

Hierarchical splines on admissible meshes satisfy the mesh properties (M1)–(M2), the refinement properties (R1)–(R3), and the space properties (S1)–(S3) and (F1)–(F3). The involved constants depend only on the dimension \(d\), the parametrization constant \(C_\textbf{F}\) of Sect. 3.1, the degree \(\textbf {p}\), the initial knot vector \(\textbf{T}^0\), and the admissibility parameter \(\mu \). In particular, Theorem 2 is applicable. Together with Theorem 1, this yields reliability (67), efficiency (68), and linear convergence at optimal rate (57)–(58) of the residual error estimator (23), when the adaptive Algorithm 5 is employed. Moreover, for all \(s>0\), there exists \(C_\textrm{opt}'>0\) depending only on \(C_\textrm{clos}\) from (R2) (and thus in particular on \(\mu \)) and s such that

$$\begin{aligned} C_\textrm{apx}^\textrm{tot,H}(s)\le C_\textrm{apx}^\textrm{tot}(s) \le C_\textrm{opt}' C_\textrm{apx}^\textrm{tot,H}(s). \end{aligned}$$
(77)

The proof of Theorem 4 is split over Sect. 6.1.16.1.4, and it relies mostly on the properties that we have already introduced in Sect. 4.1. Sections 6.1.16.1.3 respectively focus on the verification of the mesh properties (M1)–(M2), the refinement properties  (R1)–(R3), and the space properties (S1)–(S3) and (F1)–(F3), while Sect. 6.1.4 provides the equivalence (77) of the approximation classes.

Remark 28

While (77) states that the approximation class is independent of the admissibility class of the mesh, it clearly depends on the degree \(\textbf{p}\) of the space \(\mathbb {S}\). An interesting question arises: does the approximation class depend on the continuity of the splines in \(\mathbb {S}\)? In [25] it is proved that the approximation classes are equivalent for \(C^0\) finite elements and discontinuous Galerkin methods. We will show in a numerical test in Sect. 6.1.6 that the same does not hold true for high continuity splines if elements are refined by bisection: for certain functions, the order of the approximation class to which they belong decreases when we increase the continuity.

Remark 29

We also mention that the works [32, 126] have recently proposed local multilevel preconditioners for the stiffness matrix of symmetric problems which lead to uniformly bounded condition numbers on admissible hierarchical meshes, see also Sect. 6.1.6 for some details. An important consequence is that the corresponding PCG solver is uniformly contractive. It has recently been proved in [104] that such a contraction is the key to prove that an adaptive algorithm which steers mesh refinement and an inexact PCG solver leads to optimal convergence not only with respect to the number of elements but also with respect to the overall computational cost (i.e., computational time).

6.1.1 Mesh properties

Shape regularity (M1) is trivially satisfied in the parametric domain, since each refined element is uniformly bisected in each direction. Due to the regularity of the parametrization \(\textbf{F}\) of Sect. 3.1, the property transfers to the physical domain.

Local quasi-uniformity (M2) in the parametric domain follows from Corollary 1. Again, the regularity of the parametrization guarantees the property also in the physical domain.

6.1.2 Refinement Properties

The child estimate (R1) is trivially satisfied with \(C_\textrm{child}=2^d\), since each refined element in the parametric domain is uniformly bisected in each direction. The closure estimate (R2) is just the assertion of Proposition 8.

According to [49, Sect. 2.2] (in the case of \({\mathcal T}\)-admissible meshes) and [164, Sect. 3.1.4] (in the case of \({\mathcal H}\)-admissible), the overlay

$$\begin{aligned} \widehat{\mathcal {Q}}_+:=&\big \{\widehat{Q}\in \widehat{\mathcal {Q}}_{}\,:\,\exists \widehat{Q}'\in \widehat{\mathcal {Q}}_\times \text { with }\widehat{Q}\subseteq \widehat{Q}'\big \}\\&\cup \big \{\widehat{Q}'\in \widehat{\mathcal {Q}}_\times \,:\,\exists \widehat{Q}\in \widehat{\mathcal {Q}}_{}\text { with }\widehat{Q}'\subseteq \widehat{Q}\big \} \end{aligned}$$

of two admissible meshes \(\widehat{{\mathcal {Q}}}_{},\widehat{{\mathcal {Q}}}_\times \) in the parametric domain is again admissible (of the same class). Obviously, this property immediately transfers to the physical domain. For \({\mathcal H}\)-admissible meshes of class \(\mu =2\), this result is also found in [105, Sect. 5.5]. Clearly, the resulting mesh \({\mathcal {Q}}_+\) in the physical domain satisfies the overlay property (R3).

6.1.3 Space Properties

Nestedness Nestedness (S1) follows immediately from Proposition 3. The inverse inequality (F1) in the parametric domain follows easily via standard scaling arguments, since each hierarchical spline is a polynomial of fixed degree \(\textbf {p}\) on each mesh element, see Proposition 3 (iv). Due to the regularity of the parametrization \(\textbf{F}\) of Sect. 3.1, this property transfers to the physical domain.

Local domain of definition We start with an auxiliary result about element-patches.

Lemma 4

Let \(k_1, k_2 \in {\mathbb N}_0\), and let \(Q, Q' \in {\mathcal {Q}}\) be such that \(Q' \in {\mathcal {Q}}\setminus \varPi ^{k_1 + k_2}(Q)\). Then, \(\varPi ^{k_1}(Q') \subseteq {\mathcal {Q}}\setminus \varPi ^{k_2}(Q)\).

Proof

By contradiction, let us assume that there exists \(Q'' \in \varPi ^{k_1}(Q')\) such that \(Q'' \in \varPi ^{k_2}(Q)\). By the definition of element-patches, it is clear that \(Q' \in \varPi ^{k_1}(Q'')\). Moreover, for any \(k, k' \in {\mathbb N}_0\), it holds that \(\varPi ^{k + k'}(Q) = \varPi ^{k}(\varPi ^{k'}(Q))\), and therefore \(Q' \in \varPi ^{k_1+k_2}(Q)\), which contradicts the hypothesis. \(\square \)

It suffices to prove (S2) in the parametric domain. Let \(\widehat{{\mathcal {Q}}}_{}\in \widehat{\mathbb {Q}}\) and \(\widehat{{\mathcal {Q}}}_+\in \texttt{refine}(\widehat{{\mathcal {Q}}}_{})\), and let us recall from (43) the set \(\mathcal{I}_{\widehat{{\mathcal {Q}}}_+}^{\ell ,{\text{new}}}\) of indices associated to new functions of level \(\ell \) as well as the related sets \({\widehat{\mathcal R}_+}, \widehat{\varOmega }_{\widehat{\mathcal R}_+}\), and \(\widehat{\varOmega }_{\widehat{\mathcal Q}_{}}\) from (44). We now introduce the subdomain formed by the support of their mother functions, namely

$$\begin{aligned} \widehat{\varOmega }_{+}^\textrm{new} := \bigcup \left\{ \textrm{supp}(\mathop {\textrm {mot}}(\widehat{T}_{+,\textbf{i},\textbf{p}}^\ell )) : \textbf{i} \in \mathcal{I}_{\widehat{{\mathcal {Q}}}_+}^{\ell ,{\text{new}}} , \right. \\ \ell = 0, \ldots , N_+-1 \Big \}, \end{aligned}$$

with \(\widehat{\varOmega }_{\widehat{\mathcal R}_+} \subseteq \widehat{\varOmega }^\textrm{new}_{+}\).

We first show that there exists \(q_1 \in \mathbb {N}\) depending on the degree \(\textbf {p}\) and the admissibility class \(\mu \) such that \(\widehat{\varOmega }_{\widehat{\mathcal R}_+} \subseteq \widehat{\varOmega }^\textrm{new}_{+} \subseteq \pi _{}^{q_1}(\widehat{{\mathcal {Q}}}_{}\setminus \widehat{{\mathcal {Q}}}_+)\): Note that any function \(\widehat{T}_{+,\textbf{i},\textbf{p}}^\ell \) as in the definition of \(\widehat{\varOmega }_{+}^\textrm{new}\) was activated during refinement, hence the support of its mother function must intersect an element in the refined region \(\widehat{Q}'\in \widehat{{\mathcal {Q}}}_{}\setminus \widehat{{\mathcal {Q}}}_+\) with level \(\ell ' < \ell \). Then, any element \(\widehat{Q}'' \in \widehat{{\mathcal {Q}}}_{}\cap \widehat{{\mathcal {Q}}}_+\) with \(\widehat{Q}''\cap \textrm{supp}(\mathop {\textrm {mot}}(\widehat{T}_{+,\textbf{i},\textbf{p}}^\ell ))\ne \emptyset \) has obviously level \(\ell '' > \ell \). The fact that \(\widehat{{\mathcal {Q}}}_{}\in \widehat{\mathbb {Q}}\) and Proposition 6 yield that \(\ell '' \le \ell ' + \mu -1\). We conclude that all elements in \(\widehat{{\mathcal {Q}}}_{}\cap \widehat{{\mathcal {Q}}}_+\) intersecting \(\textrm{supp}(\widehat{T}_{+,\textbf{i},\textbf{p}}^\ell )\) have comparable level, which gives the desired result.

This implies that \(\widehat{Q} \subseteq \overline{\widehat{\varOmega } \setminus \widehat{\varOmega }_{\widehat{\mathcal R}_+}} = \widehat{\varOmega }_{\widehat{\mathcal Q}_{}}\) for any \(\widehat{Q} \in \widehat{{\mathcal {Q}}}_{}\setminus \varPi _{}^{q_1}(\widehat{{\mathcal {Q}}}_{}\setminus \widehat{{\mathcal {Q}}}_+)\), and by Corollary 3 (which can be proved along the same lines for the current case of homogeneous Dirichlet boundary conditions, see also (78) below), (S2) holds with \(q_\textrm{loc} = q_1\) and \(q_\textrm{proj} = 0\). In fact, we see from Lemma 4 that property (S2) holds for any given \(q_\textrm{proj} \in {\mathbb N}\), with \(q_\textrm{loc} = q_\textrm{proj} + q_1\).

Scott–Zhang-type operator Due to the regularity of the parametrization \(\textbf{F}\) of Sect. 3.1, it is sufficient to provide for all \(\widehat{{\mathcal {Q}}}_{}\in \widehat{\mathbb {Q}}\) an operator \(\widehat{J}_{}:H_0^1(\widehat{\varOmega })\rightarrow \widehat{\mathbb {S}}_{}\) with the properties (S3), (F2)–(F3) in the parametric domain. We define this operator similarly as \(\widehat{J}_{\textbf {p},\widehat{\mathcal {Q}}}^{\,\textrm H}\) of Sect. 4.1.4, but now have to take into account the homogeneous boundary conditions

$$\begin{aligned} \widehat{J}_{}:\,&H_0^1(\widehat{\varOmega })\rightarrow \widehat{\mathbb {S}}_{},\quad \widehat{v}\mapsto \sum _{\ell =0}^{N_{}-1} \sum _{\textbf{i}\in \widetilde{\mathcal{I}}_{}^\ell } \widehat{\lambda }_{\textbf{i},\textbf{p}}^\ell (\widehat{v}) \widehat{T}_{{}\textbf{i},\textbf{p}}^\ell , \end{aligned}$$
(78)

where

$$\begin{aligned} \widetilde{\mathcal{I}}_{}^\ell := \left\{ \textbf{i}: \widehat{B}_{\textbf{i},\textbf{p}}^\ell \in \widehat{\mathcal{B}}^\ell \cap \widehat{\mathcal{H}}_\textbf{p}(\widehat{{\mathcal {Q}}}_{},\textbf{T}^0)\cap H_0^1(\widehat{\varOmega })\right\} , \end{aligned}$$

\(\widehat{B}_{\textbf{i},\textbf{p}}^\ell \) is the mother B-spline of the THB-spline \(\widehat{T}_{{}\textbf{i},\textbf{p}}^\ell \) (see (36)), and \(\widehat{\lambda }_{\textbf{i},\textbf{p}}^\ell \) is the corresponding dual functional from Sect. 2.2.2.

We have seen in Proposition 10 that \({S}_\textrm{ext}^*(\widehat{Q})\) is connected and the number of contained elements is uniformly bounded. In particular, this yields the existence of a uniform constant \(q_2\in {\mathbb N}\) such that for any element \(\widehat{Q}\in \widehat{{\mathcal {Q}}}_{}\) of level \(\ell \),

$$\begin{aligned} {S}_\textrm{ext}^*(\widehat{Q})\subseteq \pi _{}^{q_2}(\widehat{Q}), \end{aligned}$$
(79)

With Corollary 2, this immediately gives (S3).

Moreover, the local \(L^2\)-stability of Proposition 11 is also valid for \(\widehat{J}_{}\), see [48]. Together with the local projection property (S3) and the inverse inequality (F1), the Poincaré (for elements away from the boundary) as well as the Friedrichs inequality (for elements close to the boundary) readily imply for all \(\widehat{v}\in H_0^1(\widehat{\varOmega })\) and \(\widehat{Q}\in \widehat{{\mathcal {Q}}}_{}\) that

$$\begin{aligned} \Vert (1-\widehat{J}_{})\widehat{v}\Vert _{L^2(\widehat{Q})}&\lesssim |\widehat{Q}|^{1/d}\,\Vert \widehat{v}\Vert _{H^1({S}_\textrm{ext}^*(\widehat{Q}))}\\ \Vert \nabla \widehat{J}_{}\widehat{v}\Vert _{L^2(\widehat{Q})}&\lesssim \Vert \widehat{v}\Vert _{H^1({S}_\textrm{ext}^*(\widehat{Q}))}, \end{aligned}$$

see [48] or [105, Sect. 5.10] for details. We conclude (F2)–(F3) with \(q_\textrm{sz}=q_2\).

6.1.4 Equivalence of Approximation Classes

The assertion (77) follows easily from the closure estimate (R2) and the fact that the minimal total error decreases when the underlying mesh is refined, which itself is an immediate consequence of the nestedness property in Proposition 3(iii). In the following, we elaborate ideas from [79, Appendix C], where a similar assertion on triangular meshes is proved: Since \(\mathbb {Q}(N)\subseteq \mathbb {Q}^\textrm{H}(N)\) and hence \(C_\textrm{apx}^\textrm{tot,H}(s)\le C_\textrm{apx}^\textrm{tot}(s)\), we only have to prove the second inequality in (77). For any given mesh \({\mathcal {Q}}_{}\), we abbreviate the considered error quantity

$$\begin{aligned} \varrho := \inf _{V_{}\in \mathbb {S}_{}}\big (\Vert u-V_{}\Vert _{H^1(\varOmega )}+\textrm{osc}_{}(V_{})\big ). \end{aligned}$$

Clearly, it holds that

$$\begin{aligned} \varrho _+\le \varrho \quad \text {for all }{\mathcal {Q}}_{+}\in \texttt{refine}({\mathcal {Q}}_{}). \end{aligned}$$

Let \(N\in {\mathbb N}_0\) be arbitrary and \({\mathcal {Q}}_\star \in \mathbb {Q}^\textrm{H}(N)\) with \(\varrho _\star = \min _{{\mathcal {Q}}\in \mathbb {Q}^\textrm{H}(N)} \varrho \). The mesh \({\mathcal {Q}}_\star \) results from the initial mesh \({\mathcal {Q}}_0\) via bisecting a sequence of marked elements \((\mathcal M_j)_{j=0}^{k-1}\). We define a sequence of associated admissible meshes via \({\mathcal {Q}}_j:=\texttt{refine}({\mathcal {Q}}_{j-1},\mathcal M_{j-1}\cap {\mathcal {Q}}_{j-1})\) for \(j=1,\dots ,k\), and we define \(\overline{{\mathcal {Q}}}_\star :={\mathcal {Q}}_k\), usually called the admissible closure of \({\mathcal {Q}}_\star \). Indeed, \(\overline{{\mathcal {Q}}}_\star \) is finer than \({\mathcal {Q}}_\star \) and hence \(\#{\mathcal {Q}}_{}\le \#\overline{{\mathcal {Q}}}_\star \). The closure estimate (R2) shows that

$$\begin{aligned} \# \overline{{\mathcal {Q}}}_\star -\#{\mathcal {Q}}_0 \lesssim \sum _{j=0}^{k-1} \# (\mathcal M_j\cap {\mathcal {Q}}_j)&\le \sum _{j=0}^{k-1} \# \mathcal M_j \lesssim \# {\mathcal {Q}}_\star - \#{\mathcal {Q}}_0. \end{aligned}$$

For \({\mathcal {Q}}_\star \ne {\mathcal {Q}}_0\), this implies that \( \# \overline{{\mathcal {Q}}}_\star \simeq \# {\mathcal {Q}}_\star \) and thus \(\#\overline{{\mathcal {Q}}}_\star \le C N\) for some uniform constant \(C>0\). It holds that

$$\begin{aligned} \min _{{\mathcal {Q}}\in \mathbb {Q}(CN)} \big ((CN)^s \varrho \big ) \le (CN)^s \overline{\varrho }_\star \le C^s N^s \varrho _\star \le C^s C_\textrm{apx}^\textrm{tot,H}(s). \end{aligned}$$

Finally, elementary estimation yields for arbitrary \(M\in {\mathbb N}_0\) and \(N:=\lfloor M/C\rfloor \) that

$$\begin{aligned} \min _{{\mathcal {Q}}\in \mathbb {Q}(M)}(M^s\varrho ) \lesssim \min _{{\mathcal {Q}}\in \mathbb {Q}(CN)} \big ((CN)^s \varrho \big ) \lesssim C_\textrm{apx}^\textrm{tot, H}(s). \end{aligned}$$

Taking the supremum over all \(M\in {\mathbb N}_0\), we conclude the proof of (77).

6.1.5 Extension to Multi-patch Domains

Let now \(\varOmega \) be a multi-patch domain as in Sect. 3.1.2. For each \(m=1,\dots ,M\), let \(\textbf {p}_m\) be a vector of positive polynomial degrees and \(\textbf {T}^0_m\) be a multivariate open knot vector on \(\widehat{\varOmega }=(0,1)^d\) with induced initial mesh \(\widehat{{\mathcal {Q}}}_{0,m}:=\widehat{{\mathcal {Q}}}^0_m\). We assume that \(\widehat{\mathbb {S}}_{\textbf{p}_m} (\textbf {T}^0_m)\) and \(\widehat{\mathbb {S}}_{\textbf{p}_{\textbf{F}_m}} (\textbf{T}_{\textbf{F}_m})\) with \(\textbf{p}_{\textbf{F}_m}\) and \(\textbf{T}_{\textbf{F}_m}\) from the parametrization \(\textbf{F}_m:\widehat{\varOmega }\rightarrow \varOmega _m\) (see Sect. 3.1.2) are compatible to each other as in Sect. 3.2.2. Note that \(\widehat{\mathbb {S}}_{\textbf{p}_m} (\textbf {T}^0_m)=\widehat{\mathbb {S}}^\textrm{H}_{\textbf{p}_m}(\widehat{{\mathcal {Q}}}_{0,m},\textbf{T}_m^0)\). Moreover, we assume that \(\textbf {p}_m\) and \(\textbf {T}^0_m\) satisfy the compatibility condition (P2’) of Sect. 3.2.2. We fix the admissibility parameter \(\mu \) (see (38)) as well as the basis and the kind of meshes that we want to consider, i.e., \(\mathcal{H}\)-admissible or \(\mathcal{T}\)-admissible meshes, and abbreviate for each \(m=1,\dots ,M\) the set of all corresponding admissible meshes as \(\widehat{\mathbb {Q}}_m\), see Sect. 4.1.3. Moreover, we abbreviate \(\mathbb {Q}_m:=\big \{{\mathcal {Q}}_{{}m}\,:\,\widehat{{\mathcal {Q}}}_{{}m}\in \widehat{\mathbb {Q}}_m\big \}\) with \({\mathcal {Q}}_{{}m}:=\big \{\textbf{F}_m(\widehat{Q})\,:\,\widehat{Q}\in \widehat{{\mathcal {Q}}}_{{}m}\big \}\). We define the set of all admissible meshes \(\mathbb {Q}\) as the set of all

$$\begin{aligned} {\mathcal {Q}}_{}=\bigcup _{m=1}^M {\mathcal {Q}}_{{}m} \text { with } {\mathcal {Q}}_{{}m}\in \mathbb {Q}_m \end{aligned}$$

such that there are no hanging nodes on any interface \(\varGamma _{m,m'}=\overline{ \varOmega _m} \cap \overline{\varOmega _{m'}}\) with \(m\ne m'\), see also (P1) of Sect. 3.1.2.

For \({\mathcal {Q}}_{}\in \mathbb {Q}\), the associated ansatz space is defined as

$$\begin{aligned} \begin{aligned} \mathbb {S}_{}:=\widetilde{\mathbb {S}}_{}\cap H_0^1(\varOmega ), \end{aligned} \end{aligned}$$

where the multi-patch space without boundary conditions is

$$\begin{aligned} \widetilde{\mathbb {S}}_{}:=\big \{ V \in C^0(\varOmega ) : V|_{\varOmega _m} \in {\mathbb {S}}^\textrm{H}_{\textbf{p}_m}(\widehat{{\mathcal {Q}}}_{{}m},\textbf{T}_m^0), \text { for } m = 1, \ldots , M\big \}, \end{aligned}$$

with the space of hierarchical splines on each patch

$$\begin{aligned} {\mathbb {S}}^\textrm{H}_{\textbf{p}_m}(\widehat{{\mathcal {Q}}}_{{}m},\textbf{T}_m^0):=\big \{\widehat{V}\circ \textbf{F}_m^{-1}\,:\,\widehat{V}\in \widehat{\mathbb {S}}^\textrm{H}_{\textbf{p}_m}(\widehat{{\mathcal {Q}}}_{{}m},\textbf{T}_m^0)\big \}. \end{aligned}$$

To obtain bases of the space \(\mathbb {S}_{}\), we first define

$$\begin{aligned} {\mathcal H}_{\textbf{p}_m}(\widehat{{\mathcal {Q}}}_{{}m},\textbf {T}^{0}_m)&:=\big \{ \widehat{\beta }\circ \textbf{F}_m^{-1}\,:\,\widehat{\beta }\in \widehat{{\mathcal H}}_{\textbf{p}_m}(\widehat{{\mathcal {Q}}}_{{}m},\textbf {T}^{0}_m)\big \},\\ {\mathcal T}_{\textbf{p}_m}(\widehat{{\mathcal {Q}}}_{{}m},\textbf {T}^{0}_m)&:=\big \{\widehat{\tau }\circ \textbf{F}_m^{-1}\,:\,\widehat{\tau }\in \widehat{{\mathcal T}}_{\textbf{p}_m}(\widehat{{\mathcal {Q}}}_{{}m},\textbf {T}^{0}_m)\big \}. \end{aligned}$$

The reference [105, Proposition 3.1] shows that HB-splines restricted to any \((d-1)\)-dimensional hyperface of the unit cube are again HB-splines. Hence, the assumption (P2’) is also satisfied if the sets \(\mathcal{B}_{\textbf{p}_m}(\textbf{T}_{m})\) and \(\mathcal{B}_{\textbf{p}_{m'}}(\textbf{T}_{m'})\) are replaced by the sets \({\mathcal H}_{\textbf{p}_m}(\widehat{{\mathcal {Q}}}_{{}m},\textbf {T}^{0}_m)\) and \({\mathcal H}_{\textbf{p}_{m'}}(\widehat{{\mathcal {Q}}}_{{}m'},\textbf {T}^{0}_{m'})\). With a similar proof, one can also show the assertion of [105, Proposition 3.1] for THB-splines. Thus, (P2’) is also valid for the sets \({\mathcal T}_{\textbf{p}_m}(\widehat{{\mathcal {Q}}}_{{}m},\textbf {T}^{0}_m)\) and \({\mathcal T}_{\textbf{p}_{m'}}(\widehat{{\mathcal {Q}}}_{{}m'},\textbf {T}^{0}_{m'})\). This allows to construct a basis of \(\widetilde{\mathbb {S}}_{}\) similarly as in Sect. 3.2.2 by gluing (T)HB-splines together at interfaces. According to [105, Proposition 3.1], discarding all resulting functions that are non-zero on the boundary \(\partial \varOmega \) gives a basis of \(\mathbb {S}_{}\).

To obtain admissible meshes starting from the initial one, we adapt the single-patch refinement strategies from Sect. 4.1.3. For arbitrary \({\mathcal {Q}}_{}\in \mathbb {Q}\) and \(Q\in {\mathcal {Q}}_{{}m}\) with corresponding element \(\widehat{Q}:=\textbf{F}_m^{-1}(Q)\) in the parametric domain, let \({\mathcal N}_{{}m}(\widehat{Q})\subseteq \widehat{{\mathcal {Q}}}_{{}m}\) either denote the corresponding \({\mathcal H}\)-neighborhood in the case of \({\mathcal H}\)-admissible meshes or the \({\mathcal T}\)-neighborhood in the case of \({\mathcal T}\)-admissible meshes, see Sect. 4.1.3. We define the neighbors of Q as

$$\begin{aligned}&{\mathcal N}_{}(Q):=\big \{Q'\in {\mathcal {Q}}_{{}m}\,:\,\widehat{Q}' \in {\mathcal N}_{{}m}(\widehat{Q})\big \}\\&\qquad \cup \bigcup _{m'\ne m} \big \{Q'\in {\mathcal {Q}}_{{}m'}\,:\,\textrm{dim}(\overline{Q}\cap \overline{Q'})=d-1\big \}, \end{aligned}$$

i.e., apart from the standard neighbors within the patch, we add the adjacent elements from other patches to avoid hanging nodes. Then, it is easy to see that Algorithm 6 returns an admissible mesh. Indeed, one can show that the set of all possible refinements \(\texttt{refine}({\mathcal {Q}}_0)\) even coincides with \(\mathbb {Q}\), see [103, Proposition 5.4.3] in the case of \({\mathcal H}\)-admissible meshes of class \(\mu =2\).

figure f

We stress that Theorem 4 holds accordingly for the given setting. Here, the mesh properties (M1)–(M2) and the child estimate (R1) are trivially satisfied. The closure estimate (R2) can be proved similarly as in the single-patch case, see [103, Sect. 5.5.7] in the case of \({\mathcal H}\)-admissible meshes of class \(\mu =2\). The overlay in (R3) can be built patch-wise as in Sect. 6.1.2. Nestedness (S1) follows from Proposition 3. The local domain of definition property (S2) and the inverse inequality (F1) follow similarly as in the single-patch case. It remains to check the Scott–Zhang type properties (S3) and (F2)–(F3). To construct a suitable operator \(J_{}:H_0^1(\varOmega )\rightarrow \mathbb {S}_{}\), one can proceed similarly as in (78) by additionally gluing together THB-splines at interfaces and considering the average of the dual functions at interfaces. Then, the required properties can be seen as in Sect. 6.1.3. Details are left to the reader.

Remark 30

In principle, the requirement that there are no hanging nodes on the interface can be removed. In fact, starting from a level zero mesh without hanging nodes in the multi-patch domain, it is possible to define spline functions with \(C^0\) continuity with a support that may intersect different patches as in Sect. 3.2.2. Then, we can define the multi-patch spaces of next levels by uniform refinement of the whole multi-patch domain. These spaces satisfy the conditions given in the abstract setting of [115], and the recursive algorithm for the definition of hierarchical splines can be applied to construct hierarchical multi-patch basis functions, replacing the sequence of B-spline spaces by a sequence of multi-patch spaces with conforming meshes, see [41] and [111, Sect. 3.4]. Most of the definitions of Sect. 4.1, and in particular the neighborhoods, have a seamless extension to this setting. Although quasi-interpolants for the uniform multi-patch case have been introduced in [50], the complete adaptive theory in the non-conforming case has not been analyzed yet, and is beyond the scope of this work.

6.1.6 Numerical Experiments

We now apply the adaptive IGAFEM with hierarchical splines, analyzed in the previous sections, to the Poisson problem. In particular, in (17)-(18), the matrix \(\textbf{A}\) is the identity matrix, and \(\textbf{b}\) and c are zero. Although not directly covered by our analysis, we also consider non-homogeneous Dirichlet–Neumann boundary conditions for some cases. In all three numerical experiments, we set the degrees \(p_1 = \ldots = p_d=: p\). The continuity within a patch is taken to be \(C^{p-1}\) across elements, also for the elements of the coarsest mesh. All the numerical tests of this section are run with THB-splines but, as we mentioned above, the computed solution of the Galerkin problem is the same independently of the basis.

Comments on the use of HB- and THB-splines In spite of having the same solution for HB-splines and THB-splines, the choice of the basis will affect the sparsity pattern and the condition number of the matrix appearing in the linear system, which can also affect the performance of the method.

In particular, the reduced support of THB-splines always gives a lower number of nonzero entries in the matrix when compared to HB-splines, but to control this number it is important to control the interaction between coarse and fine functions, for which it is necessary to use suitable admissible meshes. We recall from Proposition 5 that the number of HB-splines (resp. THB-splines) with support on some fixed element of an \({\mathcal H}\)-admissible (resp. \({\mathcal T}\)-admissible) is uniformly bounded, while in general this is not the case for HB-splines on \({\mathcal T}\)-admissible meshes. The examples in [36, 113] show that the gain in the number of nonzero entries when using THB-splines instead of HB-splines ranges between 10% and 50%, with the biggest gains in \(\mathcal{T}\)-admissible meshes or non-admissible ones, and the smallest ones in \(\mathcal{H}\)-admissible meshes. We remark that these numbers depend on the degree p and the admissibility class \(\mu \), but also on the kind of refinement (edge refinement, corner refinement...) required for a good approximation of the solution, see the aforementioned references for more details. We also note that, for non-admissible meshes, the number of nonzero entries in the matrix can behave as bad as \(\mathcal {O}(N_\textrm{dof}^2)\), with \(N_\textrm{dof}\) the number of degrees of freedom. For instance, this is the case for HB-splines in the meshes of Fig. 15(c). The efficient assembly of the matrix for hierarchical splines is also an important issue, and an active topic of research, as the tensor-product techniques cannot be trivially extended to the hierarchical case. In this sense, the recent work [174] proposes a method based on interpolation and the use of look-up tables, which allows to reduce the complexity compared to Gaussian quadrature, for bivariate HB-splines on \(\mathcal{H}\)-admissible meshes of class \(\mu =2\).

Regarding the condition number, all the numerical tests in [36, 113] show that in any hierarchical mesh the condition number of the mass matrix is always equal or smaller for THB-splines than for HB-splines. Concerning the stiffness matrix, although in most cases the condition number is also lower for THB-splines, the property is not valid in general, and some counterexamples have been shown in the same references. The numerical results from those papers do not show a clear behavior on how the basis and the admissibility class influence the condition number of the stiffness matrix, and as for the nonzero entries, the numbers seem to strongly depend on the kind of refinement (corner refinement, edge refinement...)

Related to the condition number, multigrid solvers and preconditioners for hierarchical splines have been introduced in [125], where the subspace of each level of the preconditioner coincides with the one in the HB-splines construction algorithm, i.e., it is given by \(\textrm{span} \widehat{\mathcal{H}}^\ell \). Local variants of the preconditioner with subspaces for each level formed by functions with support in \(\widehat{\varOmega }^\ell \) or its vicinity have been analyzed in [32, 126]. In these works, it has been proved that the condition number is uniformly bounded with respect to the number of levels. The numerical results of those papers show a better behavior of the preconditioners for THB-splines than for HB-splines. Moreover, the theoretical analysis also shows that it is necessary to use HB-splines (resp. THB-splines) on \(\mathcal{H}\)-admissible (resp. \(\mathcal{T}\)-admissible) meshes to obtain a bounded condition number independent of the number of levels, see [32] for details.

Nevertheless, we cannot give a clear answer about which basis is better to use. While THB-splines improve the sparsity pattern of the matrix, and in most cases behave better with respect to the condition number, the rectangular support of HB-splines may be easier to implement. Still, from the comments above there is one important suggestion we can make: the admissibility type (\(\mathcal{H}\)- or \(\mathcal{T}\)-admissible) should be in accordance with the chosen basis. Recall that any \({\mathcal H}\)-admissible mesh is also \({\mathcal T}\)-admissible by definition, but not vice versa.

Edge singularities on square In the first numerical test, we choose a problem that was already considered in [30, 44]. The domain is given by the unit square \(\varOmega = (0,1)^2\), in such a way that the parametrization \(\textbf{F}\) is the identity. We impose homogeneous Dirichlet conditions on the boundary \(\partial \varOmega \), while the source function f is chosen such that the exact solution is given by

$$\begin{aligned} u(x,y) = x^{2.3} (1-x) y^{2.9} (1-y), \end{aligned}$$

which is singular at the edges \(\{0\}\times (0,1)\) and \((0,1)\times \{0\}\). In fact, it can be shown that \(u \in H^{\beta -\epsilon }(\varOmega )\), with \(\beta = 2.3 + 1/2 = 1 + 9/5\), for every \(\epsilon > 0\). Hence, the expected convergence rate for uniform refinement is \(\mathcal{O}(h^{9/5}) = \mathcal{O}(N_\textrm{dof}^{-9/10})\) with respect to the mesh size h and to the number of degrees of freedom \(N_\textrm{dof}\), respectively.

For the simulation, we consider spaces of hierarchical B-splines with degree \(p \in \{2,3,4,5\}\). The initial mesh \({\mathcal {Q}}_0\) consists of \(4 \times 4\) elements, and Algorithm 5 is run using the residual a posteriori estimator (23). For marking we use Dörfler’s strategy (54) with parameter \(\theta = 0.25\) and the constant \(C_{\min } = 1\). For refinement, we use Algorithm 2 for \(\mathcal{T}\)-admissible meshes, with a value of the admissibility class \(\mu = 2\).

Some meshes for the four different degrees at iteration \(k = 15\) are displayed in Fig. 26. It is evident that the adaptive algorithm satisfactorily refines near the edges, specially for high degree.

Fig. 26
figure 26

Test with edge singularities: meshes obtained after 15 iterations of the adaptive algorithm for \(\mathcal{T}\)-admissible meshes and \(\mu = 2\)

In Fig. 27, we show the behavior of the error in the energy norm and the estimator with respect to the number of degrees of freedom, both for the adaptive method described above and for uniform refinement. It is clearly seen that adaptivity drastically reduces the number of degrees of freedom required to achieve the same numerical error. Moreover, the error and the estimator curves always converge with the same order, as expected from the results of reliability and efficiency of the estimator.

Fig. 27
figure 27

Test with edge singularities: energy error \(|u -U_k|_{H^1(\varOmega )}\) and residual estimator for degree \(p \in \{2, 3, 4, 5\}\). Comparison of uniform and adaptive refinement

From Fig. 27, it can also be seen that the convergence is not equal to p/2 for high p. In fact, Fig. 28 shows the same convergence rate for degrees \(p=4\) and \(p=5\), which seems equal to 1.8. This behavior was analyzed with heuristic arguments in [103, Sect. 4.6.2], noting that to obtain the optimal convergence rate \(s_\textrm{opt} = p/2\) in the presence of edge singularities, it is necessary to consider anisotropic elements in a mesh graded towards the edges, while the bisection refinement that we consider attains at most a convergence rate equal to

$$\begin{aligned} s = \min (2s_\textrm{unif}, s_\textrm{opt}), \end{aligned}$$

where \(s_\textrm{unif}\) is the convergence rate in case of uniform refinement. In this particular test, its value is \(s_\textrm{unif} = 0.9\), and in fact the convergence rate that we observe in Fig. 28 is twice this value.

Fig. 28
figure 28

Test with edge singularities: energy error \(|u -U_k|_{H^1(\varOmega )}\) for degree p from 2 to 5. For high degree, the optimal convergence rate is not reached

Finally, we compare the behavior of the refinement Algorithms 1 and 2, that is, for \(\mathcal{H}\)-admissible and \(\mathcal{T}\)-admissible meshes, respectively. We set the degree \(p = 4\), and the admissibility class \(\mu =2\). For comparison, we also include the results of refinement without ensuring admissibility, that is, refining only elements marked by the marking strategy without any addition, which we denote by \(\mu = \infty \). The results presented in Fig. 29 show that the convergence order is the same in the three cases, both for the error and the estimator, as predicted by theory (for \(\mu <\infty \)). Moreover, in this particular case, there is small difference between the error obtained with the different admissibility types, although the use of non-admissible meshes gives slightly better results in terms of degrees of freedom.

Fig. 29
figure 29

Test with edge singularities: residual estimator and energy error \(|u -U_k|_{H^1(\varOmega )}\) for degree \(p = 4\). Results for \(\mathcal{H}\)-admissible and \(\mathcal{T}\)-admissible meshes of class \(\mu =2\), and for non-admissible meshes

Corner singularity on curved L-shaped domain The second numerical test was presented in [36]. We consider the curved L-shaped domain shown in Fig. 30, which is an affine transformation of the benchmark in [76]. The solution is given by

$$\begin{aligned} u(x,y) = r^{2/3} \sin (2 \varphi / 3), \end{aligned}$$

with polar coordinates \((x,y)=(r \cos (\varphi ),r \sin (\varphi ))\), by setting \(f = 0\) and imposing non-homogeneous Dirichlet boundary conditions on \(\partial \varOmega \). We note that the domain is formed by three quadratic NURBS patches, and for the discretization we follow the method explained in Remark 30 so that the meshes may be non-conforming on the interfaces.

We consider discrete spaces of degree \(p \in \{2, 3, 4, 5\}\), with \(C^{p-1}\) continuity inside each patch, and \(C^0\) continuity across the interfaces. For the Dörfler marking (54), we choose the parameter \(\theta = 0.9\) and \(C_{\min }\) = 1. To understand the role of the admissibility class, we consider both \(\mathcal{H}\)-admissible meshes as in Algorithm 1, and \(\mathcal{T}\)-admissible meshes as in Algorithm 2, with the value of the admissibility class \(\mu \) ranging from 2 to 4. For comparison, we also include results for non-admissible meshes, which we denote as above by \(\mu = \infty \). The algorithm is run until we reach a maximum of 13 levels.

Fig. 30
figure 30

Curved L-shaped domain: domain and initial mesh

In Fig. 31, we show the value of the energy error and the residual estimator with respect to the number of degrees of freedom, considering degree \(p=2\) with uniform refinement and with adaptive refinement for \(\mathcal{T}\)-admissible meshes of class \(\mu =2\). As in the previous test, the error and the estimator converge with the same rate, which in the case of uniform refinement is equal to 1/3, while for adaptive refinement the optimal rate of 1 is reached.

Fig. 31
figure 31

Curved L-shaped domain: energy error and residual estimator for degree \(p=2\), for uniform refinement and adaptive refinement on \(\mathcal{T}\)-admissible meshes with \(\mu =2\)

In Fig. 32, we show the results of convergence of the energy error with respect to the number of degrees of freedom for the different degrees and admissibility types considered. In all the tests, non-admissible meshes show a better ratio between the error and the number of degrees of freedom than any other choice. Moreover, \(\mathcal{T}\)-admissible meshes and higher values of \(\mu \) require less degrees of freedom than \(\mathcal{H}\)-admissible ones and lower values of \(\mu \), respectively, to attain the same error. We note, however, that except for degree \(p=2\) the asymptotic regime has not been reached. In fact, from Fig. 32a and 32b it seems that, in the asymptotic regime, the error will be very similar for all the admissibility classes. However, \(\mathcal{H}\)-admissible meshes with low values of \(\mu \) need more iterations to reach the asymptotic behavior. See also the results for the L-shaped domain in [105] and [103, Sect. 4.6.3].

Fig. 32
figure 32

Curved L-shaped domain: energy error \(|u -U_k|_{H^1(\varOmega )}\) for degree p from 2 to 5, and for different values of the admissibility class \(\mu \), both for \(\mathcal{H}\)-admissible and \(\mathcal{T}\)-admissible meshes

This behavior can be better understood with the help of the plots in Fig. 33, where we show the mesh after 8 refinement steps for degree \(p=4\) and for different types of admissibility. While the estimator satisfactorily marks elements to refine the mesh towards the corner, to maintain the admissibility of the mesh, the refinement algorithm forces to refine some elements away from it. This behavior is more significant for \(\mathcal{H}\)-admissible meshes than for \(\mathcal{T}\)-admissible meshes, and also for lower values of the admissibility class \(\mu \) than for higher ones.

Fig. 33
figure 33

Curved L-shaped domain: mesh after 8 refinement steps for degree \(p=4\)

Test about the approximation class The following test shows that the approximation class depends on the continuity of the discrete spaces.

The domain is the unit square \(\varOmega = (0,1)^2\), we set homogeneous Dirichlet boundary conditions, and the right-hand side is chosen such that, for parameters \(0<a<b<1\), the exact solution is given by

$$\begin{aligned} u(x,y) = \left\{ \begin{array}{rl} \displaystyle \sin ^2\left( \frac{\pi (x-a)}{b-a}\right) \sin (\pi y), &{} \text { if } a \le x \le b, \\ 0, &{} \text { elsewhere}. \end{array} \right. \end{aligned}$$

The solution is smooth everywhere except at the vertical lines \(x = a\) and \(x=b\), where it is only \(C^1\) and it has edge singularities. To understand how the approximation class depends on the continuity, we run the adaptive algorithm starting from a mesh \({\mathcal {Q}}_0\) of \(2 \times 2\) elements, with the Dörfler marking (54) with parameters \(\theta =0.5\) and \(C_\textrm{\textrm min}=1\), for fixed degree \(p=4\) and \(\mathcal{T}\)-admissibility with \(\mu =4\), and we change the continuity using \(C^1\), \(C^2\), and \(C^3\) hierarchical splines. We run two different tests: in the first one we choose \(a=1/4\) and \(b=3/4\), in such a way that the singularity lines coincide with lines of the mesh; in the second test we set \(a=1/5\) and \(b=4/5\), in such a way that, since we always refine by bisection, the singularity lines can never coincide with lines of the mesh. We note that in the second test we increased the number of quadrature points per element, to compute accurately the integrals on elements crossed by the singularity lines.

The errors in the energy norm for the first test are shown in Fig. 34a. Similar to the edge singularity case from above, we see that for high continuity splines the convergence rate is only \({\mathcal O}({N_\textrm{dof}^{-3/2}})\), while uniform refinement (not displayed) leads to \({\mathcal O}(N_\textrm{dof}^{-3/4})\). Instead, for \(C^1\) splines we obtain the convergence rate \({\mathcal O}(N_\textrm{dof}^{-p/2})\), and the same rate is also obtained for uniform refinement (not displayed). This test shows with a simple example that the approximation classes depend on the continuity. Indeed, the results suggest that the solution belongs to the approximation class \(-2\) for \(C^1\) splines, while it only belongs to the approximation class \(-3/2\) for \(C^2\) and \(C^3\) splines. This differs from the result in [25], which states that the approximation classes for \(C^0\) piecewise polynomials and discontinuous Galerkin methods are identical. The corresponding proof exploits that the solution \(u\in H_0^1(\varOmega )\) has vanishing jumps across element boundaries. Generalizing the argument to smooth splines would likely require that also the jumps of certain derivatives of u vanish, which is not the case for the currently considered u.

The reason why the function belongs to different classes is the fact that the singularity line coincides with a line of the mesh. Indeed, the results of the second test displayed in Fig. 34b show the same convergence rate, equal to \({\mathcal O}(N_\textrm{dof}^{-3/2})\) independently of the continuity. It seems that, under the condition of refining by bisection, the same convergence rate as for the smooth solution can only be recovered if the singularity lines can be aligned with the mesh. Nevertheless, adaptive refinement at least doubles the convergence rate \({\mathcal O}(N_\textrm{dof}^{-3/4})\) for uniform refinement (not displayed).

Fig. 34
figure 34

Test about the approximation class: energy error \(|u - U_k|_{H^1(\varOmega )}\) for degree \(p=4\) and \(\mathcal{T}\)-admissible meshes with \(\mu =4\), with THB-splines of different continuity

Dirichlet–Neumann conditions on twisted thick ring in 3D The third numerical test was considered in [30]. The domain \(\varOmega \) consists of a twisted thick ring, obtained by linear interpolation of two surfaces, where the lower one is a quarter of an annulus with inner radius equal to one and outer radius equal to two, and the upper one is the same surface rotated by 90 degrees around the z-axis, and translated by the vector (0.5, 0, 1), as shown in Fig. 35. We set the source term \(f=0\) and impose homogeneous Dirichlet conditions everywhere, except on the upper boundary where we impose the Neumann condition \(\partial u / \partial n = 1\). In this case the exact solution is not known, but we plot in Fig. 36 an approximate solution computed in a fine mesh and the magnitude of its gradient. It can be seen that the boundary conditions generate singularities on the edges of the upper boundary.

Fig. 35
figure 35

Twisted thick ring: coordinates of the domain

For this numerical test, and due to the presence of a Neumann condition \(\partial u / \partial n = \phi _N\) on \(\varGamma _N\), the weighted residual error estimator (23) is replaced by

$$\begin{aligned} \eta _N(Q)^2 := \eta (Q)^2 + h_Q \left\| \phi _N-{\partial U}/{\partial n} \right\| ^2_{L^2(\partial Q \cap \varGamma _N)}, \end{aligned}$$

see, e.g., [53, Sect. 11]. For the Dörfler marking (54), we use the values \(\theta = 0.75\) and \(C_\textrm{\textrm min} = 1\). Starting from an initial mesh of one single element, we run numerical tests for THB-splines of degree \(p=2,3,4\), and with \(\mathcal{T}\)-admissible meshes with different admissibility classes.

Fig. 36
figure 36

Twisted thick ring: approximate solution and the magnitude of the gradient

Since the exact solution is not known, Fig. 37 shows only the values of the error estimator for different choices of the degree and the admissibility class. We also compare the results with the ones obtained for uniform refinement. As in the case of edge singularities, and since we do not allow anisotropic refinement, the optimal order of convergence, which is equal to \(s_\textrm{opt} = p/3\), is only reached for degree \(p=2\). Heuristic arguments similar to those used in the 2D case tell us that, in general, the convergence order that we obtain for edge singularities in the 3D case is equal to

$$\begin{aligned} s = \min (3 s_\textrm{unif}, s_\textrm{opt}), \end{aligned}$$

where again \(s_\textrm{unif}\) is the convergence rate for uniform refinement, which in this particular case is \(s_\textrm{unif} \approx 0.25\). Regarding the impact of the admissibility class \(\mu \), as in the two-dimensional examples lower values of \(\mu \) require more degrees of freedom, although the convergence rate is the same for all the admissibility classes. The plot of the meshes in Fig. 38 shows that this is due to the refinement away from the singularity, which is necessary to maintain the admissibility class.

Fig. 37
figure 37

Twisted thick ring: comparison of the error estimator for uniform refinement and adaptive refinement with different degree p and admissibility class \(\mu \)

Fig. 38
figure 38

Twisted thick ring: meshes for degree \(p=3\) and different values of the admissibility class \(\mu \) after eight refinement steps

6.2 Adaptive IGAFEM with T-Splines

We now apply the adaptive IGAFEM setting to T-splines on a single-patch domain. Let \(\textbf {p}:=(p_1,\dots ,p_d)\) be a vector of positive polynomial degrees and \(\textbf {T}^0\) be a multivariate open knot vector on \(\widehat{\varOmega }=(0,1)^d\) with induced initial index T-mesh \(\check{{\mathcal {Q}}}_0\) (see Sect. 4.2.2). We assume that \(\widehat{\mathbb {S}}_{\textbf{p}} (\textbf {T}^0)\) and \(\widehat{\mathbb {S}}_{\textbf{p}_{\textbf{F}}} (\textbf{T}_{\textbf{F}})\) with \(\textbf{p}_\textbf{F}\) and \(\textbf{T}_\textbf{F}\) from the parametrization \(\textbf{F}:\widehat{\varOmega }\rightarrow \varOmega \) (see Sect. 4.1.1) are compatible to each other as in Sect. 3.2.2. Note that \(\widehat{\mathbb {S}}_{\textbf{p}} (\textbf {T}^0)=\widehat{\mathbb {S}}_{\textbf{p}}^\textrm{T}(\check{{\mathcal {Q}}}_{0},\textbf{T}^0)\), i.e., the initial space corresponds to tensor-product B-splines. We choose the refinement strategy \(\texttt{refine}(\cdot ,\cdot )\) of Sect. 4.2.5, which induces the set of all admissible meshes \(\widehat{\mathbb {Q}}\). For all \(\widehat{{\mathcal {Q}}}_{}\in \widehat{\mathbb {Q}}\) with corresponding index T-mesh \(\check{{\mathcal {Q}}}_{}\) (see Remark 16), let \(\widehat{\mathbb {S}}_{}:=\widehat{\mathbb {S}}_\textbf{p}^\textrm{T}(\check{{\mathcal {Q}}}_{},\textbf {T}^{0})\cap H_0^1(\widehat{\varOmega })\) be the associated ansatz space in the parametric domain, see Sect. 4.2.3. As in Sect. 3, we define the corresponding quantities in the physical domain via the parametrization \(\textbf{F}:\widehat{\varOmega }\rightarrow \varOmega \), i.e.,

$$\begin{aligned}&{\mathcal {Q}}_{}:=\big \{\textbf{F}(\widehat{Q})\,:\,\widehat{Q}\in \widehat{{\mathcal {Q}}}_{}\big \}\quad \text {for all }\widehat{{\mathcal {Q}}}_{}\in \widehat{\mathbb {Q}}, \\&\mathbb {Q}:=\big \{{\mathcal {Q}}_{}\,:\,\widehat{{\mathcal {Q}}}_{}\in \widehat{\mathbb {Q}}\big \},\\&\texttt{refine}({\mathcal {Q}}_{},\mathcal M_{}):=\big \{\textbf{F}(\widehat{Q})\,:\,\widehat{Q}\in \texttt{refine}(\widehat{{\mathcal {Q}}}_{},\widehat{\mathcal M}_{})\big \} \\&\qquad \text {for all }{\mathcal {Q}}_{}\in \mathbb {Q}, \mathcal M_{}\subseteq {\mathcal {Q}}_{}\\&\qquad \text {with }\widehat{\mathcal M}_{}:=\big \{\textbf{F}^{-1}(Q)\,:\,Q\in {\mathcal {Q}}_{}\big \}, \end{aligned}$$

and the discrete space on mesh \({\mathcal {Q}}_{}\) is given by

$$\begin{aligned}&\mathbb {S}_{}:=\big \{\widehat{V}\circ \textbf{F}^{-1}\,:\,\widehat{V}\in \widehat{\mathbb {S}}_{}\big \}. \end{aligned}$$

In the following lemma, we give a basis in terms of T-spline blending functions for \(\widehat{\mathbb {S}}_{}\). The proof is given in [105, Lemma 3.2] and relies on the fact that, due to the lack of T-junctions in the frame region \(\check{\varOmega }_{\textrm {ind}}\setminus \check{\varOmega }_{\textrm {ip}}\), T-spline blending functions restricted to any \((d-1)\)-dimensional hyperface of the unit hypercube are B-splines corresponding to the induced mesh on this hyperface. We note that the anchors corresponding to these basis functions are precisely the ones on the boundary of the region of active anchors, see Sect. 4.2.3. Clearly, this basis can be transferred to the physical domain via the parametrization \(\textbf{F}\).

Lemma 5

Given \(\widehat{{\mathcal {Q}}}_{}\in \widehat{\mathbb {Q}}\), the T-spline blending functions \(\big \{\widehat{B}_{{}\textbf {z},\textbf {p}}\,:\,\textbf {z}\in \mathcal {A}_\textbf{p}(\check{\mathcal {Q}}_{},\textbf{T}^0)\big \}\cap H_0^1(\widehat{\varOmega })\) provide a basis of \(\widehat{\mathbb {S}}_{}\). Here, the functions \(\widehat{B}_{{}\textbf {z},\textbf {p}}\) are defined as in (49).

The given setting fits into the abstract framework of Sect. 5.2, in particular it satisfies the assumptions of Theorem 3, which has been proved in [107]. We only sketch the proof in Sects. 6.2.16.2.3. As already mentioned at the beginning of Sect. 6, the multi-patch case is essentially open. For numerical experiments validating Theorem 5, we refer to [119].

Theorem 5

T-splines on admissible meshes satisfy the mesh properties (M1)–(M2), the refinement properties (R1)–(R3), and the space properties (S1)–(S3) and (F1)–(F3). The involved constants depend only on the dimension \(d\), the parametrization constant \(C_\textbf{F}\) of Sect. 3.1, the degree \(\textbf {p}\), and the initial knot vector \(\textbf {T}^0\). In particular, Theorem 2 is applicable. In conjunction with Theorem 1, this yields reliability (67), efficiency (68), and linear convergence at optimal rate (57)–(58) of the residual error estimator (23), when the adaptive Algorithm 5 is employed.

Remark 31

We also mention that [62] has recently introduced a local multilevel preconditioner for the stiffness matrix of symmetric problems which leads to uniformly bounded condition numbers for T-splines on admissible T-meshes. An important consequence is that the corresponding PCG solver is uniformly contractive. As for hierarchical splines, see Remark 29, [104] thus allows to prove that an adaptive algorithm which steers mesh-refinement and an inexact PCG solver leads to optimal convergence rates both with respect to the number of elements and with respect to the computational cost.

6.2.1 Mesh Properties

Shape regularity (M1) is trivially satisfied in the parametric domain, since the direction in which an element is bisected periodically alternates after each refinement. Due to the regularity of the parametrization \(\textbf{F}\) of Sect. 3.1, the property transfers to the physical domain.

Local quasi-uniformity (M2) in the parametric domain follows from Remark 13 together with Proposition 18. Again, the regularity of the parametrization guarantees this property also in the physical domain.

6.2.2 Refinement Properties

The child estimate (R1) is trivially satisfied with \(C_\textrm{child}=2\), since each refined element in the parametric domain is only bisected in one direction. The closure estimate (R2) is just the assertion of Proposition 21.

For \(d=2\), [165, Sect. 5] shows that the overlay

$$\begin{aligned} \widehat{\mathcal {Q}}_+:=&\big \{\widehat{Q}\in \widehat{\mathcal {Q}}_{}\,:\,\exists \widehat{Q}'\in \widehat{\mathcal {Q}}_\times \text { with }\widehat{Q}\subseteq \widehat{Q}'\big \}\\ \cup&\big \{\widehat{Q}'\in \widehat{\mathcal {Q}}_\times \,:\,\exists \widehat{Q}\in \widehat{\mathcal {Q}}_{}\text { with }\widehat{Q}'\subseteq \widehat{Q}\big \} \end{aligned}$$

of two admissible meshes \(\widehat{{\mathcal {Q}}}_{},\widehat{{\mathcal {Q}}}_\times \) in the parametric domain is again admissible. The proof also extends to the three-dimensional case \(d=3\). Obviously, this property immediately transfers to the physical domain. Clearly, the resulting mesh \({\mathcal {Q}}_+\) in the physical domain satisfies the properties in (R3).

6.2.3 Space Properties

Nestedness (S1) follows from Proposition 17. The inverse inequality (F1) in the parametric domain follows easily from Lemma 2 and standard scaling arguments, since each T-spline is a polynomial of fixed degree \(\textbf {p}\) on each element of the Bézier mesh. Due to the regularity of the parametrization \(\textbf{F}\) of Sect. 3.1, the property transfers to the physical domain. The local domain of definition property (S2) follows easily from Lemma 5, Proposition 20, and the definition of T-spline blending functions, see [107, Sect. 3.3] for details.

Scott–Zhang type operator Due to the regularity of the parametrization \(\textbf{F}\) of Sect. 3.1, it is sufficient to provide for all \(\widehat{{\mathcal {Q}}}_{}\in \widehat{\mathbb {Q}}\) an operator \(\widehat{J}_{}:H_0^1(\widehat{\varOmega })\rightarrow \widehat{\mathbb {S}}_{}\) satisfying the properties (S3) and (F2)–(F3) in the parametric domain. We define this operator similarly as \(\widehat{J}^{\,\textrm T}_{\textbf {p},\check{\mathcal {Q}}}\) of Sect. 4.2.4, but now have to take into account the homogeneous boundary conditions

$$\begin{aligned} \widehat{J}_{}:\,&H_0^1(\widehat{\varOmega })\rightarrow \widehat{\mathbb {S}}_{}, \widehat{v} \mapsto \sum _{\begin{array}{c} \textbf {z}\in \mathcal {A}_\textbf{p}(\check{\mathcal {Q}},\textbf{T}^0)\\ \widehat{B}_{{}\textbf {z},\textbf {p}}\in H_0^1(\widehat{\varOmega }) \end{array}} \widehat{\lambda }_{{}\textbf {z},\textbf {p}}(\widehat{v}) \widehat{B}_{{}\textbf {z},\textbf {p}}, \end{aligned}$$

where \(\widehat{\lambda }_{{}\textbf {z},\textbf {p}}\) is defined as in (50).

The second property of Proposition 20 particularly implies the existence of a uniform constant \(q_1\) such that for all \(\widehat{Q}\in \widehat{{\mathcal {Q}}}\),

$$\begin{aligned} S_\textrm{ext}(\widehat{Q}) \subseteq \pi _{}^{q_1}(\widehat{Q}). \end{aligned}$$

With Corollary 4, this immediately gives (S3). Moreover, the local \(L^2\)-stability of Proposition 19 is also valid for \(\widehat{J}_{}\) as the corresponding proof only relies on estimates of the dual functionals. Together with the local projection property (S3) and the inverse inequality (F1), the Poincaré (for elements away from the boundary) as well as the Friedrichs inequality (for elements close to the boundary) readily imply for all \(\widehat{v}\in H_0^1(\widehat{\varOmega })\) and \(\widehat{Q}\in \widehat{{\mathcal {Q}}}_{}\) that

$$\begin{aligned} \Vert (1-\widehat{J}_{})\,\widehat{v}\Vert _{L^2(\widehat{Q})}&\lesssim |\widehat{Q}|^{1/d}\,\Vert \widehat{v}\Vert _{H^1(S_\textrm{ext}(\widehat{Q}))}\\ \Vert \nabla \widehat{J}_{}\, \widehat{v}\Vert _{L^2(\widehat{Q})}&\lesssim \Vert \widehat{v}\Vert _{H^1(S_\textrm{ext}(\widehat{Q}))}, \end{aligned}$$

see [107, Sect. 3.3] for details. We conclude (F2)–(F3) with \(q_\textrm{sz}=q_1\).

7 Adaptive IGABEM in Arbitrary Dimension

In this section, we consider two concrete realizations of the abstract adaptive Galerkin BEM framework from Sect. 5.3. We consider hierarchical splines in Sect. 7.1, assuming that the boundary \(\varGamma \) is a multi-patch domain. Convergence results in this setting are proved in [103, Sects. 5.4 and 5.5] and [108] for \({\mathcal H}\)-admissible meshes, and leveraging on [46, 47], we extend them to \({\mathcal T}\)-admissible meshes. The theoretical findings are underlined by numerical experiments in Sect. 7.1.2. Then, in Sect. 7.2, we present an adaptive IGABEM based on T-splines. In contrast to IGAFEM, it is easy to define a suitable refinement strategy on the multi-patch domain \(\varGamma \) as we do not enforce continuity across interfaces. The corresponding results are new, but mostly follow from [107].

Finally, in Sect. 7.3, we also consider an adaptive IGABEM in 2D which additionally controls the smoothness of the used one-dimensional spline ansatz space as in [93]. Although the theoretical results of Sect. 5.3 are not directly applicable in the setting of adaptive smoothness, optimal convergence can be proved with similar techniques.

7.1 Adaptive IGABEM with Hierarchical Splines

Hierarchical meshes on the boundary \(\varGamma \subset {\mathbb R}^d\), \(d\ge 2\), can be defined similarly as in the IGAFEM setting in Sect. 6.1.5: for each \(m=1,\dots ,M\), let \(\textbf {p}_m\) be a vector of positive polynomial degrees and \(\textbf {T}^0_m\) be a multivariate open knot vector on \(\widehat{\varGamma }=(0,1)^{\widehat{d}}\), \({\widehat{d}}= d-1\), with induced initial mesh \(\widehat{{\mathcal {Q}}}_{0,m}:=\widehat{{\mathcal {Q}}}^0_m\). We assume that \(\widehat{\mathbb {S}}_{\textbf{p}_m} (\textbf {T}^0_m)\) and \(\widehat{\mathbb {S}}_{\textbf{p}_{\textbf{F}_m}} (\textbf{T}_{\textbf{F}_m})\) with \(\textbf{p}_{\textbf{F}_m}\) and \(\textbf{T}_{\textbf{F}_m}\) from the parametrization \(\textbf{F}_m:\widehat{\varGamma }\rightarrow \varGamma _m\) (see Sect. 3.1.2) are compatible to each other as in Sect. 3.2.2. Note that the coarsest spaces are \(\widehat{\mathbb {S}}_{\textbf{p}_m} (\textbf {T}^0_m)=\widehat{\mathbb {S}}^\textrm{H}_{\textbf{p}_m}(\widehat{{\mathcal {Q}}}_{0,m},\textbf{T}_m^0)\), i.e., they correspond to tensor-product B-splines on each patch. Moreover, we assume for the initial mesh \({\mathcal {Q}}_0=\bigcup _{m=1}^M {\mathcal {Q}}_{0,m}\) with \({\mathcal {Q}}_{0,m}:=\big \{\textbf{F}_m(\widehat{Q})\,:\,\widehat{Q}\in \widehat{{\mathcal {Q}}}_{0, m}\big \}\) that there are no hanging nodes between patch interfaces \(\varGamma _{m,m'}=\overline{ \varGamma _m} \cap \overline{\varGamma _{m'}}\) with \(m\ne m'\), see also (P1) of Sect. 3.1.2.

We fix the admissibility parameter \(\mu \) as well as the kind of mesh that we want to consider, i.e., \({\mathcal H}\)-admissible or \({\mathcal T}\)-admissible meshes, and abbreviate for each \(m=1,\dots ,M\) the set of all corresponding admissible meshes as \(\widehat{\mathbb {Q}}_m\), see Sect. 4.1.3. Moreover, we abbreviate \(\mathbb {Q}_m:=\big \{{\mathcal {Q}}_{{}m}\,:\,\widehat{{\mathcal {Q}}}_{{}m}\in \widehat{\mathbb {Q}}_m\big \}\) with \({\mathcal {Q}}_{{}m}:=\big \{\textbf{F}_m(\widehat{Q})\,:\,\widehat{Q}\in \widehat{{\mathcal {Q}}}_{{}m}\big \}\). We define the set of all admissible meshes \(\mathbb {Q}\) as the set of all

$$\begin{aligned} {\mathcal {Q}}_{}=\bigcup _{m=1}^M {\mathcal {Q}}_{{}m} \text { with }{\mathcal {Q}}_{{}m}\in \mathbb {Q}_m \end{aligned}$$

such that there are no hanging nodes on any interface \(\varGamma _{m,m'}=\overline{ \varGamma _m} \cap \overline{\varGamma _{m'}}\) with \(m\ne m'\).

For \({\mathcal {Q}}_{}\in \mathbb {Q}\), the associated ansatz space is defined as

$$\begin{aligned} \begin{aligned} \mathbb {S}_{}:=\big \{ V \in L^2(\varGamma ) : V|_{\varGamma _m} \in {\mathbb {S}}^\textrm{H}_{\textbf{p}_m}(\widehat{{\mathcal {Q}}}_{{}m},\textbf{T}_m^0), \text { for } m = 1, \ldots , M\big \}, \end{aligned} \end{aligned}$$

where

$$\begin{aligned} {\mathbb {S}}^\textrm{H}_{\textbf{p}_m}(\widehat{{\mathcal {Q}}}_{{}m},\textbf{T}_m^0):=\big \{\widehat{V}\circ \textbf{F}_m^{-1}\,:\,\widehat{V}\in \widehat{\mathbb {S}}^\textrm{H}_{\textbf{p}_m}(\widehat{{\mathcal {Q}}}_{{}m},\textbf{T}_m^0)\big \}. \end{aligned}$$

To obtain bases of the space \(\mathbb {S}_{}\), we first define

$$\begin{aligned} {\mathcal H}_{\textbf{p}_m}(\widehat{{\mathcal {Q}}}_{{}m},\textbf {T}^{0}_m)&:=\big \{\widehat{\beta }\circ \textbf{F}_m^{-1}\,:\,\widehat{\beta }\in \widehat{{\mathcal H}}_{\textbf{p}_m}(\widehat{{\mathcal {Q}}}_{{}m},\textbf {T}^{0}_m)\big \},\\ {\mathcal T}_{\textbf{p}_m}(\widehat{{\mathcal {Q}}}_{{}m},\textbf {T}^{0}_m)&:=\big \{\widehat{\tau }\circ \textbf{F}_m^{-1}\,:\,\widehat{\tau }\in \widehat{{\mathcal T}}_{\textbf{p}_m}(\widehat{{\mathcal {Q}}}_{{}m},\textbf {T}^{0}_m)\big \}. \end{aligned}$$

Since the ansatz functions do not have to be continuous across interfaces, a basis of \(\mathbb {S}_{}\) is given by

$$\begin{aligned} \begin{aligned} \mathbb {S}_{}&=\textrm{span}\Big ( \bigcup _{m=1}^M {\mathcal H}_{\textbf{p}_m}(\widehat{{\mathcal {Q}}}_{{}m},\textbf {T}^{0}_m)\Big )= \textrm{span}\Big ( \bigcup _{m=1}^M {\mathcal T}_{\textbf{p}_m}(\widehat{{\mathcal {Q}}}_{{}m},\textbf {T}^{0}_m)\Big ), \end{aligned} \end{aligned}$$
(80)

where we extend the involved (T)HB-splines, which actually only live on \(\varGamma _m\), by zero to the whole boundary \(\varGamma \). We stress that the chosen basis is theoretically irrelevant for the realization of Algorithm 5 (in particular for the solving step), see also Sect. 6.1.6 for a detailed discussion in the case of IGAFEM.

Remark 32

We note that it is actually not necessary to forbid hanging nodes at interfaces, but it would be sufficient to control the size difference between intersecting elements. However, in contrast to weakly-singular integral equations, hypersingular integral equations, which result from Neumann problems (see, e.g. [159, Chapter 7]), require continuous trial functions. As in Sect. 6.1.5, one sees that the conformity property (P2’) of Sect. 3.2.2 is satisfied for (T)HB-splines on admissible meshes provided that \(\textbf {p}_m\) and \(\textbf {T}^0_m\) satisfy (P2’), which is slightly stronger than assuming that there are no hanging nodes at interfaces. Thus, corresponding basis functions can easily be constructed, and admissible meshes are suited for both the weakly- and the hypersingular case. Alternatively, one can also proceed as in Remark 30, applying conformity at each level and then defining directly hierarchical multi-patch functions.

To obtain admissible meshes starting from the initial one, we can essentially employ the same refinement algorithm as in Sect. 6.1.5: For arbitrary \({\mathcal {Q}}_{}\in \mathbb {Q}\) and \(Q\in {\mathcal {Q}}_{{}m}\) with corresponding element \(\widehat{Q}:=\textbf{F}_m^{-1}(Q)\) in the parametric domain, let \({\mathcal N}_{{}m}(\widehat{Q})\subseteq \widehat{{\mathcal {Q}}}_{{}m}\) either denote the corresponding \({\mathcal H}\)-neighborhood in the case of \({\mathcal H}\)-admissible meshes or the \({\mathcal T}\)-neighborhood in the case of \({\mathcal T}\)-admissible meshes, see Sect. 4.1.3. We define the neighbors of Q as

$$\begin{aligned}&{\mathcal N}_{}(Q):=\big \{Q'\in {\mathcal {Q}}_{{}m}\,:\,\widehat{Q}' \in {\mathcal N}_{{}m}(\widehat{Q})\big \}\\&\qquad \cup \bigcup _{m'\ne m} \big \{Q'\in {\mathcal {Q}}_{{}m'}\,:\,\textrm{dim}(\overline{Q}\cap \overline{Q}')=d-1\big \}, \end{aligned}$$

i.e., as in the IGAFEM case of Sect. 6.1.5, we add to the neighborhood adjacent elements from other patches. Then, it is easy to see that Algorithm 7 returns an admissible mesh. Indeed, one can show that the set of all possible refinements \(\texttt{refine}({\mathcal {Q}}_0)\) even coincides with \(\mathbb {Q}\), see [103, Proposition 5.4.3] in the case of \({\mathcal H}\)-admissible meshes of class \(\mu =2\).

figure g

The given setting fits into the abstract framework of Sect. 5.3. So far, this is only proved in [103, Sects. 5.4 and 5.5] and [108] for \({\mathcal H}\)-admissible meshes of class \(\mu =2\). However, building on [46, 47], where IGAFEM on \({\mathcal T}\)-admissible meshes has been considered, the generalization to arbitrary admissible meshes is indeed straightforward. We only sketch the proof in Sect. 7.1.1. Note that most of the properties have already been verified in Sect. 6.1 for IGAFEM-meshes.

Theorem 6

Hierarchical splines on admissible meshes satisfy the mesh properties (M1)–(M2), the refinement properties (R1)–(R3), and the space properties (S1)–(S2), (S3’), and (B1)–(B3). The involved constants depend only on the dimension \(d\), the parametrization constants \(C_{\textbf{F}_m}\) of Sect. 3.1, \(\textbf {p}_m\), \(\textbf{T}_m^0\), and \(\mu \). In particular, Theorem 3 is applicable. In conjunction with Theorem 1, this yields reliability (73) and linear convergence at optimal rate (57)–(58) of the residual error estimator (32), when the adaptive Algorithm 5 is employed.

7.1.1 Mesh, Refinement, and Space Properties

The mesh properties (M1)–(M2) follow as in Sect. 6.1.1. The refinement properties (R1)–(R3) follow as in Sects. 6.1.2 and 6.1.5. The properties (S1)–(S2) follow as in Sect. 6.1.3, see also [103, Sect. 5.5.12] for details.

For \({\mathcal H}\)-admissible meshes of class \(\mu =2\), the proof of (B1) is given in [103, Sect. 5.5.9], which itself strongly builds on a similar result for simplicial meshes [72]. However, we stress that the proof only hinges on the mesh properties (M1)–(M2) and the fact that hierarchical splines are polynomials on all elements in the parametric domain (see Proposition 3 (iv)), and the result hence extends to arbitrary admissible hierarchical meshes.

The reference [103, Proposition 5.5.5] states that the local approximation of unity property (B2) is satisfied if there exists a finite subset \(\mathcal {B}\subset \mathbb {S}_{}\) whose elements are non-negative, local in the sense that for all \(\beta \in \mathcal {B}\) there exists \(Q\in {\mathcal {Q}}_{}\) and a uniform constant \(q\in {\mathbb N}\) such that \(\textrm{supp}(\beta )\subseteq \pi _{}^q(Q)\), and form a partition of unity. According to Proposition 4 (i) and (79), these assumptions are fulfilled for THB-splines

$$\begin{aligned} {\mathcal B}:=\bigcup _{m=1}^M {\mathcal T}_{\textbf{p}_m}(\widehat{{\mathcal {Q}}}_{{}m},\textbf {T}^{0}_m). \end{aligned}$$

Scott–Zhang type operator Since the ansatz functions do not have to be continuous at interfaces and due to the regularity of the parametrization \(\textbf{F}_m\) of Sect. 3.1, it is sufficient to provide for each patch \(\varGamma _m\) and \(\widehat{\mathcal {S}}_m\subseteq \widehat{{\mathcal {Q}}}_{{}m}\) an operator

$$\begin{aligned} \widehat{J}_{{}m,\widehat{\mathcal {S}}_m}:L^2(\widehat{\varGamma })\rightarrow \big \{ \widehat{\varPsi }_{{}m}\in {\mathbb {S}}^\textrm{H}_{\textbf{p}_m}(\widehat{{\mathcal {Q}}}_{{}m},\textbf{T}_m^0): \widehat{\varPsi }_{{}m}|_{\bigcup (\widehat{{\mathcal {Q}}}_{{}m}\setminus \widehat{\mathcal {S}}_m)}=0\big \} \end{aligned}$$

which satisfies (S3’) and (B3). We define this operator similarly as \(\widehat{J}_{\textbf {p},\widehat{\mathcal {Q}}}^{\,\textrm H}\) of Sect. 4.1.4, but now have to take into account that the output should only live on \(\bigcup \widehat{\mathcal {S}}_m\) by discarding all THB-splines that have support entirely outside of this set. Then the local projection property (S3’) as well as the local \(L^2\)-stability (B3) for the operator \(\widehat{J}_{{}m,\widehat{\mathcal {S}}_m}\) can be shown as in Sect. 6.1.3. Details for hierarchical splines on \({\mathcal H}\)-admissible meshes of class \(\mu =2\) are found in [103, Sect. 5.5.14].

7.1.2 Numerical Experiments

We now apply the adaptive IGABEM with HB-splines analyzed in the previous sections. We consider the 3D Laplace operator \(\mathscr {P}:=-\varDelta \) as partial differential operator, and we present two numerical experiments that were already considered in [103, Sect. 5.6]: a quasi-singular solution on a thick ring and an exterior problem on a cube. For numerical experiments with (one-dimensional) hierarchical splines in 2D, we refer to [88]. The fundamental solution of \(-\varDelta \) in 3D is given by

$$\begin{aligned} G(\textbf{z}):=\frac{1}{4\pi }\frac{1}{|\textbf{z}|}\quad \text {for all }{} \textbf{z}\in {\mathbb R}^3\setminus \{0\}, \end{aligned}$$

and the resulting single-layer operator \(\mathscr {V}:H^{-1/2}(\varGamma )\rightarrow H^{1/2}(\varGamma )\) is elliptic, see Sect. 3.3.2. Throughout, we use \({\mathcal H}\)-admissible hierarchical meshes of class \(\mu =2\) and the basis of (non-truncated) HB-splines given in (80) for the considered ansatz spaces. An explanation on how the involved singular integrals are computed via suitable Duffy transformations and subsequent standard tensor Gaussian quadrature is given in [103, Sect. 5.6], see also [185, Chapter 5] and [135, Sect. 7.1]. We mention that no compression techniques have been used for the dense Galerkin matrices. Moreover, to ease computation, the term \(h_Q=|Q|^{1/2}\) in the estimator (32) is replaced by the equivalent term \(\textrm{diam}(\varGamma )|\widehat{Q}|^{1/2}\) with the corresponding element \(\widehat{Q}\) in the parametric domain.

Quasi-singularity on thick ring For given Dirichlet data \(g\in {H}^{1/2}(\varGamma _{})\), we consider the interior Laplace–Dirichlet problem

$$\begin{aligned} \begin{aligned} -\varDelta u&=0\quad \text {in }{\varOmega },\\ u&=g\quad \text {on } \varGamma ,\end{aligned} \end{aligned}$$
(81)

on the (quarter of a) thick ring

$$\begin{aligned} \varOmega : = \big \{&10^{-1}(r\cos (\varphi ),r\sin (\varphi ),z): \\&r \in (1/2, 1), \varphi \in (0,{\pi }/{2}), z\in (0,1)\big \}; \end{aligned}$$

see Fig. 39 for an illustration. The boundary of \(\varOmega \) is described by six patches of rational splines of degrees 1 and 2, without any internal knots, see [103, Sect. 5.6.2] for a precise parametrization of the boundary.

Then, (81) can be equivalently rewritten as an integral equation in the form of (28). In particular, the normal derivative \(\phi :=\partial _{\varvec{\nu }} u\) of the weak solution u of (81) satisfies \(\mathscr {V}\phi =(\mathscr {K}+1/2) g\). We prescribe the exact solution of (81) as the shifted fundamental solution

$$\begin{aligned} u(\textbf{x}):=G(\textbf{x}-\textbf{y}_0)=\frac{1}{4\pi }\frac{1}{|\textbf{x}-\textbf{y}_0|}, \end{aligned}$$

with \(\textbf{y}_0:=10^{-1}(0.95\cdot 2^{-3/2},0.95\cdot 2^{-3/2},1/2)\in {\mathbb R}^3\setminus \overline{\varOmega }\). Although u is smooth in \(\overline{\varOmega }\), it is nearly singular at the midpoint \(\widetilde{\textbf{y}}_0:=10^{-1}( 2^{-3/2},2^{-3/2},1/2)\) of the front surface. The normal derivative \(\phi =\partial _{\varvec{\nu }} u\) of u is given by

$$\begin{aligned} \phi (\textbf{x})=-\frac{1}{4\pi }\frac{\textbf{x}-\textbf{y}_0}{|\textbf{x}-\textbf{y}_0|^3}\cdot {\varvec{\nu }}(\textbf{x}). \end{aligned}$$

We consider polynomial degrees \(p\in \{0,1,2\}\). For the initial ansatz space with spline degree \(\textbf{p}_m:=(p,p)\) for all \(m\in \{1,\dots 6\}\), we choose one single element on each patch as initial mesh, and when refining we consider the maximum continuity \(C^{p-1}\) within each patch. We choose the parameters of Algorithm 5 as \(\theta =0.5\) and \(C_\textrm{min}=1\). In the lowest-order case \(p=0\), we modify the refinement strategy of Algorithm 7 by setting for all \(Q\in {\mathcal {Q}}_{{}m}\),

$$\begin{aligned}&{\mathcal N}_{}(Q):=\big \{Q'\in {\mathcal {Q}}_{{}m}\,:\,\overline{Q}\cap \overline{Q}'\ne \emptyset \wedge \textrm {lev}(Q') < \textrm {lev}(Q)\big \}\nonumber \\&\quad \cup \bigcup _{m'\ne m} \big \{Q'\in {\mathcal {Q}}_{{}m'}\,:\,\textrm{dim}(\overline{Q}\cap \overline{Q}')=d-1\big \}, \end{aligned}$$
(82)

i.e., within the patch we mark any coarser element which intersects Q, and we add adjacent elements from other patches to avoid hanging nodes. For comparison, we also consider uniform refinement, where we mark all elements in each step, i.e., \(\mathcal M_k={\mathcal {Q}}_k\) for all \(k\in {\mathbb N}_0\). This leads to uniform bisection of all elements. In Fig. 39, some adaptively generated hierarchical meshes are depicted.

To (approximately) compute the energy error, we use extrapolation: Let \(\varPhi _{k}\in \mathbb {S}_k\) be the Galerkin approximation of the k-th step with the corresponding coefficient vector \(\varvec{c}_k\), and let \(\varvec{V}_k\) be the Galerkin matrix. With Galerkin orthogonality (31), which yields that \(\langle \mathscr {V}(\phi -\varPhi _k)\,;\,\varPhi _k\rangle =0\), and the energy norm \(\Vert \phi \Vert _{\mathscr {V}}^2=\langle \mathscr {V}\phi \,;\,\phi \rangle \) obtained (as, e.g., in [55]) by Aitken’s \(\varDelta ^2\)-extrapolation, we can compute the energy error as

$$\begin{aligned} \begin{aligned} \Vert \phi -\varPhi _k\Vert _{\mathscr {V}}^2&=\Vert \phi \Vert _{\mathscr {V}}^2-\Vert \varPhi _k\Vert _{\mathscr {V}}^2=\Vert \phi \Vert _{\mathscr {V}}^2-\varvec{c}_k^\top \varvec{V}_k\varvec{c}_k. \end{aligned} \end{aligned}$$
(83)

In Figs. 40 and 41, we plot the approximated energy error \(\Vert \phi -\varPhi _k\Vert _{\mathscr {V}}\) and the error estimator \(\eta _k\) against the number of elements \(\#{\mathcal {Q}}_k\). Although we only proved reliability (73) of the employed estimator, the curves (in a double-logarithmic plot) for the error and the estimator are parallel in each case, which numerically indicates reliability and efficiency, see also Remark 24 which states efficiency in a slightly weaker sense. Since the solution \(\phi \) is smooth, the uniform and the adaptive approach both lead to the optimal asymptotic convergence rate \(\mathcal {O}((\#{\mathcal {Q}}_k)^{-3/4-p/2})\), see [185, Corollary 4.1.34]. However, \(\phi \) is nearly singular at \(\widetilde{\textbf{y}}_0\), which is why adaptivity yields a much better multiplicative constant.

Fig. 39
figure 39

Quasi-singularity on thick ring: Hierarchical meshes generated by Algorithm 5 (with \(\theta =0.5\)) for hierarchical splines of degree \(p=1\)

Fig. 40
figure 40

Quasi-singularity on thick ring: Energy error \(\Vert \phi -\varPhi _k\Vert _{\mathscr {V}}\) and estimator \(\eta _k\) of Algorithm 5 for hierarchical splines of degree p are plotted versus the number of elements \(\#{\mathcal {Q}}_k\). Uniform and adaptive (\(\theta =0.5\)) refinement is considered

Fig. 41
figure 41

Quasi-singularity on thick ring: The energy errors \(\Vert \phi - \varPhi _k\Vert _{\mathscr {V}}\) of Algorithm 5 for hierarchical splines of degree \(p\in \{0,1,2\}\) are plotted versus the number of elements \(\#{\mathcal {Q}}_k\). Uniform (for \(p=2\)) and adaptive (\(\theta =0.5\) for \(p\in \{0,1,2\}\)) refinement is considered

Exterior problem on cube We consider the exterior Laplace–Dirichlet problem

$$\begin{aligned} \begin{aligned} -\varDelta u&=0\quad \text {in }{{\mathbb R}^3\setminus \overline{\varOmega }},\\ u&=g\quad \text {on } \varGamma ,\end{aligned} \end{aligned}$$
(84a)

for given Dirichlet data \(g\in {H}^{1/2}(\varGamma _{})\), together with the far field radiation condition

$$\begin{aligned} u(\textbf{x})=\mathcal {O}\Big (\frac{1}{|\textbf{x}|}\Big )\quad \text {as }|\textbf{x}|\rightarrow \infty \end{aligned}$$
(84b)

in the cube \(\varOmega := (0,1/10)^3\). Then, (84) is equivalent to an integral equation (27), see, e.g., [159, Theorem 7.15 and Theorem 8.9] or [185, Sect. 3.4.2.2]. The (exterior) normal derivative \(\phi :=\partial _{{\varvec{\nu }}} u\) of the weak solution u of (27) satisfies (27) with \(f:=(\mathscr {K}-1/2)g\), i.e.,

$$\begin{aligned} \mathscr {V}\phi =(\mathscr {K}-1/2) g, \end{aligned}$$

where \(\mathscr {K}\) denotes again the double-layer operator (29).

We choose \(g:=-1\). Since the constant function 1 satisfies the Laplace problem, (28) implies that \(\mathscr {K}1=-1/2\), and thus \(f=(\mathscr {K}-1/2) g\) simplifies to \(f=1\). We expect singularities at the non-convex edges of \({\mathbb R}^3\setminus \overline{\varOmega }\), i.e., at all edges of the cube \(\varOmega \).

The boundary of the cube is trivially represented by six bilinear patches. Again, we consider \(p\in \{0,1,2\}\) and discrete spaces of splines of degree \(\textbf{p}_m:=(p,p)\) for all \(m\in \{1,\dots 6\}\) with one single element per patch as initial mesh, and when refining we consider the maximum continuity \(C^{p-1}\) across the elements within the patch. We choose the parameters of Algorithm 5 as \(\theta =0.5\) and \(C_\textrm{min}=1\), where we use again (82) in the lowest-order case \(p=0\). For comparison, we also consider uniform refinement, where we mark all elements at each step, i.e., \(\mathcal M_k={\mathcal {Q}}_k\) for all \(k\in {\mathbb N}_0\). This leads to uniform bisection of all elements.

In Fig. 42, some adaptively generated hierarchical meshes are depicted. In Figs. 43 and 44, we plot the approximated energy error \(\Vert \phi -\varPhi _k\Vert _{\mathscr {V}}\) (see (83)) and the error estimator \(\eta _k\) against the number of elements \(\#{\mathcal {Q}}_k\). In all cases, the lines of the error and the error estimator are parallel, which numerically indicates reliability and efficiency. The uniform approach always leads to the suboptimal convergence rate \(\mathcal {O}((\#{\mathcal {Q}}_k)^{-1/3})\) due to the edge singularities. Independently on the chosen polynomial degree p, the adaptive approach leads approximately to the rate \(\mathcal {O}((\#{\mathcal {Q}}_k)^{-1/2})\). For smooth solutions \(\phi \), one would expect the rate \(\mathcal {O}((\#{\mathcal {Q}}_k)^{-3/4-p/2})\), see [185, Corollary 4.1.34]. However, according to Theorem 6, the achieved rate is optimal if one uses the proposed refinement strategy and the resulting hierarchical splines. The reduced optimal convergence rate is likely due to the edge singularites. A similar reduced convergence behavior has also been observed in [98] for the lowest-order case \(p=0\) and in Sect. 6.1.6 in case of IGAFEM. [97] additionally considers anisotropic refinement, which recovers the optimal rate \(\mathcal {O}((\#{\mathcal {Q}}_k)^{-3/4})\).

Fig. 42
figure 42

Exterior problem on cube: Hierarchical meshes generated by Algorithm 5 (with \(\theta =0.5\)) for hierarchical splines of degree \(p=1\)

Fig. 43
figure 43

Exterior problem on cube: Energy error \(\Vert \phi - \varPhi _k\Vert _{\mathscr {V}}\) and estimator \(\eta _k\) of Algorithm 5 for hierarchical splines of degree p are plotted versus the number of elements \(\#{\mathcal {Q}}_k\). Uniform and adaptive (\(\theta =0.5\)) refinement is considered

Fig. 44
figure 44

Exterior problem on cube: The energy errors \(\Vert \phi - \varPhi _k\Vert _{\mathscr {V}}\) of Algorithm 5 for hierarchical splines of degree \(p\in \{0,1,2\}\) are plotted versus the number of elements \(\#{\mathcal {Q}}_k\). Uniform (for \(p=0\)) and adaptive (\(\theta =0.5\) for \(p\in \{0,1,2\}\)) refinement is considered

7.2 Adaptive IGABEM with T-Splines

We start defining T-splines on the multi-patch boundary \(\varGamma \). Note that these T-splines do not need to be continuous across interfaces as we consider the weakly-singular integral equation. In contrast to the common approach in the engineering literature, where T-spline functions may be smooth across patches, see, e.g., [140, 190, 196], we define them separately on each patch, see also Remark 33. For each \(m=1,\dots ,M\), let \(\textbf {p}_m\) be a vector of positive polynomial degrees and \(\textbf {T}^0_m\) be a multivariate open knot vector on \(\widehat{\varGamma }=(0,1)^{{\widehat{d}}}\), \({\widehat{d}}=d-1\ge 2\), with induced initial index T-mesh \(\check{{\mathcal {Q}}}_{0,m}\). We assume that \(\widehat{\mathbb {S}}_{\textbf{p}_m} (\textbf {T}^0_m)\) and \(\widehat{\mathbb {S}}_{\textbf{p}_{\textbf{F}_m}} (\textbf{T}_{\textbf{F}_m})\) with \(\textbf{p}_{\textbf{F}_m}\) and \(\textbf{T}_{\textbf{F}_m}\) from the parametrization \(\textbf{F}_m:\widehat{\varGamma }\rightarrow \varGamma _m\) (see Sect. 3.1.2) are compatible to each other as in Sect. 3.2.2. Note that \(\widehat{\mathbb {S}}_{\textbf{p}_m} (\textbf {T}^0_m)=\widehat{\mathbb {S}}^\textrm{T}_{\textbf{p}_m}(\check{{\mathcal {Q}}}_{0,m},\textbf{T}_m^0)\). Moreover, we assume for the initial mesh \({\mathcal {Q}}_0=\bigcup _{m=1}^M {\mathcal {Q}}_{0,m}\) with \({\mathcal {Q}}_{0,m}:=\big \{\textbf{F}_m(\widehat{Q})\,:\,\widehat{Q}\in \widehat{{\mathcal {Q}}}_{0, m}\big \}\) that there are no hanging nodes between patch interfaces \(\varGamma _{m,m'}=\overline{ \varGamma _m} \cap \overline{\varGamma _{m'}}\) with \(m\ne m'\), see also (P1) of Sect. 3.1.2. For each \(m=1,\dots ,M\), we abbreviate the set of all corresponding admissible meshes as \(\widehat{\mathbb {Q}}_m\), see Sect. 4.2.5. Moreover, we abbreviate \(\mathbb {Q}_m:=\big \{{\mathcal {Q}}_{{}m}\,:\,\widehat{{\mathcal {Q}}}_{{}m}\in \widehat{\mathbb {Q}}_m\big \}\) with \({\mathcal {Q}}_{{}m}:=\big \{\textbf{F}_m(\widehat{Q})\,:\,\widehat{Q}\in \widehat{{\mathcal {Q}}}_{{}m}\big \}\). The index T-mesh corresponding to \({\mathcal {Q}}_{{}m}\) is denoted by \(\check{{\mathcal {Q}}}_{{}m}\), see Remark 16. We define the set of all admissible meshes \(\mathbb {Q}\) as the set of all

$$\begin{aligned} {\mathcal {Q}}_{}=\bigcup _{m=1}^M {\mathcal {Q}}_{{}m} \text { with }{\mathcal {Q}}_{{}m}\in \mathbb {Q}_m \end{aligned}$$

such that \(|\textrm{lev}(Q)-\textrm{lev}(Q')|\le 1\) whenever \(Q\in {\mathcal {Q}}_{{}m}, Q'\in {\mathcal {Q}}_{{}m'}\) with \(m\ne m'\) and \(\overline{Q}\cap {\overline{Q'}}\ne \emptyset \).

For \({\mathcal {Q}}_{}\in \mathbb {Q}\), the associated ansatz space is defined as

$$\begin{aligned} \begin{aligned} \mathbb {S}_{}:=\big \{ V \in L^2(\varGamma ) : V|_{\varGamma _m} \in {\mathbb {S}}^\textrm{T}_{\textbf{p}_m}(\check{{\mathcal {Q}}}_{{}m},\textbf{T}_m^0), \text { for } m = 1, \ldots , M\big \}, \end{aligned} \end{aligned}$$

where

$$\begin{aligned} {\mathbb {S}}^\textrm{T}_{\textbf{p}_m}(\check{{\mathcal {Q}}}_{{}m},\textbf{T}_m^0):=\big \{\widehat{V}\circ \textbf{F}_m^{-1}\,:\,\widehat{V}\in \widehat{\mathbb {S}}^\textrm{T}_{\textbf{p}_m}(\check{{\mathcal {Q}}}_{{}m},\textbf{T}_m^0)\big \}. \end{aligned}$$

To obtain a basis of the space \(\mathbb {S}_{}\), we first define

$$\begin{aligned} B_{{}m,\textbf {z},\textbf {p}_m}:=\widehat{B}_{{}m,\textbf {z},\textbf {p}_m}\circ \textbf{F}_m^{-1}\\ \end{aligned}$$

for all anchors \(\textbf {z}\in \mathcal {A}_{\textbf{p}_m}(\check{\mathcal {Q}}_{{}m},\textbf{T}^0_m)\), where \(\widehat{B}_{{}m,\textbf {z},\textbf {p}_m}\) is defined as in (49). Since the ansatz functions do not have to be continuous across interfaces, a basis of \(\mathbb {S}_{}\) is given via

$$\begin{aligned} \mathbb {S}_{}&=\textrm{span}\Big ( \bigcup _{m=1}^M \big \{B_{{}m,\textbf {z},\textbf {p}_m}\,:\,\textbf {z}\in \mathcal {A}_{\textbf {p}_m}(\check{\mathcal {Q}}_{{}m},\textbf{T}^0_m)\big \}\Big ), \end{aligned}$$

where we extend the involved T-spline blending functions, which actually only live on \(\varGamma _m\), by zero to the whole boundary \(\varGamma \).

Remark 33

In contrast to weakly-singular integral equations, hypersingular integral equations, which result from Neumann problems (see e.g. [159, Chapter 7]), require continuous trial functions. While the construction of continuous T-splines across patches has been already used in other works, see for instance [140, 190], the extension of the refinement algorithm with admissible meshes in Sect. 4.2.5 to the multi-patch case is not evident, because the alternate directions of bisection may differ from patch to patch.

To obtain admissible meshes starting from the initial one, we adapt the single-patch refinement strategy from Sect. 4.2.5: For arbitrary \({\mathcal {Q}}_{}\in \mathbb {Q}\) and \(Q\in {\mathcal {Q}}_{{}m}\) let us denote by \(\widehat{Q}:=\textbf{F}_m^{-1}(Q)\) and \(\check{Q}\) the corresponding elements in the parametric domain and in the index domain, respectively, and let \({\mathcal N}_{{}m}(\check{Q})\subseteq \check{{\mathcal {Q}}}_{{}m}\) denote the corresponding neighborhood, see Sect. 4.2.5. Recall that each element in \({\mathcal N}_{{}m}(\check{Q})\) lies in the index/parametric domain. We define the neighbors of Q as

$$\begin{aligned}&{\mathcal N}_{}(Q):=\big \{Q'\in {\mathcal {Q}}_{{}m}\,:\,\check{Q}' \in {\mathcal N}_{{}m}(\check{Q})\big \}\\&\cup \bigcup _{m'\ne m} \big \{Q'\in {\mathcal {Q}}_{{}m'}\,:\,\overline{Q}\cap {\overline{Q'}}\ne \emptyset \wedge \textrm{lev}(Q)>\textrm{lev}(Q')\big \}, \end{aligned}$$

i.e., apart from the standard neighbors within the patch, we add (as already suggested in Remark 32 for HB-splines) neighbor elements from other patches of a coarser level.

With this notation, we can employ Algorithm 7 of Sect. 7.1 for refinement. Then, one can show that the set of all possible refinements \(\texttt{refine}({\mathcal {Q}}_0)\) coincides with \(\mathbb {Q}\). Such a result is proved in [103, Proposition 5.4.3] for the analogous case of HB-splines on \({\mathcal H}\)-admissible meshes of class \(\mu =2\). The proof easily extends to T-splines on admissible T-meshes.

The given setting fits into the abstract framework of Sect. 5.3. We stress that this result is new, but follows quite easily from [107], where IGAFEM with T-splines has been considered. We only sketch the proof in Sect. 7.2.1. Note that most of the properties have already been verified in Sect. 6.2 for IGAFEM-meshes.

Theorem 7

T-splines on admissible meshes satisfy the mesh properties (M1)–(M2), the refinement properties (R1)–(R3), and the space properties (S1)–(S2), (S3’), and (B1)–(B3). The involved constants depend only on the dimension \(d\), the parametrization constants \(C_{\textbf{F}_m}\) of Sect. 3.1, the degree \(\textbf {p}_m\), and the initial knot vector \(\textbf{T}_m^0\). In particular, Theorem 3 is applicable. In conjunction with Theorem 1, this yields reliability (73) and linear convergence at optimal rate (57)–(58) of the residual error estimator (32), when the adaptive Algorithm 5 is employed.

7.2.1 Mesh, Refinement, and Space Properties

The mesh properties (M1)–(M2) follow as for IGAFEM in Sect. 6.2.1. The child estimate (R1) is trivially satisfied. The closure estimate (R2) can be proved similarly as in the single-patch case [165, Sect. 6]. The overlay in (R3) can be built patch-wise as in Sect. 6.2.2. The properties (S1)–(S2) follow as in Sect. 6.2.3.

For the analogous case of hierarchical B-splines on \({\mathcal H}\)-admissible meshes of class \(\mu =2\), the proof of (B1) is given in [103, Sect. 5.5.9], which itself strongly builds on a similar result on triangular meshes [72]. However, we stress that the proof only hinges on the mesh properties (M1)–(M2) and the fact that hierarchical splines are polynomials on all elements in the parametric domain. Indeed, it only requires the considered functions to be polynomials on a rectangular subset of the same size as the element. Since there are at most two Bézier elements on each element (see Lemma 2), the result thus easily extends to T-splines on admissible T-meshes.

The reference [103, Proposition 5.5.5] states that the local approximation of unity property (B2) is satisfied if there exists a finite subset \(\mathcal {B}\subset \mathbb {S}_{}\) whose elements are non-negative, local in the sense that for all \(\beta \in \mathcal {B}\) there exists \(Q\in {\mathcal {Q}}_{}\) and a uniform constant \(q\in {\mathbb N}\) such that \(\textrm{supp}(\beta )\subseteq \pi _{}^q(Q)\), and form a partition of unity. According to Proposition 20 and Proposition 13 together with Proposition 17, these assumptions are fulfilled for T-spline basis functions

$$\begin{aligned} {\mathcal B}:= \bigcup _{m=1}^M \big \{B_{{}m,\textbf {z},\textbf {p}_m}\,:\,\textbf {z}\in \mathcal {A}_{\textbf {p}_m}(\check{\mathcal {Q}}_{{}m},\textbf{T}^0_m)\big \}, \end{aligned}$$

on admissible meshes.

Scott–Zhang type operator Since the ansatz functions do not have to be continuous at interfaces and due to the regularity of the parametrization \(\textbf{F}_m\) of Sect. 3.1, it is sufficient to provide for each patch \(\varGamma _m\) and \(\widehat{\mathcal {S}}_m\subseteq \widehat{{\mathcal {Q}}}_{{}m}\) an operator

$$\begin{aligned}&\widehat{J}_{{}m,\widehat{\mathcal {S}}_m}:L^2(\widehat{\varGamma })\rightarrow \big \{\widehat{\varPsi }_{{}m}\in \widehat{\mathbb {S}}^\textrm{T}_{\textbf{p}_m}(\check{{\mathcal {Q}}}_{{}m},\textbf{T}_m^0): \widehat{\varPsi }_{{}m}|_{\bigcup (\widehat{{\mathcal {Q}}}_{{}m}\setminus \widehat{\mathcal {S}}_m)}=0\big \} \end{aligned}$$

satisfying (S3’) and (B3). We define this operator similarly as \(\widehat{J}^{\,\textrm T}_{\textbf {p},\check{\mathcal {Q}}}\) in Sect. 4.2.4, but now have to take into account that the output should only live on \(\bigcup \widehat{\mathcal {S}}_m\) by discarding all T-spline blending functions that have support entirely outside of this set. Then the local projection property (S3’) as well as the local \(L^2\)-stability (B3) for the operator \(\widehat{J}_{{}m,\widehat{\mathcal {S}}_m}\) can be shown as in Sect. 6.2.3. A detailed analogous proof is given for hierarchical splines on \({\mathcal H}\)-admissible meshes of class \(\mu =2\) in [103, Sect. 5.5.14]. Indeed, the proof could essentially be copied, replacing THB-splines and their corresponding dual functionals by T-spline basis functions and their dual functionals.

7.3 Adaptive IGABEM in 2D with Smoothness Control

Finally, we briefly summarize results from [93,94,95, 109], where a slightly modified adaptive IGABEM in 2D has been studied, which additionally controls the smoothness of the one-dimensional spline ansatz functions. This control is achieved by using h-refinement together with multiplicity increase of the knots, which reduces the regularity of the basis functions. This combination allows to automatically resolve strong singularities but also simple discontinuities, which can both lead to a reduced convergence rate for uniform refinement. We note that in the 2D case, the boundary is one-dimensional, and adaptive refinement can be done using standard B-splines (or NURBS). The extension to the 3D setting using HB-splines or T-splines is far from being straightforward, and it has not been studied yet.

In this work, we restrict ourselves to the weakly-singular integral equation arising from Dirichlet problems, and we only allow reduction of the smoothness by multiplicity increase, but we remark that [109] also allows multiplicity decrease and analyzes both the weakly-singular integral equation, which we consider here, and the hypersingular integral equation arising from Neumann problems. For both cases, an optimal additive Schwarz preconditioner has been introduced in [100] for the Laplace problem, i.e., it is proved that the preconditioned Galerkin systems have a uniformly bounded condition number being independent of the local mesh-refinement and the smoothness of the B-spline ansatz functions. An important consequence is that the PCG solver is uniformly contractive, and analogously to the FEM case with hierarchical splines explained in Remark 29, this allows to prove that an adaptive algorithm combining adaptive refinement with an inexact PCG solver leads to optimal convergence with respect to the number of elements and also with respect to the overall computational cost, see [101] for details.

7.3.1 Setting of the Discrete Problem

Let \(\varOmega \subset {\mathbb R}^2\) be a Lipschitz domain with connected boundary \(\varGamma \subset {\mathbb R}^2\). We consider boundary integral equations as in Sect. 3.3.2. We assume that there exists a global NURBS parametrization \(\textbf{F}:[0,1]\rightarrow \varGamma \) (see Sect. 2.4) such that \(\textbf{F}|_{[0,1)}\) is bijective with \(\textbf{F}(0)=\textbf{F}(1)\). Moreover, we denote the knot vector associated to \(\textbf{F}\) by \(T_\textbf{F}\), and its induced mesh on [0, 1] by \(\widehat{{\mathcal {Q}}}_\textbf{F}\), and further assume that \(\textbf{F}|_{\widehat{Q}}\) is bi-Lipschitz for all \(\widehat{Q}\in \widehat{{\mathcal {Q}}}_\textbf{F}\). Let \(p\in {\mathbb N}_0\) be a fixed polynomial degree. We consider p-open knot vectors \(T_{}\) on [0, 1] (see Sect. 2.1.1) with \({\mathcal V}_\textbf{F}\subseteq {\mathcal V}_{}\), where \({\mathcal V}_\textbf{F}\) and \({\mathcal V}_{}\) respectively denote the set of vertices corresponding to \(T_\textbf{F}\) and \(T_{}\), which are defined as the images of all breakpoints (see 2.1.1) under \(\textbf{F}\). We define the space of all splines on [0, 1] and \(\varGamma \) as

$$\begin{aligned} \widehat{\mathbb {S}}_{}&:=\widehat{\mathbb {S}}_{p}(T_{}), \\ {\mathbb {S}}_{{}}&:=\big \{ \varPsi _{{}}\circ \textbf{F}^{-1}\,:\, \varPsi _{{}}\in {\mathbb {S}}_{{}}\big \} \subset L^2(\varGamma )\subset H^{-1/2}(\varGamma ). \end{aligned}$$

Note that the functions in \(\mathbb {S}\) are allowed to be discontinuous at the initial vertex \(\textbf{F}(0)=\textbf{F}(1)\). We consider B-splines, transformed via \(\textbf{F}\), as the basis of the space \(\mathbb {S}_{}\).

7.3.2 Refinement of Knot Vectors

Let \(T_0\) be a fixed initial p-open knot vector with \({\mathcal V}_\textbf{F}\subseteq {\mathcal V}_0\). With the corresponding mesh \(\widehat{{\mathcal {Q}}}_0\) in [0, 1], define the initial shape-regularity constant

$$\begin{aligned} \widehat{\gamma }_0:=\max \Big \{\frac{|\widehat{Q}|}{|\widehat{Q}'|}:\widehat{Q},\widehat{Q}'\in \widehat{{\mathcal {Q}}}_0\text { with }\overline{Q}\cap \overline{Q'}\ne \emptyset \Big \}, \end{aligned}$$

where \(Q=\textbf{F}(\widehat{Q})\) and \(Q'=\textbf{F}(\widehat{Q}')\). We recall that, for meshes \({\mathcal {Q}}_{}\) on \(\varGamma \) corresponding to \(T_{}\) and for an element \(Q \in {\mathcal {Q}}_{}\), the element-patch \(\varPi _{}(Q)\) of (63) is given by the element itself and its adjacent neighbors. First, we formulate the auxiliary refinement Algorithm 8 taken from [7], which focusses on plain h-refinement, but ensures shape-regularity for the refined meshes.

figure h

The refinement strategy Algorithm 9 will be used to steer a modified version of the adaptive Algorithm 5. In contrast to all refinement strategies in previous sections, it receives marked vertices instead of marked elements as input and also uses knot multiplicity increase for refinement.

For any vertex \(\textbf{z} \in {\mathcal V}_{}\), we denote by \(\textbf{z}_r\) the vertex right to \(\textbf{z}\) with respect to the orientation of \(\textbf{F}\). We denote by \(z:=\textbf{F}|_{[0,1)}^{-1}(\textbf{z}), z_r:=\textbf{F}|_{(0,1]}^{-1}(\textbf{z}_r)\) the corresponding breakpoints, and with some abuse of notation, by \((\textbf{z},\textbf{z}_r):=\textbf{F}\big ((z,z_r)\big )\) the unique element delimited by the two vertices. The refinement strategy in Algorithm 9 does the following: If both vertices of an element are marked, the element is marked for refinement via Algorithm 8. For all other vertices (i.e., those that are not stored in \(\mathcal{R}\)) the multiplicity is increased if it is less than \(p+1\), otherwise the neighboring elements are marked. Clearly, \(T_+= \texttt{refine}(T_{},\mathcal M)\) is finer than \(T_{}\), in the sense that \(T_{}\) is a subsequence of \(T_+\) and thus \(\mathbb {S}_{}\subseteq \mathbb {S}_+\). For any p-open knot vector \(T_{}\), we define \(\texttt{refine}(T_{})\) as the set of all p-open knot vectors \(T_+\) that can be obtained by iterative application of \(\texttt{refine}\). We define the set of all admissible p-open knot vectors

$$\begin{aligned} \mathbb {T}:=\texttt{refine}(T_0). \end{aligned}$$

It is easy to see that \(\mathbb {T}\) coincides with the set of all p-open knot vectors \(T_{}\) which are obtained via iterative bisections in the parametric domain and arbitrary knot multiplicity increases such that

$$\begin{aligned} |\widehat{Q}|/|\widehat{Q}'|\le 2\widehat{\gamma }_0 \quad \text {for all } Q,Q'\in {\mathcal {Q}}_{}\text { with }Q\cap Q'\ne \emptyset . \end{aligned}$$

Indeed, by marking in each step both vertices of an element, Algorithm 9 can realize Algorithm 8, which can generate according to [7, Theorem 2.3] arbitrary bisected meshes satisfying the latter local quasi-uniformity. By marking iteratively only one vertex, it is possible to arbitrarily increase the resulting knot multiplicities.

figure i

7.3.3 Adaptive Algorithm

Let \(T_{}\in \mathbb {T}\) with vertices \({\mathcal V}_{}\). We consider a vertex-based version of the weighted-residual a posteriori error estimator (32)

$$\begin{aligned} \begin{aligned}&\eta _{}:= \eta _{}({\mathcal V}_{}) \\&\quad \text {with}\quad \eta _{}(\mathcal {S})^2:=\sum _{\textbf{z}\in \mathcal {S}} \eta _{}(\textbf{z})^2 \text { for all }\mathcal {S}\subseteq {\mathcal V}_{}, \end{aligned} \end{aligned}$$
(85a)

where, for all \(\textbf{z}\in {\mathcal V}_{}\), the local refinement indicators read, with \(\pi _{}(\{\textbf{z}\})=\bigcup \big \{Q\in {\mathcal {Q}}_{}\,:\,\textbf{z}\in \overline{Q}\big \}\),

$$\begin{aligned} \eta _{}(\textbf{z})^2:=|\pi _{}(\textbf{z})| \vert f-\mathscr {V}\varPhi _{}\vert _{H^1(\pi _{}(\textbf{z}))}^2. \end{aligned}$$
(85b)

The refinement strategy in Algorithm 9 and the given vertex-based error estimator give rise to a modified version of Algorithm 5, namely Algorithm 10, which uses the same solving step, but computes indicators associated to vertices instead of elements, marks vertices via the Dörfler criterion (54), and refines via Algorithm 9 based on these marked vertices.

figure j

7.3.4 Optimal Convergence for One-Dimensional Splines

As in Sect. 5.3.2, we say that the solution \(\phi \in H^{-1/2}(\varGamma )\) lies in the approximation class s with respect to the estimator (85) if

$$\begin{aligned} \widetilde{C}_\textrm{apx}(s):= \sup _{N\ge \#T_0} \min _{T_{}\in \mathbb {T}(N)}(N^s\eta _{})<\infty , \end{aligned}$$

with \(\mathbb {T}(N):=\big \{T_{{}}\in \mathbb {T}\,:\,\# T_{{}}\le N\big \}\) and \(\# T_{{}}\) is the sum of all knot multiplicities in \(T_{}\). In the notation of Sect. 2.1, it holds that \(\# T_{{}}= n+p+1\). By definition, \(\widetilde{C}_\textrm{apx}(s)<\infty \) implies that the error estimator \(\eta _{}\) decays at least with rate \({\mathcal O}\big ((\# T_{})^{-s}\big )\) on the optimal knot vectors \(T_{}\). The following theorem, which mainly stems from [94, Theorem 3.2], states that each possible rate \(s>0\) is in fact realized by Algorithm 10. Theorem 8 (i) states reliability, which was verified for the current setting in [93, Theorem 4.4].

Theorem 8

Let \((T_k)_{k\in {\mathbb N}_0}\) be the sequence of knots generated in Algorithm 10. Then, there hold:

  1. (i)

    The residual error estimator satisfies reliability, i.e., there exists a constant \(C_\textrm{rel}>0\) such that

    $$\begin{aligned} \Vert \phi -\varPhi _{}\Vert _{H^{-1/2}(\varGamma )}\le C_\textrm{rel}\eta _{}\quad \text {for all }T_{}\in \mathbb {T}. \end{aligned}$$
  2. (ii)

    For arbitrary \(0<\theta \le 1\) and \(C_\textrm{min}\in [1,\infty ]\), the residual error estimator converges linearly, i.e., there exist constants \(0<\rho _\textrm{lin}<1\) and \(C_\textrm{lin}\ge 1\) such that

    $$\begin{aligned} \eta _{k+j}^2\le C_\textrm{lin}\rho _\textrm{lin}^j\eta _k^2\quad \text {for all }j,k\in {\mathbb N}_0. \end{aligned}$$
  3. (iii)

    There exists a constant \(0<\theta _\textrm{opt}\le 1\) such that for all \(0<\theta <\theta _\textrm{opt}\) and \(C_\textrm{min}\in [1,\infty )\), the estimator converges at optimal rate, i.e., for all \(s>0\) there exist constants \(c_\textrm{opt},C_\textrm{opt}>0\) such that

    $$\begin{aligned} c_\textrm{opt} \widetilde{C}_\textrm{apx}(s) \le \sup _{k\in {\mathbb N}_0}{(\# T_k)^{s}}\,{\eta _k} \le C_\textrm{opt} \widetilde{C}_\textrm{apx}(s). \end{aligned}$$

All involved constants \(C_\textrm{rel},C_\textrm{lin},\rho _\textrm{lin},\theta _\textrm{opt}\), and \(C_\textrm{opt}\) depend only on the coefficients of the differential operator \(\mathscr {P}\), the parametrization \(\textbf{F}\), the polynomial order p, and the initial knot vector \(T_0\), while \(C_\textrm{lin},\rho _\textrm{lin}\) depend additionally on \(\theta \) and the sequence \((\varPhi _k)_{k\in {\mathbb N}_0}\), and \(C_\textrm{opt}\) depends furthermore on \(C_\textrm{min}\) and \(s>0\).

Remark 34

If one uses the original Algorithm 5 with the refinement strategy Algorithm 8 (which does not use knot multiplicity increase) and the element-based residual error estimator \(\eta _k\) of (32), the abstract framework of Sect. 5.3 is directly applicable, see [93] for details. In particular, Theorem 3 applies and guarantees linear convergence of the estimator at optimal algebraic rate. Recently, [109, Sect. A.5] has even proved the important result that \(C_\textrm{apx}(s)\simeq \widetilde{C}_\textrm{apx}(s)\) for all \(s>0\), where \(C_\textrm{apx}(s)\) is the approximation class of the adaptive method without smoothness control defined analogously to (55). This particularly yields that the asymptotic approximation behavior of smooth splines and piecewise polynomials coincides at least in the simple case of 2D IGABEM. The numerical example of Sect. 6.1.6 for 2D IGAFEM suggests that this is in general not the case for 3D IGABEM due to the possible presence of edge singularities.

Remark 35

The adaptive algorithm introduced in [109] allows for both multiplicity increase and decrease. The latter converges as well at optimal algebraic rate and practically yields an even more accurate insight of the smoothness of the exact solution. As the algorithm is quite technical and again restricted to the 2D case, we refer to [109] for details.

7.3.5 Numerical Experiment

In this section, we empirically investigate the performance of the Algorithm 10 for a Laplace–Dirichlet problem

$$\begin{aligned} \begin{aligned} -\varDelta u&=0\quad \text {in }{\varOmega },\\ u&=g\quad \text {on } \varGamma , \end{aligned} \end{aligned}$$
(86)

for given Dirichlet data \(g\in {H}^{1}(\varGamma _{})\), where the additional regularity \(H^1(\varGamma )\) instead of \(H^{1/2}(\varGamma )\) is only needed for the weighted-residual error estimator. The following example has also been considered in [93, 95, 103, 109]. In the latter works, several further examples are found, where [109] also studies the hypersingular integral equation arising from Neumann problems. We choose

$$\begin{aligned} \varOmega :=\big \{&(r \cos (\varphi ),r \sin (\varphi )): \\&r\in (0,{1}/{4})\wedge \varphi \in \left( -{\pi }/{2\alpha },{\pi }/{2\alpha }\right) \big \} \end{aligned}$$

with \(\alpha :=4/7\), see Fig. 45. A parametrization \(\textbf{F}\) of its boundary \(\varGamma \) in terms of rational splines of degree \(p=2\) is given, e.g., in [95, Sect. 5.3]. We prescribe the exact solution of (86) in polar coordinates \((r,\varphi )\) by

$$\begin{aligned} u(x,y):=r^{\alpha }\cos \left( \alpha \varphi \right) \; \text {with }(x,y)=(r\cos (\varphi ),r\sin (\varphi )). \end{aligned}$$

The fundamental solution of \(-\varDelta \) is given by

$$\begin{aligned} G(\textbf{z}):=-\frac{1}{2\pi }\log |\textbf{z}|\quad \text {for all } \textbf{z}\in {\mathbb R}^2 \setminus \{0\}. \end{aligned}$$

Since \(\textrm{diam}(\varOmega )<1\), the corresponding single-layer operator \(\mathscr {V}\) is elliptic, see Sect. 3.3.2. As in Sect. 3.3.2, (86) can be equivalently rewritten as integral equation (28), i.e., \(\mathscr {V}\phi =(\mathscr {K}+1/2) g\), where the unique solution is the normal derivative \(\phi :=\partial _{\textbf {{\varvec{\nu }}}} u\) of the weak solution u of (86). For our problem, \(\phi \) has a singularity at \(\textbf{F}(1/2)\) and jumps at \(\textbf{F}(1/3)\) and \(\textbf{F}(2/3)\).

Fig. 45
figure 45

Geometry and initial vertices for the experiment of Sect. 7.3.5

To (approximately) calculate the Galerkin matrix, the right-hand side vector, and the weighted-residual error estimator (85), we transform the singular integrands into a sum of a smooth part and a logarithmically singular part. Then, we use adapted Gaussian quadrature to compute the resulting integrals with appropriate accuracy, see [102, Sect. 5] for details. Moreover, to ease computation, we replace at each step of the adaptive algorithm the term \(|\pi _k(\textbf{z})|\) in the error indicators \(\eta _k(\textbf{z})=\Vert |\pi _k(\textbf{z})|^{1/2} \nabla _\varGamma (f-\mathscr {V}\varPhi _k)\Vert _{L^2(\pi _k(\textbf{z}))}\) by the equivalent term \(\textrm{diam}(\varGamma )\,\widehat{h}_k\), where, \(\widehat{h}_k\in L^\infty (\varGamma )\) denotes the mesh-width function with \(\widehat{h}_k|_{Q}=|\textbf{F}^{-1}(Q)|\) for all \(Q\in {\mathcal {Q}}_k\). The error in the energy norm is computed again via Aitken’s \(\varDelta ^2\)-extrapolation and (83).

We choose the parameters of the modified Algorithm 10 as \(\theta =0.75\) and \(C_\textrm{min}=1\). For comparison, we also consider uniform refinement, where we mark all vertices at each step, i.e., \(\mathcal M_k={\mathcal V}_k\) for all \(k\in {\mathbb N}_0\). Note that this leads to uniform bisection (without knot multiplicity increase) of all elements. Given the knot vector defining the parametrization \(\textbf{F}\),

$$\begin{aligned} T_\textbf{F}=\Big (0,0,0,\frac{1}{6},\frac{1}{6},\frac{2}{6},\frac{2}{6},\frac{3}{6},\frac{3}{6},\frac{4}{6},\frac{4}{6},\frac{5}{6},\frac{5}{6},1,1,1\Big ), \end{aligned}$$

we consider splines of degree \(p\in \{0,1,2,3\}\) such that at the breakpoints the initial space \(\widehat{\mathbb {S}}_0\) is (if possible) as smooth as the space used to construct the parametrization. That is, the space is \(C^0\) for \(p \ge 1\), with the knots repeated exactly p times, and \(C^{-1}\) for \(p=0\). Note that \(\textbf{F}\) is continuous but not necessarily differentiable at the breakpoints.

In Figs. 46 and 47, we plot the approximated energy error \(\Vert \phi -\varPhi _k\Vert _{\mathscr {V}}\) and the error estimator \(\eta _k\) against the number of degrees of freedom. Since the solution lacks regularity, uniform refinement leads to the suboptimal rate \(\mathcal {O}(N^{-4/7})\) for the energy error, whereas adaptive refinement leads to the optimal rate \(\mathcal {O}(N^{-3/2-p})\), see [185, Corollary 4.1.34]. For adaptive refinement, Fig. 48 provides a histogram of the knots in the parametric domain [0, 1] of the last refinement step. We observe that at 1/2, where the singularity occurs, mainly h-refinement is used. Instead, at the two jump points 1/3 and 2/3, the adaptive algorithm just increases the multiplicity of the corresponding knots to its maximum allowing for discontinuous ansatz functions.

Fig. 46
figure 46

Singularity on pacman: Energy error \(\Vert \phi - \varPhi _k\Vert _{\mathscr {V}}\) and estimator \(\eta _k\) of Algorithm 10 for splines of degree p are plotted versus the number of degrees of freedom. Uniform and adaptive (\(\theta =0.75\)) refinement is considered

Fig. 47
figure 47

Singularity on pacman: The energy errors \(\Vert \phi - \varPhi _k\Vert _{\mathscr {V}}\) of Algorithm 10 for splines of degree \(p\in \{0,1,2,3\}\) are plotted versus the number of degrees of freedom. Uniform (for \(p=0\)) and adaptive (\(\theta =0.75\) for \(p\in \{0,1,2,3\}\)) refinement is considered

Fig. 48
figure 48

Singularity on pacman: Histogram of number of knots over the parametric domain for the knot vector \(T_{29}\) generated in Algorithm 10 (with \(\theta =0.75\)) for splines of degree \(p=3\). Knots with maximal multiplicity \(p+1=4\) are marked with a red cross and knots with multiplicity 3 are marked with a green smaller cross

8 Conclusion and Open Questions

This work aims to give a state-of-the-art introduction to the numerical analysis of adaptive FEM and BEM in the framework of IGA. The first sections (Sects. 2 and 3) introduce the concepts and notation of IGAFEM and IGABEM without adaptivity. Then, Sect. 4 gives the description and mathematical properties of two of the most popular adaptive spline constructions considered in the recent years, namely (T)HB-splines and T-splines.

Sect. 5 provides a brief introduction into the so-called axioms of adaptivity [53] and the concept of rate-optimal adaptive algorithms. It further provides a framework for finite element and boundary element discretizations, respectively, that guarantees the validity of the axioms of adaptivity. Leveraging on the properties for splines on adaptive meshes summarized in Sect. 4, we prove that (T)HB-splines on certain admissible hierarchical meshes and T-splines on suitable admissible meshes with alternating directions of refinement fit into this framework. This is verified in Sect. 6 for IGAFEM and in Sect. 7 for IGABEM. It should be noted that the local tensor-product structure of hierarchical splines not only enables the possibility of easily constructing (analysis-suitable) bases but it also simplifies the theoretical analysis of adaptive isogeometric methods. On the other hand, T-splines and T-meshes are more flexible and suited for applications, but restricted mesh configurations are needed for the development of their theoretical analysis and the involved results are more complicated in nature. As a consequence, adaptive isogeometric methods based on (T)HB-splines appear to be the IGA framework most advanced in terms of numerical analysis, while T-splines still appears to be most used in the engineering literature).

Even though adaptive IGA is a rapidly developing research field, many important questions remain open:

First, we have verified that the abstract properties in Sect. 5 are satisfied for isogeometric discretizations with (T)HB-splines and T-splines. For instance, it remains open whether these mesh and space properties are also satisfied for other adaptive spline constructions, as the ones briefly mentioned in Sect. 4.3, including for example LR-splines, or the different definitions of linearly independent T-splines from Sect. 4.2.7, which reduce the strong constraints posed by the dual-compatibility condition. We note that the mathematical study of adaptive methods based on these constructions is at different stages, being probably most advanced for LR-splines. As long as suitable refinement algorithms and interpolation estimates for a given adaptive spline construction are available, the abstract framework presented in this work can be properly exploited to study the resulting adaptive isogeometric method.

Second, it has not been mathematically studied yet how the approximation classes of the PDE solution and thus the resulting convergence rates of the adaptive algorithm depend on the employed adaptive splines. In particular, their relation to the classes and rates of standard (only continuous) finite element spaces is theoretically open. Our numerical experiments of Sect. 6.1.6 suggest that they might especially depend on the smoothness of the splines. A verifiable characterization in terms of the given data and the corresponding PDE solution would be desirable.

Third, the current analysis is implicitly tailored to isotropic meshes through the closure estimate (R2) and the overlay estimate (R3) in Sect. 5.1.4. Available proofs of (R2) (even for standard FEM and BEM) use the relation \(\textrm{diam}(Q)^{\widehat{d}} \simeq |Q|\) of element diameter and element area and hence mathematically exclude long and thin anisotropic elements, see, e.g., [201] for the seminal work which is transferred to IGA in [49, 105, 164, 165]. However, it is known that only point singularities can optimally be resolved by isotropic elements, while anisotropic elements are mandatory to resolve edge singularities, both in 2D and 3D computations. Optimal adaptivity with anisotropic elements is not only theoretically completely open, but also the stable implementation (in particular for BEM) is highly non-trivial.

Finally, the analysis presented for multi-patch domains has to be extended to more general configurations. In particular, for HB-splines we are assuming that there are no hanging nodes on the interface between patches, and the continuity is set to \(C^0\). While the first assumption can probably be removed without major issues, as we explained in Remark 30, the construction of hierarchical splines with \(C^1\) continuity in general multi-patch geometries remains an open question. For T-splines instead, we have only presented results for BEM by assuming discontinuous functions across patches, which is very restrictive with respect to the standard setting used in the CAD and engineering literature, based on bicubic T-spline surfaces of \(C^2\) continuity everywhere except in the vicinity of extraordinary points, i.e., points at the intersection of a number of patches different from four.