Keywords

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

1 Introduction

We consider the following incompressible Stokes problem: Find \((\overrightarrow{u},p) \in [H_{0}^{1}(\varOmega )]^{d} \times L_{0}^{2}(\varOmega )\) such that

$$\displaystyle{ \begin{array}{rl} -\bigtriangleup \overrightarrow{u} + \nabla p& =\overrightarrow{ f}, \\ \nabla \cdot \overrightarrow{ u}& = 0, \end{array} }$$
(1)

where \(\overrightarrow{f} \in [L^{2}(\varOmega )]^{d}\) and d is the dimension of the problem domain Ω, i.e., d = 2 or 3. The domain Ω is assumed to be polygonal/polyhedral. The space \(H_{0}^{1}(\varOmega )\) is the set of square integrable functions up to first weak derivatives with zero trace on the boundary of Ω and \(L_{0}^{2}(\varOmega )\) is the set of square integrable functions with zero average over the domain Ω.

To find an approximate solution, a pair of inf-sup stable finite element spaces, \((\hat{V },\hat{P}_{0})\), is introduced such that \(\hat{V } \subset [H_{0}^{1}(\varOmega )]^{d}\) and \(\hat{P}_{0} \subset L_{0}^{2}(\varOmega )\). In this work, we assume that functions in the velocity space \(\hat{V }\) are continuous. On the other hand, we can choose \(\hat{P}_{0}\) as discontinuous functions or as continuous functions across element boundaries. A general framework of domain decomposition algorithms will be considered for both cases of pressure functions.

There have been considerable researches on domain decomposition methods for the Stokes problem. Algorithms based on iterative substructuring methods have been developed in Marini and Quarteroni [15], Bramble and Pasciak [1], Rønquist [17], and Le Tallec and Patra [10]. Balancing Neumann–Neumann algorithms were studied by Pavarino and Widlund [16] and Goldfeld [5]. Later FETI-DP and BDDC methods were developed in the works by Li [11] and by Li and Widlund [13]. What’s common in all these previous studies is that the indefinite Stokes problem is reduced to a positive definite system using the benign subspace approach. The benign subspace approach requires a compatibility condition of the velocity on the subdomain boundary as well as some primal pressure unknowns. Compared to elliptic problems, nonoverlapping domain decomposition algorithms for the Stokes problem needed careful and quite complicated construction of the coarse problem.

In recent works, more advanced algorithms were developed to address smaller and more practical coarse problems. In the works by Kim et al. [7, 8], a coarse problem with only primal velocity unknowns was applied to the Stokes problem with a scalable condition number bound for both dual and primal forms of domain decomposition methods. In that approach a lumped preconditioner is employed. In the work by Sistek et al. [18], extensive numerical experiments were carried out for the primal form of the Stokes problem with continuous pressure finite element functions. Similarly to [7, 8], only primal velocity unknowns are employed in their approaches. The dual form was further extended to the continuous pressure functions with a scalable condition number bound in the work by Tu and Li [12].

In the following, we introduce a general framework of domain decomposition methods for the Stokes problem and present both primal and dual domain decomposition algorithms along with estimate of their condition numbers. Throughout the paper, C is a generic positive constant independent of any mesh parameters and the number of subdomains.

2 Domain Decomposition Algorithms

We consider the pair of finite element spaces \((\hat{V },\hat{P}_{0})\). Before we proceed the construction of domain decomposition algorithms, we relax the average free condition on the pressure functions and consider the pair \((\hat{V },\hat{P})\), where the pressure functions in \(\hat{P}\) are not necessarily average-free over the domain Ω. By relaxing the average-free condition on the pressure functions, the functions in \(\hat{P}\) are fully decoupled across element boundaries when discontinuous pressure functions are considered. For that case, we thus have no global pressure component but have one null component on the resulting algebraic system.

We introduce a non-overlapping subdomain partition {Ω i } and decompose the function spaces into

$$\displaystyle{V =\prod _{ i=1}^{N}V _{ i},\quad P =\prod _{ i=1}^{N}P_{ i},}$$

where V i and P i are restrictions of \(\hat{V }\) and \(\hat{P}\) into Ω i , respectively. We note that when the pressure functions in \(\hat{P}\) are discontinuous \(P\) is identical to \(\hat{P}\). In the following, we assume that the pressure functions in \(\hat{P}\) are discontinuous and we later consider the case of continuous pressure functions.

2.1 Dual Formulation

