Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

In this paper, we study the adaptive selection of primal constraints in BDDC deluxe preconditioners applied to isogeometric discretizations of scalar elliptic problems. The main objective of this work is to significantly reduce the coarse space dimensions of the BDDC isogeometric preconditioners developed in our previous works, Beirão da Veiga et al. (2013a2014b), while retaining their fast and scalable convergence rates.

Recent works on adaptive selection of primal constraints have focused on constraints associated with the interface between pairs of subdomains, i.e. edges in 2D and faces in 3D; see Dohrmann and Pechstein (2011), Mandel et al. (2012), Pechstein and Dohrmann (2013), Spillane et al. (2013), Klawonn et al. (2014a,b2015a,b2016), Kim and Chung (2015). The more complex case with constraints associated with three or more subdomains appears in isogeometric discretizations already for vertex constraints in 2D, where four subdomains are involved for each fat vertex (in 3D the subdomains involved for each vertex constraint becomes eight), see Fig. 1.

Fig. 1
figure 1

Schematic illustration in index space of 2D (top row) and 3D (bottom row) “fat” interface equivalence classes for a configuration with four subdomains with p = 3, κ = 2: vertex variables are black, while edge variables are white; dual variables are denoted by circles, while primal variables by square. The figure shows the following configurations: (a ) not assembled (all vertex and edge variables are dual); (b ) partially assembled (all fat vertex variables are assembled); (c ) fully assembled (all vertex and edge variables are primal)

Fewer works have considered these more general cases, see e.g. Mandel et al. (2012), Kim et al. (2015), Klawonn et al. (2015a), Calvo and Widlund (2016), and our previous work Beirão da Veiga et al. (2016), where we have constructed and compared four different strategies for the adaptive selection of primal constraints. Here we focus on a promising strategy based on generalized eigenvalue problems involving parallel sums of local Schur complement blocks. The resulting isogeometric BDDC algorithm is scalable, quasi-optimal and robust with respect to both increasing polynomial degree of the isogeometric basis functions employed and the presence of discontinuous elliptic coefficients across subdomain interfaces.

For earlier work on the iterative solution of isogeometric approximations, see Beirão da Veiga et al. (2013b), Collier et al. (2013), Gahalaut et al. (2013), Kleiss et al. (2012).

2 Model Elliptic Problem and Isogeometric Analysis (IGA)

Given a bounded and connected domain \(\varOmega \subset \mathbb{R}^{d}\), d = 2, 3, obtained by a CAD program, a right-hand side f ∈ L 2(Ω) and a scalar field ρ satisfying \(0 <\rho _{min} \leq \rho (x) \leq \rho _{max},\ \forall x \in \varOmega\), we consider the model scalar elliptic problem

$$\displaystyle{ -\nabla \cdot (\rho \nabla u) = f\text{ in }\varOmega,\quad u = 0\text{ on }\partial \varOmega, }$$
(1)

and discretize it with IGA based on B-splines and NURBS basis functions; see, e.g., Hughes et al. (2005), Cottrell et al. (2009), Beirão da Veiga et al. (2014a). Given univariate B-spline basis functions N i p(ξ) of degree p associated to the knot vector {ξ 1 = 0, , ξ n+p+1 = 1} defined on the parametric interval \(\widehat{I}:= (0,1)\), we define by a 2D tensor product (the 3D case is analogous) the 2D parametric space \(\widehat{\varOmega }:= (0,1) \times (0,1)\), the n × m mesh of control points C i, j associated with the knot vectors {ξ 1 = 0, , ξ n+p+1 = 1} and {η 1 = 0, , η m+q+1 = 1}, the bivariate B-spline basis functions by B i, j p, q(ξ, η) = N i p(ξ) M j q(η), and the bivariate B-spline discrete space as

$$\displaystyle{ \widehat{\mathcal{S}}_{h}:= \text{span}\{B_{i,\,j}^{p,q}(\xi,\eta ),\ i = 1,\ldots,n,\,j = 1,\ldots,m\}. }$$
(2)

Analogously, the NURBS space is the span of NURBS (Non-uniform rational Basis spline) basis functions defined in one dimension by

$$\displaystyle{ R_{i}^{p}(\xi ):= \frac{N_{i}^{p}(\xi )\omega _{ i}} {\sum _{k=1}^{n}N_{k}^{p}(\xi )\omega _{k}} = \frac{N_{i}^{p}(\xi )\omega _{i}} {w(\xi )}, }$$
(3)

