1 Introduction

Isogeometric Analysis (IgA) [9] can be considered as the natural extension of the Finite Element Method (FEM) to higher-order spline based discretizations simplifying the treatment of complex geometries with curved boundaries. However, solving the resulting linear systems arising in IgA efficiently is considered a challenging task, especially for higher-order discretizations. The exponential increase of the condition numbers of the mass and stiffness matrices with the approximation order p, make the use of (standard) iterative solvers inefficient. The wider support of the basis functions and, consequently, increasing bandwidth of the matrices for larger values of p make the use of direct solvers on the other hand also not straightforward.

The use of established solution techniques from FEM in IgA has been an active field of research. For example, h-multigrid methods have been investigated, as they are considered among the most efficient solvers in Finite Element Methods for elliptic problems. The use of standard smoothers like (damped) Jacobi or Gauss-Seidel leads, however, to convergence rates which deteriorate drastically for increasing values of p [5], caused by very small eigenvalues associated with high-frequency eigenvectors [3]. Non-classical smoothers have been developed to solve this problem leading to (geometric) multigrid methods which are robust in both h and p [8, 13].

An alternative solution strategy are p-multigrid methods. In contrast to h-multigrid methods, where each level of the constructed hierarchy is obtained by refining the mesh, in p-multigrid methods each level represents a different approximation order. p-Multigrid methods are widely used within the Discontinuous Galerkin framework [4, 10, 11, 14], where p = 0 is used on the coarsest hierarchy level.

Some research has been performed for continuous Galerkin methods [7] as well, where the coarse grid correction was obtained at level p = 1. Throughout this paper, the coarse grid is also obtained at level p = 1. Here, B-spline basis functions coincide with piecewise-linear (p = 1) Lagrange basis functions, enabling the use of well known solution techniques for standard FEM.

Recently, the authors developed an efficient p-multigrid method for IgA discretizations that makes use of an Incomplete LU factorization based on a dual threshold strategy (ILUT) [15] as a smoother. This approach was shown to result in a p-multigrid method with essentially h- and p-independent convergence rates [19] in contrast to the use of Gauss-Seidel as a smoother.

In this paper, the focus lies on the extension of p-multigrid based methods on multipatch geometries, giving rise to (reduced) C 0-continuity between individual patches. The spectral properties of the p-multigrid method are analysed and numerical results are presented for different two-dimensional benchmarks. The use of ILUT as a smoother leads to a p-multigrid method that shows essentially h- and p-independent convergence rates on multipatch geometries. Furthermore, the number of iterations needed to achieve convergence depends only mildly on the number of patches.

This paper is organised as follows. The model problem and spatial discretization are briefly considered in Sect. 2. Section 3 presents the p-multigrid method together with the adopted ILUT smoother in more detail. In Sect. 4, a spectral analysis is performed and discussed. Numerical results for the considered benchmarks are presented in Sect. 5. Conclusions are finally drawn in Sect. 6.

2 Model Problem

As a model problem to describe the spatial discretisation, Poisson’s equation is considered:

(1)

where \(\Omega \subset \mathbb {R}^2\) is a connected, Lipschitz domain, f ∈ L 2( Ω) and u = 0 on the boundary  Ω. Let \(\mathcal {V} = H^1_0(\Omega )\) denote the subspace of the Sobolev space H 1( Ω) that contains all functions that vanish on the boundary  Ω. By multiplying both sides of (1) with an arbitrary test function \(v \in \mathcal {V}\) and applying integration by parts in the left side, the following variational form of (1) is obtained:

Find \(u \in \mathcal {V}\) such that

(2)

where

$$\displaystyle \begin{aligned} \begin{array}{rcl} a(u, v)= \int_{\Omega} \nabla u \cdot \nabla v \ \text{d}\Omega \quad \text{and} \quad (f,v) = \int_{\Omega} f v \ \text{d}\Omega. \end{array} \end{aligned} $$
(3)

A bijective geometry function F is then defined to parameterize the physical domain Ω:

(4)

where ξ = (ξ, η) and x = (x, y) denote the coordinates in the parametric and physical domain, respectively. The geometry function F describes an invertible mapping connecting the parameter domain \(\Omega _0 \subset \mathbb {R}^2\) with the physical domain Ω. In case Ω cannot be described by a single geometry function, the physical domain is divided in a collection of non-overlapping subdomains Ω(k) such that

$$\displaystyle \begin{aligned} \begin{array}{rcl} \Omega = \bigcup_{k=1}^K \ \Omega^{(k)}. \end{array} \end{aligned} $$
(5)

A geometry function F (k) is then defined to parameterize each subdomain Ω(k):

(6)

We refer to Ω as a multipatch geometry consisting of K patches. Throughout this paper, the tensor product of one-dimensional B-spline basis functions \(\phi _{i_x,p}(\xi )\) and \(\phi _{i_y,q}(\eta )\) of order p and q, respectively, with maximum continuity are adopted for the spatial discretisation:

(7)

Here, i and p are multi indices, with i x = 1, …, n x and i y = 1, …, n y denoting the one-dimensional basis functions in the x and y-dimension, respectively. Furthermore, i = i x n x + i y n y assigns a unique index to each pair of one-dimensional basis functions, where i = 1, …N dof. The spline space \(\mathcal {V}_{h,p}\) can then be written, using the inverse of the geometry mapping F −1 as pull-back operator, as follows:

$$\displaystyle \begin{aligned} \begin{array}{rcl} \mathcal{V}_{h,p} := \text{span}\left \{ \Phi_{\mathbf{i},\mathbf{p}} \circ {\mathbf{F}}^{-1} \right \}_{i=1, \ldots,N_{\mathrm{dof}}}. \end{array} \end{aligned} $$
(8)

Here, N dof denotes the number of degrees of freedom, or equivalently, the number of tensor-product basis functions. The Galerkin formulation of (2) becomes:

Find \(u_{h,p} \in \mathcal {V}_{h,p}\) such that

(9)

or, equivalently:

$$\displaystyle \begin{aligned} \begin{array}{rcl} {} {\mathbf{A}}_{h,p} {\mathbf{u}}_{h,p} = {\mathbf{f}}_{h,p}. \end{array} \end{aligned} $$
(10)

Here, A h,p denotes the stiffness matrix resulting from the discretization of the left-hand side with the tensor-product of B-spline basis functions of order p and knot span size h. To assess the quality of the p-multigrid method throughout this paper, the following benchmarks are considered:

Benchmark 1

Here, Poisson’s equation is considered on the unit square, i.e. Ω = [0, 1]2. The right-hand side is chosen such that the exact solution u is given by:

$$\displaystyle \begin{aligned} \begin{array}{rcl} u(x,y) = \text{sin}(\pi x)\text{sin}(\pi y). \end{array} \end{aligned} $$

Benchmark 2

Let Ω be the quarter annulus with an inner and outer radius of 1 and 2, respectively. Again, Poisson’s equation is considered, where the exact solution u is given by

$$\displaystyle \begin{aligned} \begin{array}{rcl} u(x,y) = -(x^2 + y^2 - 1)(x^2 + y^2 -4)xy^2, \end{array} \end{aligned} $$

Benchmark 3

Let Ω = {[−1, 1] × [−1, 1]}∖{[0, 1] × [0, 1]} be an L-shaped domain. As with the other benchmarks, Poisson’s equation is considered, where the exact solution u is given by

where atan2 is the 2-argument arctangent function. The right-hand side is chosen according to the exact solution. For the first two benchmarks, homogeneous Dirichlet boundary conditions are applied on the entire boundary  Ω, while for the third benchmark inhomogeneous Dirichlet boundary conditions are applied. Note that the geometry of each benchmark can be described by a single patch. The multipatch geometries considered throughout this paper are obtained by splitting the single patch uniformly in both directions.

3 p-Multigrid Method

