1 Introduction

The balancing domain decomposition by constraints (BDDC) preconditioner is an iterative substructuring method for the solution of partial differential equations (PDEs), that belongs to the class of nonoverlapping domain decomposition algorithms [22, 23]. BDDC, first introduced in [12] for elliptic problems, represents an evolution of the balancing Neumann–Neumann preconditioner [23]. We also remark that BDDC presents several features in common with the dual-primal finite element tearing and interconnecting (FETI-DP) algorithm. In particular, the BDDC and FETI-DP operators share almost the same eigenvalues [6, 20], thus they exhibit analogous convergence properties. Both BDDC and FETI-DP have been successfully developed for finite and spectral element discretizations of several physical problems governed by PDEs, see e.g. [13, 17, 21, 28]. In particular, regarding the Stokes equations, they have been studied in [18, 19]. In recent years, BDDC and FETI-DP algorithms have been also extended to various innovative discretizations techniques for PDEs, such as Mortar discretizations [16], discontinuous Galerkin methods [9, 14], isogeometric analysis [15, 27], weak Galerkin methods [24] and virtual element methods [2, 3].

The virtual element method (VEM), introduced in the pioneering paper [25], represents a generalization of the finite element method (FEM), that can easily handle general polytopal meshes. The core idea behind VEM is to use approximated discrete bilinear forms, whose computation requires only the integration of polynomials on the element boundary and interior. The resulting discrete solution is conforming and the accuracy guaranteed by such discrete bilinear forms turns to be sufficient to achieve the correct order of convergence. The advantage of these methods is that they can be applied on a wide choice of general polygonal meshes without the need to integrate complex non-polynomial functions on the elements, keeping an high degree of accuracy.

In the VEM literature only a few studies have focused on the construction and analysis of preconditioners for VEM approximations of PDEs; see [1, 7, 8, 10]). BDDC for VEM discretizations of scalar elliptic problems have been first introduced in [2, 3] and then extended to mixed formulations of scalar elliptic equations in [11]. To our knowledge, the development of effective non-overlapping domain decomposition preconditioners for VEM discretizations of the Stokes equations is still an open problem.

The novelty of the present study is to develop a BDDC preconditioner for the divergence free VEM discretization of the two-dimensional Stokes equations introduced in [26]. Our algorithm represents an extension to VEM of the BDDC preconditioner proposed in [19] for FEM discretizations of the Stokes equations with discontinuous pressure spaces. We prove a convergence rate estimate of the preconditioned system, independent of the number of subdomains and polylogarithmic with respect to the ratio H/h, where H denotes the subdomain size and h the mesh size. Such an estimate yields the scalability and quasi-optimality of the resulting algorithm. Several numerical tests confirm the theoretical estimate and show the robustness of the solver with respect to different polygonal meshes.

The paper is organized as follows: in Sect. 2 we introduce the continuous problem and its variational formulation; in Sect. 3 we describe the VEM discretization; in Sect. 4 we introduce the domain decomposition tecnique and the BDDC preconditioner; in Sects. 5 and 6 we describe the theoretical aspects, while in Sect. 7 we report several numerical results; finally in Sect. 8 we draw the conclusions.

2 Continuous Problem

Let \(\varOmega \subseteq {\mathbb {R}}^2\), with \(\varGamma = \partial \varOmega \), and consider the stationary Stokes problem on \(\varOmega \) with homogeneous Dirichet boundary conditions:

$$\begin{aligned} {\left\{ \begin{array}{ll} \text {Find }({\mathbf {u}},p)\text { such that} \\ -\nu {\varvec{\Delta }}{\mathbf {u}} - \nabla p = {\mathbf {f}} \qquad &{}\text { in } {\varOmega } \\ \text {div }{\mathbf {u}} = 0 \qquad &{}\text { in } {\varOmega } \\ {\mathbf {u}}=0 \qquad &{}\text { on } {\varGamma }, \end{array}\right. } \end{aligned}$$
(2.1)

where \({\mathbf {u}}\) and p are the velocity and the pressure fields, respectively. Furthermore \({\varvec{\Delta }}\), div and \(\mathbf {\nabla }\) denote the vector Laplacian, the divergence and the gradient operators. Finally, \({\mathbf {f}}\) represents the external force, while \(\nu > 0\) is the viscosity.

Let us consider the spaces:

$$\begin{aligned} {\mathbf {V}}:=[H^{1}_{0}({\varOmega })]^2,\qquad Q:=L^{2}_{0}({\varOmega })=\bigg \{ q\in L^{2}({\varOmega })\quad s.t. \quad \int _{{\varOmega }} q \text { d}\varOmega =0 \bigg \} \end{aligned}$$
(2.2)

with norms:

$$\begin{aligned} \Vert {\mathbf {v}}\Vert _{1}:=\Vert {\mathbf {v}}\Vert _{[H^{1}({\varOmega })]^2}, \quad \Vert q\Vert _{Q}:=\Vert q\Vert _{L^{2}({\varOmega })}. \end{aligned}$$
(2.3)

We assume \({\mathbf {f}} \in [H^{-1}({\varOmega })]^2\), and \(\nu \in L^{\infty }({\varOmega })\) uniformly positive in \({\varOmega }\). Let the bilinear forms \(a(\cdot ,\cdot ): {\mathbf {V}} \times {\mathbf {V}} \rightarrow {\mathbb {R}}\) and \(b: {\mathbf {V}} \times Q \rightarrow {\mathbb {R}}\) be defined as:

$$\begin{aligned} a({\mathbf {u}},{\mathbf {v}})&:= \int _{\varOmega }\nu \mathbf {\nabla u} : \mathbf {\nabla v}\text { d}\varOmega \qquad \text {for all } {\mathbf {u}},{\mathbf {v}} \in {\mathbf {V}} \end{aligned}$$
(2.4)
$$\begin{aligned} b({\mathbf {v}},q)&:= \int _{\varOmega } \text {div } {\mathbf {v}} q \text { d}\varOmega \qquad \text {for all } {\mathbf {u}} \in {\mathbf {V}}, q \in Q. \end{aligned}$$
(2.5)

Then a standard variational formulation of problem (2.1) reads:

$$\begin{aligned} {\left\{ \begin{array}{ll} \text {find } ({\mathbf {u}},p) \in {\mathbf {V}} \times Q \text { such that} \\ a({\mathbf {u}},{\mathbf {v}})+b({\mathbf {v}},p)=({\mathbf {f}},{\mathbf {v}}) &{} \text {for all } {\mathbf {v}} \in {\mathbf {V}}, \\ b({\mathbf {u}},q)=0 &{} \text {for all } q \in Q, \end{array}\right. } \end{aligned}$$
(2.6)

where

$$\begin{aligned} ({\mathbf {f}},{\mathbf {v}}):=\int _{\varOmega } {\mathbf {f}} \cdot {\mathbf {v}}\text { d}\varOmega . \end{aligned}$$

It is well-known that:

  • \(a(\cdot ,\cdot )\) and \(b(\cdot ,\cdot )\) are continuous, i.e.

    $$\begin{aligned} \begin{array}{llll} |a({\mathbf {u}},{\mathbf {v}})| &{} \le &{} \Vert a \Vert \Vert {\mathbf {u}}\Vert _1 \Vert {\mathbf {v}}\Vert _1 &{} \quad \text {for all } {\mathbf {u}},{\mathbf {v}} \in {\mathbf {V}} ,\\ |b({\mathbf {v}},q)| &{} \le &{} \Vert b\Vert \Vert {\mathbf {v}}\Vert _1 \Vert q\Vert _Q &{} \quad \text {for all } {\mathbf {v}} \in {\mathbf {V}} \text {and } q \in Q, \end{array} \end{aligned}$$

    where \(\Vert a \Vert \) and \(\Vert b \Vert \) are the usual norm of the two bilinear forms;

  • \(a(\cdot ,\cdot )\) is coercive i.e., there exists a positive constant \(\alpha \) such that

    $$\begin{aligned} |a({\mathbf {v}},{\mathbf {v}})| \ge \alpha \Vert {\mathbf {v}} \Vert _1^2 \quad \text {for all } {\mathbf {v}} \in {\mathbf {V}}; \end{aligned}$$
  • the bilinear form \(b(\cdot ,\cdot )\) satisfies the inf-sup condition [4], i.e.

    $$\begin{aligned} \exists \beta >0 \text { such that} \quad \sup _{{\mathbf {v}}\in {\mathbf {V}}, {\mathbf {v}} \ne {\mathbf {0}}} \frac{|b({\mathbf {v}},q)|}{\Vert {\mathbf {v}}\Vert _1} \ge \beta \Vert q\Vert _Q \quad \text {for all } q \in Q. \end{aligned}$$
    (2.7)

Therefore, problem (2.6) has a unique solution \(({\mathbf {u}},p) \in {\mathbf {V}} \times Q\) such that

$$\begin{aligned} ||{\mathbf {u}}||_1 + ||p||_Q \le C ||{\mathbf {f}}||_{H^{-1}({\varOmega })}, \end{aligned}$$
(2.8)

where the constant C depends only on \({\varOmega }\) and \(\nu \); see [4].

3 Virtual Element Discretization

We present here the discretization of problem (2.1), based on the virtual element space introduced in [26], that is designed to solve a Stokes-like problem element-wise. In particular we will use the reduced space presented in section 5 of [26], that, exploiting the divergence free property of the solution, allows to save a lot of degrees of freedom especially when the polynomial degree k is large. We recall here the definition of the local spaces. Let \(\{{\mathcal {T}}_h\}_h\) be a sequence of triangulations of \(\varOmega \) into general polygonal elements K with

$$\begin{aligned} h_K:=\text {diameter}(K), \quad h:=\sup _{K\in {\mathcal {T}}_h}h_K. \end{aligned}$$

We suppose that, for all h, each element \(K\in {\mathcal {T}}_h\) satisfies the following assumptions:

  • \((\mathbf {A1})\) K is star-shaped with respect to a ball of radius \(\ge \gamma h_k\),

  • \((\mathbf {A2})\) the distance between any two vertices of K is \(\ge c h_K\),

  • \((\mathbf {A3})\) the triangulation \({\mathcal {T}}_h\) is quasi-uniform, i.e. there exist positive constants \(c_0,\,c_1\) such that for any two elements K and \(K'\) in \({\mathcal {T}}_h\) we have \(c_0\le h_K/h_{K'}\le c_1\).

where \(\gamma \) and c are positive constants.

Remark 3.1

These hypotheses could be weakened as in [25], for example assuming that every K is a union of a finite (and uniformly bounded) number of star-shaped domains, each satisfying (\(\mathbf {A1}\)).

We also assume that the scalar viscosity field \(\nu \) is piecewise constant with respect to the decomposition \({\mathcal {T}}_h\), i.e. \(\nu \) is constant on each polygon \(K \in {\mathcal {T}}_h\).

For \(k \in {\mathbb {N}}\), let us define the spaces:

  • \({\mathbb {P}}_k(K)\) the set of polynomials on K of degree \(\le k\),

  • \({\mathbb {B}}_k(K):=\{v \in C^0(\partial K ) \text { s.t. } v_{|e} \in {\mathbb {P}}_k(e) \quad \forall \text { edge } e \in \partial K \}\),

  • \({G}_k(K):=\nabla ({\mathbb {P}}_{k+1}(K)) \subseteq [{\mathbb {P}}_{k}(K)]^2\),

  • \({G}_k(K)^\perp \subseteq [{\mathbb {P}}_{k}(K)]^2\) the \(L^2\)-orthogonal complement to \({G}_k(K)\).

On each element \(K \in {T}_h\) we define, for \(k\ge 2\), the following finite dimensional local virtual element spaces:

$$\begin{aligned} \begin{aligned} {\widehat{\mathbf {V}}}_h^K := \bigg \{ {\mathbf {v}} \in [H^1(K)]^2 \text { s.t. } {\mathbf {v}}_{| \partial K} \in {\mathbb {B}}_{k}(\partial K)]^2,\\ {\left\{ \begin{array}{ll} -\nu {\varvec{\Delta }}{\mathbf {v}} - \nabla s \in {G}_{k-2}(K)^\perp , \\ \text {div } {\mathbf {v}} \in {\mathbb {P}}_{0}(K),\end{array}\right. } \text {for some } s \in L^2(K)\bigg \} \end{aligned} \end{aligned}$$
(3.1)

and

$$\begin{aligned} Q_h^K:={\mathbb {P}}_{0}(K). \end{aligned}$$
(3.2)

Now it is possible to introduce suitable sets of degrees of freedom for the local approximations fields.

Given a function \({\mathbf {v}} \in \widehat{\mathbf {V}}_h^K\) we take the following linear operators \(\mathbf {D_{\widehat{V}}}\), split into three subsets:

  • \(\mathbf {D_{\widehat{V}}1}\): the values of \({\mathbf {v}}\) at the vertices of the polygon K,

  • \(\mathbf {D_{\widehat{V}}2}\): the values of \({\mathbf {v}}\) at \(k-1\) distinct points of every edge \(e\in \partial K\) (for the implementation we will take the \(k-1\) internal points of the \((k+1)\)-Gauss–Lobatto quadrature rule in e),

  • \(\mathbf {D_{\widehat{V}}3}\): the moments of the values of \({\mathbf {v}}\)

    $$\begin{aligned} \int _{K}{\mathbf {v}} \cdot {\mathbf {g}}^\perp _{k-2}\text { d}K \qquad \text {for all } {\mathbf {g}}^\perp _{k-2} \in {\mathbf {G}}_{k-2}(K)^\perp \end{aligned}$$

Furthermore, for the local pressure, given \(q\in Q^K_h\), we consider the linear operators \(\mathbf {D_Q}\):

  • \(\mathbf {D_Q}\): the moment

    $$\begin{aligned} \int _{K}q \text { d}K. \end{aligned}$$

Since \(\mathbf {D_{\widehat{V}}}\) and \(\mathbf {D_Q}\) are unisolvent respectively of \(\widehat{\mathbf {V}}_h^K\) and \(Q_h^K\), we can define the global virtual element spaces:

$$\begin{aligned} \widehat{\mathbf {V}}_h:=\{{\mathbf {v}}\in [H^{1}_{0}({\varOmega })]^2\quad \text {s.t.}\quad {\mathbf {v}}_{|K} \in \widehat{\mathbf {V}}^K_h\quad \text {for all } K\in {\mathcal {T}}_h\} \end{aligned}$$
(3.3)

and

$$\begin{aligned} Q_h:=\{q\in L^{2}_{0}({\varOmega }) \quad \text {s.t.}\quad q_{|K} \in Q^K_h\quad \text {for all } K\in {\mathcal {T}}_h\}, \end{aligned}$$
(3.4)

with obvious associated sets of global degrees of freedom.

3.1 Discrete Problem

Referring to [26], we can now state the discrete virtual element problem

$$\begin{aligned} {\left\{ \begin{array}{ll} \text {find }({\mathbf {u}}_h,p_h)\text { such that} \\ a_h({\mathbf {u}}_h,{\mathbf {v}}_h)+b({\mathbf {v}}_h,p_h)=({\mathbf {f}}_h,{\mathbf {v}}_h)&{} \quad \text {for all }{\mathbf {v}}_h \in \widehat{\mathbf {V}}_h\\ b({\mathbf {u}}_h,q_h) = 0&{}\quad \text {for all }q_h \in Q_h \end{array}\right. } \end{aligned}$$
(3.5)

By construction the discrete bilinear form \(a_h(\cdot ,\cdot )\) is stable (uniformly) with respect to the \({\mathbf {V}}\) norm and also obviously the bilinear form \(b(\cdot ,\cdot )\). Therefore, to prove the existence and uniqueness of the solution of the problem (3.5) is necessary only a suitable inf-sup condition. For our work, we will only need this condition for the subdomains in which \(\varOmega \) will be divided into. In this way the local subdomains problem, as weel as the global one, will be well posed. The proof of the following inf-sup condition could be found in [26].

Proposition 3.1

Given the discrete spaces \(\widehat{\mathbf {V}}_h\) and \(Q_h\) defined in (3.3) and (3.4), there exists a positive \({\tilde{\beta }}\), independent of h, such that:

$$\begin{aligned} \sup _{{\mathbf {v}}_h\in \widehat{\mathbf {V}}_h, {\mathbf {v}}_h \ne {\mathbf {0}}} \frac{|b({\mathbf {v}}_h,q_h)|}{\Vert {\mathbf {v}}_h\Vert _1} \ge {\tilde{\beta }} \Vert q_h\Vert _Q \quad \text {for all } q_h \in Q_h. \end{aligned}$$
(3.6)

A consequence of the previous proposition is the following statement.

Theorem 3.1

Problem (3.5) has a unique solution \(({\mathbf {u}}_h,p_h)\in \widehat{\mathbf {V}}_h\times Q_h\), verifying the estimate

$$\begin{aligned} \Vert {\mathbf {u}}_h \Vert _1 + \Vert p_h \Vert _Q \le C\Vert {\mathbf {f}}\Vert _0\text {.} \end{aligned}$$
(3.7)

We have also a convergence result

Theorem 3.2

Let \(({\mathbf {u}},p)\in {\mathbf {V}}\times Q\) be the solution of problem (2.6) and \(({\mathbf {u}}_h,p_h)\in \widehat{\mathbf {V}}_h\times Q_h\) be the solution of problem (3.5). Then it holds

$$\begin{aligned} \Vert {\mathbf {u}}-{\mathbf {u}}_h \Vert _1 \le C h^k(|{\mathbf {f}}|_{k-1}+|{\mathbf {u}}|_{k+1}) \end{aligned}$$
(3.8)

and

$$\begin{aligned} \Vert p-p_h \Vert _Q \le C h^k(|{\mathbf {f}}|_{k-1}+|{\mathbf {u}}|_{k+1}+|p|_{k})\text {.} \end{aligned}$$
(3.9)

4 Construction of the BDDC Preconditioner

In this section, we first divide the domain \(\varOmega \) into subdomains and introduce appropriate function spaces, paragraph 4.1. Then, in paragraph 4.2, we show how the global interface saddle-point problem takes form and then in 4.3 we define the BDDC preconditioner that allows us to use a preconditioned conjugate gradient method (PCG) for its solution.

4.1 Domain Decomposition

We decompose the domain \(\varOmega \) into N non-overlapping subdomains \(\varOmega _i, i=1,2,...N\), of characteristic diameter H. Each subdomain is a union of shape regular elements and the nodes on the boundaries of neighboring subdomain match across the interface \(\varGamma = (\cup \partial \varOmega _i){\setminus } \partial \varOmega \); we define also \(\varGamma _i = \partial \varOmega _i \cap \varGamma \) as the interface of an individual subdomain \(\varOmega _i\). According to [5], where more details could be found, we recall two requirements on the subdomain partition:

  • (S1) Each subdomain \(\varOmega _i\) is the union of polygonal elements of the triangulation \({\mathcal {T}}_h\) and the number of polygons forming an individual subdomain is uniformly bounded;

  • (S2) If a face of a subdomain intersects \(\partial \varOmega \), then the measure of this set is comparable to that of \(\partial \varOmega _i\). Similarly, if an edge of a subdomain intersects \(\partial \varOmega \), the length of this intersection is bounded from below in terms of the diameter of \(\partial \varOmega _i\).

Restricting to the two-dimensional case, although the theory of iterative substructuring ([23] Sect. 4.2) does not cover the general cases where the boundary of a subdomain is not a straight line (as we have in our implementation, since we use general polygonal meshes), we can anyway define vertices and interface relatively easily. We say that a node x belongs to the interface of a subdomain if it belongs to at least two subdomains, while a node x is a vertex of a subdomain if it belongs to more than two subdomains (Fig. 1). This is the rule that we used in the implementation to split our mesh in the different subdomains.

4.2 Decomposition of the Virtual Element Spaces

The discrete variational problem (3.5) can be written, in matrix form, as the following saddle-point linear system:

$$\begin{aligned} \left[ \begin{array}{cc} A &{} B^T\\ B &{} 0\\ \end{array} \right] \left[ \begin{array}{c} {\mathbf {u}}\\ p\\ \end{array} \right] = \left[ \begin{array}{c} {\mathbf {f}}\\ 0\\ \end{array} \right] \end{aligned}$$
(4.1)
Fig. 1
figure 1

Interface of the subdomains (excluding the nodes on the boundary): red circles indicate the vertices of the subdomains, whereas black circles indicate the remainder interface nodes (Color figure online)

where the matrices A and B are associated with the discrete bilinear forms \(a_h(\cdot ,\cdot )\) and \(b(\cdot ,\cdot )\). In the remainder of the paper, we omit the underscore h since we will always refer to the finite dimensional space and so we write \(\widehat{\mathbf {V}}\times Q\) instead of \(\widehat{\mathbf {V}}_h\times Q_h\), only for sake of simplifying the notation. Referring to the notations of the previous section, we naturally split the degrees of freedom (dofs) of the velocity components into boundary dofs (\(\mathbf {D_V1}\) and \(\mathbf {D_V2}\)) and interior dofs (\(\mathbf {D_V3}\) and \(\mathbf {D_V4}\)). Following the notations introduced in [19], we decompose the discrete velocity and pressure space \(\widehat{\mathbf {V}}\) and Q into:

$$\begin{aligned} \widehat{\mathbf {V}} = {\mathbf {V}}_I \bigoplus \widehat{\mathbf {V}}_\varGamma \text {,} \quad Q = Q_I\bigoplus Q_0\text {.} \end{aligned}$$
(4.2)

\({\mathbf {V}}_I\) and \(Q_I\) are direct sums of subdomain interior velocity spaces \({\mathbf {V}}_I^{(i)}\), and subdomain interior pressure spaces \(Q_I^{(i)}\), respectively, i.e.,

$$\begin{aligned} {\mathbf {V}}_I = \bigoplus _{i=1}^{N} {\mathbf {V}}_I^{(i)}\text {,}\quad Q_I = \bigoplus _{i=1}^{N} Q_I^{(i)}\text {.} \end{aligned}$$
(4.3)

The elements of \({\mathbf {V}}_I^{(i)}\) have support in the subdomain \(\varOmega _i\) and vanish on its interface \(\varGamma _i\), while the elements of \(Q_I^{(i)}\) are restrictions of elements in Q to \(\varOmega _i\). \(\widehat{\mathbf {V}}_\varGamma \) is the space of the traces on \(\varGamma \) of functions in \(\widehat{\mathbf {V}}\) and \(Q_0\) is the subspace of Q with constant values \(q_0^{(i)}\) in the subdomain \(\varOmega _i\). We denote the space of interface velocity variables of the subdomain \(\varOmega _i\) by \({\mathbf {V}}_\varGamma ^{(i)}\), and the associated product space by \({\mathbf {V}}_\varGamma = \prod _{i=1}^{N}{\mathbf {V}}_\varGamma ^{(i)}\); generally functions in \({\mathbf {V}}_\varGamma \) are discontinuous across the interface. \(R_\varGamma ^{(i)}:\widehat{\mathbf {V}}_\varGamma \rightarrow {\mathbf {V}}_\varGamma ^{(i)}\) is the operator which maps functions in the continuous interface velocity space \(\widehat{\mathbf {V}}_\varGamma \) to their subdomain components in the space \({\mathbf {V}}_\varGamma ^{(i)}\). We denote the direct sum of the \(R_\varGamma ^{(i)}\) with \(R_\varGamma \).

With the decomposition of the solution space given in (4.2), the global saddle-point problem (4.1) can be written as: find \(({\mathbf {u}}_I,p_I,{\mathbf {u}}_\varGamma ,p_0) \in ({\mathbf {V}}_I,Q_I,\widehat{\mathbf {V}}_\varGamma ,Q_0)\), such that:

$$\begin{aligned} \left[ \begin{array}{cccc} A_{II} &{} B_{II}^T &{} \widehat{A}_{\varGamma I}^T &{} 0\\ B_{II} &{} 0 &{} \widehat{B}_{I\varGamma } &{} 0\\ \widehat{A}_{\varGamma I} &{} \widehat{B}_{I\varGamma }^T &{} \widehat{A}_{\varGamma \varGamma } &{} \widehat{B}_{0\varGamma }^T\\ 0 &{} 0 &{} \widehat{B}_{0\varGamma }^T &{} 0\\ \end{array} \right] \left[ \begin{array}{c} {\mathbf {u}}_I\\ p_I\\ {\mathbf {u}}_\varGamma \\ p_0\\ \end{array} \right] = \left[ \begin{array}{c} {\mathbf {f}}_I\\ 0\\ {\mathbf {f}}_\varGamma \\ 0\\ \end{array} \right] . \end{aligned}$$
(4.4)

Remark 4.1

Here the lower left block of (4.4) is zero because the bilinear form \(b({\mathbf {u}}_I,q_0)\) vanishes for any \({\mathbf {v}}_I \in {\mathbf {V}}_I\) and \(q_0 \in Q_0\). To keep this property, when the change of basis for the pressure space is applied, it is important to take care of the fact that the shape and dimension of the elements is different.

The blocks related to the continuous interface velocity are assembled from the corresponding subdomain submatrices, e.g., \(\widehat{A}_{\varGamma \varGamma } = \sum _{i=1}^{N} {R_\varGamma ^{(i)}}^T \widehat{A}_{\varGamma \varGamma }^{(i)} R_\varGamma ^{(i)}\) and \(\widehat{B}_{0 \varGamma } = \sum _{i=1}^{N} \widehat{B}_{0 \varGamma }^{(i)} R_\varGamma ^{(i)}\). Correspondingly, the right-hand side vector \({\mathbf {f}}_I\) consists of subdomain vectors \({\mathbf {f}}_I^{(i)}\), and \({\mathbf {f}}_\varGamma \) is assembled from the subdomain components \({\mathbf {f}}_\varGamma ^{(i)}\); we denote the spaces of the right-hand side vectors \({\mathbf {f}}_I\) and \({\mathbf {f}}_\varGamma \) by \({\mathbf {F}}_I\) and \({\mathbf {F}}_\varGamma \) respectively.

By employing a symmetric permutation, the leading two by two blocks in the coefficient matrix can be rewritten as a block diagonal matrix with blocks corresponding to independent subdomain problems. We show here how such a matrix takes form in the simplest case of two subdomains:

$$\begin{aligned} \left[ \begin{array}{cccccc} A_{II}^{(1)} &{} {B_{II}^{(1)}}^T &{} 0 &{} 0 &{} {A_{\varGamma I}^{(1)}}^T &{} 0\\ B_{II}^{(1)} &{} 0 &{} 0 &{} 0 &{} B_{I\varGamma }^{(1)} &{} 0\\ 0 &{} 0 &{} A_{II}^{(2)} &{} {B_{II}^{(2)}}^T &{} {A_{\varGamma I}^{(2)}}^T &{} 0\\ 0 &{} 0 &{} B_{II}^{(2)} &{} 0 &{} B_{I\varGamma }^{(2)} &{} 0\\ A_{\varGamma I}^{(1)} &{} {B_{I\varGamma }^{(1)}}^T &{} A_{\varGamma I}^{(2)} &{} {B_{I\varGamma }^{(2)}}^T &{} \widehat{A}_{\varGamma \varGamma } &{} {\widehat{B}_{0\varGamma }}^T\\ 0 &{} 0 &{} 0 &{} 0 &{} \widehat{B}_{0\varGamma } &{} 0 \end{array} \right] \left[ \begin{array}{c} {\mathbf {u}}_I^{(1)}\\ p_I^{(1)}\\ {\mathbf {u}}_I^{(2)}\\ p_I^{(2)}\\ {\mathbf {u}}_\varGamma \\ p_0\\ \end{array} \right] = \left[ \begin{array}{c} {\mathbf {f}}_I^{(1)}\\ 0\\ {\mathbf {f}}_I^{(2)}\\ 0\\ {\mathbf {f}}_\varGamma \\ 0\\ \end{array} \right] . \end{aligned}$$
(4.5)

In the rest of this section the computations are always performed in the case of two subdomains. The extension to the general case with more subdomains is natural, but the computations are clearly more involved.

We proceed eliminating, by static condensation, the independent subdomain variables \(({\mathbf {u}}_I^{(1)},p_I^{(1)})\) and \(({\mathbf {u}}_I^{(2)},p_I^{(2)})\) in the system (4.5). To do so, we solve two independent Dirichlet problems:

$$\begin{aligned}&\left[ \begin{array}{cc} A_{II}^{(1)} &{} {B_{II}^{(1)}}^T\\ B_{II}^{(1)} &{} 0 \end{array} \right] \left[ \begin{array}{c} {\mathbf {u}}_I^{(1)}\\ p_I^{(1)}\\ \end{array} \right] + \left[ \begin{array}{cc} {A_{\varGamma I}^{(1)}}^T &{} 0\\ B_{I\varGamma }^{(1)} &{} 0 \end{array} \right] \left[ \begin{array}{c} {\mathbf {u}}_\varGamma \\ p_0\\ \end{array} \right] = \left[ \begin{array}{c} {\mathbf {F}}_I^{(1)}\\ 0\\ \end{array} \right] \text {,} \end{aligned}$$
(4.6)
$$\begin{aligned}&\left[ \begin{array}{cc} A_{II}^{(2)} &{} {B_{II}^{(2)}}^T\\ B_{II}^{(2)} &{} 0 \end{array} \right] \left[ \begin{array}{c} {\mathbf {u}}_I^{(2)}\\ p_I^{(2)}\\ \end{array} \right] + \left[ \begin{array}{cc} {A_{\varGamma I}^{(2)}}^T &{} 0\\ B_{I\varGamma }^{(2)} &{} 0 \end{array} \right] \left[ \begin{array}{c} {\mathbf {u}}_\varGamma \\ p_0\\ \end{array} \right] = \left[ \begin{array}{c} {\mathbf {F}}_I^{(2)}\\ 0\\ \end{array} \right] \text {,} \end{aligned}$$
(4.7)

thus

$$\begin{aligned}&\left[ \begin{array}{c} {\mathbf {u}}_I^{(1)}\\ p_I^{(1)}\\ \end{array} \right] = \left[ \begin{array}{cc} A_{II}^{(1)} &{} {B_{II}^{(1)}}^T\\ B_{II}^{(1)} &{} 0 \end{array} \right] ^{-1} \left( \left[ \begin{array}{c} {\mathbf {F}}_I^{(1)}\\ 0\\ \end{array} \right] - \left[ \begin{array}{cc} {A_{\varGamma I}^{(1)}}^T &{} 0\\ B_{I\varGamma }^{(1)} &{} 0 \end{array} \right] \left[ \begin{array}{c} {\mathbf {u}}_\varGamma \\ p_0\\ \end{array} \right] \right) \text {,} \end{aligned}$$
(4.8)
$$\begin{aligned}&\left[ \begin{array}{c} {\mathbf {u}}_I^{(2)}\\ p_I^{(2)}\\ \end{array} \right] = \left[ \begin{array}{cc} A_{II}^{(2)} &{} {B_{II}^{(2)}}^T\\ B_{II}^{(2)} &{} 0 \end{array} \right] ^{-1} \left( \left[ \begin{array}{c} {\mathbf {F}}_I^{(2)}\\ 0\\ \end{array} \right] - \left[ \begin{array}{cc} {A_{\varGamma I}^{(2)}}^T &{} 0\\ B_{I\varGamma }^{(2)} &{} 0 \end{array} \right] \left[ \begin{array}{c} {\mathbf {u}}_\varGamma \\ p_0\\ \end{array} \right] \right) \text {,} \end{aligned}$$
(4.9)

Then, substituting the solutions of (4.8) and (4.9) in

$$\begin{aligned}&\left[ \begin{array}{cc} A_{\varGamma I}^{(1)} &{} {B_{I\varGamma }^{(1)}}^T \\ 0 &{} 0 \end{array} \right] \left[ \begin{array}{c} {\mathbf {u}}_I^{(1)}\\ p_I^{(1)}\\ \end{array} \right] + \left[ \begin{array}{cc} A_{\varGamma I}^{(2)} &{} {B_{I\varGamma }^{(2)}}^T \\ 0 &{} 0 \end{array} \right] \left[ \begin{array}{c} {\mathbf {u}}_I^{(2)}\\ p_I^{(2)}\\ \end{array} \right] + \left[ \begin{array}{cc} \widehat{A}_{\varGamma \varGamma } &{} {\widehat{B}_{0\varGamma }}^T\\ \widehat{B}_{0\varGamma } &{} 0 \end{array} \right] \left[ \begin{array}{c} {\mathbf {u}}_\varGamma \\ p_0\\ \end{array} \right] = \left[ \begin{array}{c} {\mathbf {F}}_\varGamma \\ 0\\ \end{array} \right] \nonumber \\ \end{aligned}$$
(4.10)

we obtain the global interface saddle-point problem:

$$\begin{aligned} \widehat{S}\text { }\widehat{u} = \left[ \begin{array}{cc} \widehat{S}_\varGamma &{} {\widehat{B}_{0\varGamma }}^T\\ \widehat{B}_{0\varGamma } &{} 0\\ \end{array} \right] \left[ \begin{array}{c} {\mathbf {u}}_\varGamma \\ p_0\\ \end{array} \right] = \left[ \begin{array}{c} {\mathbf {g}}_\varGamma \\ 0\\ \end{array} \right] = \widehat{{\mathbf {g}}}\text {,} \end{aligned}$$
(4.11)

where the right-hand side \(\widehat{{\mathbf {g}}}\in {\mathbf {F}}_\varGamma \times F_0\) is given by

$$\begin{aligned} \widehat{{\mathbf {g}}} = \sum _{i=1}^{2} {R_\varGamma ^{(i)}}^T \left\{ \left[ \begin{array}{c} {\mathbf {f}}_\varGamma ^{(i)}\\ 0\\ \end{array} \right] - \left[ \begin{array}{cc} A_{\varGamma I}^{(i)} &{} {B_{I\varGamma }^{(i)}}^T\\ 0 &{} 0 \end{array} \right] \left[ \begin{array}{cc} A_{II}^{(i)} &{} {B_{II}^{(i)}}^T\\ B_{II}^{(i)} &{} 0 \end{array} \right] ^{-1} \left[ \begin{array}{c} {\mathbf {f}}_I^{(i)}\\ 0\\ \end{array} \right] \right\} . \end{aligned}$$
(4.12)

We note that \(\widehat{S}\) is assembled from the subdomain Stokes Schur complements \(S^{(i)}\), which are defined by: given \({{\mathbf {w}}}^{(i)} = {\mathbf {w}}_\varGamma ^{(i)} \times q_0^{(i)} \in {\mathbf {V}}_\varGamma ^{(i)} \times Q_0^{(i)}\), determine \(S^{(i)}{{\mathbf {w}}}^{(i)}\in {\mathbf {F}}_\varGamma ^{(i)} \times F_0^{(i)}\) such that

$$\begin{aligned} \left[ \begin{array}{cccc} A_{II}^{(i)} &{} {B_{II}^{(i)}}^T &{} {A_{\varGamma I}^{(i)}}^T &{} 0\\ B_{II}^{(i)} &{} 0 &{} B_{I\varGamma }^{(i)} &{} 0\\ A_{\varGamma I}^{(i)} &{} {B_{I\varGamma }^{(i)}}^T &{} {A}_{\varGamma \varGamma }^{(i)} &{} {{B}_{0\varGamma }^{(i)}}^T\\ 0 &{} 0 &{} {B}_{0\varGamma }^{(i)} &{} 0 \end{array} \right] \left[ \begin{array}{c} {\mathbf {w}}_I^{(i)}\\ q_I^{(i)}\\ {\mathbf {w}}_\varGamma ^{(i)}\\ q_0^{(i)} \end{array} \right] = \left[ \begin{array}{c} {\mathbf {0}}\\ 0\\ S^{(i)}{{\mathbf {w}}}^{(i)} \end{array} \right] \text {.} \end{aligned}$$
(4.13)

Denoting by \(S_\varGamma \) the direct sum of the \(S^{(i)}_\varGamma \), then \(\widehat{S}_\varGamma \) is given by

$$\begin{aligned} \widehat{S}_\varGamma = R_\varGamma ^T S_\varGamma R_\varGamma = \sum _{i=1}^{2} {R^{(i)}_\varGamma }^T S^{(i)}_\varGamma R^{(i)}_\varGamma , \end{aligned}$$
(4.14)

and then we set

$$\begin{aligned} R = \left[ \begin{array}{cc} R_\varGamma &{} 0\\ 0 &{} I \end{array} \right] \text {,} \quad R^{(i)} = \left[ \begin{array}{cc} R_\varGamma ^{(i)} &{} 0\\ 0 &{} I \end{array} \right] \text {.} \end{aligned}$$
(4.15)

Finally we see from (4.13), that the action of \(S^{(i)}\) on a vector can be evaluated by solving a Dirichlet problem on the subdomain \(\varOmega _i\) as in (4.8) and (4.9), so it is not necessary to assemble the matrix \(\widehat{S}\) because only its action is required.

In the next section we introduce a BDDC preconditioner for problem (4.11), where the operator of the preconditioned problem is symmetric and positive definite, so we will use the PCG method to solve it.

4.3 BDDC Preconditioner

We now present the BDDC preconditioner, first designed in [19] for finite element discretizations of the Stokes equations, that we will extend to the VEM discretization introduced in the previous sections. This preconditioner is very similar to FETI-DP, but there is a main difference between them: while in a FETI-DP algorithm the continuity of the solution will not be fully satisfied until the algorithm has converged, in the BDDC one full continuity is restored at the end of each iteration step, by using an average operator.

Before entering into the definition of the function space used to construct the BDDC preconditioner, we briefly justify the choice of our notation. The subscript \(\varGamma \) indicates dofs living on the interface, \(\varPi \) and \(\varDelta \) are instead used to distinguish dofs of \(\varGamma \) that belong to the primal and dual spaces, respectively, defined here below. Two other subscripts are used: C indicates an operator referred to the coarse space and D is instead used to highlight that an operator has been rescaled by suitable scaling functions, defined later. The hat \({\widehat{\cdot }}\) refers to a continuous space, the \({\widetilde{\cdot }}\) means that the space is continuous on primal interface dofs and discontinuous on the dual ones and finally no hat is used for the product of local spaces, which is discontinuous at all interface dofs.

As a first step, we introduce a partially assembled interface velocity space \({\widetilde{\mathbf {V}}}_\varGamma \),

$$\begin{aligned} {\widetilde{\mathbf {V}}}_\varGamma = \widehat{\mathbf {V}}_\varPi \bigoplus {\mathbf {V}}_\varDelta = \widehat{\mathbf {V}}_\varPi \bigoplus \left( \prod _{i=1}^N {\mathbf {V}}_\varDelta ^{(i)} \right) . \end{aligned}$$
(4.16)

\(\widehat{\mathbf {V}}_\varPi \) is the continuous coarse level primal interface velocity space which typically is spanned by subdomain vertex nodal basis functions, and/or by interface edge basis functions with constant values, or with values of weight functions, on these edge. These basis functions correspond to the primal interface velocity continuity constraints, which will be discussed later. We will always assume that the basis has been changed so that each primal basis function corresponds to an explicit degree of freedom. In other words, we will have explicit primal unknowns corresponding to the primal continuity constraints on edges. The primal degrees of freedom are shared by neighboring subdomains. The complimentary space \({\mathbf {V}}_\varDelta \) is the direct sum of the subdomain dual interface velocity spaces \({\mathbf {V}}_\varDelta ^{(i)}\) , which correspond to the remaining interface velocity degrees of freedom and are spanned by basis functions which vanish at the primal degrees of freedom. Thus, an element in the space \({\widetilde{\mathbf {V}}}_\varGamma \) has a continuous primal velocity and typically a discontinuous dual velocity component.

We now introduce several restriction, extension, and scaling operators between a variety of spaces. As in [19], \(R_\varGamma ^{(i)}\) is the operator which maps a function in the space \(\widehat{\mathbf {V}}_\varGamma \) to its component in \({\mathbf {V}}_\varGamma ^{(i)}\). We define \(R_{\varDelta }^{(i)}\) as the operator which maps the space \(\widehat{\mathbf {V}}_\varGamma \) to its dual component in the space \({\mathbf {V}}_\varDelta ^{(i)}\). \(R_{\varGamma \varPi }\) is the restriction operator from the space \(\widehat{\mathbf {V}}_\varGamma \) to its subspace \(\widehat{\mathbf {V}}_\varPi \); \(R_\varPi ^{(i)}\) is the operator which maps \(\widehat{\mathbf {V}}_\varPi \) into its \(\varGamma _i\)-component. \({\widetilde{R}}_\varGamma \) is the direct sum of \(R_{\varGamma \varPi }\) and the \(R_\varDelta ^{(i)}\) , and it is a map from \(\widehat{\mathbf {V}}_\varGamma \) into \({\widetilde{\mathbf {V}}}_\varGamma \).

The relationships among the previous spaces and operators are summarized in the following diagram:

figure a

In order to define certain scaling operators, which will be used in the definition of the BDDC preconditioner, see (4.22) , we introduce a positive scaling factor \(\delta ^\dagger _i(x)\) for the nodes on the interface \(\varGamma _i\) of each subdomain \(\varOmega _i\). For the type of problem we will use in the numerical experiment (incompressible Stokes problems), we simply define the \(\delta ^\dagger _i(x)\) as the pseudoinverse counting functions, so:

$$\begin{aligned} \delta ^\dagger _i(x):=1/card(I_x),\quad x\in \varGamma _{i} \end{aligned}$$
(4.17)

where \(I_x\) is the set of indices of subdomains which have x on their boundaries and \(card(I_x)\) is the number of these subdomains. Now we can define the scaled restriction operators \(R^{(i)}_{D,\varDelta }\), simply multiplying each non-zero element of \(R^{(i)}_{\varDelta }\), only one for row, by the corresponding scaling factor \(\delta ^\dagger _i(x)\). We construct also the scaled operator \({\widetilde{R}}_{D,\varGamma }\) as the direct sum of \(R_{\varGamma ,\varPi }\) and \(R^{(i)}_{D,\varDelta }\). After the change of basis, the interface velocity Schur complement \({\widetilde{S}}_\varGamma \) is defined on the partially assembled interface velocity space \(\widetilde{{\mathbf {V}}}_\varGamma \) by: given \({\mathbf {v}}_\varGamma \in \widetilde{{\mathbf {V}}}_\varGamma \), \({\widetilde{S}}_\varGamma {\mathbf {v}}_\varGamma \in {\widetilde{\mathbf {F}}}_\varGamma \) satisfies

$$\begin{aligned} \left[ \begin{array}{ccccc} A_{II}^{(i)} &{} B_{II}^{{(i)}^T} &{} A_{\varDelta I}^{{(i)}^T} &{} &{} {\widetilde{A}}_{\varPi I}^{{(i)}^T}\\ B_{II}^{(i)} &{} 0 &{} B_{I\varDelta }^{(i)} &{} &{} {\widetilde{B}}_{I\varPi }^{(i)}\\ A_{\varDelta I}^{(i)} &{} B_{I \varDelta }^{{(i)}^T} &{} A_{\varDelta \varDelta }^{(i)} &{} &{} {\widetilde{A}}_{\varPi \varDelta }^{{(i)}^T}\\ &{} &{} &{} \ddots &{} \vdots \\ {\widetilde{A}}_{\varPi I}^{(i)} &{} {\widetilde{B}}_{I\varPi }^{{(i)}^T} &{} {\widetilde{A}}_{\varPi \varDelta }^{(i)} &{} \ldots &{} {\widetilde{A}}_{\varPi \varPi } \end{array} \right] \left[ \begin{array}{c} {\mathbf {v}}_I^{(i)}\\ p_I^{(i)}\\ {\mathbf {v}}_\varDelta ^{(i)}\\ \vdots \\ {\mathbf {v}}_\varPi ^{(i)}\\ \end{array} \right] = \left[ \begin{array}{c} {\mathbf {0}}\\ 0\\ ({\widetilde{S}}_\varGamma {\mathbf {v}}_\varGamma )_\varDelta ^{(i)}\\ \vdots \\ ({\widetilde{S}}_\varGamma {\mathbf {v}}_\varGamma )_\varPi ^{(i)}\\ \end{array} \right] \end{aligned}$$
(4.18)

Here \({\widetilde{A}}_{\varPi \varPi } = \sum _{i=1}^{N}{R_\varPi ^{(i)}}^T A_{\varPi \varPi }^{(i)} R_\varPi ^{(i)}\), \({\widetilde{A}}_{\varPi I}^{(i)} = {R_\varPi ^{(i)}}^T A_{\varPi I}^{(i)}\), \({\widetilde{A}}_{\varPi \varDelta }^{(i)} = {R_\varPi ^{(i)}}^T A_{\varPi \varDelta }^{(i)}\) and \({\widetilde{B}}_{I \varPi }^{(i)} = B_{I \varPi }^{(i)} R_\varPi ^{(i)}\).

Defining by \({\overline{R}}_\varGamma \) the operator that maps the space \(\widetilde{{\mathbf {V}}}_\varGamma \) into the product space \({\mathbf {V}}_\varGamma \) associated with the set of subdomains, we observe that \({\widetilde{S}}_\varGamma \) can be obtained from the Schur complements \(S^{(i)}_\varGamma \) by assembling only the primal interface velocity part, i.e. as

$$\begin{aligned} {\widetilde{S}}_\varGamma = {{\overline{R}}_\varGamma }^T S_\varGamma {\overline{R}}_\varGamma . \end{aligned}$$
(4.19)

As we saw before (4.13) the global interface Schur operator \(\widehat{S}_\varGamma \) is obtanied by fully assembling the \(S_\varGamma ^{(i)}\) across the subdomain interface, therefore it can be also obtained from \({\widetilde{S}}_\varGamma \) by further assembling the dual interface velocity part, \(\widehat{S}_\varGamma = {{\widetilde{R}}_\varGamma }^T {\widetilde{S}}_\varGamma {\widetilde{R}}_\varGamma \). So we need to define an operator \({\widetilde{B}}_{0\varGamma }\), which maps the partially assembled interface velocity space \({\widetilde{V}}_\varGamma \) into \(F_0\), the space of right hand sides corresponding to \(Q_0\), and it is obtained from \({\widetilde{B}}_{0\varGamma }\) by assembling the dual interface velocity part on the subdomain interfaces, i.e. \(\widehat{B}_{\varGamma } = {\widetilde{B}}_{\varGamma } {\widetilde{R}}_\varGamma \).

Introducing

$$\begin{aligned} {\widetilde{R}} = \left[ \begin{array}{cc} {\widetilde{R}}_\varGamma &{} 0\\ 0 &{} I \end{array} \right] \text {,} \quad {\widetilde{S}} = \left[ \begin{array}{cc} {\widetilde{S}}_\varGamma &{} {\widetilde{B}}_{0\varGamma }^T\\ {\widetilde{B}}_{0\varGamma } &{} 0 \end{array} \right] \text {,} \end{aligned}$$
(4.20)

we can write \(\widehat{S}\), the operator of the global interface problem (4.11), as

$$\begin{aligned} \widehat{S} = \left[ \begin{array}{cc} \widehat{S}_\varGamma &{} {\widehat{B}_{0\varGamma }}^T\\ \widehat{B}_{0\varGamma } &{} 0 \end{array} \right] = \left[ \begin{array}{cc} {{\widetilde{R}}_\varGamma }^T {\widetilde{S}}_\varGamma {\widetilde{R}}_\varGamma &{} {{\widetilde{R}}_\varGamma }^T{{\widetilde{B}}_{0\varGamma }}^T\\ {\widetilde{B}}_{0\varGamma }{\widetilde{R}}_\varGamma &{} 0 \end{array} \right] = {\widetilde{R}}^T {\widetilde{S}} {\widetilde{R}}\text {.} \end{aligned}$$
(4.21)

The preconditioner for solving the global saddle-point problem (4.11) is

$$\begin{aligned} M^{-1}={\widetilde{R}}_D^T {\widetilde{S}}^{-1} {\widetilde{R}}_D, \end{aligned}$$
(4.22)

where we have defined

$$\begin{aligned} {\widetilde{R}}_D:= \left[ \begin{array}{cc} {\widetilde{R}}_{D,\varGamma } &{} 0\\ 0 &{} I \end{array} \right] \text {,} \end{aligned}$$
(4.23)

and so we have the BDDC preconditioned problem: find \((\mathbf {u_\varGamma },p_0)\in \widehat{\mathbf {V}}_\varGamma \times Q_0\), such that

$$\begin{aligned} {\widetilde{R}}_D^T {\widetilde{S}}^{-1} {\widetilde{R}}_D \widehat{S} \left[ \begin{array}{c} {\mathbf {u}}_\varGamma \\ p_0\\ \end{array} \right] = {\widetilde{R}}_D^T {\widetilde{S}}^{-1} {\widetilde{R}}_D \left[ \begin{array}{c} {\mathbf {g}}_\varGamma \\ 0\\ \end{array} \right] \text {.} \end{aligned}$$
(4.24)

What we need in our implementation is to determine the action \({\widetilde{S}}^{-1}{\mathbf {q}}\) for any given \({\mathbf {q}} = (\mathbf {q_\varGamma },q_0) \in \widetilde{{\mathbf {F}}}_\varGamma \times F_0\), so we have to solve the linear system

$$\begin{aligned} \left[ \begin{array}{cc} {\widetilde{S}}_\varGamma &{} {\widetilde{B}}_{0\varGamma }^T\\ {\widetilde{B}}_{0\varGamma } &{} 0\\ \end{array} \right] \left[ \begin{array}{c} {\mathbf {u}}_\varGamma \\ p_0\\ \end{array} \right] = \left[ \begin{array}{c} {\mathbf {q}}_\varGamma \\ q_0\\ \end{array} \right] \text {.} \end{aligned}$$
(4.25)

Given the definition of \({\widetilde{S}}_\varGamma \) in (5.3), we have that solving (5.10) is equivalent to solve

$$\begin{aligned} \left[ \begin{array}{cccccc} A_{II}^{(i)} &{} B_{II}^{{(i)}^T} &{} A_{\varDelta I}^{{(i)}^T} &{} &{} {\widetilde{A}}_{\varPi I}^{{(i)}^T} &{} 0 \\ B_{II}^{(i)} &{} 0 &{} B_{I\varDelta }^{(i)} &{} &{} {\widetilde{B}}_{I\varPi }^{(i)} &{} 0 \\ A_{\varDelta I}^{(i)} &{} B_{I \varDelta }^{{(i)}^T} &{} A_{\varDelta \varDelta }^{(i)} &{} &{} {\widetilde{A}}_{\varPi \varDelta }^{{(i)}^T} &{} B_{0 \varDelta }^{{(i)}^T}\\ &{} &{} &{} \ddots &{} \vdots &{} \\ {\widetilde{A}}_{\varPi I}^{(i)} &{} {\widetilde{B}}_{I\varPi }^{{(i)}^T} &{} {\widetilde{A}}_{\varPi \varDelta }^{(i)} &{} \ldots &{} {\widetilde{A}}_{\varPi \varPi } &{} {\widetilde{B}}_{0 \varPi }^{T}\\ 0 &{} 0 &{} B_{0 \varDelta }^{(i)} &{} &{} {\widetilde{B}}_{0 \varPi } &{} 0 \\ \end{array} \right] \left[ \begin{array}{c} {\mathbf {u}}_I^{(i)}\\ p_I^{(i)}\\ {\mathbf {u}}_\varDelta ^{(i)}\\ \vdots \\ {\mathbf {u}}_\varPi \\ p_0\\ \end{array} \right] = \left[ \begin{array}{c} {\mathbf {0}}\\ 0\\ {\mathbf {q}}_\varDelta ^{(i)}\\ \vdots \\ {\mathbf {q}}_\varPi \\ q_0\\ \end{array} \right] \end{aligned}$$
(4.26)

where \({\widetilde{B}}_{0\varPi } = \sum _{i=1}^{N} B_{0\varPi }^{(i)} R_\varPi ^{(i)}\). Now using a block factorization we obtain

$$\begin{aligned} {\widetilde{S}}^{-1} = \sum _{i=1}^{N} \left[ \begin{array}{ccc} 0&0&R_{\varDelta ,i}^T \end{array} \right] \left[ \begin{array}{ccc} A_{II}^{(i)} &{} B_{II}^{{(i)}^T} &{} A_{\varDelta I}^{{(i)}^T}\\ B_{II}^{(i)} &{} 0 &{} B_{I \varDelta }^{(i)}\\ A_{\varDelta I}^{(i)} &{} B_{I \varDelta }^{{(i)}^T} &{} A_{\varDelta \varDelta }^{(i)}\\ \end{array} \right] ^{-1} \left[ \begin{array}{c} 0 \\ 0 \\ R_{\varDelta ,i} \end{array} \right] + \varPhi S_{CC}^{-1} \varPhi ^T \text {,} \end{aligned}$$
(4.27)

where \(R_{\varDelta ,i}\) maps \(\widetilde{{\mathbf {F}}}_\varGamma \times F_0\) into \({\mathbf {F}}_\varDelta ^{(i)}\), the set of right hand sides corresponding to \({\mathbf {V}}_\varDelta ^{(i)}\). The matrix \(S_{CC}\), relatively to the primal constraints, has to be completely assembled in this way

$$\begin{aligned} \begin{aligned} S_{CC}&= \sum _{i=1}^{N} R_C^{{(i)}^T} \left\{ \left[ \begin{array}{cc} A_{\varPi \varPi }^{(i)} &{} B_{0 \varPi }^{{(i)}^T} \\ B_{0 \varPi }^{(i)} &{} 0 \end{array} \right] - \left[ \begin{array}{ccc} A_{\varPi I}^{(i)} &{} B_{I \varPi }^{{(i)}^T} &{} A_{\varPi \varDelta }^{(i)} \\ 0 &{} 0 &{} B_{0 \varDelta }^{(i)} \end{array} \right] \right. \\&\quad \left. \left[ \begin{array}{ccc} A_{II}^{(i)} &{} B_{II}^{{(i)}^T} &{} A_{\varDelta I}^{{(i)}^T}\\ B_{II}^{(i)} &{} 0 &{} B_{I \varDelta }^{(i)}\\ A_{\varDelta I}^{(i)} &{} B_{I \varDelta }^{{(i)}^T} &{} A_{\varDelta \varDelta }^{(i)}\\ \end{array} \right] ^{-1} \left[ \begin{array}{cc} A_{\varPi I}^{{(i)}^T} &{} 0 \\ B_{I\varPi }^{(i)} &{} 0 \\ A_{\varPi \varDelta }^{{(i)}^T} &{} B_{0 \varDelta }^{{(i)}^T} \\ \end{array} \right] \right\} R_C^{(i)} \text {,} \end{aligned} \end{aligned}$$
(4.28)

where we have defined

$$\begin{aligned} R_C^{(i)} := \left[ \begin{array}{cc} R_\varPi ^{(i)} &{} 0\\ 0 &{} I \end{array}\right] \text {,} \end{aligned}$$
(4.29)

the maps from \(\widehat{{\mathbf {V}}}_\varPi \times Q_0\) to \({{\mathbf {V}}}_\varPi ^{(i)} \times Q_0\). Finally we define the matrix

$$\begin{aligned} \varPhi = R_{\varPi 0}^T - \sum _{i=1}^{N} \left[ \begin{array}{ccc} 0&0&R_{\varDelta ,i}^T \end{array} \right] \left[ \begin{array}{ccc} A_{II}^{(i)} &{} B_{II}^{{(i)}^T} &{} A_{\varDelta I}^{{(i)}^T}\\ B_{II}^{(i)} &{} 0 &{} B_{I \varDelta }^{(i)}\\ A_{\varDelta I}^{(i)} &{} B_{I \varDelta }^{{(i)}^T} &{} A_{\varDelta \varDelta }^{(i)}\\ \end{array} \right] ^{-1} \left[ \begin{array}{cc} A_{\varPi I}^{{(i)}^T} &{} 0 \\ B_{I\varPi }^{(i)} &{} 0 \\ A_{\varPi \varDelta }^{{(i)}^T} &{} B_{0 \varDelta }^{{(i)}^T} \\ \end{array} \right] R_C^{(i)} \text {,} \end{aligned}$$
(4.30)

where \(R_{\varPi 0}\) is the map between the space \(\widetilde{{\mathbf {F}}}_\varGamma \times F_0\) and \(\widehat{{\mathbf {F}}}_\varPi \times F_0\).

5 Theoretical Estimates

We now present an estimate for the eigenvalues of the preconditioned operator \(M^{-1}\widehat{S}\), following the theory developed in [19] and adapting it to our VEM formulation. We can do so because the space \({\mathbf {V}}_\varGamma \) coincides with the analogous space that would be obtained applying the same procedure with the FEM. This substantially allow us to carry over the theory formulated for the FEM to the VEM, except for the second assumption we will see later. For this result, a different proof is necessary and we follow [2], where a proof independent of the tassellation is given.

We have, as a consequence of a result on the inertia of Schur complements, the following:

Lemma 5.1

The subdomain Schur complements \(S_\varGamma ^{(i)}\), defined in (4.11), are symmetric and positive definite.

Proof

We know from (4.13) that the Schur complement related to the velocity is defined by: given \({\mathbf {w}}_\varGamma ^{(i)} \in {\mathbf {V}}_\varGamma ^{(i)}\), determine \(S_\varGamma ^{(i)}{{\mathbf {w}}_\varGamma }^{(i)}\in {\mathbf {F}}_\varGamma ^{(i)}\) such that

$$\begin{aligned} \left[ \begin{array}{ccc} A_{II}^{(i)} &{} {B_{II}^{(i)}}^T &{} {A_{\varGamma I}^{(i)}}^T\\ B_{II}^{(i)} &{} 0 &{} B_{I\varGamma }^{(i)}\\ A_{\varGamma I}^{(i)} &{} {B_{I\varGamma }^{(i)}}^T &{} {A}_{\varGamma \varGamma }^{(i)}\\ \end{array} \right] \left[ \begin{array}{c} {\mathbf {w}}_I^{(i)}\\ q_I^{(i)}\\ {\mathbf {w}}_\varGamma ^{(i)} \end{array} \right] = \left[ \begin{array}{c} {\mathbf {0}}\\ 0\\ S_\varGamma ^{(i)}{{\mathbf {w}}_\varGamma }^{(i)} \end{array} \right] \text {.} \end{aligned}$$
(5.1)

By the coercivity of \(a(\cdot ,\cdot )\) we know that the matrices

$$\begin{aligned} \left[ \begin{array}{cc} A_{II}^{(i)} &{} {A_{\varGamma I}^{(i)}}^T\\ A_{\varGamma I}^{(i)} &{} {A}_{\varGamma \varGamma }^{(i)}\\ \end{array} \right] \end{aligned}$$

are symmetric and positive definite and so the left two by two upper block of the left-hand-side of (5.1) has the same number of negative eigenvalues of the all matrix. Now, the left-hand-side matrices of (5.1) are congruent to:

$$\begin{aligned} \left[ \begin{array}{cccc} A_{II}^{(i)} &{} {B_{II}^{(i)}}^T &{} 0\\ B_{II}^{(i)} &{} 0 &{} 0\\ 0 &{} 0 &{} S_{\varGamma }^{(i)}\\ \end{array} \right] \end{aligned}$$

and so, by the Sylvester’s law of inertia the velocity Schur complements are positive definite. \(\square \)

In the following, we denote by \(a^{(i)}\), \(a_h^{(i)}\) and \(b^{(i)}\) the restrictions to subdomain \(\varOmega _i\) of the bilinear forms a, \(a_h\) and b, respectively. Then, we introduce the \(|.|_{S_\varGamma ^{(i)}}\) and \(|.|_{S_\varGamma }\) seminorms defined by

$$\begin{aligned} |{\mathbf {v}}_\varGamma ^{(i)}|_{S_\varGamma ^{(i)}}^2 = {{\mathbf {v}}_\varGamma ^{(i)}}^TS_\varGamma ^{(i)} {\mathbf {v}}_\varGamma ^{(i)}\text {,} \quad |{\mathbf {v}}_\varGamma |_{S_\varGamma }^2 = {{\mathbf {v}}_\varGamma }^T S_\varGamma {\mathbf {v}}_\varGamma = \sum _{i=1}^{N} |{\mathbf {v}}_\varGamma ^{(i)}|_{S_\varGamma ^{(i)}}^2, \end{aligned}$$
(5.2)

and a norm and a seminorm on the space \({\mathbf {V}}_\varGamma ^{(i)}\)

$$\begin{aligned} \Vert {\mathbf {v}}_\varGamma ^{(i)}\Vert _{1/2,\varGamma _i}^2 = \Vert {\mathbf {v}}_\varGamma ^{(i)}\Vert _{[H^{1/2}(\partial \varOmega _i)]^2}^2\text {,}\qquad |{\mathbf {v}}_\varGamma ^{(i)}|_{1/2,\varGamma _i}^2 = | {\mathbf {v}}_\varGamma ^{(i)}|_{[H^{1/2}(\partial \varOmega _i)]^2}^2\text {,} \end{aligned}$$
(5.3)

with consequently the norm \(\Vert .\Vert _{1/2,\varGamma }\) and seminorm \(|.|_{1/2,\varGamma }\) defined on the space \({\mathbf {V}}_\varGamma \) by \(\Vert {\mathbf {v}}_\varGamma \Vert _{1/2,\varGamma }^2 = \sum _{i=1}^{N} \Vert {\mathbf {v}}_\varGamma ^{(i)}\Vert _{1/2,\varGamma _i}^2\) and \(|{\mathbf {v}}_\varGamma |_{1/2,\varGamma }^2 = \sum _{i=1}^{N} |{\mathbf {v}}_\varGamma ^{(i)}|_{1/2,\varGamma _i}^2\).

Lemma 5.2

There exist positive constant \(c_1\) and \(c_2\), independent of H, h and the shape of subdomains, such that

$$\begin{aligned} c_1{\tilde{\beta }}^2|{\mathbf {v}}_\varGamma |_{S_\varGamma }^2 \le |{\mathbf {v}}_\varGamma |_{1/2,\varGamma }^2 \le c_2 |{\mathbf {v}}_\varGamma |_{S_\varGamma }^2 \quad \forall {\mathbf {v}}_\varGamma \in {\mathbf {V}}_\varGamma \text {,} \end{aligned}$$

where \({\tilde{\beta }}\) is the inf-sup stability constant defined in (3.6).

Proof

This proof follows substantially the result presented in Bramble and Pasciak ([5] Theorem 4.1) where a proof for FEM is provided. Given \({\mathbf {v}}_\varGamma \in {\mathbf {V}}_\varGamma \), we define the operators \(T:{\mathbf {V}}_\varGamma \rightarrow \widehat{\mathbf {V}}\) and \(S:{\mathbf {V}}_\varGamma \rightarrow Q\) satisfying \(\forall i=1,...,N\):

$$\begin{aligned} \begin{aligned}&(1) \quad S({\mathbf {v}}_\varGamma )|_{\varOmega _i} \in Q_I^{(i)},\\&(2) \quad T({\mathbf {v}}_\varGamma )|_\varGamma = {\mathbf {v}}_\varGamma ,\\&(3) \quad a_h^{(i)}(T({\mathbf {v}}_\varGamma ),{\mathbf {v}})+b^{(i)}({\mathbf {v}},S({\mathbf {v}}_\varGamma ) = {\mathbf {0}} \quad \text {for all} \quad {\mathbf {v}} \in {\mathbf {V}}_I^{(i)},\\&(4) \quad b^{(i)}(T({\mathbf {v}}_\varGamma ), q) = 0 \quad \text {for all} \quad q \in Q_I^{(i)}.\\ \end{aligned} \end{aligned}$$
(5.4)

The above condition uniquely defines S and T. Now given \({\mathbf {v}}_\varGamma \in {\mathbf {V}}_\varGamma \), let \({\mathbf {v}}_\varGamma ^\mathcal {H}\in \widehat{\mathbf {V}}\) be the discrete harmonic extension of \({\mathbf {v}}_\varGamma \), i.e. the unique function in \(\widehat{\mathbf {V}}\) which equals \({\mathbf {v}}_\varGamma \) on \(\varGamma \) and satisfies \(\forall i=1,...,N\):

$$\begin{aligned} a^{(i)}\left( {\mathbf {v}}_\varGamma ^\mathcal {H},{\mathbf {v}}\right) = 0 \quad \text {for all} \quad {\mathbf {v}} \in {\mathbf {V}}_I^{(i)}. \end{aligned}$$
(5.5)

By the stability of the discrete harmonic extension and the stability of the discrete bilinear form \(a_h\) [26], we have on each subdomain:

$$\begin{aligned} a_h^{(i)}\left( {\mathbf {v}}_\varGamma ^\mathcal {H},{\mathbf {v}}_\varGamma ^\mathcal {H}\right) \le c_3 a^{(i)}\left( {\mathbf {v}}_\varGamma ^\mathcal {H},{\mathbf {v}}_\varGamma ^\mathcal {H}\right) \le c_3|{\mathbf {v}}^{(i)}_\varGamma |^2_{1/2,\varGamma _i}, \end{aligned}$$
(5.6)

where \(c_3\) is a positive constant independent of h, H and the number of subdomains N. Now, by definition of S and T, and since \(b^{(i)}(T({\mathbf {v}}_\varGamma ),S({\mathbf {v}}_\varGamma )) = 0\), we have:

$$\begin{aligned} a_h^{(i)}(T({\mathbf {v}}_\varGamma ),T({\mathbf {v}}_\varGamma )) = a_h^{(i)}\left( T({\mathbf {v}}_\varGamma ),{\mathbf {v}}_\varGamma ^\mathcal {H}\right) + b^{(i)}\left( {\mathbf {v}}_\varGamma ^\mathcal {H},S({\mathbf {v}}_\varGamma )\right) . \end{aligned}$$
(5.7)

Applying (3.6) on the subdomains, we have, for some \(c > 0\):

$$\begin{aligned} \begin{aligned} ||S({\mathbf {v}}_\varGamma )||^2_{Q_i} \le {\tilde{\beta }}^{-2} \sup _{{\mathbf {w}}\in {\mathbf {V}}_I^{(i)}}\frac{b^{(i)}({\mathbf {w}},S({\mathbf {v}}_\varGamma ))^2}{\Vert {\mathbf {w}} \Vert _1^2} \le c {\tilde{\beta }}^{-2} \sup _{{\mathbf {w}}\in {\mathbf {V}}_I^{(i)}}\frac{b^{(i)}({\mathbf {w}},S({\mathbf {v}}_\varGamma ))^2}{a_h^{(i)}({\mathbf {w}},{\mathbf {w}})}\\ = c {\tilde{\beta }}^{-2} \sup _{{\mathbf {w}}\in {\mathbf {V}}_I^{(i)}}\frac{a_h^{(i)}(T({\mathbf {v}}_\varGamma ),{\mathbf {w}})^2}{a_h^{(i)}({\mathbf {w}},{\mathbf {w}})} \le c {\tilde{\beta }}^{-2} a_h^{(i)}(T({\mathbf {v}}_\varGamma ),T({\mathbf {v}}_\varGamma )), \end{aligned} \end{aligned}$$
(5.8)

Applying Cauchy–Schwarz to the first term in (5.7) and using (5.8), we have:

$$\begin{aligned} \begin{aligned} |{\mathbf {v}}^{(i)}_\varGamma |^2_{S_\varGamma ^{(i)}}&= a_h^{(i)}(T({\mathbf {v}}_\varGamma ),T({\mathbf {v}}_\varGamma )) \le a_h^{(i)}(T({\mathbf {v}}_\varGamma ),T({\mathbf {v}}_\varGamma ))^{1/2}a_h^{(i)}({\mathbf {v}}_\varGamma ^\mathcal {H},{\mathbf {v}}_\varGamma ^\mathcal {H})^{1/2}\\&\quad + c|{\mathbf {v}}_\varGamma ^\mathcal {H}|_{H^1(\varOmega _i)}||S({\mathbf {v}}_\varGamma )||_{Q_i}\\&\le a_h(T({\mathbf {v}}_\varGamma ),T({\mathbf {v}}_\varGamma ))^{1/2}a_h({\mathbf {v}}_\varGamma ^\mathcal {H},{\mathbf {v}}_\varGamma ^\mathcal {H})^{1/2} \\&\quad + c{\tilde{\beta }}^{-1}a_h({\mathbf {v}}_\varGamma ^\mathcal {H},{\mathbf {v}}_\varGamma ^\mathcal {H})^{1/2} a_h^{(i)}(T({\mathbf {v}}_\varGamma ),T({\mathbf {v}}_\varGamma ))^{1/2} \end{aligned} \end{aligned}$$

and then:

$$\begin{aligned} c {\tilde{\beta }}^2 |{\mathbf {v}}^{(i)}_\varGamma |^2_{S_\varGamma ^{(i)}} = c {\tilde{\beta }}^2 a_h^{(i)}(T({\mathbf {v}}_\varGamma ),T({\mathbf {v}}_\varGamma )) \le a_h^{(i)}\left( {\mathbf {v}}_\varGamma ^\mathcal {H},{\mathbf {v}}_\varGamma ^\mathcal {H}\right) . \end{aligned}$$
(5.9)

Finally, from (5.6) and summing on the subdomains

$$\begin{aligned} c {\tilde{\beta }}^2 |{\mathbf {v}}_\varGamma |_{S_\varGamma }^2= c {\tilde{\beta }}^2 a_h(T({\mathbf {v}}_\varGamma ),T({\mathbf {v}}_\varGamma )) \le a_h\left( {\mathbf {v}}_\varGamma ^\mathcal {H},{\mathbf {v}}_\varGamma ^\mathcal {H}\right) \le c_3 |{\mathbf {v}}_\varGamma |_{1/2,\varGamma }^2, \end{aligned}$$

which yields the first inequality of the thesis with \(c_1=c/c_3\).

For the second inequality we have, by definition of the discrete harmonic extension and again the stability of the discrete bilinear form \(a_h\):

$$\begin{aligned} |{\mathbf {v}}_\varGamma |_{1/2,\varGamma _i}^2 \le a^{(i)}({\mathbf {v}}_\varGamma ^\mathcal {H},{\mathbf {v}}_\varGamma ^\mathcal {H}) \le a^{(i)}(T({\mathbf {v}}_\varGamma ),T({\mathbf {v}}_\varGamma )) \le c_2 a_h^{(i)}(T({\mathbf {v}}_\varGamma ),T({\mathbf {v}}_\varGamma )) \end{aligned}$$
(5.10)

and then:

$$\begin{aligned} |{\mathbf {v}}_\varGamma |_{1/2,\varGamma }^2 \le c_2 |{\mathbf {v}}_\varGamma |_{S_\varGamma }^2 \text {.} \end{aligned}$$
(5.11)

\(\square \)

The operators \(\widehat{S}_\varGamma \) and \({\widetilde{S}}_\varGamma \), given in (4.14) and (4.19), are both symmetric and positive definite, because of the Dirichlet boundary conditions on \(\partial \varOmega \) and provided that sufficiently many primal constraints are chosen. We can then define the \(\widehat{S}_\varGamma \) and \({\widetilde{S}}_\varGamma \) norms on the spaces \(\widehat{V}_\varGamma \) and \({\widetilde{V}}_\varGamma \) by

$$\begin{aligned} \begin{aligned} \Vert {\mathbf {v}}_\varGamma \Vert _{\widehat{S}_\varGamma }^2&= {\mathbf {v}}_\varGamma ^T R_\varGamma ^T S_\varGamma R_\varGamma {\mathbf {v}}_\varGamma = |R_\varGamma {\mathbf {v}}_\varGamma |_{S_\varGamma }^2 \quad \forall {\mathbf {v}}_\varGamma \in \widehat{{\mathbf {V}}}_\varGamma \text {,}\\ \Vert {\mathbf {v}}_\varGamma \Vert _{{\widetilde{S}}_\varGamma }^2&= {\mathbf {v}}_\varGamma ^T {\overline{R}}_\varGamma ^T S_\varGamma {\overline{R}}_\varGamma {\mathbf {v}}_\varGamma = |{\overline{R}}_\varGamma {\mathbf {v}}_\varGamma |_{S_\varGamma }^2 \quad \forall {\mathbf {v}}_\varGamma \in \widetilde{{\mathbf {V}}}_\varGamma \text {.} \end{aligned} \end{aligned}$$

We then define two spaces, whose utility is that, restricted to such spaces, the interface problem operators \(\widehat{S}\) of (4.11) and \({\widetilde{S}}\) of (4.25) are positive semi-definite. As in [19], we give the following:

Definition 5.1

Given the discrete spaces \(\widehat{{\mathbf {V}}}_{\varGamma }\) and \(\widetilde{{\mathbf {V}}}_{\varGamma }\), we define the two subspaces

$$\begin{aligned} \begin{aligned} \widehat{{\mathbf {V}}}_{\varGamma ,B}&= \{{\mathbf {v}}_\varGamma \in \widehat{{\mathbf {V}}}_\varGamma | \widehat{B}_{0\varGamma }{\mathbf {v}}_\varGamma = 0\},\\ \widetilde{{\mathbf {V}}}_{\varGamma ,B}&= \{{\mathbf {v}}_\varGamma \in \widetilde{{\mathbf {V}}}_\varGamma | {\widetilde{B}}_{0\varGamma }{\mathbf {v}}_\varGamma = 0\}. \end{aligned} \end{aligned}$$

We call \(\widehat{{\mathbf {V}}}_{\varGamma ,B} \times Q_0\) and \(\widetilde{{\mathbf {V}}}_{\varGamma ,B} \times Q_0\) the benign subspaces of \(\widehat{{\mathbf {V}}}_{\varGamma } \times Q_0\) and \(\widetilde{{\mathbf {V}}}_{\varGamma } \times Q_0\).

Lemma 5.3

The interface operator \(\widehat{S}\) of (4.11), restricted to the subspace \(\widehat{{\mathbf {V}}}_{\varGamma ,B} \times Q_0\) is positive semi-definite. The same is true for \({\widetilde{S}}\) of (4.19) restricted to \(\widetilde{{\mathbf {V}}}_{\varGamma ,B} \times Q_0\).

We define the \(\widehat{S}\) and \({\widetilde{S}}\) seminorms on the benign subspaces

$$\begin{aligned} \begin{aligned} |{\mathbf {v}}|_{\widehat{S}}^2 = {\mathbf {v}}^T \widehat{S} {\mathbf {v}} = \Vert {\mathbf {v}}_\varGamma \Vert _{\widehat{S}_\varGamma } \quad \forall {\mathbf {v}} = ({\mathbf {v}}_{\varGamma },q_0) \in \widehat{{\mathbf {V}}}_{\varGamma ,B}\times Q_0\text {,}\\ |{\mathbf {v}}|_{{\widetilde{S}}}^2 = {\mathbf {v}}^T {\widetilde{S}} {\mathbf {v}} = \Vert {\mathbf {v}}_\varGamma \Vert _{{\widetilde{S}}_\varGamma } \quad \forall {\mathbf {v}} = ({\mathbf {v}}_{\varGamma },q_0) \in \widetilde{{\mathbf {V}}}_{\varGamma ,B}\times Q_0\text {.} \end{aligned} \end{aligned}$$

Now we define an average operator \(E_D = {\widetilde{R}}{\widetilde{R}}_D^T\), which maps \({\widetilde{\mathbf {V}}}_\varGamma \times Q_0\), with generally discontinuous interface velocities, to elements with continuous interface velocities in the same space. For any \({\mathbf {v}} = ({\mathbf {v}}_\varGamma ,q_0) \in \widetilde{{\mathbf {V}}}_{\varGamma ,B}\times Q_0\),

$$\begin{aligned} E_D = \left[ \begin{array}{c} {\mathbf {v}}_\varGamma \\ q_0 \end{array} \right] = \left[ \begin{array}{cc} {\widetilde{R}}_\varGamma &{} 0\\ 0 &{} I \end{array} \right] \left[ \begin{array}{cc} {\widetilde{R}}_{D,\varGamma } &{} 0\\ 0 &{} I \end{array} \right] \left[ \begin{array}{c} {\mathbf {v}}_\varGamma \\ q_0 \end{array} \right] = \left[ \begin{array}{c} E_{D,\varGamma }{\mathbf {v}}_\varGamma \\ q_0 \end{array} \right] \end{aligned}$$
(5.12)

where \(E_D = {\widetilde{R}}{\widetilde{R}}_{D,\varGamma }^T\), provides the average of the interface velocities across the interface \(\varGamma \). Recalling that we can split \({\mathbf {v}} = {\mathbf {v}}_\varPi \oplus {\mathbf {v}}_\varDelta \), we have \(E_D {\mathbf {v}} = {\mathbf {v}}_\varPi \oplus E_{D,\varDelta } {\mathbf {v}}_\varDelta \), where \(E_{D,\varDelta } {\mathbf {v}}_\varDelta \) is the dual part of the averaged vector. As in the FEM case (see [19]) we need two assumptions to proceed in the discussion, these will be satisfied when a reasonable choice of the primal constraints will be done.

Assumption 1

For any \({\mathbf {v}}_\varDelta \in {\mathbf {V}}_\varDelta \), \(\int _{\partial \varOmega _i}{\mathbf {v}}_\varDelta ^{(i)}\cdot {\mathbf {n}} = 0\) and \(\int _{\partial \varOmega _i}(E_{D,\varDelta }{\mathbf {v}}_\varDelta )^{(i)}\cdot {\mathbf {n}} = 0\), where \({\mathbf {n}}\) is the outward normal of \(\partial \varOmega _i\). We can equivalently write \(B_{0\varDelta }^{(i)}{\mathbf {v}}_\varDelta ^{(i)} = 0\) and \(B_{0\varDelta }^{(i)}(E_{D,\varDelta }{\mathbf {v}}_\varDelta )^{(i)} = 0\)

Assumption 2

There exists a positive constant C, which is independent of H, h and the number of subdomains, such that

$$\begin{aligned} |\bar{R}_\varGamma (E_{D,\varGamma }{\mathbf {v}}_\varGamma )|_{1/2,\varGamma } \le C \bigg (1+\log \left( \frac{Hk^2}{h}\right) \bigg )|\bar{R}_\varGamma {\mathbf {v}}_\varGamma |_{1/2,\varGamma }\text {,} \quad \forall {\mathbf {v}}_\varGamma \in {\mathbf {V}}_\varGamma . \end{aligned}$$

With these two assumptions, we have the following results (Proof of 5.4 in [19]):

Lemma 5.4

Let Assumption 1 hold. Then \({\widetilde{R}}_D^T{\mathbf {v}}\in \widehat{{\mathbf {V}}}_{\varGamma ,B}\times Q_0\), for any \({\mathbf {v}}\in \widetilde{{\mathbf {V}}}_{\varGamma ,B}\times Q_0\).

Lemma 5.5

Let Assumptions 1 and 2 hold. Then there exists a positive constant C, which is independent of H, h and the number of subdomains, such that

$$\begin{aligned} |E_D{\mathbf {v}}|_{{\widetilde{S}}} \le C \frac{1}{{\tilde{\beta }}}\bigg (1+\log \left( \frac{Hk^2}{h}\right) \bigg )|{\mathbf {v}}|_{{\widetilde{S}}}, \quad \forall {\mathbf {v}}=({\mathbf {v}}_{\varGamma },q_0)\in \widetilde{{\mathbf {V}}}_{\varGamma ,B}\times Q_0\text {,} \end{aligned}$$

where \({\tilde{\beta }}\) is the inf-sup stability constant of (3.6).

Proof

Given any \({\mathbf {v}} = ({\mathbf {v}}_\varGamma ,q_0) \in \widetilde{{\mathbf {V}}}_{\varGamma ,B}\times Q_0\), we know, from Lemma 5.4, that \({\widetilde{R}}_D^T{\mathbf {v}}\in \widehat{{\mathbf {V}}}_{\varGamma ,B}\times Q_0\). Therefore, \(E_D {\mathbf {v}} = {\widetilde{R}} {\widetilde{R}}_D^T{\mathbf {v}}\in \widetilde{{\mathbf {V}}}_{\varGamma ,B}\times Q_0\). We have from the definition of the \({\widetilde{S}}\)-seminorm, that

$$\begin{aligned} \vert E_D {\mathbf {v}} \vert ^2_{{\widetilde{S}}} = \Vert E_{D,\varGamma }{\mathbf {v}}_\varGamma \Vert ^2_{{\widetilde{S}}_\varGamma } = \vert \bar{R}_\varGamma (E_{D,\varGamma }{\mathbf {v}}_\varGamma )\vert ^2_{S_\varGamma } \le C\frac{1}{{\tilde{\beta }}^2}\vert \bar{R}_\varGamma (E_{D,\varGamma }{\mathbf {v}}_\varGamma )\vert ^2_{1/2,\varGamma }\text {,} \end{aligned}$$
(5.13)

where the last inequality follows from Lemma 5.2. We have, from Assumption 2 and Lemma 5.2

$$\begin{aligned} \begin{aligned} \vert \bar{R}_\varGamma (E_{D,\varGamma }{\mathbf {v}}_\varGamma )\vert ^2_{1/2,\varGamma }&\le C\bigg (1+ \log \left( \frac{Hk^2}{h}\right) \bigg )^2\vert \bar{R}_\varGamma {\mathbf {v}}_\varGamma \vert ^2_{1/2,\varGamma }\\&\le C\bigg (1+ \log \left( \frac{Hk^2}{h}\right) \bigg )^2\vert \bar{R}_\varGamma {\mathbf {v}}_\varGamma \vert ^2_{S_\varGamma } \\&\le C\bigg (1+ \log \left( \frac{Hk^2}{h}\right) \bigg )^2\Vert {\mathbf {v}}_\varGamma \Vert ^2_{{\widetilde{S}}_\varGamma }{} \textit{.} \end{aligned} \end{aligned}$$
(5.14)

Consequently we have

$$\begin{aligned} \vert E_D {\mathbf {v}} \vert ^2_{{\widetilde{S}}} \le C\frac{1}{{\tilde{\beta }}^2}\bigg (1+ \log \left( \frac{Hk^2}{h}\right) \bigg )^2\Vert {\mathbf {v}}_\varGamma \Vert ^2_{{\widetilde{S}}_\varGamma } = C \frac{1}{{\tilde{\beta }}^2}\bigg (1+ \log \left( \frac{Hk^2}{h}\right) \bigg )^2\vert {\mathbf {v}} \vert ^2_{{\widetilde{S}}}{} \textit{.} \end{aligned}$$
(5.15)

\(\square \)

We have the following lemma (proof in [19]):

Lemma 5.6

Any vector of the form \({\mathbf {u}} = ({\mathbf {0}},p_0)\in \widehat{{\mathbf {V}}}_{\varGamma ,B}\times Q_0\) is an eigenvector of the preconditioner operator \(M^{-1}\widehat{S}\) with eigenvalue equal to 1.

Theorem 5.1

Let Assumptions 1 and 2 hold. The preconditioned operator \(M^{-1}\widehat{S}\) is then symmetric, positive definite with respect to the bilinear form \(\langle \cdot ,\cdot \rangle _{\widehat{S}}\) on the benign space \(\widehat{{\mathbf {V}}}_{\varGamma ,B}\times Q_0\). Its minimum eigenvalue is 1 and its maximum eigenvalue is bounded by

$$\begin{aligned} C \frac{1}{{\tilde{\beta }}^2}\bigg (1+\log \left( \frac{Hk^2}{h}\right) \bigg )^2\text {.} \end{aligned}$$
(5.16)

Here, C is a constant which is independent of H, h and the number of subdomains, and \({\tilde{\beta }}\) is the inf-sup stability constant defined in (3.6).

Proof

We know from Lemma 5.6, that any vector of the form \({\mathbf {u}} = ({\mathbf {0}},p_0)\in \widehat{{\mathbf {V}}}_{\varGamma ,B}\times Q_0\) is an eigenvector of the preconditioned operator \(M^{-1}\widehat{S}\) with an eigenvalue equal to 1. It is sufficient to find lower and upper bounds of the quotient \(\big \langle M^{-1}\widehat{S} {\mathbf {u}},{\mathbf {u}}\big \rangle _{\widehat{S}} / \langle {\mathbf {u}},{\mathbf {u}}\rangle _{\widehat{S}}\), for any \({\mathbf {u}} = ({\mathbf {u}}_\varGamma ,p_0)\in \widehat{{\mathbf {V}}}_{\varGamma ,B}\times Q_0\), where \({\mathbf {u}}_\varGamma \) is non zero and therefore \(\langle {\mathbf {u}},{\mathbf {u}}\rangle _{\widehat{S}}> 0\).

Lower bound: Given \({\mathbf {u}}\in \widehat{{\mathbf {V}}}_{\varGamma ,B}\times Q_0\), let

$$\begin{aligned} {\mathbf {v}} = {\widetilde{S}}^{-1} {\widetilde{R}}_D {\widetilde{S}} {\mathbf {u}} \in \widetilde{{\mathbf {V}}}_{\varGamma ,B}\times Q_0 \text {.} \end{aligned}$$
(5.17)

We have from the fact that \({\widetilde{R}}^T {\widetilde{R}}_D = {\widetilde{R}}^T_D {\widetilde{R}} = I\),

$$\begin{aligned} \langle {\mathbf {u}},{\mathbf {u}}\rangle _{\widehat{S}} = {\mathbf {u}}^T \widehat{S} {\widetilde{R}}^T_D {\widetilde{R}} {\mathbf {u}} = {\mathbf {u}}^T \widehat{S} {\widetilde{R}}^T_D {\widetilde{S}}^{-1} {\widetilde{S}} {\widetilde{R}} {\mathbf {u}} = \langle {\mathbf {v}},{\widetilde{R}}{\mathbf {u}}\rangle _{{\widetilde{S}}}. \end{aligned}$$
(5.18)

From the Cauchy–Schwartz inequality and the fact that \(\widehat{S} = {\widetilde{R}}^T {\widetilde{S}} {\widetilde{R}}\), we find that

$$\begin{aligned} \langle {\mathbf {v}},{\widetilde{R}}{\mathbf {u}}\rangle _{{\widetilde{S}}} \le \langle {\mathbf {v}},{\mathbf {v}}\rangle ^{1/2}_{{\widetilde{S}}}\langle {\widetilde{R}}{\mathbf {u}},{\widetilde{R}}{\mathbf {u}}\rangle ^{1/2}_{{\widetilde{S}}} = \langle {\mathbf {v}},{\mathbf {v}}\rangle ^{1/2}_{{\widetilde{S}}}\langle {\mathbf {u}},{\mathbf {u}}\rangle ^{1/2}_{{\widetilde{S}}}\text {.} \end{aligned}$$
(5.19)

Therefore from (5.18) and (5.19),

$$\begin{aligned} \langle {\mathbf {u}},{\mathbf {u}}\rangle _{{\widetilde{S}}} \le \langle {\mathbf {v}},{\mathbf {v}}\rangle _{{\widetilde{S}}} \text {.} \end{aligned}$$
(5.20)

Since,

$$\begin{aligned} \langle {\mathbf {v}},{\mathbf {v}}\rangle _{{\widetilde{S}}}={\mathbf {u}}^T \widehat{S} {\widetilde{R}}^T_D {\widetilde{S}}^{-1} {\widetilde{S}} {\widetilde{S}}^{-1} {\widetilde{R}}_D \widehat{S} {\mathbf {u}} = \big \langle {\mathbf {u}},{\widetilde{R}}^T_D {\widetilde{S}}^{-1} {\widetilde{R}}_D \widehat{S} {\mathbf {u}}\rangle _{\widehat{S}} = \big \langle {\mathbf {u}}, M^{-1}\widehat{S}{\mathbf {u}}\big \rangle _{\widehat{S}}\text {,} \end{aligned}$$
(5.21)

we obtain, from Eqs. (5.20) and (5.21), that \(\langle {\mathbf {u}},{\mathbf {u}}\rangle _{{\widetilde{S}}} \le \big \langle {\mathbf {u}}, M^{-1}\widehat{S}{\mathbf {u}}\big \rangle _{\widehat{S}}\), which gives a lower bound of 1 for the eigenvalues. Then from Lemma 5.6, we know that 1 is the minimum eigenvalue of the preconditioned operator.

Upper bound: Given \({\mathbf {u}}\in \widehat{{\mathbf {V}}}_{\varGamma ,B}\times Q_0\), take \({\mathbf {v}}\in \widetilde{{\mathbf {V}}}_{\varGamma ,B}\times Q_0\) as in (5.17). We have, \({\widetilde{R}}^T_D {\mathbf {v}} = M^{-1}\widehat{S} {\mathbf {u}}\). Since \(\widehat{S} = {\widetilde{R}}^T {\widetilde{S}} {\widetilde{R}}\) and by using Lemma 5.5, we have

$$\begin{aligned} \begin{aligned} \langle M^{-1}\widehat{S}{\mathbf {u}}, M^{-1}\widehat{S} {\mathbf {u}}\rangle _{\widehat{S}}&= \langle {\widetilde{R}}^T_D{\mathbf {v}}, {\widetilde{R}}^T_D{\mathbf {v}} \rangle _{\widehat{S}} = \langle {\widetilde{R}} {\widetilde{R}}^T_D{\mathbf {v}}, {\widetilde{R}} {\widetilde{R}}^T_D{\mathbf {v}} \rangle _{{\widetilde{S}}} \\&= |E_D{\mathbf {v}}|^2_{{\widetilde{S}}} \le C^2 \frac{1}{{\tilde{\beta }}^2}\bigg (1+\log \left( \frac{Hk^2}{h}\right) \bigg )^2|{\mathbf {v}}|^2_{{\widetilde{S}}}\text {.} \end{aligned} \end{aligned}$$
(5.22)

Therefore from Eq. (5.21), we have

$$\begin{aligned} \langle M^{-1}\widehat{S}{\mathbf {u}}, M^{-1}\widehat{S} {\mathbf {u}}\rangle _{\widehat{S}} \le C^2 \frac{1}{{\tilde{\beta }}^2}\bigg (1+\log \left( \frac{Hk^2}{h}\right) \bigg )^2 \langle {\mathbf {u}}, M^{-1}\widehat{S} {\mathbf {u}}\rangle _{\widehat{S}}\text {.} \end{aligned}$$
(5.23)

Using the Cauchy–Schwarz inequality and Eq. (5.23), we have

$$\begin{aligned} \begin{aligned} \langle {\mathbf {u}}, M^{-1}\widehat{S} {\mathbf {u}}\rangle _{\widehat{S}}&\le \langle M^{-1}\widehat{S}{\mathbf {u}}, M^{-1}\widehat{S} {\mathbf {u}}\rangle ^{1/2}_{\widehat{S}}\langle {\mathbf {u}}, {\mathbf {u}}\rangle ^{1/2}_{\widehat{S}} \\&\le C \frac{1}{{\tilde{\beta }}}\bigg (1+\log \left( \frac{Hk^2}{h}\right) \bigg ) \langle {\mathbf {u}}, {\mathbf {u}} \rangle ^{1/2}_{\widehat{S}} \langle {\mathbf {u}}, M^{-1}\widehat{S} {\mathbf {u}}\rangle ^{1/2}_{\widehat{S}} \text {.} \end{aligned} \end{aligned}$$
(5.24)

This gives

$$\begin{aligned} \langle {\mathbf {u}}, M^{-1}\widehat{S} {\mathbf {u}}\rangle _{\widehat{S}} \le C \frac{1}{{\tilde{\beta }}^2}\bigg (1+\log \left( \frac{Hk^2}{h}\right) \bigg )^2 \langle {\mathbf {u}}, {\mathbf {u}} \rangle _{\widehat{S}} \text {,} \end{aligned}$$
(5.25)

and the upper bound of the theorem. \(\square \)

Fig. 2
figure 2

Examples of the different type of meshes we consider in our numerical experiments

Table 1 GMRES iteration counts to solve the interface saddle-point problem without preconditioner varying the mesh size h and the number of subdomains \(N=1/H^2\)
Table 2 PCG iteration counts to solve the interface saddle-point problem with BDDC preconditioner, varying the mesh size h and the number of subdomains \(N=1/H^2\)
Table 3 PCG iteration counts to solve the interface problem with BDDC preconditioner, varying the mesh size h and the number of subdomains \(N=1/H^2\)
Table 4 PCG iteration counts to solve the interface saddle-point problem with BDDC preconditioner, varying the mesh size h and the number of subdomains \(N=1/H^2\)

6 Satisfying the Assumptions

To satisfy the Assumptions 1 and 2 in of the previous section we have to choose properly the primal constraints for the interface velocity space. In particular to satisfy the Assumption 1, it is not sufficient to choose as primal constraints the subdomain vertices, i.e. make both components of the velocity continuous at those nodes, but some extra edge constraints are necessary. To do so, for each interface edge \(\varGamma _{ij}\), which is shared by a pair of subdomains \(\varOmega _i\) and \(\varOmega _j\), we impose

$$\begin{aligned} \int _{\varGamma _ij} {\mathbf {v}}_\varGamma ^{(i)}\cdot {\mathbf {n}}_{ij} = \int _{\varGamma _ij} {\mathbf {v}}_\varGamma ^{(j)}\cdot {\mathbf {n}}_{ij} \end{aligned}$$
(6.1)

for a fixed selection of the normal \({\mathbf {n}}_{ij}\) of \(\varGamma _{i,h}\). Proceeding the discussion with this first choice, after changing the variables, the dual interface velocity component will vanish at the subdomain vertices and its normal component will have a weighted zero average over each \(\varGamma _{ij}\), i.e.

$$\begin{aligned} \int _{\varGamma _i} \mathbf {v_\varGamma }^{(i)}\cdot {\mathbf {n}}_{ij} = \int _{\varGamma _j} \mathbf {v_\varGamma }^{(j)}\cdot {\mathbf {n}}_{ij} = 0. \end{aligned}$$

By the definition of the average operator \(E_{D,\varDelta }\) we have that the average interface velocity is \(E_{D,\varDelta }{\mathbf {v}}_\varDelta = \frac{1}{2}({\mathbf {v}}_\varDelta ^{(i)}+{\mathbf {v}}_\varDelta ^{(j)})\) on each edge and hence

$$\begin{aligned} \int _{\varGamma _ij} (E_{D,\varDelta }{\mathbf {v}}_\varDelta )^{(i)}\cdot {\mathbf {n}}_{ij} = 0\text {.} \end{aligned}$$
(6.2)

In our codes we also choose a strong condition, we decide to require that the integral of both velocity components have common values across each interface edge

$$\begin{aligned} \int _{\varGamma _ij} {\mathbf {v}}_\varGamma ^{(i)}\big |_x = \int _{\varGamma _j} {\mathbf {v}}_\varGamma ^{(j)}\big |_x\text {,}\quad \int _{\varGamma _ij} {\mathbf {v}}_\varGamma ^{(i)}\big |_y = \int _{\varGamma _j} {\mathbf {v}}_\varGamma ^{(j)}\big |_y\text {.} \end{aligned}$$
(6.3)

In this way, we clearly satisfy Assumption 1. The advantage of this condition is that it is easiest to implement and, enlarging a little the coarse space, it yields a faster convergence. Assumption 2 is also satisfied, requiring only vertices as primal constraints, and it derives directly from the following lemma, proved in [2]:

Lemma 6.1

For all \({\mathbf {v}}_\varGamma \in \widetilde{{\mathbf {V}}}_\varGamma \) we have:

$$\begin{aligned} |E_{D,\varGamma }{\mathbf {v}}_\varGamma |_{1/2,\varGamma } \le C \left( 1+\log \left( \frac{Hk^2}{h}\right) \right) |{\mathbf {v}}_\varGamma |_{1/2,\varGamma } \end{aligned}$$
(6.4)

with C positive constant independent of H, h and the number of subdomains.

7 Numerical Results

In this section, we provide some numerical tests to study the behavior of the BDDC preconditioner with respect to the mesh size h, the number of subdomains N and the shape of the polygonal mesh elements. We solve the Stokes equations on the unit square domain \(\varOmega = [0,1]\times [0,1]\), applying homogeneous Dirichlet boundary conditions on the whole \(\partial \varOmega \). We choose the load term \({\mathbf {f}}\) by imposing that the analytical solution is

$$\begin{aligned} {\mathbf {u}}(x,y) = \left( \begin{array}{c} -\sin (\pi x)\sin (\pi x) \sin (2\pi y)\\ \sin (\pi y)\sin (\pi y)\sin (2\pi x) \end{array} \right) ,\quad p(x,y) = \sin (\pi x)-\sin (\pi y)\text {.} \end{aligned}$$

In the following tables, we report the number of iterations to solve the global interface saddle-point problem (4.11) with the non-preconditioned GMRES method or the PCG method, accelerated by BDDC. Where possible, we estimate the extreme eigenvalues using the Lanczos trick. Both in case of PCG and GMRES, we set the tolerance for the relative residual error to \(10^{-6}\). Note that in the tables we marked with an "x" the numerical tests that we do not have performed because they are not significant.

Fig. 3
figure 3

Plots of the spectral condition number (\(\kappa _2\)) of the BDDC preconditioned linear system as a function of the ratio H/h (left) and of the number of subdomains N (right) for different types of mesh and choices of the primal space

Fig. 4
figure 4

Plots of the PCG iteration counts of the BDDC preconditioner for different choices of primal space on quadrilateral (QUAD) and hexagonal (HEXA) meshes

Fig. 5
figure 5

Plots of the PCG iteration counts of the BDDC preconditioner for different choices of primal space on triangular (TRI) and Voronoi (CVT) meshes

Our tests have been executed on different types of polygonal meshes and using the VEM discretization with degree \(k=2\) with the divergence free approach, that means having polynomials of degree 2 on the boundary of each element for the velocity and piecewise constant functions for the pressure. We underline the fact that we would have obtained the same behavior, both in terms of number of iterations and spectral condition number number, also in the case of neglecting the divergence free property, because the interface problem and the preconditioner are exactly the same due to the decomposition technique used in (4.2) and (4.3).

The polygonal meshes considered are quadrilateral (QUAD), hexagonal (HEXA), triangular (TRI) and Voronoi (CVT) (Fig. 2).

Table 1 reports the number of iterations to solve the interface saddle-point problem with the non-preconditioned GMRES. As expected, we observe that the iteration counts grow when the number of subdomains increases and the mesh size decreases.

Table 2 reports the number of iterations to solve the interface saddle-point problem with PCG, preconditioned by BDDC, considering as primal constraints only the subdomain vertices. In this case the solver appears to be scalable, since, moving along the diagonals of the table, the iterations remain bounded when the number of subdomains increase, and quasi-optimal, since, moving along the rows of the table, the growth of iterations seems logarithmic. The results also show that the solver suffers more on the Voronoi meshes than on the others. We recall that with this choice of primal constraints the Assumption 1 is not satisfied, therefore the preconditioned system is not positive definite and we are not able to give an estimate on the eigenvalues.

Table 3 reports the spectral condition number of the preconditioned system and the iteration counts to solve the interface problem with the PCG method, preconditioned by BDDC, where the primal constraints are the subdomain vertices and one basis function for each subdomain edge. In this case both the assumptions are satisfied, therefore the system is symmetric and positive definite and we are able to give an estimate of the eigenvalues. The results confirm the theoretical estimates, since both the condition number and the number of iterations are independent of number of subdomains (scalability) and exhibit a logarithmic growth with respect to the ratio H/h (quasi-optimality).

Table 4 reports the spectral condition number of the preconditioned system and the iteration counts to solve the interface problem with the PCG method, preconditioned by BDDC, where the primal constraints are the subdomain vertices and two basis functions for each subdomain edge. In this case the system is again symmetric and positive definite, thus we are able to give an estimate of the eigenvalues. Both the condition number and the iteration counts exhibit a scalable and quasi-optimal behavior as before, but in this case the convergence is faster since the coarse problem is slightly larger.

We recall that our code is implemented in Matlab and the tests were performed in serial, therefore we do not provide an analysis on the time of computations.

In Fig. 3, we plot the spectral condition number of the BDDC preconditioner with the two different choices of primal constraints that satisfy the assumptions. The left column displays an optimality test, fixing at 16 the number of subdomains and increasing the ratio H/h. We observe the logarithmic growth of the condition number. The right column displays a weak scalability test, fixing the ratio \(H/h=4\) and increasing the number of subdomains. In this case we see that the condition number remains bounded when the number of subdomains increases. We observe a worse behavior for the Voronoi meshes due to the fact that the boundary of the subdomains are quite irregular.

Finally, in Figs. 4 and 5, we plot the PCG iteration counts of the BDDC preconditioner for different choices of primal constraints and meshes. The left column reports an optimality test with 16 subdomains and we observe that the logarithmic growth is respected, with a smaller number of iterations when the coarse space is enriched. The right column displays the number of PCG iterations for a fixed local problem size (\(H/h=4\)) and we observe that the number of iterations remains bounded when the number of subdomains increase, again with a smaller number of iterations for richer primal spaces.

8 Conclusions

In this work, we have analyzed BDDC preconditioners to solve the saddle-point linear system deriving from a divergence free VEM discretization of the steady two-dimensional Stokes equations. The numerical tests have validated the convergence estimates, showing the scalability and quasi-optimality of the algorithm, under appropriate choices of the primal coarse space. We have also obtained a better behavior and a faster convergence of the method for an enriched primal space, easy to implement.