In this subsection, we will present dual formulation of the Stokes problem following FETI-DP methods [3, 4]. After we decouple the functions in \(\hat{V }\), we select some primal unknowns among the velocity unknowns on the subdomain boundary and enforce strong continuity on them. We use the notation \(\overrightarrow{u}_{\varPi }\) for the primal unknowns and use the notation \(\overrightarrow{u}_{\varDelta }\) for the remaining decoupled unknowns on the subdomain interface. We call \(\overrightarrow{u}_{\varDelta }\) dual unknowns. We denote by \(\overrightarrow{u}_{I}\) the velocity unknowns interior to each subdomains. We denote the subspaces with unknowns \(\overrightarrow{u}_{I}\), \(\overrightarrow{u}_{\varDelta }\), and \(\overrightarrow{u}_{\varPi }\) by \(V _{I}\), \(V _{\varDelta }\), and \(V _{\varPi }\), respectively and denote the subspace with unknowns \((\overrightarrow{u}_{I},\overrightarrow{u}_{\varDelta },\overrightarrow{u}_{\varPi })\) by \(\tilde{V }\), which has velocity unknowns that are partially coupled across the subdomain interfaces. In the dual formulation, continuity on the decoupled dual unknowns \(\overrightarrow{u}_{\varDelta }\) is enforced weakly using Lagrange multipliers \(\overrightarrow{\lambda }\) and the following algebraic system will be solved:

Find \((\overrightarrow{u}_{I},\overrightarrow{u}_{\varDelta },p,\overrightarrow{u}_{\varPi },\overrightarrow{\lambda }) \in (V _{I},V _{\varDelta },V _{\varPi },P,\varLambda )\) such that

$$\displaystyle{ \left (\begin{array}{ccccc} K_{II} & K_{I\varDelta } &B_{I}^{T}&K_{I\varPi }& 0 \\ K_{I\varDelta }^{T}& K_{\varDelta \varDelta } & B_{\varDelta }^{T} & K_{\varDelta \varPi } &J_{\varDelta }^{T} \\ B_{I} & B_{\varDelta } & 0 & B_{\varPi } & 0 \\ K_{I\varPi }^{T}&K_{I\varDelta }^{T}& B_{\varPi }^{T} & K_{\varPi \varPi } & 0 \\ 0 & J_{\varDelta } & 0 & 0 & 0\\ \end{array} \right )\left (\begin{array}{c} \overrightarrow{u}_{I} \\ \overrightarrow{u}_{\varDelta }\\ p \\ \overrightarrow{u}_{\varPi }\\ \lambda \\ \end{array} \right ) = \left (\begin{array}{c} \overrightarrow{f}_{I} \\ \overrightarrow{f}_{\varDelta } \\ 0\\ \overrightarrow{f}_{ \varPi }\\ 0\\ \end{array} \right ) }$$
(2)

Here Λ is the space of Lagrange multipliers λ and J Δ is the Boolean matrix which implements weak continuity on the dual velocity unknowns \(\overrightarrow{u}_{\varDelta }\). In the above algebraic system, the unknowns \((\overrightarrow{u}_{I},\overrightarrow{u}_{\varDelta },p)\) are fully decoupled across subdomain interfaces and can be eliminated by solving local Stokes problems and the unknowns \(\overrightarrow{u}_{\varPi }\) then can be eliminated by solving a global coarse problem. After the elimination process, we obtain the resulting equation on λ:

$$\displaystyle{ F_{d}\lambda = d. }$$
(3)

Here we stress that our formulation uses only primal velocity unknowns in contrast to the previous approaches [11, 13] which required both velocity and pressure primal unknowns satisfying a certain inf-sup stability.

The matrix F d is symmetric and semi-positive definite on Λ. We note that F d has null components due to fully redundant Lagrange multipliers \(\lambda _{\mathit{full}}\)

$$\displaystyle{J_{\varDelta }^{T}\lambda _{ \mathit{full}} = 0}$$

and relaxing the average-free condition on the pressure unknowns. The null component \(\lambda _{\mathit{null}}\) caused by relaxing average-free condition can be calculated by substituting \((\overrightarrow{u}_{I},\overrightarrow{u}_{\varDelta },p,\overrightarrow{u}_{\varPi },\lambda ) = (0,0,1_{p},0,\lambda _{\mathit{null}})\) into (2) to obtain

$$\displaystyle{B_{\varDelta }^{T}1_{ p} + J_{\varDelta }^{T}\lambda _{ \mathit{null}} = 0}$$