Multigrid methods solve linear systems of equations by defining a hierarchy of discretizations. At each level of the hierarchy, a basic iterative method, like Gauss-Seidel or (damped) Jacobi, is then applied as a smoother. On the coarsest level, a correction is determined by solving the residual equation. With p-multigrid methods, a sequence of spaces \(\mathcal {V}_{h,1}, \ldots , \mathcal {V}_{h,p}\) is obtained by applying refinement in p. The coarse grid correction is then determined at level p = 1. Since basis functions with maximal continuity are considered, the spaces in the hierarchy are not nested. For p-multigrid, the two-grid correction scheme consists of the following steps [18, 19]:

  1. 1.

    Apply a fixed number ν 1 of presmoothing steps to update the initial guess \({\mathbf {u}}_{h,p}^{(0)}\):

    (11)

    Here, \(\mathcal {S}\) is a smoothing operator applied to the high-order problem.

  2. 2.

    Project the residual at level p onto \(\mathcal {V}_{h,p-1}\) using the restriction operator \(\mathcal {I}_{p}^{p-1}\):

    $$\displaystyle \begin{aligned} \begin{array}{rcl} {\mathbf{r}}_{h,p-1} = \mathcal{I}_{p}^{p-1} \left ( {\mathbf{f}}_{h,p} - {\mathbf{A}}_{h,p} {\mathbf{u}}_{h,p}^{(0,\nu_1)} \right ). \end{array} \end{aligned} $$
    (12)
  3. 3.

    Determine the coarse grid error, by solving the residual equation at level p − 1:

    $$\displaystyle \begin{aligned} \begin{array}{rcl} {} {\mathbf{A}}_{h,p-1} {\mathbf{e}}_{h,p-1} = {\mathbf{r}}_{h,p-1}. \end{array} \end{aligned} $$
    (13)
  4. 4.

    Use the prolongation operator \(\mathcal {I}_{p-1}^p\) to project the error e h,p−1 onto the space \(\mathcal {V}_{h,p}\) and update \({\mathbf {u}}_{h,p}^{(0,\nu _1)}\):

    $$\displaystyle \begin{aligned} \begin{array}{rcl} {\mathbf{u}}_{h,p}^{(0,\nu_1)} := {\mathbf{u}}_{h,p}^{(0,\nu_1)} + \mathcal{I}_{p-1}^p \left ({\mathbf{e}}_{h,p-1} \right ). \end{array} \end{aligned} $$
    (14)
  5. 5.

    Apply ν 2 postsmoothing steps to obtain \({\mathbf {u}}_{h,p}^{(0,\nu _1 + \nu _2)} =: {\mathbf {u}}_{h,p}^{(1)}\):

    (15)

The residual equation can be solved recursively by applying the same two-grid correction scheme until level p = 1, which results in a V-cycle. Different cycle types can be applied, however, as shown in Fig. 1.

Fig. 1
figure 1

Description of a V-cycle and W-cycle

3.1 Prolongation and Restriction

The prolongation and restriction operators transfer both coarse grid corrections and residuals between different levels of the hierarchy. The prolongation and restriction operator adopted in this paper are based on the L 2 projection [1, 2, 17]. The prolongation operator \(\mathcal {I}_{k-1}^k: \mathcal {V}_{h,k-1} \rightarrow \mathcal {V}_{h,k}\) can be derived from the following variational form

$$\displaystyle \begin{aligned} \begin{array}{rcl} (\mathcal{I}_{k-1}^k(u_{h,k-1}),v_{h,k}) = (u_{h,k-1},v_{h,k}) \quad \forall u_{h,k-1} \in \mathcal{V}_{k-1}, \quad \forall v_{h,k} \in \mathcal{V}_{k} \end{array} \end{aligned} $$
(16)

and is therefore given by

$$\displaystyle \begin{aligned} \begin{array}{rcl} \mathcal{I}_{k-1}^k({\mathbf{v}}_{k-1}) = ({\mathbf{M}}_k)^{-1} {\mathbf{P}}_{k-1}^{k} \ {\mathbf{v}}_{k-1}, \end{array} \end{aligned} $$
(17)