with the weight function \(w(\xi ):=\sum _{ k=1}^{n}N_{k}^{p}(\xi )\omega _{k} \in \widehat{\mathcal{S}}_{h}\), and in two dimensions by a tensor product

$$\displaystyle{ R_{i,\,j}^{p,q}(\xi,\eta ):= \frac{B_{i,\,j}^{p,q}(\xi,\eta )\omega _{ i,\,j}} {\sum _{k=1}^{n}\sum _{\ell=1}^{m}B_{k,\ell}^{p,q}(\xi,\eta )\omega _{k,\ell}} = \frac{B_{i,\,j}^{p,q}(\xi,\eta )\omega _{i,\,j}} {w(\xi,\eta )}, }$$
(4)

where w(ξ, η) is the weight function and ω k,  are positive weights associated with a n × m net of control points. The discrete NURBS space on Ω is defined as the span of the push-forward of the NURBS basis functions (4), i.e.,

$$\displaystyle{ \mathcal{N}_{h}:= \text{span}\{R_{i,\,j}^{p,q} \circ \mathbf{F}^{-1},\text{ with }i = 1,\ldots,n;j = 1,\ldots,m\}, }$$
(5)

with \(\mathbf{F}:\widehat{\varOmega }\rightarrow \varOmega\), the geometrical map between parameter and physical spaces F(ξ, η) =  i = 1 n j = 1 m R i, j p, q(ξ, η)C i, j . The spline space in the parameter space is then defined as

$$\displaystyle{ \widehat{V }_{h}:= [\widehat{\mathcal{S}}_{h} \cap H_{0}^{1}(\widehat{\varOmega })]^{2} = [\text{span}\{B_{ i,\,j}^{p,q}(\xi,\eta ),\ i = 2,\ldots,n - 1,\,j = 2,\ldots,m - 1\}]^{2}, }$$

and the NURBS space in physical space as

$$\displaystyle{ U_{h}:= [\mathcal{N}_{h}\cap H_{0}^{1}(\varOmega )]^{2} = [\text{span}\{R_{ i,\,j}^{p,q}\circ \mathbf{F}^{-1},\text{ with }i = 2,\ldots,n-1,\ j = 2,\ldots,m-1\}]^{2}. }$$

The IGA formulation of problem (1) then reads: Find u h  ∈ U h such that:

$$\displaystyle{ a(u_{h},v_{h}) =<f,v_{h}> \qquad \forall v \in U_{h}, }$$
(6)

with the bilinear form a(u h , v h ) =  Ω ρu h v h dx and the right-hand side < f, v h  > =  Ω fv h dx. The matrix form of (6) is the linear system

$$\displaystyle{ Au_{h} = f_{h}, }$$
(7)

with a symmetric, positive definite stiffness matrix A.

3 Isogeometric BDDC Deluxe Preconditioners

Knots and Subdomain Decomposition. By partitioning the associated knot vector, we decompose the reference interval \(\widehat{I}\) into quasi-uniform subintervals \(\widehat{I}_{k} = (\xi _{i_{k}},\xi _{i_{k+1}})\) of characteristic diameter H and we extend this decomposition to more dimensions by tensor products, e.g., in two dimension

$$\displaystyle{\widehat{I}_{k} = (\xi _{i_{k}},\xi _{i_{k+1}}),\quad \widehat{I}_{l} = (\eta _{j_{l}},\eta _{j_{l+1}}),\quad \widehat{\varOmega }_{kl} =\widehat{ I}_{k} \times \widehat{ I}_{l},\quad 1 \leq k \leq N_{1},\ 1 \leq l \leq N_{2}.}$$

For simplicity, we reindex the subdomains using only one index to obtain the decomposition of our reference domain \(\overline{\widehat{\varOmega }} =\bigcup _{k=1,..,K}\overline{\widehat{\varOmega }^{(k)}},\) into K = N 1 N 2 subdomains. We assume that both the coarse subdomains mesh and the fine element mesh defined by the knot vectors mesh are shape regular and quasi-uniform.

The Schur Complement System. Denote by \(\varGamma:=\Big (\bigcup _{k=1}^{K}\partial \widehat{\varOmega }^{(k)}\Big)\setminus \partial \widehat{\varOmega }\) the subdomain interface and by Θ Γ  = { (i, j):  supp(B i, j p, q) ∩Γ ≠ ∅} the set of indices associated with the “fat” interface, consisting of several layers of knots associated with the basis functions with support intersecting two or more subdomains, see, e.g., Fig. 1.