and by using \(J_{\varDelta }D_{\varDelta }J_{\varDelta }^{T} = I\), λ null is given by

$$\displaystyle{\lambda _{\mathit{null}} = -J_{\varDelta }D_{\varDelta }B_{\varDelta }^{T}1_{ p}.}$$

Here we note that D Δ is the diagonal matrix with its entries determined by

$$\displaystyle{D_{\varDelta }(x) = \frac{1} {\mathcal{N}_{x}},}$$

where \(\mathcal{N}_{x}\) is the number of subdomains sharing the node x.

We introduce the subspace

$$\displaystyle{\varLambda _{c} =\{\lambda \in \varLambda \,:\,\lambda \perp null(J_{\varDelta }^{T}),\quad \lambda ^{T}\lambda _{ \mathit{null}} = 0\},}$$

where F d is positive definite. In our dual formulation, the equation (3) is solved on the subspace Λ c by the preconditioned conjugate gradient method with the following lumped preconditioner

$$\displaystyle{M_{d}^{-1} = J_{\varDelta }D_{\varDelta }K_{\varDelta \varDelta }D_{\varDelta }J_{\varDelta }^{T}.}$$

About the performance of the proposed preconditioner, we obtain the following condition number estimate [6, 8, 9]:

Theorem 1.

In 2D when \(\overrightarrow{u}_{\varPi }\) are selected as edge averages and in 3D when \(\overrightarrow{u}_{\varPi }\) are selected as face averages, we obtain that

$$\displaystyle{\kappa (M_{d}^{-1}F_{ d}) \leq C\frac{H} {h} }$$

and in 2D when \(\overrightarrow{u}_{\varPi }\) are selected as values at corners we obtain that

$$\displaystyle{\kappa (M_{d}^{-1}F_{ d}) \leq C\frac{H} {h} \log (1 + \frac{H} {h} ),}$$

where H∕h is the number of elements across each subdomain.

We note that the same bound was obtained for the elliptic problems with the lumped preconditioner and the same set of primal unknowns, see [14].

2.2 Primal Formulation

We will now develop the primal counterpart to the dual formulation. We recall the pair of finite element spaces in the dual formulation, \((\tilde{V },P)\), where the velocity functions in \(\tilde{V }\) are partially coupled across the subdomain interfaces and the pressure functions in P are fully decoupled across the subdomain interfaces. We use the notations

$$\displaystyle{\tilde{A}:= \left (\begin{array}{cc} \tilde{K} &\tilde{B}\\ \tilde{B} ^{T } & 0 \end{array} \right ),\quad \tilde{J}:= \left (\begin{array}{cc} J_{\varDelta }&0 \end{array} \right ),}$$

where \(\tilde{A}\) is the matrix obtained from the Galerkin approximation of the Stokes problem for the pair of finite element spaces \((\tilde{V },P)\) and \(\tilde{J}\) is the zero extension of the operator J Δ on the pair \((\tilde{V },P)\). Using these notations, the dual algebraic system in (3) is written into

$$\displaystyle{\tilde{J}\tilde{A}^{-1}\tilde{J}^{T}\lambda = d.}$$

For the primal counterpart to the dual formulation, we introduce the pair \((\hat{V },P)\) and obtain the algebraic equation in the primal form:

Find \((\hat{\overrightarrow{u}},p) \in (\hat{V },P)\) such that

$$\displaystyle{ \left (\begin{array}{cc} \hat{K} &\hat{B}\\ \hat{B} ^{T } & 0 \end{array} \right )\left (\begin{array}{c} \hat{\overrightarrow{u}}\\ p \end{array} \right ) = \left (\begin{array}{c} \hat{\overrightarrow{f}}\\ 0 \end{array} \right ). }$$
(4)

By using the extension

$$\displaystyle{\tilde{R}: \hat{V } \rightarrow \tilde{V },}$$

we can express the primal form in terms of block matrices appeared in the dual form,

$$\displaystyle{ \left (\begin{array}{cc} \tilde{R}^{T}&0 \\ 0 &I \end{array} \right )\left (\begin{array}{cc} \tilde{K} &\tilde{B} \\ \tilde{B}^{T}& 0 \end{array} \right )\left (\begin{array}{cc} \tilde{R}&0\\ 0 &I \end{array} \right )\left (\begin{array}{c} \hat{\overrightarrow{u}}\\ p \end{array} \right ) = \left (\begin{array}{c} \hat{\overrightarrow{f}} \\ 0 \end{array} \right ). }$$
(5)