where the mass matrix M k and the transfer matrix \({\mathbf {P}}_{k-1}^{k}\) are defined, respectively, as follows:

(18)

The restriction operator \(\mathcal {I}_{k}^{k-1}: \mathcal {V}_{h,k} \rightarrow \mathcal {V}_{h,k-1}\) is given by the Hilbert adjoint of the prolongation operator and defined by

$$\displaystyle \begin{aligned} \begin{array}{rcl} \mathcal{I}_{k}^{k-1}({\mathbf{v}}_{k}) = ({\mathbf{M}}_{k-1})^{-1} {\mathbf{P}}_{k}^{{k-1}} \ {\mathbf{v}}_{k}. \end{array} \end{aligned} $$
(19)

The explicit solution of a linear system of equations for each projection step is prevented by replacing the consistent mass matrix M in both transfer operators by its lumped counterpart M L. Here, M L is obtained by applying row-sum lumping:

$$\displaystyle \begin{aligned} \begin{array}{rcl} {\mathbf{M}}_{(i,i)}^L = \sum_{j=1}^{N_{\mathrm{dof}}} {\mathbf{M}}_{(i,j)} . \end{array} \end{aligned} $$
(20)

3.2 Smoother

In this paper, an Incomplete LU factorization with a dual threshold strategy (ILUT) [15] is adopted as a smoother. The ILUT factorization is completely determined by a tolerance τ and fillfactor f. All matrix entries in the factorization smaller (in absolute value) than the tolerance multiplied by the average magnitude of all entries in the current row are dropped. Furthermore, only the average number of non-zeros in each row of the original operator A h,p multiplied with the fillfactor are kept in each row.

Throughout this paper, a fillfactor of 1 is adopted and the dropping tolerance τ equals 10−12. As a consequence, the number of non-zero entries of the factorization is similar to the number of non-zeros of the original operator. An efficient implementation of an ILUT factorization is available in the Eigen library [6] based on [16]. Once the factorization is obtained, a single smoothing step is applied as follows:

$$\displaystyle \begin{aligned} \begin{array}{rcl} {\mathbf{e}}_{h,p}^{(n)} &\displaystyle =&\displaystyle ({\mathbf{L}}_{h,p} {\mathbf{U}}_{h,p})^{-1} ({\mathbf{f}}_{h,p} - {\mathbf{A}}_{h,p} {\mathbf{u}}_{h,p}^{(n)}), \end{array} \end{aligned} $$
(21)
$$\displaystyle \begin{aligned} \begin{array}{rcl} {\mathbf{u}}_{h,p}^{(n+1)} &\displaystyle =&\displaystyle {\mathbf{u}}_{h,p}^{(n)} + {\mathbf{e}}_{h,p}^{(n)}. \end{array} \end{aligned} $$
(22)

3.3 Coarse Grid Operator

The system operator A h,p is needed at each level of the hierarchy to apply the smoothing steps or solve the residual equation at level p = 1. The operators at the coarser levels can be obtained by rediscretizing the bilinear form in (9) with lower-order spline basis functions or by applying a Galerkin projection:

$$\displaystyle \begin{aligned} \begin{array}{rcl} {\mathbf{A}}_{h,k-1}^{G} = \mathcal{I}_{k}^{k-1} \ {\mathbf{A}}_{h,k} \ \mathcal{I}_{k-1}^{k}. \end{array} \end{aligned} $$
(23)

Since the condition number of the resulting coarse grid operator A h,1 is significantly lower when using rediscretizing [19], this approach is adopted throughout the rest of this paper.

4 Spectral Analysis

To investigate the performance of the p-multigrid method on multipatch geometries, the spectrum of the iteration matrix is determined. The iteration matrix describes the effect of a single multigrid cycle on u h,p and can be used to obtain the asymptotic convergence rate of the p-multigrid method. For all benchmarks introduced in Sect. 2, results are presented considering a different number of patches.