As in classical iterative substructuring, we reduce the original system (7) to one on the interface by static condensation, i.e., we eliminate the interior degrees of freedom (denoted by subscript I) associated with the basis functions with support in only one subdomain and interface degrees of freedom (denoted by subscript Γ), obtaining the Schur complement system

$$\displaystyle{ \widehat{S}_{\varGamma }w =\widehat{ f}, }$$
(8)

where using the same subscripts I and Γ on matrix and vector blocks, we have \(\widehat{S}_{\varGamma } = A_{\varGamma \varGamma } - A_{\varGamma I}A_{II}^{-1}A_{\varGamma I}^{T},\ \widehat{f} = f_{\varGamma } - A_{\varGamma I}A_{II}^{-1}f_{I}.\) The Schur complement system (8) is solved by a Preconditioned Conjugate Gradient (PCG) iteration, where \(\widehat{S}_{\varGamma }\) is never explicitly formed since the action of \(\widehat{S}_{\varGamma }\) on a vector is computed by solving Dirichlet problems for individual subdomains and some sparse matrix-vector multiplications, which are also needed when working with the local Schur complements required by the application of the BDDC preconditioner defined below. The preconditioned Schur complement system solved by PCG is then

$$\displaystyle{ M_{\text{BDDC}}^{-1}\widehat{S}_{\varGamma }w = M_{\text{ BDDC}}^{-1}\widehat{f}, }$$
(9)

where M BDDC −1 is the BDDC preconditioner, defined in (11) below.

The BDDC Preconditioner. We denote by A (k) the local stiffness matrix associated with the subdomain \(\bar{\varOmega }^{(k)}\). After partitioning the local degrees of freedom into those in the interior (I) and those on the interface (Γ), as before, we further partition the latter into dual (Δ) and primal (Π) degrees of freedom. The associated primal basis functions will be made continuous across the interface by subassembling them among their supporting elements. The dual basis functions can be discontinuous across the interface and will vanish at the primal degrees of freedom. Specific choices for the selection of primal degrees of freedom will be given below. According to this splitting, A (k) can then be written as

$$\displaystyle{ A^{(k)} = \left [\begin{array}{cc} A_{II}^{(k)} & A_{\varGamma I}^{(k)^{T} } \\ A_{\varGamma I}^{(k)} & A_{\varGamma \varGamma }^{(k)}\\ \end{array} \right ] = \left [\begin{array}{ccc} A_{II}^{(k)} & A_{\varDelta I}^{(k)^{T} } & A_{\varPi I}^{(k)^{T} } \\ A_{\varDelta I}^{(k)} & A_{\varDelta \varDelta }^{(k)} & A_{\varPi \varDelta }^{(k)^{T} } \\ A_{\varPi I}^{(k)} & A_{\varPi \varDelta }^{(k)} & A_{\varPi \varPi }^{(k)}\\ \end{array} \right ]. }$$
(10)

The BDDC preconditioner can be written as

$$\displaystyle{ M_{\text{BDDC}}^{-1} =\widetilde{ R}_{ D,\varGamma }^{T}\widetilde{S}_{\varGamma }^{-1}\widetilde{R}_{ D,\varGamma },\ \ \ \ \ \mbox{ where} }$$
(11)
$$\displaystyle{\widetilde{S}_{\varGamma }^{-1} =\widetilde{ R}_{\varGamma \varDelta }^{T}\left (\sum _{ k=1}^{K}\left [\begin{array}{cc} 0&R_{ \varDelta }^{(k)^{T} }\\ \end{array} \right ]\left [\begin{array}{cc} A_{II}^{(k)} & A_{\varDelta I}^{(k)^{T} } \\ A_{\varDelta I}^{(k)} & A_{\varDelta \varDelta }^{(k)}\\ \end{array} \right ]^{-1}\left [\begin{array}{c} 0 \\ R_{\varDelta }^{(k)}\\ \end{array} \right ]\right )\widetilde{R}_{\varGamma \varDelta }+\varPhi S_{\varPi \varPi }^{-1}\varPhi ^{T}.}$$