We use the notation \(\hat{A}\) for the matrix in the primal form,

$$\displaystyle{\hat{A} = \left (\begin{array}{cc} \hat{K} &\hat{B}\\ \hat{B} ^{T } & 0 \end{array} \right ).}$$

For the primal form, using the expression in (5) we design its preconditioner \(M_{p}^{-1}\) so that \(M_{p}^{-1}\hat{A}\) and \(M_{d}^{-1}F_{d}\) have the same set of eigenvalues except zero and one. The form of the preconditioner \(M_{p}^{-1}\) is obtained as

$$\displaystyle{M_{p}^{-1} = \left (\begin{array}{cc} \tilde{R}^{T}D\,&0 \\ 0\, &I \end{array} \right )\left (\begin{array}{cc} \tilde{K} &\tilde{B} \\ \tilde{B}^{T}& 0 \end{array} \right )^{-1}\left (\begin{array}{cc} D\tilde{R}\,&0 \\ 0\, &I \end{array} \right ),}$$

where D is a diagonal matrix given by

$$\displaystyle{D = \left (\begin{array}{cc} D_{\varDelta }&0\\ 0 &0 \end{array} \right ).}$$

We note that the null component in the primal form is \((\hat{\overrightarrow{u}},p) = (0,1)\) and the matrix \(\hat{A}\) is indefinite. The matrix equation (4) of the primal form is solved by GMRES methods combined with the preconditioner \(M_{p}^{-1}\) on the subspace which is orthogonal to the null component \((\hat{\overrightarrow{u}},p) = (0,1)\). About the convergence of the GMRES iteration, we proved the following results:

Theorem 2.

The eigenvalues of \(M_{p}^{-1}\hat{A}\) and \(M_{d}^{-1}F_{d}\) are the same except zero and one.

Theorem 3.

The GMRES iteration applied to the primal form converges and its convergence is determined by ε and d, where

$$\displaystyle{\epsilon = \frac{\sqrt{\lambda _{max } /\lambda _{\mathit{min }}} - 1} {\sqrt{\lambda _{\mathit{max } } /\lambda _{min}} + 1}}$$

and d is purple the dimension of invariant subspaces of eigenvalues of \(M_{p}^{-1}\hat{A}\) .

By Theorem 2 and Theorem 1, all nonzero eigenvalues of \(M_{p}^{-1}\hat{A}\) is real and positive. Application of \(M_{p}^{-1}\) to the primal form results in a two-level nonoverlapping Schwarz method, which applies an indefinite preconditioner to an indefinite problem in contrast to the dual form where a positive definite matrix is solved with the preconditioned conjugate gradient method. Under the assumption that \(M_{p}^{-1}\hat{A}\) is diagonalizable, the error reduction factor in the GMRES iteration is determined by

$$\displaystyle{\|e_{k}\|_{2} \leq C\epsilon ^{k}\|e_{ 0}\|_{2},}$$

where ε is defined in Theorem 3 and e k is the error in the k-th iterate.

3 Application to Continuous Pressure Functions

Algorithms in the previous section were developed for the pair \((\hat{V },\hat{P})\), where pressure functions in P are discontinuous across element boundaries. We will apply the algorithms to the case with continuous pressure functions. In contrast to the case with discontinuous pressure functions, we have not yet obtained the bound of eigenvalues. Instead we perform numerical experiments under various settings to see promising features of our algorithms applied to the case with continuous pressure functions.

We consider the pair \((\hat{V },\hat{P})\) where both velocity and pressure functions are continuous. Here we again relax the average free condition on the pressure functions as in the previous section. After we decompose the domain Ω into nonoverlapping subdomains {Ω i }, we obtain the decoupled velocity and pressure spaces and denote them V and P. Among those decoupled velocity unknowns on the subdomain interfaces we select some primal unknowns and enforce strong continuity on them. We denote the resulting partially coupled velocity space by \(\tilde{V }\). For the pressure functions, we can do similarly and denote the partially coupled pressure space by \(\tilde{P}\). About the pressure functions, we may not select the primal unknowns. For that case, we still use the same notation \(\tilde{P}\), which is identical to P.

After introducing these functions spaces, we obtain algebraic system in the primal form as

$$\displaystyle{\left (\begin{array}{cc} \hat{K}&\hat{B}^{T} \\ \hat{B} & 0 \end{array} \right )\left (\begin{array}{c} \hat{\overrightarrow{u}}\\ \hat{p} \end{array} \right ) = \left (\begin{array}{c} \hat{\overrightarrow{f}} \\ 0 \end{array} \right )}$$