The asymptotic convergence rate of a multigrid method is determined by the spectral radius of the corresponding iteration matrix. This matrix can be obtained explicitly by considering − Δu = 0 with homogeneous Dirichlet boundary conditions. By applying a single iteration of the p-multigrid method using the i th unit vector as initial guess, one obtains the i th column of the iteration matrix [20].

The spectra obtained for the first two benchmarks are shown in Fig. 2 for a different number of patches. The multipatch geometries are obtained by splitting the single patch uniformly in both directions, leading to 4 or 16 patches with a C 0-continuous coupling at the interfaces. For the single patch, all eigenvalues of the iteration matrix are clustered around the origin. For the multipatch geometries, some eigenvalues are slightly further from the origin. Table 1, showing the spectral radius of the iteration matrix for different values of h and p for the first benchmark, confirms this observation. The spectral radii are larger for all numerical experiments when the number of patches is increased, but still relatively low. Furthermore, since the spectral radii remain almost constant for higher values of p, the p-multigrid method is expected to show (essentially) p-independent convergence rates.

Fig. 2
figure 2

Spectra of the iteration matrix (with p = 3 and h = 2−5) for the first (left) and second (right) benchmark for a different number of patches

Table 1 Spectral radius ρ for the first benchmark for different values of h and p for a different number of patches

The obtained spectral radii for the second benchmark for different values of h and p can be found in Table 2. Again, the multipatch geometries consist of 4 and 16 patches. For all configurations, the spectral radius for a single patch geometry is lower compared to the spectral radius obtained for the multipatch geometries. As a consequence, the p-multigrid is expected to show slower convergence behaviour for multipatch geometries. On the other hand, the asymptotic convergence rates for the multipatch geometries are almost independent of p and still relatively low. For a single configuration the resulting p-multigrid method is unstable, which is reflected by a spectral radius larger then 1. The obtained spectral radii for the third benchmark are presented in Table 3. As with the other benchmarks, the spectral radii remain almost constant for higher values of p, implying (essentially) p-independent convergence rates.

Table 2 Spectral radius ρ for the second benchmark for different values of h and p for a different number of patches
Table 3 Spectral radius ρ for the third benchmark for different values of h and p for a different number of patches

5 Numerical Results

The proposed p-multigrid method is applied in this section as a stand-alone solver and as a preconditioner within a Biconjugate gradient stabilized (BiCGSTAB) method. Results are obtained using different numbers of patches. Furthermore, results are compared when using ILUT as a solver. Finally, different coarsening strategies (i.e. coarsening in h, p or both) are compared with respect to the number of iterations and computational time.

The initial guess \({\mathbf {u}}_{h,p}^{(0)}\) is chosen randomly for all experiments, where each entry is sampled from a uniform distribution on the interval [−1, 1] using the same seed. The method is considered to be converged if

$$\displaystyle \begin{aligned} \begin{array}{rcl} \frac{||{\mathbf{r}}_{h,p}^{(n)}||}{||{\mathbf{r}}_{h,p}^{(0)}||} < 10^{-8}, \end{array} \end{aligned} $$
(24)

where \({\mathbf {r}}_{h,p}^{(n)}\) denotes the residual after iteration n. The solution of the residual equation is obtained at level p = 1 by means of a Conjugate Gradient solver with a relatively high tolerance (𝜖 = 10−4). The same number of pre- and postsmoothing steps are applied for all experiments (ν = ν 1 = ν 2) and boundary conditions are imposed using Nitsche’s method [12].

The number of V-cycles needed to reach convergence for different values of h and p for a different number of patches for the first benchmark are shown in Table 4. Here, the number of smoothing steps at each level equals 2. Results have been obtained considering 1, 4 and 16 patches, where the multipatch is based on splitting a single patch uniformly in both directions. In general, the p-multigrid method shows convergence rates which are essentially independent of both h and p. However, an increase of the number of patches leads to an increase in the number of V-cycles needed to achieve convergence. Note that this increase is relatively low, especially for smaller values of h.