Here S Π Π is the BDDC coarse matrix, Φ is a matrix mapping primal degrees of freedom to interface variables defined in (18) below, and \(\widetilde{R}_{\varGamma \varDelta }\) and R Δ (k) are appropriate restriction matrices; see, e.g., Li and Widlund (2006). The matrix \(\widetilde{R}_{D,\varGamma }^{T}\) defines the BDDC scaling adopted, that here will be the deluxe scaling defined in (12), (13) below. We note that the choices of primal constraints and scaling are fundamental for the construction of efficient BDDC preconditioners.

In our previous works Beirão da Veiga et al. (2013a2014b), we proved, with an appropriate choice of primal constraints, that the condition number of the resulting BDDC preconditioner satisfies a classical polylogarithmic bound

$$\displaystyle{ \mathrm{cond}\Big(M_{BDDC}^{-1}\widehat{S}_{\varGamma }\Big) \leq C(1 +\log (H/h))^{2}, }$$

with C > 0 independent of h, H and the jumps of the coefficient ρ across the interface Γ.

Deluxe Scaling (Dohrmann and Widlund (2013)). We split the interface Γ into equivalence classes, associated with subdomain vertices (\(\mathcal{V}\)), edges (\(\mathcal{E}\)), and in three-dimensions faces (\(\mathcal{F}\)), defined by the set of indices of the degrees of freedom belonging to the analogous subdomain boundaries. For simplicity, we define here the deluxe scaling for the class of \(\mathcal{F}\) with only two elements, k, j, as for an edge in two dimensions or a face in three dimensions. Consider the local Schur complements S (k) and S ( j) associated to subdomains Ω (k) and Ω ( j), respectively. We define two principal minors, \(S_{\mathcal{F}}^{(k)}\) and \(S_{\mathcal{F}}^{(\,j)}\), obtained by removing all rows and columns which do not belong to the degrees of freedom which are common only to the fat boundaries of Ω (k) and Ω ( j). The deluxe scaling across \(\mathcal{F}\) is then defined by

$$\displaystyle{ D_{\mathcal{F}}^{(k)}:= S_{ \mathcal{F}}^{(k)}\Big(S_{ \mathcal{F}}^{(k)} + S_{ \mathcal{F}}^{(\,j)}\Big)^{-1}. }$$
(12)

If these Schur complements have small dimensions, they can be computed explicitly, otherwise the action of \(\Big(S_{\mathcal{F}}^{(k)} + S_{\mathcal{F}}^{(\,j)}\Big)^{-1}\) can be computed by solving a Dirichlet problem on the union of the relevant subdomains with a zero right hand side in the interiors of the subdomains. While these strategies are viable in two dimensions, in our three-dimensional tests we use the numerical factorization package MUMPS, see Amestoy et al. (2001), which computes explicitly the subdomain Schur complements (14) while factoring the subdomain problem (10).

We then define the block-diagonal scaling matrix

$$\displaystyle{D^{(k)} = diag(D_{ \mathcal{F}j_{1}}^{(k)},D_{ \mathcal{F}j_{2}}^{(k)},\ldots,D_{ \mathcal{F}j_{k}}^{(k)}),}$$

where j 1, j 2, , j k are the indices of all the Ω ( j), j ≠ k, that share a face \(\mathcal{F}\) with Ω (k). We can now define the scaled local operators by R D, Γ (k): = D (k) R Γ (k) and the global scaled operator by

$$\displaystyle{ \widetilde{R}_{D,\varGamma }:= \oplus _{k=1}^{K}R_{ D,\varGamma }^{(k)}. }$$
(13)

Generalized Eigenvalue Problems and Parallel Sums. Consider a fat edge \(\mathcal{E}\) of a subdomain Ω (k) and its complement \(\mathcal{E}^{{\prime}}:=\varGamma _{i}\setminus \mathcal{E}\). We write the local Schur complement associated to Ω (k) as

$$\displaystyle{S^{(k)} = \left (\begin{array}{cc} S_{\mathcal{E}^{{\prime}}\mathcal{E}^{{\prime}}}^{(k)} & S_{\mathcal{E}^{{\prime}}\mathcal{E}}^{(k)^{T} } \\ S_{\mathcal{E}^{{\prime}}\mathcal{E}}^{(k)} & S_{\mathcal{E}\mathcal{E}}^{(k)} \end{array} \right ),}$$

and we define the Schur complement of a Schur complement by