and in the dual form as

$$\displaystyle{\left (\begin{array}{cccc} \tilde{K} &\tilde{B}^{T}&\tilde{J}_{u}^{T}& 0 \\ \tilde{B} & 0 & 0 &\tilde{J}_{p}^{T} \\ \tilde{J}_{u}& 0 & 0 & 0 \\ 0 & \tilde{J}_{p} & 0 & 0\\ \end{array} \right )\left (\begin{array}{c} \tilde{\overrightarrow{u}}\\ \tilde{p} \\ \lambda _{u}\\ \lambda _{p } \end{array} \right ) = \left (\begin{array}{c} \tilde{\overrightarrow{f}} \\ 0\\ 0 \\ 0 \end{array} \right ),}$$

where λ u and λ p are Lagrange multipliers for implementing weak continuity on decoupled velocity unknowns and decoupled pressure unknowns, respectively,

$$\displaystyle{\tilde{J}_{u}\tilde{\overrightarrow{u}} = 0,\quad \tilde{J}_{p}\tilde{p} = 0.}$$

We introduce the following notations:

$$\displaystyle{\tilde{A} = \left (\begin{array}{cc} \tilde{K}&\tilde{B}^{T} \\ \tilde{B} & 0 \end{array} \right ),\quad \tilde{J}^{T} = \left (\begin{array}{cc} \tilde{J}_{u}^{T}& 0 \\ 0 &\tilde{J}_{p}^{T}\\ \end{array} \right ),}$$
$$\displaystyle{\tilde{x} = \left (\begin{array}{c} \tilde{u}\\ \tilde{p} \end{array} \right ),\quad \hat{x} = \left (\begin{array}{c} \hat{u}\\ \hat{p} \end{array} \right ),\quad \lambda = \left (\begin{array}{c} \lambda _{u}\\ \lambda _{p } \end{array} \right ).}$$

In addition, We introduce an extension operator

$$\displaystyle{\tilde{R}^{T}: \hat{V } \times \hat{P} \rightarrow \tilde{V } \times \tilde{P}.}$$

The algebraic system in the primal form is then written as

$$\displaystyle{\tilde{R}\tilde{A}\tilde{R}^{T}\hat{x} = \hat{f}}$$

and the algebraic system in the dual form after elimination process is written as

$$\displaystyle{\tilde{J}\tilde{A}^{-1}\tilde{J}^{T}\lambda = g.}$$

For each algebraic system, we introduce preconditioners

$$\displaystyle{M_{p}^{-1} = \tilde{R}D\tilde{A}^{-1}D\tilde{R}^{T},\quad M_{ d}^{-1} = \tilde{J}D\tilde{A}D\tilde{J}^{T},}$$

where D is a diagonal matrix with its entries defined similarly as before.

For the preconditioned matrices, \(M_{p}^{-1}\tilde{R}\tilde{A}\tilde{R}^{T}\) and \(M_{d}^{-1}\tilde{J}\tilde{A}^{-1}\tilde{J}^{T}\), we can prove the same result in Theorem 2. On the other hand, when the pressure functions are discontinuous the resulting matrix \(\tilde{J}\tilde{A}^{-1}\tilde{J}^{T}\) of the dual form is indefinite. Analysis of the condition number bound can not be done as in the previous section.

For the case with the continuous pressure functions, we can present the discrete problem with the following block matrices

$$\displaystyle{\left (\begin{array}{cccc} K_{II}&B_{II}^{T}&K_{I\varGamma }&B_{\varGamma I}^{T} \\ B_{II} & 0 & B_{I\varGamma } & 0 \\ K_{\varGamma I} & B_{I\varGamma }^{T} & K_{\varGamma \varGamma } & B_{\varGamma \varGamma }^{T} \\ B_{\varGamma I} & 0 & B_{\varGamma \varGamma } & 0 \end{array} \right )\left (\begin{array}{c} u_{I} \\ p_{I} \\ u_{\varGamma }\\ p_{\varGamma } \end{array} \right ) = \left (\begin{array}{c} f_{I} \\ 0\\ f_{ \varGamma }\\ 0 \end{array} \right ).}$$