Table 4 Number of V-cycles needed for achieving convergence for the first benchmark with p-multigrid, ν = 2

Table 5 shows the number of V-cycles needed when the number of smoothing steps is doubled. Hence, ν = 4 for all numerical experiments. Doubling the number of smoothing steps at each level, slightly decreases the number of V-cycles. However, since the number of V-cycles is already relatively low, the reduction is limited.

Table 5 Number of V-cycles needed for reaching convergence for the first benchmark with p-multigrid, ν = 4

The number of V-cycles needed to achieve convergence for the second benchmark are presented in Table 6. Compared to the first benchmark, convergence is obtained in the same or even a lower number of V-cycles. Furthermore, only a small increase of the number of V-cycles needed is observed when the number of patches increases. For one configuration, however, the p-multigrid method diverges, as expected based on the spectral analysis; see Table 2.

Table 6 Number of V-cycles needed to achieve convergence for the second benchmark with p-multigrid, ν = 2

Table 7 presents the number of V-cycles needed to achieve convergence for the third benchmark. Again, convergence is reached in a relatively low number of V-cycles. Furthermore, no instabilities are observed for the considered configurations. The increase in the number of V-cycles needed to reach convergence when the number of patches is increased is only mild.

Table 7 Number of V-cycles needed to achieve convergence for the third benchmark with p-multigrid, ν = 2

Alternatively, the p-multigrid method is applied as a preconditioner within a Biconjugate gradient stabilized (BiCGSTAB) method. At the preconditioning phase of every iteration of the BiCGSTAB method, a single V-cycle is applied. Again, a tolerance of 𝜖 = 10−8 is adopted as a stopping criterion for the BiCGSTAB solver.

Results obtained for the first benchmark are presented in Table 8. Compared to the use of p-multigrid as a stand-alone solver, the number of iterations needed on a single patch geometry is smaller for all configurations. In case of a multipatch geometry, however, the number of iterations needed reduces even more when a BiCGSTAB method is adopted. Hence, the difference in BiCGSTAB iterations for single patch and multipatch geometries becomes even smaller.

Table 8 Number of iterations needed to reach convergence for the first benchmark with preconditioned BiCGSTAB, ν = 2

For the second and third benchmark, results are presented in Tables 9 and 10, respectively. For the single patch geometry, the number of iterations with the BiCGSTAB method is again smaller compared to the number of V-cycles for the p-multigrid method for almost all configurations. A slightly larger reduction in the number of iterations can be observed for some numerical experiments in case of a multipatch geometry. Note that BiCGSTAB restores stability for the setting in which the p-multigrid algorithm separately is unstable; see Table 2.

Table 9 Number of iterations needed for reaching convergence for the second benchmark with preconditioned BiCGSTAB, ν = 2
Table 10 Number of iterations needed for reaching convergence for the third benchmark with preconditioned BiCGSTAB, ν = 2

As discussed in Sect. 3, different cycle types can be adopted. The use of a W-cycle instead of the V-cycle leads to the same number of cycles needed for all numerical experiments. Considering the higher computational costs for a single W-cycle, a V-cycle is adopted throughout the rest of this paper.

5.1 ILUT as a Solver

The obtained results are compared to using ILUT as a stand-alone solver. In this way, the effectiveness of the coarse grid correction within the p-multigrid method can be investigated. Table 11 shows the number of iterations needed to achieve convergence with ILUT as a solver. For all numerical experiments, the number of iterations needed with ILUT is significantly higher compared to the number of V-cycles needed with p-multigrid (see Table 4 for comparison). Furthermore, the number of iterations needed with ILUT as a solver becomes h-dependent, leading to a high number of iterations on finer meshes. As shown in Tables 12 and 13, the same observations can be made for the second and third benchmark, respectively. These results indicate that the coarse grid correction is necessary to obtain a low number of iterations until convergence in reached.