$$\displaystyle{ \widetilde{S}_{\mathcal{E}\mathcal{E}}^{(k)}:= S_{ \mathcal{E}\mathcal{E}}^{(k)} - S_{ \mathcal{E}^{{\prime}}\mathcal{E}}^{(k)}S_{ \mathcal{E}^{{\prime}}\mathcal{E}^{{\prime}}}^{(k)-1}S_{ \mathcal{E}^{{\prime}}\mathcal{E}}^{(k)^{T} }. }$$
(14)

Analogous blocks \(S_{\mathcal{V}\mathcal{V}}^{(k)}\), \(\widetilde{S}_{\mathcal{V}\mathcal{V}}^{(k)}\) are defined for a fat vertex \(\mathcal{V}\) of Ω (k) and blocks \(S_{\mathcal{F}\mathcal{F}}^{(k)}\), \(\widetilde{S}_{\mathcal{F}\mathcal{F}}^{(k)}\) for a fat face \(\mathcal{F}\) of Ω (k). We note that these blocks are only positive semidefinite for subdomains in the interior of the domain Ω. In the definition of the parallel sum given in (15) below, we handle any such singular matrices by using generalized inverses or by adding to any singular S (k) the term ε I, with ε > 0 small compared with the eigenvalues of S (k).

Our adaptive selection of primal constraints will be based on generalized eigenvalue problems (GEP) based on the following definition of parallel sum [see Anderson and Duffin (1969), Tian (2002)] of r positive definite matrices A (1), A (2), ⋯ , A (r) as

$$\displaystyle{ A^{(1)}: A^{(2)}\cdots: A^{(r)}:=\Big (A^{(1)^{-1} } + A^{(2)^{-1} } + \cdots + A^{(r)^{-1} }\Big)^{-1}. }$$
(15)

We define a first GEP \(\mathcal{V}_{par}\) as follows: let \(\mathcal{V}\) be a fat vertex in 2D shared by four subdomains Ω (i), Ω ( j), Ω (k), Ω (), and define the GEP

$$\displaystyle{ \Big(\widetilde{S}_{\mathcal{V}\mathcal{V}}^{(i)}:\widetilde{ S}_{ \mathcal{V}\mathcal{V}}^{(\,j)}:\widetilde{ S}_{ \mathcal{V}\mathcal{V}}^{(k)}:\widetilde{ S}_{ \mathcal{V}\mathcal{V}}^{(\ell)}\Big)\phi =\lambda \Big (S_{ \mathcal{V}\mathcal{V}}^{(i)}: S_{ \mathcal{V}\mathcal{V}}^{(\,j)}: S_{ \mathcal{V}\mathcal{V}}^{(k)}: S_{ \mathcal{V}\mathcal{V}}^{(\ell)}\Big)\phi. }$$
(16)

We define another GEP \(\mathcal{E}_{par}\) as follows: Let \(\mathcal{E}\) be a fat edge in 2D shared by two subdomains Ω (i), Ω ( j), and define the GEP

$$\displaystyle{ \Big(\widetilde{S}_{\mathcal{E}\mathcal{E}}^{(i)}:\widetilde{ S}_{ \mathcal{E}\mathcal{E}}^{(\,j)}\Big)\phi =\lambda \Big (S_{ \mathcal{E}\mathcal{E}}^{(i)}: S_{ \mathcal{E}\mathcal{E}}^{(\,j)}\Big)\phi. }$$
(17)

The analogous GEP \(\mathcal{V}_{par}\) for a fat vertex in 3D will involve parallel sums with eight terms, while four terms will be involved for a fat edge in 3D and two terms for a fat face in 3D (since we are considering IGA regular decompositions). Alternative choices of generalized eigenvalue problems based on both parallel and standard sums of matrices can be found in Beirão da Veiga et al. (2016).