For that case, an improvement can be done by reducing the discrete problem into the problem on the interface unknowns \((\overrightarrow{u}_{\varGamma },p_{\varGamma })\) and then by applying the dual and primal algorithms to the reduced interface problem. The reduction on the interface problem is called static condensation. We then observe that our dual form and primal form applied to that interface problem are similar to a FETI-DP algorithm with the Dirichlet preconditioner and a BDDC algorithm [2], respectively. Compared to the work by Li and Tu [12], our formulation employs Lagrange multipliers λ Γ to enforce continuity on the decoupled pressure p Γ , while p Γ itself is treated as Lagrange multipliers in their work. Compared to [18], our primal formulation is identical to that approach when only primal velocity unknowns are selected.

In numerical experiments, we present performance of the primal and dual forms regarding to the selection of primal unknowns and the static condensation.

4 Numerical Results

We present numerical results when the algorithm for the primal form is applied to the Stokes problem discretized with \((\hat{V },\hat{P})\), where both the velocity and pressure functions are continuous. We refer [69] for numerical experiments of the algorithms in Sect. 2, when discontinuous pressure functions are considered.

In the following numerical experiments, we consider P 2(h) − P 1(h) for 2D problems and Q2(h) − Q1(h) for 3D problems. The domain Ω is square/cubic and is decomposed into uniform square/cubic subdomains. In the GMRES iteration, the stop condition is when the relative residual norm is reduced by a factor of 106. For primal unknowns, we denote by vc, ve, and vf the velocity unknowns at corners, velocity averages over edges, velocity averages over faces, respectively, and we denote by pc the pressure unknowns at corners.

Table 1 2D Stokes problem: iteration counts depending on the set of primal unknowns and the static condensation with increasing Hh and a fixed subdomain partition N d  = 3 × 3, WOS (without static condensation), WS (with static condensation)
Table 2 2D Stokes problem: iteration counts depending on the set of primal unknowns and the static condensation with increasing N d and a fixed local problem size \(H/h = 4\), WOS (without static condensation), WS (with static condensation)

In Tables 1 and 2, for the 2D Stokes problem we present iteration counts depending on various sets of primal unknowns and the static condensation. As we can see, the static condensation improves a lot the iteration counts with increasing the local problem size Hh while adding more primal unknowns such as ve and pc does not give much improvement. With increasing the number of subdomains, we can observe scalability for the cases with larger set of primal unknowns, vc + ve or \(vc + ve + pc\).

In Tables 3 and 4, for the 3D Stokes problem we present iteration counts depending on various sets of primal unknowns and the static condensation. We observe similar behaviors as in the 2D case. The static condensation seems to be necessary to obtain good performance increasing the local problem size. About the selection of primal unknowns, in 3D case the additional primal unknowns vf improve the scalability on the number of subdomains much better than ve in 2D case. Adding pc does not give much improvement on the performance when increasing the number of subdomains and when increasing the local problem size.

Table 3 3D Stokes problem: iteration counts depending on the set of primal unknowns and the static condensation with increasing Hh and a fixed subdomain partition N d  = 33, WOS (without static condensation), WS (with static condensation)
Table 4 3D Stokes problem: iteration counts depending on the set of primal unknowns and the static condensation with increasing N d and a fixed local problem size \(H/h = 4\), WOS (without static condensation), WS (with static condensation)
Fig. 1
figure 1

2D Stokes problem: Eigenvalue distribution depending on the choice of primal unknowns and the static condensation, left column (without the static condensation) and right column (with the static condensation)

Fig. 2
figure 2

3D Stokes problem: Eigenvalue distribution depending on the choice of primal unknowns and the static condensation, left column (without the static condensation) and right column (with the static condensation)

To analyze the performance of our method depending on the set of primal unknowns and the static condensation, we plot eigenvalue distribution of the preconditioned system matrix. In Fig. 1, the eigenvalue distributions in 2D case are presented for various sets of primal unknowns and for the cases with and without the static condensation. Among the cases without the static condensation, we observe that all eigenvalues are real and positive for the set of primal unknowns with \(vc + ve + pc\). Adding ve, the eigenvalues become more clustered near one while adding pc does not show much improvement. About the effect of the static condensation, we see that the eigenvalues become less clustered near zero and more clustered near one. For the cases with the static condensation, we stress that the real part of most nonzero eigenvalues are positive numbers and away from zero. In Fig. 2, we plot the eigenvalue distributions for the 3D Stokes problem. We observe similar behaviors as in the 2D case. To summarize, when pressure functions in \(\hat{P}\) are continuous our algorithm with the set of primal unknowns vc + vf and with the static condensation gives good performance for the 3D case and adding pc seems to be not necessary to improve the performance.