Table 11 Number of iterations needed for achieving convergence for the first benchmark with ILUT as solver
Table 12 Number of iterations needed to obtain convergence for the second benchmark with ILUT as solver
Table 13 Number of iterations needed to obtain convergence for the third benchmark with ILUT as solver

5.2 Comparison h- and hp-Multigrid

In the previous subsection, it was shown that a coarse grid correction is necessary to obtain an efficient solution method. To determine the quality of the coarse grid correction with p-multigrid in more detail, results are compared with h- and hp-multigrid methods. In these methods, only the way in which the hierarchy is constructed differs. For the h-multigrid method, coarsening in h is applied, while for the hp-multigrid method coarsening in h and p is applied simultaneously. All other components (i.e. smoothing, prolongation and restriction) are identical. It should be noted that, since coarsening in h leads to a nested hierarchy of discretizations, a canonical prolongation/restriction operator could be defined for the h-multigrid method. These transfer operators are, however, not taken into account in this paper. Results obtained for the benchmarks with the different coarsening strategies on a multipatch geometry for different values of h and p are shown in Tables 14, 15, and 16, respectively.

Table 14 Comparison of p-multigrid with h- and hp-multigrid for the first benchmark on 4 patches, ν = 2
Table 15 Comparison of p-multigrid with h- and hp-multigrid for the second benchmark on 4 patches, ν = 2
Table 16 Comparison of p-multigrid with h- and hp-multigrid for the third benchmark on 4 patches, ν = 2

For all benchmarks, the number of V-cycles needed with p-multigrid is significantly lower for all configurations compared to h- and hp-multigrid. Furthermore, the difference in the number of V-cycles increases when the knot span size is halved. In general, coarsening in h is more efficient compared to coarsening both in h and p. Results indicate that the coarsening in p leads to the most effective coarse grid correction, resulting in the lowest number of V-cycles.

Besides the number of iterations, CPU times have been compared for the different multigrid methods. This comparison is in particular interesting, since the coarse grid correction is more expensive for p-multigrid methods compared to h- and hp-multigrid approaches. A serial implementation is considered on a Intel(R) Xeon(R) E5-2687W CPU (3.10 GHz). Tables 17, 18, and 19 present the computational times (in seconds) for all benchmarks obtained with the different coarsening strategies.

Table 17 Computational times (in seconds) with p, h- and hp-multigrid for the first benchmark on 4 patches, ν = 2
Table 18 Computational times (in seconds) with p, h- and hp-multigrid for the second benchmark on 4 patches, ν = 2
Table 19 Computational times (in seconds) with p, h- and hp-multigrid for the third benchmark on 4 patches, ν = 2

On coarser grids, the computational times for all multigrid methods are comparable. For smaller values of h, however, the computational time needed with p-multigrid is significantly smaller compared to h- and hp-multigrid due to the considerable h-dependency of the latter two approaches. Furthermore, the computational time needed with p-multigrid scales (almost) linearly with the number of degrees of freedom. This holds for all benchmarks and all values of p considered in this study.

6 Conclusion

In this paper, we have extended our p-multigrid solver for IgA discretizations using a Incomplete LU factorization [19] to multipatch geometries. An analysis of the spectrum of the iteration matrix shows that this p-multigrid method can be applied on multipatch geometries, with convergence rates essentially independent of the knot span size h and approximation order p. Only a mild dependence of the convergence rate on the number of patches is observed. Numerical results, obtained for Poisson’s equation on the unit square, the quarter annulus and an L-shaped domain, confirm this analysis. Furthermore, results show the necessity of the coarse grid correction within the p-multigrid method. Finally, different coarsening strategies have been compared, indicating that coarsening in p is most effective compared to coarsening in h or h and p simultaneously. Future research should focus on the application of the p-multigrid method on partial differential equations of higher-order, for example the biharmonic equation. Furthermore, the use of p-multigrid in a HPC framework can be investigated, in which block ILUT can be applied efficiently as a smoother on each multipatch separately.