Adaptive Choices of Reduced Sets of Primal Constraints. Inspired by the techniques of Dohrmann and Pechstein (2011), we propose an adaptive selection of primal constraints, driven by the desire to reduce the expensive fat vertex/edge/face primal constrains used in the standard or deluxe BDDC method. In order to construct the BDDC primal space, we select a threshold 0 < θ < 1, a set of GEPs associated to the equivalence classes considered (subdomain vertices and/or edges and/or faces) and for each equivalence class, we use the following two-step strategy:

  1. (a)

    select the eigenvectors \(\{v_{1},v_{2},\ldots,v_{N_{c}}\}\) of the generalized eigenproblem (16) that are associated to the eigenvalues \(\{\lambda _{1},\lambda _{2},\ldots,\lambda _{N_{c}}\}\) smaller than θ;

  2. (b)

    perform the following BDDC change of basis in order to introduce the selected eigenvectors as new primal constraints:

    1. (b1)

      denoting by \(\widetilde{S}_{V }\phi =\lambda S_{V }\phi\) the eigenproblem (16), compute the matrix

      $$\displaystyle{A_{V } = S_{V }[v_{1}v_{2},\ldots,v_{N_{c}}] \in \mathbb{R}^{n\times N_{c} },}$$

      with n the size of the v i , i = 1, , N c , and N c  ≤ n the number of primal constraints selected;

    2. (b2)

      compute the SVD decomposition of A V , i.e. the matrices U, S, V such that A V  = USV T and denote by C T the first N c columns of U;

    3. (b3)

      compute the QR factorization C T = QR, where \(Q = [Q_{range}\;\;Q_{null}] \in \mathbb{R}^{n\times n},\) with \(Q_{range} \in \mathbb{R}^{n\times N_{c}}\) and \(Q_{null} \in \mathbb{R}^{n\times (n-N_{c})}\) spanning the range and the kernel of C T, respectively, and \(R = \left [\begin{array}{l} \widetilde{R}\\ 0\end{array} \right ] \in \mathbb{R}^{n\times N_{c}},\) with \(\widetilde{R} \in \mathbb{R}^{N_{c}\times N_{c}}\) upper triangular;

    4. (b4)

      construct the matrix Φ realizing the BDDC change of basis as

      $$\displaystyle{ \varPhi = [Q_{range}\widetilde{R}^{-T}\;\;Q_{ null}]. }$$
      (18)

We denote the resulting primal spaces with the same name as the associated GEP they are based on. Among the possible combinations, we will consider the primal spaces \(\mathcal{V}_{par}\) and \(\mathcal{E}_{par}\) in 2D, while in 3D we will need the richer primal space \(\mathcal{V}\!\mathcal{E}\!\mathcal{F}_{par}\) employing GEP \(\mathcal{V}_{par}\), \(\mathcal{E}_{par}\), \(\mathcal{F}_{par}\).

4 Numerical Results

We now present the results of numerical experiments with the model problem (1) discretized on a 2D quarter-ring domain (see Fig. 2a) and on a 3D twisted domain (see Fig. 3a) using isogeometric NURBS spaces with mesh size h, polynomial degree p and regularity k. The domain is decomposed into K non-overlapping subdomains of characteristic size H, as described in Sect. 3. The Schur complement problems are solved by the PCG method with the isogeometric BDDC deluxe preconditioner described before, with a zero initial guess and a stopping criterion of a 10−6 reduction of the Euclidean norm of the PCG residual. In the tests, we study how the convergence rate of the BDDC preconditioner depends on h, K, p, k, and jumps in the coefficient of the elliptic problem. In all tests, the BDDC condition number is essentially the maximum eigenvalue of the preconditioned operator, since its minimum eigenvalue is always very close to 1. The 2D tests have been performed with a MATLAB code based on the GeoPDEs library, De Falco et al. (2011), while the 3D parallel tests have been performed using the PETSc library, Balay and et al. (2015), with the PCBDDC preconditioner [contributed to the PETSc library by S. Zampini, see Zampini (2016)], the PetIGA library, Dalcin et al. (2016), and run on the parallel machine Shaheen XC40 of KAUST.

Fig. 2
figure 2

2D tests with BDDC deluxe preconditioner. (a ) Quarter-ring domain. (b ) Condition numbers with adaptive coarse space \(\mathcal{V}_{par}\) as a function of the number of vertex primal constraints for fixed K = 4 × 4, Hh = 16, various degrees p and maximal regularity k = p − 1. The other panels (c )–(f ) show the BDDC condition numbers with minimal (N C V = 1) primal space \(\mathcal{V}_{par}\) as a function of: (c ) the number of subdomains K for fixed Hh = 8; (d ) the ratio Hh for fixed K = 4 × 4; (e ) the polynomial degree p for different regularity k = 1, 2, p − 1 and fixed K = 4 × 4, Hh = 16. The last panel (f ) is the analog of (e ) but with minimal \(\mathcal{E}_{par}\) coarse space

Fig. 3
figure 3

3D parallel tests with BDDC deluxe preconditioner with \(\mathcal{V}\!\mathcal{E}\!\mathcal{F}_{par}\) coarse space on a 3D NURBS domain shown in panel (a ) and with each subdomain assigned to one processor. Condition numbers cond and iteration counts nit as functions of: (b ) the number of subdomains K for fixed p = 3, k = 2, Hh = 6; (c ) the ratio Hh for fixed p = 3, k = 2, K = 4 × 4 × 4; (d ) the polynomial degree p for fixed K = 4 × 4 × 4, Hh = 8, k = p − 1, with both the minimal and adaptive choices of primal constraints with thresholds θ = 0. 1 and θ = 0. 2 (N c  = max(N c V, N c E, N c F) is the maximum number of primal constraints for each equivalence class): (e ) parallel timings for the scalability test of Table (b )

2D Tests with \(\mathcal{V}_{par}\) and \(\mathcal{E}_{par}\). Figure 2 reports the results of several tests for various degrees p and maximal regularity k = p − 1 with the BDDC deluxe preconditioner with V par coarse space on the quarter-ring domain shown in panel (a). Panel (b) shows that the condition number improves when the number of vertex primal constraints per vertex is increased from the minimal value N C V = 1 to the maximal value N C V = (k + 1)2 (here K = 4 × 4, Hh = 16 are fixed). For p ≥ 3, the improvement is minimal when only a few vertex functions are added to the \(\mathcal{V}_{par}\) primal space, but the improvement becomes substantial when about p 2∕3 vertex functions are added.

Panel (c) show the scalability of the deluxe BDDC with minimal (N C V = 1) primal space \(\mathcal{V}_{par}\) for increasing number of subdomains K (for fixed Hh = 8), while Panel (d) shows the quasi-optimality of deluxe BDDC with minimal \(\mathcal{V}_{par}\) for increasing ratio Hh (for fixed K = 4 × 4). Panels (e) and (f) show the robustness of both minimal \(\mathcal{V}_{par}\) and minimal \(\mathcal{E}_{par}\) with respect to the polynomial degree p, with \(\mathcal{E}_{par}\) yielding slightly better results than \(\mathcal{V}_{par}\). In both cases, robustness is lost in case of maximal regularity k = p − 1 and high degree p ≥ 8, but it could be recovered by increasing the primal space, i.e. by considering N C V ≥ 1.

3D Parallel Tests with \(\mathcal{V}\!\mathcal{E}\!\mathcal{F}_{par}\). Figure 3 reports the condition numbers cond and iteration counts nit for BDDC deluxe with \(\mathcal{V}\!\mathcal{E}\!\mathcal{F}_{par}\) coarse space on a 3D NURBS domain shown in Panel (a). The tests have been run on the parallel machine Shaheen XC40 of KAUST, with a number of processors equal to the number of subdomains K. The minimal \(\mathcal{V}_{par}\) and \(\mathcal{V}\mathcal{E}_{par}\) coarse spaces did not work well in 3D, yielding high condition numbers ( ≥ 103) already for low polynomial degree, so we report only the results with \(\mathcal{V}\!\mathcal{E}\!\mathcal{F}_{par}\). Table (b) shows the scalability of \(\mathcal{V}\!\mathcal{E}\!\mathcal{F}_{par}\) for an increasing number of subdomains K for fixed p = 3, k = 2, Hh = 6. The associated timings (for both the preconditioner setup and the PCG solve) are plotted in panel (e). Table (c) shows the quasi-optimality of \(\mathcal{V}\!\mathcal{E}\!\mathcal{F}_{par}\) for an increasing ratio Hh, for fixed p = 3, k = 2, K = 4 × 4 × 4. Table (d) reports the results for an increasing polynomial degree p for fixed K = 4 × 4 × 4, Hh = 8, k = p − 1, with both the minimal (N c  = 1) and adaptive choice (N c  ≥ 1) of primal constraints, where N c  = max(N c V, N c E, N c F) is the maximum number of primal constraints over all equivalence classes (fat vertices, edges, faces). The table reports also on the dimension | A | of the stiffness matrix, \(\vert \widehat{S}_{\varGamma }\vert\) of the Schur complement, and | S Π Π  | of the coarse space. As in the 2D tests, the minimal primal space loses robustness for increasing p (except the initial condition number drop from p = 2 to p = 3), but robustness can be recovered by adaptively increasing the number of primal constraints.