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.

In this chapter we will introduce the domain decomposition method (DD, in short). In its most common version, DD can be used in the framework of any discretization method for partial differential equations (such as, e.g. finite elements, finite volumes, finite differences, or spectral element methods) to make their algebraic solution more efficient on parallel computer platforms. In addition, DD methods allow the reformulation of any given boundary-value problem on a partition of the computational domain into subdomains. As such, it provides a very convenient framework for the solution of heterogeneous or multiphysics problems, i.e. those that are governed by differential equations of different kinds in different subregions of the computational domain.

The basic idea behind DD methods consists in subdividing the computational domain Ω, on which a boundary-value problem is set, into two or more subdomains on which discretized problems of smaller dimension are to be solved, with the further potential advantage of using parallel solution algorithms. More in particular, there are two ways of subdividing the computational domain into subdomains: one with disjoint subdomains, the others with overlapping subdomains (for an example, see Fig. 18.1). Correspondingly, different DD algorithms will be set up.

Fig. 18.1
figure 1

Two examples of subdivision of the domain Ω, with and without overlap

For reference lectures on DD methods we refer to [BGS96, QV99, TW05].

1 18.1 Some classical iterative DD methods

In this section we introduce four different iterative schemes starting from the model problem: find u : Ω → ℝ such that

$$\left\{ {\begin{array}{*{20}{l}} {Lu = f\quad in\;\Omega ,} \\ {u = 0\quad \quad on\partial \Omega ,} \end{array}} \right.$$
(18.1)

L being a generic second order elliptic operator, whose weak formulation reads

$${find\ u\ \in\ V = H ^1_0(\Omega)}:{a(u,v)=(f,v)\ \forall\ v\ \in\ V},$$
(18.2)

being a(.,.)the bilinear form associated with L.

1.1 18.1.1 Schwarz method

Consider a decomposition of the domain Ω in two subdomains Ω 1 and Ω 2 such that \({\overline \Omega = \overline \Omega_1\cup \overline \Omega_2}\), Ω 1Ω 2 = Ω 12 ≠ ∅ (see Fig. 18.1) and let Γ i = ∂Ω i\ (∂Ω n∂Ω i).

Consider the following iterative method. Given u(20) on Γ 1 solve the following problems for k ≥ 1:

$$\left\{ {\begin{array}{*{20}{l}} {Lu_1^{\left( k \right)} = f\quad \;\;in\;{\Omega _1},} \\ {u_1^{\left( k \right)} = u_2^{\left( {k - 1} \right)}\quad on{\Gamma _1},} \\ {u_1^{\left( k \right)} = 0\quad \quad \;in\;{\Omega _2},} \end{array}} \right.$$
(18.3)
$$\left\{ {\begin{array}{*{20}{l}} {Lu_2^{\left( k \right)} = f\quad \quad \quad in{\Omega _2},} \\ {u_2^{\left( k \right)} = \left\{ {\begin{array}{*{20}{l}} {u_1^{\left( k \right)}} \\ {u_1^{\left( {k - 1} \right)}} \end{array}\quad \quad on{\Gamma _2},} \right.} \\ {u_2^{\left( k \right)} = 0\quad \quad \quad \quad on\partial {\Omega _2}\backslash {\Gamma _2}.} \end{array}} \right.$$
(18.4)

In the case in which one chooses u 1 (k)on Γ 2 in (18.4) the method is named multiplica¬tive Schwarz, whereas that in which we choose u(1 k-1) is named additive Schwarz. The reason will be clarified in Sect.18.6. We have thus two elliptic boundary-value prob¬lems with Dirichlet conditions for the two subdomains Ω 1 and Ω 2, and we would like the two sequences {u 1 (k) } and {u 2 (k) } to converge to the restrictions of the solution u of problem (18.1), that is

$${\rm{lim} \atop {k \rightarrow \infty}} u^{(k)}_{1} = u_{{\mid \Omega}_{1}} \ and \qquad {\rm{lim} \atop {k} \rightarrow \infty} u^{(k)}_{2} = u_{{\mid \Omega}_{2}}.$$

It can be proven that the Schwarz method applied to problem (18.1) always converges, with a rate that increases as the measure 12 | of the overlapping region Ω 12 increases. Let us show this result on a simple one-dimensional case.

Example 18.1. Let Ω= (a,b) and let γ 1,γ 2 (a,b) be such that a <γ 2 1 < b (see Fig. 18.2). The two problems (18.3) and (18.4) become:

$$\left\{ {\begin{array}{*{20}{l}} {Lu_2^{\left( k \right)} = f\quad \quad \quad a < x < {\gamma _1},} \\ {u_2^{\left( k \right)} = u_2^{\left( {k - 1} \right)},\quad \quad \,x = {\gamma _1},} \\ {u_2^{\left( k \right)} = 0\quad \quad \quad \;\;\;x = a,} \end{array}} \right.$$
(18.5)
$$\left\{ {\begin{array}{*{20}{l}} {Lu_2^{\left( k \right)} = f\quad \quad \quad {\gamma _2} < x < b,} \\ {u_2^{\left( k \right)} = u_1^{\left( {k - 1} \right)},\quad \quad \,x = {\gamma _2},} \\ {u_2^{\left( k \right)} = 0\quad \quad \quad \;\;\;x = b.} \end{array}} \right.$$
(18.6)
Fig. 18.2
figure 2

Example of a decomposition with overlap in dimension 1 (left). A few iterations of the multiplicative Schwarz method for problem (18.7) (right)

To show that this scheme converges, let us bound ourselves to the simpler problem

$$\left\{ {\begin{array}{*{20}{l}} { - u''\left( x \right) = 0\quad \quad \quad a < x < b,} \\ {u\left( a \right) = u\left( b \right) = 0,} \end{array}} \right.$$
(18.7)

that is the model problem (18.1) with L = —d 2/dx 2 and f = 0, whose solution clearly is u = 0 in (a,b). This is not restrictive since at every step the error: u — u 1 (k)k in Ω 1, u — u 2 (k)in Ω 2, satisfies a problem like (18.5)-(18.6) with null forcing term.

Let k= 1; since (u 1 (1) )" = 0,u(1 1) (x) is a linear function; moreover, it vanishes at x = a and takes the value u 2 (0) at x = γ 1. As we know the value of u 1 (1) at γ 2, we can solve the problem (18.6) which, in its turn, features a linear solution. Then we proceed in a similar manner. In Fig. 18.2 we show a few iterations: we clearly see that the method converges, moreover the convergence rate reduces as the length of the interval (γ 2, γ 1) gets smaller.

At each iteration the Schwarz iterative method (18.3)–(18.4) requires the solution of two subproblems with boundary conditions of the same kind as those of the original problem: indeed, by starting with a Dirichlet boundary-value problem in Ω we end up with two subproblems with Dirichlet conditions on the boundary of Ω1 and Ω 2. Should the differential problem (18.1) had been completed by a Neumann boundary condition on the whole boundary ∂Ω, we would have been led to the solution of a mixed Dirichlet-Neumann boundary-value problem on either subdomain Ω 1 and Ω 2.

1.2 18.1.2 Dirichlet-Neumann method

Let us partition the domain Ω in two disjoint subdomains (as in Fig. 18.1): let then Ω 1 and Ω 2 be two subdomains providing a partition of Ω,i.e. \({\overline \Omega_1\cup \overline \Omega_2 =\overline \Omega ,\overline \Omega_1\cap \overline \Omega_2=\Gamma}\) and Ω 1 n Ω 2 = ∅. We denote by n i the outward unit normal vector to Ω i and will use the following notational convention: n = n1 = — n 2.

The following result holds (for its proof see [QV99]):

Theorem 18.1 (of equivalence). The solution u of problem (18.1) is such that uΩi= uifor i = 1,2, where ui is the solution to the problem

$$\left\{ {\begin{array}{*{20}{l}} {L{u_i} = f\quad in\,{\Omega _i},} \\ {{u_i} = 0\quad \quad on\partial {\Omega _i}\backslash \Gamma ,} \end{array}} \right.$$
(18.8)

with interface conditions

$$u_1 = u_2$$
(18.9)

and

$${\partial{u_{1}} \over \partial{n_{L}}}\ = {\partial{u_{2}} \over \partial{n_{L}}}$$
(18.10)

on Γ, having denoted with ∂ /∂nL the conormal derivative (see (3.34)).

Thanks to this result we could split problem (18.1) by assigning the interface con ditions (18.9)-(18.10) the role of “boundary conditions” for the two subproblems on the interface Γ. In particular, we can set up the following Dirichlet-Neumann (DN) iterative algorithm : given u 2 (0) on Γ, for k ≥ 1 solve the problems:

$$\left\{ {\begin{array}{*{20}{l}} {Lu_1^{\left( k \right)} = f\quad \quad in\,{\Omega _1},} \\ {u_1^{\left( k \right)} = u_2^{\left( {k - 1} \right)}\quad \;\,on\,\Gamma ,} \\ {u_1^{\left( k \right)} = 0\quad \quad \quad on\,\partial {\Omega _1}\backslash \Gamma ,} \end{array}} \right.$$
(18.11)
$$\left\{ {\begin{array}{*{20}{l}} {Lu_1^{\left( k \right)} = f\quad \quad in\,{\Omega _2},} \\ {\frac{{\partial u_2^{\left( k \right)}}}{{\partial n}} = \frac{{\partial u_1^{\left( k \right)}}}{{\partial n}}\quad on\,\Gamma ,} \\ {u_2^{\left( k \right)} = 0\quad \quad \quad on\,\partial {\Omega _1}\backslash \Gamma ,} \end{array}} \right.$$
(18.12)

Condition (18.9) has generated a Dirichlet boundary condition on Γ for the subprob-lem in Ω1 whereas (18.10) has generated a Neumann boundary condition on Γ for the subproblem in Ω 2.

Differently than Schwarz’s method, the DN algorithm yields a Neumann boundary-value problem on the subdomain Ω 2. Theorem 18.1 guarantees that when the two sequences {u 1 (k)} and {u 2 (k) } converge, then their limit will be perforce the solution to the exact problem (18.1). The DN algorithm is therefore consistent. Its convergence however is not always guaranteed, as we can see on the following simple example.

Example 18.2. Let Ω = (a,b), γ∈ (a,b),L= —d 2/dx 2 andf = 0. At every k ≥ 1 the DN algorithm generates the two subproblems:

$$\left\{ {\begin{array}{*{20}{l}} { - {{\left( {u_1^{\left( k \right)}} \right)}^{\prime \prime }} = 0\quad a < x < \gamma ,} \\ {u_1^{\left( k \right)} = 0\quad \quad \quad x = a,} \\ {u_1^{\left( k \right)} = u_2^{\left( {k - 1} \right)},\quad x = \gamma ,} \end{array}} \right.$$
(18.13)
$$\left\{ {\begin{array}{*{20}{l}} { - {{\left( {u_1^{\left( k \right)}} \right)}^{\prime \prime }} = 0\quad \quad \gamma < x < b,} \\ {{{\left( {u_1^{\left( k \right)}} \right)}^\prime } = \left( {u_1^{\left( k \right)}} \right),\quad x = \gamma ,} \\ {u_2^{\left( k \right)} = 0,\quad \quad \quad \quad x = b.} \end{array}} \right.$$
(18.14)

Proceeding as done in Example 18.1, we can prove that the two sequences converge only if γ> (a+b)/2, as shown graphycally in Fig. 18.3.

Fig. 18.3
figure 3

Example of converging (left) and diverging (right) iterations for the DN method in 1D

In general, for a problem in arbitrary dimension d > 1, the measure of the "Dirich-let" subdomain Ω 1 must be larger than that of the "Neumann" one Ω 2 in order to guarantee the convergence of (18.11)-(18.12). This however yields a severe constraint to fulfill, especially if several subdomains will be used.

To overcome such limitation, a variant of the DN algorithm can be set up by replacing the Dirichlet condition (18.11)2 in the first subdomain by

$$u^{(k)}_{1} = \theta u^{(k-1)}_{2} + (1-\theta)u^{(k-1)}_{1}\qquad \rm{on}{\it \Gamma},$$
(18.15)

that is by introducing a relaxation which depends on a positive parameter θ. In such a way it is always possible to reduce the error between two subsequent iterates.

In the case displayed in Fig. 18.3 we can easily verify that, by choosing

$$\theta_{opt} = - {u^{(k-1)}_{1} \over u^{(k-1)}_{2} - u^{(k-1)}_{1}},$$
(18.16)

the algorithm converges to the exact solution in a single iteration.

More in general, it can be proven that in any dimension d≥1, there exists a suitable value θ max < 1 such that the DN algorithm converges for any possible choice of the relaxation parameter θ in the interval (0, θ max).

1.3 18.1.3 Neumann-Neumann algorithm

Consider again a partition of Ω into two disjoint subdomains and denote by λ the (unknown) value of the solution u at their interface Γ. Consider the following iterative algorithm: for any given λ(0) on Γ, for k ≥ 0 and i= 1,2 solve the following problems:

$$\left\{ {\begin{array}{*{20}{l}} { - \Delta u_i^{\left( {k + 1} \right)} = f\quad in\,{\Omega _i},} \\ {u_i^{\left( {k + 1} \right)} = {\lambda ^{\left( k \right)}}\quad \;\;on\Gamma ,} \\ {u_i^{\left( {k + 1} \right)} = 0\quad \quad \;\;on\partial {\Omega _i}\backslash \Gamma ,} \end{array}} \right.$$
(18.17)
$$\left\{ {\begin{array}{*{20}{l}} { - \vartriangle \psi _i^{\left( {k + 1} \right)} = 0\quad \quad \quad \quad \quad \quad \quad \quad in\;{\Omega _i},} \\ {\frac{{\partial \psi _i^{\left( {k + 1} \right)}}}{{\partial n}} = {\sigma _i}\left( {\frac{{\partial u_1^{\left( {k + 1} \right)}}}{\partial } - \frac{{\partial u_2^{\left( {k + 1} \right)}}}{{\partial n}}} \right)\quad on\Gamma ,} \\ {\psi _i^{\left( {k + 1} \right)} = 0\quad \quad \quad \quad \quad \quad \quad \quad \quad \;on\partial {\Omega _i}\backslash \Gamma ,} \end{array}} \right.$$
(18.18)

with

$$\lambda^{(k+1)} = \lambda^{(k)} - \theta (\sigma_1 \psi _{1\mid\lambda}^{(k+1)}),$$
(18.19)

where θ is a positive acceleration parameter, while σ 1 and σ 2 are two positive coef¬ficients such that σ1 + σ2 = 1. This iterative algorithm is named Neumann-Neumann (NN). Note that in the first stage (18.17) we care about the continuity on Γ of the func¬tions u 1 (k+1)and u 2 (k+1) but not that of their derivatives. The latter are addressed in the second stage (18.18), (18.19) by means of the correcting functions ψ 1 (k+1) and ψ 2 (k+1).

1.4 18.1.4 Robin-Robin algorithm

At last, we consider the following iterative algorithm, named Robin-Robin (RR). For every k ≥ 0 solve the following problems:

$$\left\{ {\begin{array}{*{20}{l}} { - \vartriangle u_1^{\left( {k + 1} \right)} = f\quad \quad \quad \quad \quad \quad \quad \quad \;in{\Omega _1},} \\ {u_1^{\left( {k + 1} \right)} = 0\quad \quad \quad \quad \quad \quad \quad \;\quad \quad \;on\partial {\Omega _1} \cap \partial \Omega ,} \\ {\frac{{\partial u_1^{\left( {k + 1} \right)}}}{{\partial n}} + {\gamma _1}u_1^{\left( {k + 1} \right)} = \frac{{\partial u_2^{\left( k \right)}}}{{\partial n}} + {\gamma _1}u_2^{\left( k \right)}\quad on\Gamma ,} \end{array}} \right.$$
(18.20)

then

$$\left\{ {\begin{array}{*{20}{l}} { - \vartriangle u_1^{\left( {k + 1} \right)} = f\quad \quad \quad \quad \quad \quad \quad \quad \;in{\Omega _1},} \\ {u_1^{\left( {k + 1} \right)} = 0\quad \quad \quad \quad \quad \quad \quad \;\quad \quad \;on\partial {\Omega _1} \cap \partial \Omega ,} \\ {\frac{{\partial u_2^{\left( {k + 1} \right)}}}{{\partial n}} + {\gamma _2}u_2^{\left( {k + 1} \right)} = \frac{{\partial u_1^{\left( {k + 1} \right)}}}{{\partial n}} + {\gamma _2}u_1^{\left( k \right)}\quad on\Gamma ,} \end{array}} \right.$$
(18.21)

where u 0 is assigned and γ 1, γ2 are non-negative acceleration parameters that satisfy γ12 >0. Aiming at the algorithm parallelization, in (18.21) we could use u 1 (k) instead of u 1 (k+1) , provided in such a case an initial value for u 0 1 is assigned as well.

2 18.2 Multi-domain formulation of Poisson problem and interface conditions

In this section, for the sake of exposition, we choose L = —Δ and consider the Poisson problem with homogeneous Dirichlet boundary conditions (3.13). Generalization to an arbitrary second order elliptic operator with different boundary conditions is in order.

In the case addressed in Sect. 18.1.2 of a domain partitioned into two disjoint sub-domains, the equivalence Theorem 18.1 allows the following multidomain formulation of problem (18.1), in which ui = u| Ωi , i = 1,2:

$$\left\{ {\begin{array}{*{20}{l}} { - \vartriangle {u_1} = f\quad in\,{\Omega _1},} \\ {{u_1} = 0\quad \quad \;\;on\,\partial {\Omega _1}\backslash \Gamma ,} \\ { - \vartriangle {u_2} = f\quad in\,{\Omega _2},} \\ {{u_2} = 0\quad \quad \;\;on\,\,\partial {\Omega _2}\backslash \Gamma ,} \\ {{u_1} = {u_2}\quad \quad \;\;on\,\,\Gamma ,} \\ {\frac{{\partial {u_1}}}{{\partial n}} = \frac{{\partial {u_2}}}{{\partial n}}\quad \;\;on\,\,\Gamma .} \end{array}} \right.$$

2.1 18.2.1 The Steklov-Poincaré operator

We denote again by λ the unknown value of the solution u of problem (3.13) on the interface Γ, that is λ = u . Should we know a priori the value λ on Γ, we could solve the following two independent boundary-value problems with Dirichlet condition on Γ (i = 1,2):

$$\left\{ {\begin{array}{*{20}{l}} { - \Delta {w_i} = f\quad in{\Omega _i},} \\ {{w_i} = 0\quad \quad on\partial {\Omega _i}\backslash \Gamma } \\ {{w_i} = \gamma \quad \quad on\Gamma .} \end{array}} \right.$$
(18.23)

With the aim of obtaining the value λ on Γ, let us split w i as follows

$$w_i = w^*_i + u^0_i,$$

where w* i and u 0 i represent the solutions of the following problems (i = 1,2):

$$\left\{ {\begin{array}{*{20}{l}} { - \Delta w_i^* = f\quad \quad in{\Omega _i},} \\ {w_i^* = 0\quad \quad \quad \;on\partial {\Omega _i} \cap \partial \Omega ,} \\ {w_i^* = 0\quad \quad \quad \;on\Gamma ,} \end{array}} \right.$$

and

$$\left\{ {\begin{array}{*{20}{l}} { - \Delta u_i^0 = 0\quad in{\Omega _i},} \\ {u_i^0 = 0\quad \quad on\partial {\Omega _i} \cap \Omega ,} \\ {u_i^0 = \lambda \quad \quad on\Gamma ,} \end{array}} \right.$$
(18.25)

respectively. Note that the functions w*i depend solely on the source data f, while u 0 i solely on the value λ on Γ, henceforth we can write w * i = Gif and u 0 i = Hiλ. Both operators G i and H i are linear; H i is the so-called harmonic extension operator of λ on the domain Ω i.

By a formal comparison of problem (18.22) with problem (18.23), we infer that the equality

$$u_i = w^*_i + u^0_i , i = 1,2,$$

holds iff the condition (18.22)6 on the normal derivatives on Γ is satisfied, that is iff

$${\partial w_1 \over \partial n} = {\partial w_2 \over \partial n} \qquad {\rm on} {\it \Gamma}.$$

By using the previously introduced notations the latter condition can be reformulated as

$${\partial \over \partial n} (G_1f + H_1 \lambda) = {\partial \over \partial n} (G_2f + H_2 \lambda)$$

and therefore

$$\Bigg({\partial H_1 \over \partial n} - {\partial H_2 \over \partial n}\Bigg) \lambda = \Bigg({\partial G_2 \over \partial n} - {\partial G_1 \over \partial n}\Bigg)f \qquad {\rm on} {\it \Gamma}.$$

In this way we have obtained an equation for the unknown λon the interfaceΓ, named Steklov-Poincaré equation, that can be rewritten in compact form as

$$S \lambda = \cal X \qquad {\rm on} {\it \Gamma}.$$
(18.26)

S is the Steklov-Poincaré pseudo-differential operator; its formal definition is

$$S \mu = {\partial \over \partial n} H_1 \mu - {\partial \over \partial n} H_2 \mu = \sum^2_{i = 1} {\partial \over \partial n_i} H_i \mu = \sum^2_{i = 1} S_i \mu,$$
(18.27)

while χ is a linear functional which depends on f

$${\cal X} = {\partial \over \partial n} G_2f - {\partial \over \partial n} G_1 f = -\sum^2_{i = 1} {\partial \over \partial n_i} G_i f.$$
(18.28)

The operator

$$S_i : \mu \rightarrow S_i \mu = {\partial \over \partial n_i} (H_i \mu)\Bigg|_ \Gamma,\quad i = 1,2, $$
(18.29)

is called local Steklov-Poincaré operator. Note that S, S 1 and S 2 operate between the trace space

$$\Lambda = \lbrace\ \mu\ |\ \exists v\ \in\ V : \mu = v |_ \Gamma\rbrace$$
(18.30)

(that is \({H^{1/2}_{00}(\Gamma)}\), see [QV99]), and its dual ∧', whereas χ ∈ ∧'.

Example 18.3. With the aim of providing a practical (elementary) example of operator S, let us consider a simple one-dimensional problem. Let Ω = (a,b) ⊂; ℝ as shown in Fig. 18.4 and Lu = —u". By subdividing Ω in two disjoint subdomains, the interface Γ reduces to a single point γ( a, b), and the Steklov-Poincaré operator S becomes

$$S \lambda = \Bigg({dH_1 \over dx}-{dH_2 \over dx}\Bigg) \lambda = \Bigg({1 \over l_1} + {1 \over l_2}\Bigg) \lambda ,$$

with l 1 = γ– a and l 2 = b – γ.

Fig. 18.4
figure 4

Harmonic extensions in one dimension

2.2 18.2.2 Equivalence between Dirichlet-Neumann and Richardson methods

The Dirichlet-Neumann (DN) method introduced in Sect. 18.1.2 can be reinterpreted as a (preconditioned) Richardson method for the solution of the Steklov-Poincaré in terface equation. To check this statement, consider again, for the sake of simplicity, a domain Ω partitioned into two disjoint subdomains Ω 1 and Ω 2 with interface Γ.

Then we re-write the DN algorithm (18.11), (18.12), (18.15) in the case of the operator L = − Δ: for a given λ0, for k ≥ 1 solve:

$$\left\{ {\begin{array}{*{20}{l}} { - \Delta u_1^{\left( k \right)} = {f_1}\quad in{\Omega _1},} \\ {u_1^{\left( k \right)} = {\lambda ^{\left( {k - 1} \right)}}\quad on\Gamma ,} \\ {u_1^{\left( k \right)} = 0\quad \quad \;\;on\partial {\Omega _1}\backslash \Gamma ,} \end{array}} \right.$$
(18.31)
$$\left\{ {\begin{array}{*{20}{l}} { - \Delta u_2^{\left( k \right)} = {f_2}\quad \quad in{\Omega _2},} \\ {\frac{{\partial u_2^{\left( k \right)}}}{{\partial {n_2}}} = \frac{{\partial u_1^{\left( k \right)}}}{{\partial {n_2}}}\quad \;on\Gamma ,} \\ {u_2^{\left( k \right)} = \quad \quad \quad \quad on\partial {\Omega _2}\backslash \Gamma ,} \end{array}} \right.$$
(18.32)

λ (k) =θu 2 (k) |Γ +(1)λ (k-1).

$$\lambda^{(k)} = \theta u^{(k)}_{2 \quad | \Gamma} + (1 - \theta)\lambda^{(k-1)}.$$
(18.33)

The following result holds:

Theorem 18.2. The Dirichlet-Neumann iterative algorithm (18.31)-(18.33) is equivalent to the preconditioned Richardson algorithm

$$P_{DN}(\lambda^{(k)} - \lambda^{(k-1)}) = \theta (\chi - S\lambda^{(k-1)}).$$
(18.34)

The preconditioning operator is PDN = S 2.

Proof. The solution u(1 k) of (18.31) can be written as

$$u^{(k)}_1 = H_1 \lambda^{(k-1)} + G_1f_1.$$
(18.35)

Since G 2 f 2 satisfies the differential problem

$$\left\{ {\begin{array}{*{20}{l}} { - \Delta \left( {{G_2}{f_2}} \right) = {f_2}\quad in{\Omega _2},} \\ {{G_2}{f_2} = 0\quad \quad \quad \;\;on\partial {\Omega _2},} \end{array}} \right.$$

thanks to (18.32) the function u(2 k) −G 2 f 2 satisfies the differential problem

$$\left\{ {\begin{array}{*{20}{l}} { - \Delta \left( {u_2^{\left( k \right)} - {G_2}{f_2}} \right) = 0\quad \quad \quad \quad \quad \quad \quad \quad in{\Omega _2},} \\ {\frac{\partial }{{\partial {n_2}}}\left( {u_2^{\left( k \right)} - {G_2}{f_2}} \right) = - \frac{{\partial u_1^{\left( k \right)}}}{{\partial n}} + \frac{\partial }{{\partial n}}\left( {{G_2}{f_2}} \right)\quad on\Gamma ,} \\ {u_2^{\left( k \right)} - {G_2}{f_2} = 0\quad \quad \quad \quad \quad \quad \quad \quad \quad \quad on\partial {\Omega _2}\Gamma .\backslash } \end{array}} \right.$$
(18.36)

In particular \({{u^{(k)}_2}_{|\Gamma}=(u^{(k)}_2-G_2f_2)_{|\Gamma }}\). Since the operator S i (18.29) maps a Dirichlet data to a Neumann data on Γ, its inverse \({S^{-1}_i}\) transforms a Neumann data in a Dirichlet one on Γ.

Otherwise said, \({S^{-1}_2 \eta = w_{2_{|\Gamma}}}\), where w 2 is the solution of

$$\left\{ {\begin{array}{*{20}{l}} { - \Delta {w_2} = 0\quad in{\Omega _2},} \\ {\frac{{\partial {w_2}}}{{\partial n}} = \eta \quad on\Gamma ,} \\ {{w_2} = 0\quad \quad on\partial {\Omega _2}\backslash \Gamma .} \end{array}} \right.$$
(18.37)

Setting now

$$\eta = - {\partial u^{(k)}_1 \over \partial n} + {\partial \over \partial n} (G_2f_2),$$

and comparing (18.36) with (18.37), we conclude that

$$u^{(k)}_{2\quad \mid \Gamma} = (u^{(k)}_2 - G_2f_2)_ \mid \Gamma = S^{-1}_2 \Bigg(-{\partial u^{(k)}_1 \over \partial n} + { \partial \over \partial n} (G_2f_2) \Bigg).$$

On the other hand, owing to (18.35) and to the definition (18.28) of χ, we obtain

$$\matrix{u^{(k)}_{2\quad \mid \Gamma} = S^{-1}_2 \Bigg(-{\partial \over \partial n}(H_1 \lambda^{(k-1)}) - {\partial \over \partial n} (G_1f_1) + {\partial \over \partial n}(G_2f_2) \Bigg)\cr =S^{-1}_2 (-S_1\lambda^{(k-1)} + \chi).\cr}$$

Using (18.33) we can therefore write

$$\lambda^{(k)} = \theta \Big[S^{-1}_2 (-S_1 \lambda^{(k-1)} + \chi)\Big] + (1-\theta) \lambda^{(k-1)},$$

that is

$$\lambda^{(k)} - \lambda^{(k-1)} = \theta \big[ S^{-1}_2 (-S_1 \lambda^{(k-1)} + \chi) - \lambda^{(k-1)} \big].$$

Since −S 1 = S 2 −S, we finally obtain

$$\matrix {\lambda^{(k)} - \lambda^{(k-1)} = \theta \Big[S^{-1}_2 ((-S^{-1}_2 - S)\lambda^{(k-1)} + \chi) - \lambda^{(k-1)}\Big]\cr =\theta S^{-1}_2 (\chi - S\lambda^{(k-1)}),\cr}$$

that is (18.34). The preconditioned DN operator is therefore S 2 −1 S = I +S - 2 1 S 1.

Using an argument similar to that used for the proof of Theorem 18.2, also the Neumann-Neumann (NN) algorithm (18.17)–(18.19) can be interpreted as a precon ditioned Richardson algorithm

$$P_{NN} (\lambda^{(k)} - \lambda^{(k-1)}) = \theta (\chi - S \lambda^{(k-1)}),$$

this time the preconditioner being PNN = (D 1 S 1 −D 1 + D 2 S 2 D 2) 1 where D i is a diagonal matrix whose entries are equal to σ i . Note that the preconditioned operator becomes (if D i = I) S 2 1 S 1 + 2I + (S 2 1 S 1)−1.

Consider at last the Robin-Robin iterative algorithm (18.20)–(18.21). Denoting by \({\mu^{(k)}_i \in \Lambda}\) the approximation at step k of the trace of \({u^{(k)}_i}\) on the interface Γ,i= 1,2, it can be proven that (18.20)–(18.21) is equivalent to the following alternating direction (ADI) algorithm:

$$\matrix {(\gamma_1 i_\Lambda + S_1) \mu^{(k)}_1 = \chi + (\gamma_1 i_\Lambda + S_2) \mu^{(k-1)}_2,\cr (\gamma_2 i_\Lambda + S_2) \mu^{(k)}_2 = \chi + (\gamma_2 i_\Lambda + S_1) \mu^{(k-1)}_1,\cr}$$

where i Λ : ΛΛ' here denotes the Riesz isomorphism between the Hilbert space Λ and its dual Λ' (see (2.5)).

Should, for a convenient choice of the two parameters γ1 and γ2, the algorithm converge to two limit functions µ 1 and µ 2, then µ 1 = µ 2 = λ, the latter function being the solution to the Steklov-Poincaré equation (18.26).

The RR preconditioner reads PRR = (γ1 + γ 2)−11 iΛ + S 1 )(γ2 iΛ + S 2 ).

Remark 18.1. In the Dirichlet-Neumann algorithm, the value λ of the solution u at the interface Γ is the principal unknown. Once it has been determined, we can use it as Dirichlet data to recover the original solution in the whole domain. Alternatively, one could use the normal derivative \({\eta = {\partial u \over \partial n}}\) on Γ as principal unknown (or, for a more general partial differential operator, the conormal derivative - or flux). By proceeding as above, we can show that η satisfies the new Steklov-Poincaré equation

$$(S^{-1}_1 + S^{-1}_2)\eta = T_1f_1 + T_2f_2 \quad \rm{on}\ {\it \Gamma}$$
(18.38)

where for i = 1,2, T i fi is the solution of the following Neumann problem

$$\left\{ {\begin{array}{*{20}{l}} { - \Delta \left( {{T_i}{f_i}} \right) = {f_i}\quad in{\Omega _i},} \\ {\frac{\partial }{{\partial {n_i}}}\left( {{T_i}{f_i}} \right) = 0\quad on\Gamma ,} \\ {{T_i}{f_i} = 0\quad \quad \quad on\partial \Omega \backslash \Gamma .} \end{array}} \right.$$
(18.39)

The so-called FETI algorithms (see Sect. 18.5.4) are examples of iterative algo¬rithms designed for the solution of problems like (18.38). The FETI preconditioner is PFETI = S 1 + S 2, hence the preconditioned FETI operator is \((S_1+S_2)(S^{-1}_1+S^{-1}_2)\).

3 18.3 Multidomain formulation of the finite element approximation of the Poisson problem

What seen thus far can be regarded as propedeutical to numerical solution of boundary-value problems. In this section we will see how the previous ideas can be reshaped in the framework of a numerical discretization method. Although we will only address the case of finite element discretization, this is however not restrictive. We refer, e.g., to [CHQZ07] and [TW05] for the case of spectral or spectral element discretizations and to [Woh01] for discretization based on DG and mortar methods.

Consider the Poisson problem (3.13), its weak formulation (3.18) and its Galerkin finite element approximation (4.40) on a triangulation T h. Recall that \({V_h = {\buildrel \circ \over X}^r_h = \lbrace \nu_h \in X^r_h : \nu_h |_{\partial \Omega} =0 \rbrace}\) is the space of finite element functions of degree r vanishing on ∂Ω, whose basis is \({\lbrace \varphi_j \rbrace^{N_h}_{j=1}}\) (see Sect. 4.5.1).

For the finite element nodes in the domain Ω we consider the following partition: let \({\lbrace x^{(1)}_j , 1\leq j \leq N_1 \rbrace}\) be the nodes located in the subdomain \(\Omega_1,{\lbrace x^{(2)}_j , 1\leq j \leq N_2 \rbrace}\) those in Ω 2 and, finally, \({\lbrace x^{(\Gamma)}_j , 1\leq j \leq N_{\Gamma} \rbrace}\) those lying on the interface Γ. Let us split the basis functions accordingly: \({\varphi^{(1)}_j}\) will denote those associated to the nodes \({x^{(1)}_j}\), \({\varphi^{(2)}_j}\) those associated with the nodes \({x^{(2)}_j}\), and \({\varphi^{(\Gamma)}_j}\) those associated with the nodes \({x^{(\Gamma)}_j}\) lying on the interface. This yields

$$\varphi^{(\alpha)}_j (x^{(\beta)}_j) = \delta_{ij} \delta_{\alpha\beta},\quad 1 \leq i \leq N_{\alpha},\quad \leq j \leq N_{\beta},$$
(18.40)

with α,β = 1,2,Γ; δ ij is the Kronecker symbol.

By letting v h in (4.40) to coincide with a test function, (4.40) can be given the following equivalent formulation: find u hV h such that

$$\left\{ {\begin{array}{*{20}{l}} {a({u_h},\varphi _i^{(1)}) = F(\varphi _i^{(1)})\quad {\forall _i} = 1,...,{N_1},} \\ {a({u_h},\varphi _j^{(2)}) = F(\varphi _i^{(2)})\quad {\forall _j} = 1,...,{N_2},} \\ {a({u_h},\varphi _k^{(\Gamma )}) = F(\varphi _k^{(\Gamma )})\quad {\forall _k} = 1,...,{N_\Gamma },} \end{array}} \right.$$
(18.41)

having set F(v) = ∫ Ω fvdΩ. Let now

$$a_i (v,w) = \int_{\Omega_i}\ \nabla_v . \nabla_w d \Omega \quad \forall_v, w \epsilon V, i = 1,2$$

be the restriction of the bilinear form a (.,.) to the subdomain Ω i and define V i, h = {vH 1(Ω i) | v = 0 on ∂Ω i\Γ} (i = 1,2). Similarly we set F i(v) = ΩifvdΩ and denote by \({u^{(i)}_h =u_{h_{|_{\Omega_{i}}}}}\) the restriction of u h to the subdomain Ω i, with i= 1,2. Problem (18.41) can be rewritten in the equivalent form: find \({u^{(1)}_h \in V_{1,h}, u^{(2)}_h \in V_{2,h}}\) such that

$$\left\{ {\begin{array}{*{20}{l}} {{a_1}(u_h^{(1)},\varphi _i^{(1)}) = {F_1}(\varphi _i^{(1)})\qquad \qquad \qquad {\forall _i} = 1,...,{N_1},} \\ {{a_2}(u_h^{(2)},\varphi _j^{(2)}) = {F_2}(\varphi _j^{(2)})\qquad \qquad \qquad {\forall _j} = 1,...,{N_2},} \\ {{a_1}(u_h^{(1)},\varphi _k^{(\Gamma )}{\mid _{{\Omega _1}}}) + {a_2}(u_h^{(2)},\varphi _k^{(\Gamma )}{\mid _{{\Omega _2}}})} \\ { = {F_1}(\varphi _k^{(\Gamma )}{\mid _{{\Omega _1}}}) + {F_2}(\varphi _k^{(\Gamma )}{\mid _{{\Omega _2}}})\qquad \qquad {\forall _k} = 1,...,{N_\Gamma }} \end{array}} \right.$$
(18.42)

The interface continuity condition (18.22)5 is automatically satisfied thanks to the continuity of the functions \({u^{(i)}_h}\) Moreover, equations (18.42)1-(18.42)3 correspond to the finite element discretization of equations (18.22)1 -(18.22)6, respectively. In particular, the third of equations (18.42) must be regarded as the discrete counterpart of condition (18.22)6 expressing the continuity of normal derivatives on Γ.

Let us expand the solution u h with respect to the basis functions V h

$$u_h (x) = {{{N_1} \atop \sum} \atop j=1} u_h (x^{(1)}_j) \varphi^{(1)}_j (x) + {{{N_2} \atop \sum} \atop j=1} u_h (x^{(2)}_j) \varphi^{(2)}_j (x) + {{{N_\Gamma} \atop \sum} \atop j=1} u_h (x^{(\Gamma)}_j) \varphi^{(\Gamma)}_j (x).$$
(18.43)

From now on, the nodal values \({u_h(x^{(\alpha)}_j)}\), for α = 1,2,Γ and j = 1,...,N α, which are the expansion coefficients, will be indicated with the shorthand notation \({u^{(\alpha)}_j}\).

Using (18.43), we can rewrite (18.42) as follows:

$$\left\{ {\begin{array}{*{20}{l}} {\begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} {{N_1}} \\ \sum \end{array}} \\ {j = 1} \end{array}u_j^{(1)}{a_1}(\varphi _j^{(1)},\varphi _i^{(1)}) + \begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} {{N_\Gamma }} \\ \sum \end{array}} \\ {j = 1} \end{array}u_j^{(\Gamma )}{a_1}(\varphi _j^{(\Gamma )},\varphi _i^{(1)}) = {F_1}(\varphi _i^{(1)})\qquad {\forall _i} = 1,...,{N_1},} \\ {\begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} {{N_2}} \\ \sum \end{array}} \\ {j = 1} \end{array}u_j^{(2)}{a_2}(\varphi _j^{(2)},\varphi _i^{(2)}) + \begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} {{N_\Gamma }} \\ \sum \end{array}} \\ {j = 1} \end{array}u_j^{(\Gamma )}{a_2}(\varphi _j^{(\Gamma )},\varphi _i^{(2)}) = {F_2}(\varphi _i^{(2)})\qquad {\forall _i} = 1,...,{N_2},} \\ {\begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} {{N_\Gamma }} \\ \sum \end{array}} \\ {j = 1} \end{array}u_j^{(\Gamma )}[{a_1}(\varphi _j^{(\Gamma )},\varphi _i^{(\Gamma )}) + {a_2}(\varphi _j^{(\Gamma )},\varphi _i^{(2)})]\quad } \\ { + \begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} {{N_1}} \\ \sum \end{array}} \\ {j = 1} \end{array}u_j^{(1)}{a_1}(\varphi _j^{(1)},\varphi _i^{(\Gamma )}) + \begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} {{N_2}} \\ \sum \end{array}} \\ {j = 1} \end{array}u_j^{(2)}{a_2}(\varphi _j^{(2)},\varphi _i^{(\Gamma )})} \\ { = {F_1}(\varphi _i^{(\Gamma )}{\mid _{{\Omega _1}}}) + {F_2}(\varphi _i^{(\Gamma )}{\mid _{{\Omega _2}}})\qquad \qquad \qquad \qquad \qquad \qquad {\forall _i} = 1,...,{N_\Gamma }.} \end{array}} \right.$$
(18.44)

Let us introduce the following arrays:

$$\matrix {(A_{11})_{ij} = a_1 (\varphi^{(1)}_j , \varphi^{(1)}_i), &(A_{1\Gamma})_{ij} = a_1 (\varphi^{(\Gamma)}_j , \varphi^{(1)}_i),\cr (A_{22})_{ij} = a_2 (\varphi^{(2)}_j , \varphi^{(2)}_i), &(A_{2\Gamma})_{ij} = a_2 (\varphi^{(\Gamma)}_j , \varphi^{(2)}_i),\cr (A^1_{\Gamma \Gamma})_{ij} = a_1 (\varphi^{(\Gamma)}_j , \varphi^{(\Gamma)}_i), &(A^2_{\Gamma \Gamma})_{ij} = a_2 (\varphi^{(\Gamma)}_j , \varphi^{(\Gamma)}_i),\cr (A_{\Gamma 1})_{ij} = a_1 (\varphi^{(1)}_j , \varphi^{(\Gamma)}_i), &(A_{\Gamma 2})_{ij} = a_2 (\varphi^{(2)}_j , \varphi^{(\Gamma)}_i),\cr ({\rm \bf f}_1)_i = F_1 (\varphi^{(1)}_i), &({\rm \bf f}_2)_i = F_2 (\varphi^{(2)}_i),\cr ({\rm \bf f}_1^{\Gamma})_i = F_1 (\varphi^{(\Gamma)}_i), &({\rm \bf f}_2^{\Gamma})_i = F_2 (\varphi^{(\Gamma)}_i, \varphi^{(1)}_i),\cr}$$

then set

$${\rm {\bf u} = ({\bf u}_1 , {\bf u}_2} , {\bf \lambda})^T ,\ {\rm with\ {\bf u}_1} = \Big (u^{(1)}_j \Big ), {\rm {\bf u}_2} = \Big (u^{(2)}_j \Big )\ {\rm and}\ \lambda = \Big (u^{(\Gamma)}_j \Big ).$$
(18.45)

Problem (18.44) can be casted in the following algebraic form

$$\left\{ {\begin{array}{*{20}{l}} {{A_{11}}{{\mathbf{u}}_1} + {A_{1\Gamma }}\lambda = {{\mathbf{f}}_1},} \\ {{A_{22}}{{\mathbf{u}}_2} + {A_{2\Gamma }}\lambda = {{\mathbf{f}}_2},} \\ {{A_{\Gamma 1}}{{\mathbf{u}}_1} + {A_{\Gamma 2}}{{\mathbf{u}}_2} + (A_{\Gamma \Gamma }^{(1)} + A_{\Gamma \Gamma }^{(2)})\lambda = {\mathbf{f}}_2^\Gamma + {\mathbf{f}}_2^\Gamma ,} \end{array}} \right.$$
(18.46)

or, equivalently,

$$A{\mathbf{u}} = {\mathbf{f}},\;{\text{that}}\;{\text{is}}\left[ {\begin{array}{*{20}{l}} {{A_{11}}\quad 0\quad {A_{1\Gamma }}} \\ {0\quad {A_{22}}\quad {A_{2\Gamma }}} \\ {{A_{\Gamma 1}}\quad {A_{\Gamma 2}}\quad {A_{\Gamma \Gamma }}} \end{array}} \right]\left[ {\begin{array}{*{20}{l}} {{u_1}} \\ {{u_2}} \\ \lambda \end{array}} \right] = \left[ {\begin{array}{*{20}{l}} {\begin{array}{*{20}{l}} {{f_1}} \\ {{f_2}} \\ {f\Gamma } \end{array}} \end{array}} \right],$$

having set \({A_{\Gamma \Gamma}=\Big ( A^{(1)}_{\Gamma \Gamma}+A^{(2)}_{\Gamma \Gamma} \Big)}\) and \({{\bf f}_\Gamma = {\bf f}^\Gamma_1 + {\bf f}^\Gamma_2}\) (18.47) is nothing but a blockwise representation of the finite element system (4.46), the blocks being determined by the partition (18.45) of the vector of unknowns.

More precisely, the first and second equations of (18.46) are discretizations of the given Poisson problems in Ω1 and Ω2, respectively for the interior values u 1 and u 2, with Dirichlet data vanishing on ∂Ω i \ Γ and equal to the common value λ on Γ.

Alternatively, by setting (from the third equation of (18.46))

$$A_{\Gamma_1} {\rm \bf u}_1 + A^{(1)}_{\Gamma\Gamma} \lambda - {\rm \bf f}^1_\Gamma = - (A_{\Gamma_2} {\rm \bf u}_2 + A^{(2)}_{\Gamma\Gamma} \lambda - {\rm \bf f}^2_\Gamma) \equiv {\bf \eta},$$
(18.48)

the first and third equations of (18.46) provide a discretization of the Poisson problem in Ω 1 with vanishing Dirichlet data on ∂Ω 1 \Γ and with Neumann data η on Γ.

Similar considerations apply to the second and third equations of (18.46): they represent the discretization of a Poisson problem in Ω 2 with zero Dirichlet data in ∂Ω 2 \Γ and Neumann data equal to η on Γ.

3.1 18.3.1 The Schur complement

Consider now the Steklov-Poincaré interface equation (18.26) and look for its finite element counterpart. Since λ represents the unknown value of u on Γ, its finite element correspondent is the vector λ of the values of u h at the interface nodes.

By gaussian elimination operated on system (18.47), we can obtain a new reduced system on the sole unknown λ.

Matrices A 11 and A 22 are invertible since they are associated with two homoge¬neous Dirichlet boundary-value problems for the Laplace operator, hence

$${\rm \bf u}_1 = A^{-1}_{11} ({\rm \bf f}_1 - A_{1\Gamma} \lambda) \quad {\rm and} \quad {\rm \bf u}_2 = A^{-1}_{22} ({\rm \bf f}_2 - A_{2\Gamma} \lambda).$$
(18.49)

From the third equation in (18.46), we obtain

$$\begin{array}{*{20}{l}} {[(A_{\Gamma \Gamma }^{(1)} - {A_{\Gamma 1}}A_{11}^{ - 1}{A_{1\Gamma }}) + (A_{\Gamma \Gamma }^{(2)} - {A_{\Gamma 2}}A_{22}^{ - 1}{A_{2\Gamma }})]\lambda } \\ { = {{\mathbf{f}}_\Gamma } - {A_{\Gamma 1}}A_{11}^{ - 1}{{\mathbf{f}}_1} - {A_{\Gamma 2}}A_{22}^{ - 1}{{\mathbf{f}}_2} = ({\mathbf{f}}_\Gamma ^{(1)} - {A_{\Gamma 1}}A_{11}^{ - 1}{{\mathbf{f}}_1}) + ({\mathbf{f}}_\Gamma ^{(2)} - {A_{\Gamma 1}}A_{11}^{ - 1}{{\mathbf{f}}_1}).} \end{array}$$
(18.50)

Using the following definitions:

$$\Sigma = \Sigma_1 + \Sigma_2, \qquad \Sigma_i = A^{(1)}_{\Gamma\Gamma} - A_{\Gamma i} A_{ii}^{-1} A_{i\Gamma}, \qquad i = 1,2,$$
(18.51)

and

$$\chi_\Gamma = \chi_\Gamma^{(1)} + \chi_\Gamma^{(2)},\quad \chi_\Gamma^{(i)} = {\rm \bf f}_\Gamma^{(i)} - A_{\Gamma_i}A_{ii}{\rm \bf f}_i,$$
(18.52)

(18.50) becomes

$$\Sigma \lambda = \chi_\Gamma$$
(18.53)

Since and χΓ approximate S and χ, respectively, (18.53) can be considered as a finite element approximation to the Steklov-Poincaré equation (18.26). Matrix is the so-called Schur complement of A with respect to u 1 and u 2, whereas matrices i are the Schur complements related to the subdomains Ω i (i = 1,2).

Once system (18.53) is solved w.r.t the unknown A, by virtue of (18.49) we can com¬pute u1 and u2. This computation amounts to solve numerically two Poisson problems on the two subdomains Ω 1 and Ω 2, with Dirichlet boundary conditions \(u^{(i)}_h=\lambda_h(i=1,2)\) on the interface Γ.

The Schur complement Σ inherits some of the properties of its generating matrix A, as stated by the following result:

Lemma 18.1. Matrix Σ satisfies the following properties:

  1. 1.

    if A is singular, so is Σ;

  2. 2.

    if A (respectively, A ii) is symmetric, then Σ (respectively, Σ i) is symmetric too;

  3. 3.

    if A is positive definite, so is Σ.

Recall that the condition number of the finite element stiffness matrix A satisfies K2(A)Ch −2 (see (4.50)). As of Σ, it can be proven that

$$K_2 (\Sigma) \simeq Ch^{-1}.$$
(18.54)

In the specific case under consideration, A (and therefore Σ, thanks to Lemma 18.1) is symmetric and positive definite. It is therefore convenient to use the conjugate gradient method (with a suitable preconditioner) for the solution of system (18.53). At every iteration, the computation of the residue will involve the finite element solution of two independent Dirichlet boundary-value problems on the subdomains Ω i.

By employing a similar procedure we can derive instead of (18.53) an interface equation for the flux η introduced in (18.48). From (18.47) and (18.48) we derive

$${\Bigg \lbrack{A_{11} \quad A_{1\Gamma} \atop A_{\Gamma1} \quad A_{\Gamma\Gamma}^{(1)}}\Bigg \rbrack} {\Bigg \lbrack{{\rm \bf u}_1 \atop \lambda}\Bigg \rbrack} = {\Bigg \lbrack{{\rm \bf f}_1 \atop {\rm \bf f}_\Gamma^{(1)} + \eta}\Bigg \rbrack}.$$
(18.55)

By eliminating u 1 from the first row and replacing it in the second one we obtain

$$\Sigma_1 \lambda = \chi^{(1)}_\Gamma + \eta ,\ {\rm that is}\ \lambda = \Sigma^{-1}_1 (\chi^{(1)}_\Gamma + \eta).$$
(18.56)

Proceeding in a similar way we obtain

$$\Sigma_2 \lambda = \chi^{(2)}_\Gamma - \eta ,\ {\rm that is}\ \lambda = \Sigma^{-1}_2 (\chi^{(2)}_\Gamma - \eta).$$
(18.57)

By equating the last two equations (whose common value is λ) we finally obtain the Schur-complement equation for the flux η:

$$T \eta = \psi_\Gamma, \qquad {\rm with}\ T = \Sigma^{-1}_1 + \Sigma^{-1}_2, \psi_\Gamma = \Sigma^{-1}_2 \chi^{(2)}_\Gamma - \Sigma^{-1}_1 \chi^{(1)}_\Gamma.$$
(18.58)

This algebraic equation can be regarded as a direct discretization of the Steklov-Poincaré problem for the flux (18.38).

3.2 18.3.2 The discrete Steklov-Poincaré operator

In this section we will find the discrete operator associated with the Schur complement. With this aim, besides the space V i ,h previously introduced, we will need the one V i 0 ,h generated by the functions \({\lbrace \varphi^{(i)}_j}\rbrace\) exclusively associated to the internal nodes of the subdomain Ω i, and the space Λ h generated by the set of functions \({\lbrace\varphi_j^{(\Gamma)}}_{|\Gamma}\rbrace\). We have Λ h = {µ h | ∃v hV h : v h |Γ = µh}, whence Λ h represents a finite element subspace of the trace functions space Λ introduced in (18.30).

Consider now the following problem: find H i ,hηhV i,h, with H i ,hηh = ηh on Γ, such that

$$\int_{\Omega_i} \nabla (H_{i,h} \eta_h) \cdot \nabla_{v_h} d \Omega_i = 0 \qquad \forall_{v_h} \in V^0_{i,h}.$$
(18.59)

Clearly, H i , hηh represents a finite element approximation of the harmonic extension H iηh, and the operator H i ,h : ηhH i ,hηh can be regarded as an approximation ofH i. By expanding H i ,hηh in terms of the basis functions

$$H_{i,h} \eta_h = {{N_i \atop \sum} \atop j=1} u^{(i)}_j \varphi^{(i)}_j + {{N_\Gamma \atop \sum} \atop k=1} \eta_k \varphi^{(\Gamma)}_{k\ \ \mid_{\Omega_i}},$$

we can rewrite (18.59) in matrix form

$$A_{ii} {\rm \bf u}^{(i)} = -A_{i\Gamma} \eta.$$
(18.60)

The following result, called the uniform discrete extension theorem, holds:

Theorem 18.3. There exist two constants Ĉ 1,Ĉ 2 > 0, independent ofh, such t hat

$$\hat C_1 \| \eta_h \|_\Lambda \leq \| H_{i,h} \eta_h \|_{H^1(\Omega_i)} \leq \hat C_2 \| \eta_h \|_\Lambda \qquad \forall \eta_h \in \Lambda_h \quad i = 1,2.$$
(18.61)

Consequently, there exist two constants K 1,K 2 > 0, independent of h, such that

$$K_1 \| H_{1,h}\eta_h \|_{H^1(\Omega_1)} \leq \| H_{2,h}\eta_h \|_{H^1(\Omega_2)} \leq K_2 \| H_{1,h}\eta_h \|_{H^1(\Omega_1)} \quad \forall \eta_h \in \Lambda_h.$$
(18.62)

For the proof see, e.g., [QV99].

Now for i = 1,2 the (local) discrete Steklov-Poincaré operator is defined as follows: S i,h : Λ h → Λ' h,

$$\langle S_{i,h}\eta_h,\mu_h \rangle = \int_{\Omega_i} \nabla (H_{i,h}\eta_h)\cdot \nabla (H_{i,h}\mu_h) d\Omega_i \quad \forall \eta_h, \mu_h\ \in\ \Lambda_h,$$
(18.63)

then we define the (global) discrete Steklov-Poincaré operator as S h = S 1,h +S 2,h .

Lemma 18.2. The local discrete Steklov-Poincaré operator can be expressed in terms of the local Schur complement as

$$\langle S_{i,h}\eta_h,\mu_h \rangle = \mu^T \Sigma_i \eta \quad \forall \eta_h, \mu_h \in \Lambda_h , i = 1,2,$$
(18.64)

where

$$\eta_h = \sum^{N_\Gamma}_{k=1} \eta_k \varphi_{k\quad\mid_\Gamma}^{(\Gamma)},\qquad \mu_h = \sum^{N_\Gamma}_{k=1} \mu_k \varphi_{k\quad\mid_\Gamma}^{(\Gamma)}$$

and

$$\eta = (\eta_1,...,\eta_{N_\Gamma})^T,\qquad \mu = (\mu_1,...,\mu_{N_\Gamma})^T.$$

Therefore the global discrete Steklov-Poincaré operator S h = S1,h + S 2,h satisfies the relation

$$\langle S_h \eta_h, \mu_h \rangle = {\bf \mu^T \Sigma \eta} \quad \forall \eta_h, \mu_h \in \Lambda_h.$$
(18.65)

Proof. For i = 1,2 we have

$$\matrix{\langle {S_{i,h}\eta_{h}, \mu_{h}}\rangle =a_{i}(H_{i,h}\eta_{h},H_{i,h}\mu_{h})\cr =a_{i}{\Bigg ( {{N_{\Gamma} \atop \sum} \atop j=1}u_{j}\varphi _{j}^{(i)}+{{{N_{\Gamma} \atop \sum} \atop k=1}\eta_{k}\varphi _{k}^{(\Gamma)}}_{\mid \Omega_{i}},{{N_{\Gamma} \atop \sum} \atop l=1}w_{l}\varphi _{l}^{i}+ {{{{N_{\Gamma} \atop \sum} \atop m=1} \mu _{m}\varphi _m^{(\Gamma)} }_{\mid_{\Omega_{i}}}}\Bigg )}\cr ={{N_{\Gamma} \atop \sum} \atop j,l=1}w_la_i(\varphi _j^{(i)},\varphi _l^{(i)})u_{j}+ {{{N_{\Gamma} \atop \sum} \atop j,m=1}\mu_{m}a_{i}}({\varphi _j^{(i)},\varphi _m^{(\Gamma)}}_{\mid_{\Omega_{i}}})u_{j}\cr +{{N_{\Gamma} \atop \sum} \atop k,l=1}w_{l}a_{i}({\varphi _k^{(\Gamma)}}_{\mid_{\Omega_{i}}},\varphi _l^{(i)})\eta _k + {{N_{\Gamma} \atop \sum} \atop k,m=1}\mu _{m}a_{i}({\varphi _k^{(\Gamma)}}_{\mid_{\Omega_{i}}}, {\varphi _{m}^{\Gamma}}_{\mid_{\Omega_{i}}})\eta _k \cr ={\rm \bf w}^{T}{\bf A}_{ii}{\rm \bf u}+ {\bf \mu}^{T} {\rm A}_{\Gamma i} {\rm \bf u}+ {\rm \bf w}^{T}{\bf A}_{i \Gamma} {\bf \eta} + {\bf \mu} ^{T} {\rm A}_{\Gamma\Gamma}^{(i)}{\bf \eta}.}$$

Thanks to (18.60) we obtain

$$ \matrix {\langle S_{i,h} \eta_h, \mu_h \rangle = -w^T A_{i\Gamma}\eta - \mu^T A_{\Gamma i}A^{-1}_{ii}A_{i \Gamma \eta} + w^T A_{i\Gamma}\eta + \mu^T A^{(i)}_{\Gamma\Gamma} \eta \cr = \mu^T \Big ( A^{(i)}_{\Gamma\Gamma} - A_{\Gamma i} A^{-1}_{ii} A_{i \Gamma} \Big ) \eta \cr = \mu^T \Sigma_i \eta. \cr}$$

From Theorem 18.3 and thanks to the representation (18.63), we deduce that there exist two constants \({\hat K_1, \hat K_2 > 0,}\) independent of h, such that

$$\hat K_1 \langle S_{1,h} \mu_h, \mu_h \rangle \leq \langle S_{2,h} \mu_h, \mu_h \rangle \leq \hat K_2 \langle S_{1,h} \mu_h, \mu_h \rangle \quad \forall \eta_h \in \Lambda_h.$$
(18.66)

Thanks to (18.64) we can infer that there exist two constants \({\hat K_1, \hat K_2 > 0,}\) independent of h, such that

$${\hat K_1}({\mu ^T}{\Sigma _1}\mu ) \leqslant {\mu ^T}{\Sigma _2}\mu \leqslant {\text{ }}{\hat K_2}({\mu ^T}{\Sigma _1}\mu )\qquad \forall \mu \in {R^{{N_\Gamma }}}.$$
(18.67)

This amounts to say that the two matrices Σ 1 and Σ 2 are spectrally equivalent, that is their spectral condition number features the same asymptotic behaviour w.r.t h. Hence¬forth, both Σ 1 and Σ 2 provide an optimal preconditioner of the Schur complement Σ, that is there exists a constant C, independent of h, such that

$$K_2 (\Sigma_i^{-1} \Sigma) \leq C, \quad i = 1,2.$$
(18.68)

As we will see in Sect. 18.3.3, this property allows us to prove that the discrete version of the Dirichlet-Neumann algorithm converges with a rate independent of h. A similar result holds for the discrete Neumann-Neumann and Robin-Robin algorithms.

3.3 18.3.3 Equivalence between the Dirichlet-Neumann algorithm and a preconditioned Richardson algorithm in the discrete case

Let us now prove the analogue of the equivalence theorem 18.2 in the algebraic case. The finite element approximation of the Dirichlet problem (18.31) has the following algebraic form

$$A_{11}{\rm \bf u}^{(k)}_1 = {\rm \bf f}_1 - A_{1\Gamma} \lambda^{(k-1)},$$
(18.69)

whereas that of the Neumann problem (18.32) reads

$${\Bigg \lbrack {A_{22} \quad A_{2\Gamma} \atop A_{\Gamma2} \quad A_{\Gamma\Gamma}^{(2)}} \Bigg \rbrack} \ {\Bigg \lbrack {{\rm \bf u}_{2}^{(k)} \atop \lambda^{(k-1/2)}} \Bigg \rbrack} = {\Bigg \lbrack {{\rm \bf f}_{2} \atop {\rm \bf f}_\Gamma - A_{\Gamma1} {\rm \bf u}_{1}^{(k)} - A^{(k)}_{\Gamma\Gamma}\lambda^{(k-1)}} \Bigg \rbrack}.$$
(18.70)

In its turn, (18.33) becomes

$$\lambda^{(k)} = \theta \lambda^{(k-1/2)} + (1 - \theta) \lambda^{(k-1)}.$$
(18.71)

By eliminating u(2 k) from (18.70) we obtain

$$\Big (A^{(2)}_{\Gamma\Gamma} - A_{\Gamma2} A^{-1}_{22} A_{2\Gamma}\Big ) \lambda^{(k-1/2)} = {\rm \bf f}_\Gamma - A_{\Gamma1} {\rm \bf u}^{(k)}_1 - A_{\Gamma\Gamma}^{(1)}\lambda^{(k-1)} - A_{\Gamma2}A^{-1}_{22} {\rm \bf f}_2.$$

By the definition (18.51) of Σ 2 and by (18.69), one has

$$\Sigma_2 \lambda^{(k-1/2)} = {\rm \bf f}_\Gamma - A_{\Gamma1} A_{11}^{-1} {\rm \bf f}_1 - A_{\Gamma2} A_{22}^{-1} {\rm \bf f}_2 - \Big ( A^{(1)}_{\Gamma\Gamma} - A_{\Gamma1} A_{1\Gamma}^{-1} A_{1\Gamma} \Big ) \lambda^{(k-1)},$$

that is, owing to the definition (18.51) of Σ 1 and to (18.52),

$$\lambda^{(k-1/2)} = \Sigma^{-1}_2 \Big (\chi_\Gamma - \Sigma_1 \lambda^{(k-1)}\Big ).$$

Now, by virtue of (18.71) we deduce

$$\lambda^{(k)} = \theta \Sigma^{-1}_2 \Big (\chi_\Gamma - \Sigma_1 \lambda^{(k-1)}\Big ) + (1 - \theta) \lambda^{(k-1)},$$

that is, since 1 = −Σ+Σ 2,

$$\lambda^{(k)} = \theta \Sigma^{-1}_2 \Big ( \chi_\Gamma - \Sigma \lambda^{(k-1)} + \Sigma_2 \lambda^{(k-1)} \Big ) + (1-\theta) \lambda^{(K-1)}$$

whence

$$\Sigma_2(\lambda^{(k)} - \lambda^{(k-1)}) = \theta (\chi_\Gamma - \Sigma \lambda^{(k-1)}).$$

The latter is nothing but a Richardson iteration on the system (18.53) using the local Schur complement Σ 2 as preconditioner.

Remark 18.2. The Richardson preconditioner induced by the Dirichlet-Neumann algorithm is in fact the local Schur complement associated to that subdomain on which we solve a Neumann problem. So, in the so-called Neumann-Dirichlet algorithm, in which at every iteration we solve a Dirichlet problem in Ω 2 and a Neumann one in Ω 1, the preconditioner of the associated Richardson algorithm would be Σ 1 and not Σ 2.

Remark 18.3. An analogous result can be proven for the discrete version of the Neumann-Neumann algorithm introduced in Sect. 18.1.3. Precisely, the Neumann-Neumann algorithm is equivalent to the Richardson algorithm applied to system (18.53) with a preconditioner whose inverse is given by P h −1 = σ 1 Σ 1 1 +σ 2 Σ 2 1 , σ 1 and σ 2 being the coefficients used for the (discrete) interface equation which corresponds to (18.19). Moreover we can prove that there exists a constant C > 0, independent of h, such that

$$K_2 ((\sigma_1 \Sigma_1^{-1} + \sigma_2 \Sigma_2^{-1})\Sigma) \leq C.$$

Proceeding in a similar way we can show that the discrete version of the Robin-Robin algorithm (18.20)-(18.21) is also equivalent to a Richardson algorithm for (18.53), using this time as preconditioner the matrix (γ 1 + γ 2)1 (γ 1 I + Σ 1)(γ 2 I + Σ 2).

Let us recall that a matrix P h is an optimal preconditioner for E if the condition number of P h 1 Σ is bounded uniformely w.r.t the dimension N of the matrix Σ (and therefore from h in the case in which Σ arises from a finite element discretization).

We can therefore summarize by saying that for the solution of system Σλ = χΓ, we can make use of the following preconditioners, all of them being optimal:

$${P_h} = \left\{ {\begin{array}{*{20}{l}} {{P_h} = {\text{ }}{\Sigma _2}{\text{ for}}\;{\text{the}}\;{\text{Dirichlet - Neumann}}\;{\text{algorithm}},} \\ {{\Sigma _1}{\text{ for}}\;{\text{the}}\;{\text{Neumann - Dirichlet}}\;{\text{algorithm}},} \\ {{{({\sigma _1}\Sigma _1^{ - 1} + {\sigma _2}\Sigma _2^{ - 1})}^{ - 1}}{\text{ for}}\;{\text{the}}\;{\text{Neumann - Neumann}}\;{\text{algorithm}},} \\ {{{({\gamma _1} + {\gamma _2})}^{ - 1}}({\gamma _1}I + {\Sigma _1})({\gamma _2}I + {\Sigma _2}){\text{ for}}\;{\text{the}}\;{\text{Robin - Robin}}\;{\text{algorithm}}.} \end{array}} \right.$$
(18.72)

When solving the flux equation (18.58), the FETI preconditioner reads P h = (Σ 1 + Σ 2)−1, yelding the preconditioned matrix (Σ 1 +Σ 2)(Σ 1 −1 +Σ 2 −1). For all these precon-ditioners, optimality follows from the spectral equivalence (18.67), hence K 2(P h −1 Σ) is bounded independently of h.

From the convergence theory of Richardson method we know that if both Σ and P h are symmetric and positive definite, one has ‖ λ n − λ‖Σ ≤ ρ n‖λ0 − λ‖Σ, n≥0, being ‖υΣ = (υ TΣυ)1/2. The optimal convergence rate is given by

$$\rho = {K_2 (P_h^{-1} \Sigma) -1 \over K_2 (P_h^{-1} \Sigma) +1},$$

and is therefore independent of h.

4 18.4 Generalization to the case of many subdomains

To generalize the previous DD algorithms to the case in which the domain Ω is parti-tioned into an arbitrary number M > 2 of subdomains we proceed as follows. Let Ω i, i = 1,...,M, denote a family of disjoint subdomains such that \({\cup \overline \Omega_i = \overline \Omega}\) and denote Γ i =∂Ω i \ ∂Ω and Γ = ⋃Γ i (the skeleton).

Let us consider the Poisson problem (3.13). In the current case the equivalence Theorem 18.1 generalizes as follows:

$$\left\{ {\begin{array}{*{20}{l}} { - \Delta {u_i} = f\quad \quad in{\Omega _i},} \\ {{u_i} = {u_k}\quad \quad \quad on{\Gamma _{ik}},\quad \forall k \in A\left( i \right),} \\ {\frac{{\partial {u_i}}}{{\partial {n_i}}} = \frac{{\partial {u_k}}}{{\partial {n_i}}}\quad \quad on{\Gamma _{ik}},\quad \forall k \in A\left( i \right),} \\ {{u_i} = 0\quad \quad \quad \quad on\partial \Omega i \cap \partial \Omega ,} \end{array}} \right.$$
(18.73)

for i = 1,...,M, being Γ ik = ∂Ω i ∩ ∂Ω k ≠ ∅ , A(i ) the set of indices k such that Ω k is adjacent to Ω i; as usual, n i denotes the outward unit normal vetor to Ω i.

Assume now that (3.13) has been approximated by the finite element method. Fol¬lowing the ideas presented in Sect. 18.3 and denoting by u = (u I ,u Γ )T the vector of unknowns split in two subvectors, the one (u I ) related with the internal nodes, and that (u Γ ) related with the nodes lying on the skeleton Γ, the finite element algebraic system can be reformulated in blockwise form as follows

$$\left[ {\begin{array}{*{20}{l}} {{A_{II}}\quad {A_{I\Gamma }}} \\ {{A_{\Gamma I}}\quad {A_{\Gamma \Gamma }}} \end{array}} \right]\left[ {\begin{array}{*{20}{l}} {{u_I}} \\ {{u_\Gamma }} \end{array}} \right] = \left[ {\begin{array}{*{20}{l}} {{f_I}} \\ {{f_\Gamma }} \end{array}} \right],$$
(18.74)

being A ΓI = A T . Matrix A is banded, while A II has the block diagonal form

$${A_{II}} = \left[ {\begin{array}{*{20}{l}} {{A_\Omega }_{1,\Omega 1}\quad 0\quad \cdots \quad 0} \\ {0\quad \quad \quad \ddots \quad \quad \; \vdots } \\ { \vdots \quad \quad \quad \quad \; \ddots \quad 0} \\ {0\quad \quad \ldots \quad 0\quad {A_{\Omega M,\Omega M}}} \end{array}} \right].$$
(18.75)

We are using the following notations:

$$\matrix {(A_{\Omega_{i},\Omega_{i}})_{lj}=a_{i}(\varphi_{j},\varphi_{l}), \quad 1\leq l,j\leq N_{i},\cr (A_{\Gamma \Gamma}^{(i)})_{sr}=a_{i}({\sl\Psi}_{r},{\sl\Psi}_{s}),\quad 1\leq r,s\leq N_{\Gamma_{i}},\cr \qquad \qquad \quad\ (A_{\Omega_{i},\Gamma})_{lr}=a_{i}({\sl\Psi}_{r},\varphi_{l}),\quad 1\leq r \leq N_{\Gamma_{i}},\quad 1\leq l \leq N_{i},}$$

where N i is the number of nodes internal to Ω i, i that of the nodes sitting on the interface Γ i, φ j and ψ r the basis functions associated with the internal and interface nodes, respectively.

Let us remark that on every subdomain Ω i the matrix

$${A_i} = \left[ {\begin{array}{*{20}{l}} {{A_{{\Omega _i},{\Omega _i}}}\quad {A_{\mathop {{\Omega _i}}\limits_{\left( i \right)} ,\Gamma }}} \\ {{A_{\Gamma ,{\Omega _i}}}\quad {A_{\Gamma \Gamma }}} \end{array}} \right]$$
(18.76)

represents the local finite element stiffness matrix associated to a Neumann problem on Ω i. Since A II is non-singular, from (18.74) we can formally derive

$${\rm \bf u}_{I}=A_{II}^{-1}({\rm \bf f}_{I}-A_{I\Gamma}{\rm \bf u}_{\Gamma}).$$
(18.77)

By eliminating the unknown u I from system (18.74), it follows

$$A_{\Gamma \Gamma}{\rm \bf u}_{\Gamma}={\rm \bf f}_{\Gamma}-A_{\Gamma I}A_{II}^{-1}({\rm \bf f}_{I}-A_{I \Gamma}{\rm \bf u}_{\Gamma}),$$

that is

$$\left( {\begin{array}{*{20}{l}} {{A_{II}}\quad AI\Gamma } \\ {0\quad \;\;\sum } \end{array}} \right)\left( {\begin{array}{*{20}{l}} {{u_I}} \\ {{u_\Gamma }} \end{array}} \right) = \left( {\begin{array}{*{20}{l}} {{f_I}} \\ {X\Gamma } \end{array}} \right)$$
(18.78)

having set

$${\it \Sigma} = A_{\Gamma \Gamma}-A_{\Gamma I}A_{II}^{-1}A_{I \Gamma}\ {\rm and}\ {\cal X}_{\Gamma}={\rm \bf f}_{\Gamma}-A_{\Gamma I}A^{-1}_{II}{\rm \bf f}_{I}.$$

Denoting, as usual, λ = u Γ , (18.78) yields

$${\it \Sigma \lambda}={\cal X}_{\Gamma}.$$
(18.79)

This is the Schur complement system in the multidomain case. It can be regarded as a finite element approximation of the interface Steklov-Poincaré problem in the case of M subdomains.

The local Schur complements are defined as

$${\it \Sigma}_{i}=A_{\Gamma \Gamma}^{(i)}-A_{\Gamma, \Omega_{i}}A^{-1}_{\Omega_{i},\Omega_{i}}A_{\Omega_{i},\Gamma},\quad i=1,\dots,M,$$
(18.80)

hence

$${\Sigma = R^{T}_{\Gamma_{1}}\Sigma_{1}R_{\Gamma_{1}} + ... +R^{T}_{\Gamma_{M}}\Sigma_{M}R_{\Gamma_{M}}}$$
(18.81)

where R Γi is a restriction operator, that is a rectangular matrix of zeros and ones that map values on Γ onto those on Γ i, i = 1,...,M. Note that the r.h.s. of (18.79) can be written as a sum of local contributions,

$${X_{\Gamma} = \sum^{M}_{i=1}R^{T}_{\Gamma_{i}}\Big({\bf f}^{(i)}_{\Gamma} - A_{\Gamma,\Omega_{i}}A^{-1}_{\Omega_{i} \Omega_{i}}{\bf f}^{(i)}_{I}\Big)}$$
(18.82)

A general algorithm to solve the finite element Poisson problem in Ω could be formulated as follows:

  1. 1.

    compute the solution of (18.79) to obtain the value of λ on the skeleton Γ;

  2. 2.

    then solve (18.77); since A II is block-diagonal, this step yields the solution of M independent subproblems of reduced dimension, ii u i I = g i, i= 1,...,M, which can therefore be carried out in parallel.

About the condition number of ∑, the following estimate can be proven: there exists a constant C > 0, independent of h and H min,Hmax, such that

$${K_{2}(\Sigma) \leq C {H_{max} \over hH^{2}_{min}},}$$
(18.83)

H max being the maximum diameter of the subdomains and H min the minimum one.

Remark 18.4 (Approximation of the inverse of A). The inverse of the block matrix A in (18.74) admits the following LDU factorization

$${A^{ - 1}} = \left[ {\begin{array}{*{20}{l}} {I\quad - A_{II}^{ - 1}{A_{I\Gamma }}} \\ {0\quad \quad \quad I} \end{array}} \right]\left[ {\begin{array}{*{20}{l}} {A_{II}^{ - 1}\quad \quad 0} \\ {0\quad \quad {\sum ^{ - 1}}} \end{array}} \right]\left[ {\begin{array}{*{20}{l}} {I\quad \quad \quad \quad 0} \\ { - {A_{\Gamma I}}A_{II}^{ - 1}\quad I} \end{array}} \right]$$
(18.84)

Should we have suitable preconditioners B II of A II and P of Σ, an approximation of A - 1 would be given by

$$P_A^{ - 1} = \left[ {\begin{array}{*{20}{l}} {I\quad - B_{II}^{ - 1}{A_{I\Gamma }}} \\ {0\quad \quad \quad I} \end{array}} \right]\left[ {\begin{array}{*{20}{l}} {B_{II}^{ - 1}\quad \quad 0} \\ {0\quad \quad {P^{ - 1}}} \end{array}} \right]\left[ {\begin{array}{*{20}{l}} {I\quad \quad \quad \quad 0} \\ { - {A_{\Gamma I}}B_{II}^{ - 1}\quad I} \end{array}} \right]$$
(18.85)

An application of P A −1 to a given vector involves B II 1 in two matrix-vector multiplies and P −1 in only one matrix-vector multiply (see [TW05, Sect. 4.3]).

Remark 18.5 (Saddle-point systems). In case of a saddle-point (block) matrix like the one in (16.58), an LDU factorization can be obtained as follows

$$K = \left[ {\begin{array}{*{20}{l}} {A\quad {B^T}} \\ {B\quad - C} \end{array}} \right] = \left[ {\begin{array}{*{20}{l}} {{I_A}\quad \quad 0} \\ {B{A^{ - 1}}\quad {I_C}} \end{array}} \right]\left[ {\begin{array}{*{20}{l}} {A\quad 0} \\ {0\quad S} \end{array}} \right]\left[ {\begin{array}{*{20}{l}} {{I_A}\quad {A^{ - 1}}{B^T}} \\ {0\quad \quad {I_C}} \end{array}} \right]$$
(18.86)

where S = −C−BA −1 B T is the Schur complement computed with respect to the second variable (e.g. P in the case of system (16.58)).

An inverse of K is obtained as

$${K^{ - 1}} = \left[ {\begin{array}{*{20}{c}} {{A^{ - 1}}}&0 \\ 0&0 \end{array}} \right] + Q{S^{ - 1}}{Q^T},\;Q = \left[ {\begin{array}{*{20}{c}} { - {A^{ - 1}}{B^T}} \\ I \end{array}} \right],$$
(18.87)

being I A and I C two identity matrices having the size of A and C, respectively. A pre-conditioner for K can be constructed by replacing in (18.87) A −1 and S −1 by suitable domain decomposition preconditioners of A and S, respectively.

This observation stands at the ground of the design of the so-called FETI-DP and BDDC preconditioners, see Sects. 18.5.5 and 18.5.6.

4.1 18.4.1 Some numerical results

Consider the Poisson problem (3.13) on the domain Ω = (0, 1)2 whose finite element approximation was given in (4.40).

Let us partition Ω into M disjoint squares Ω i whose sidelength is H, such that \({\cup^M_{i=1} \overline \Omega_i = \overline \Omega}\). An example with four subdomains is displayed in Fig. 18.5 (left).

Fig. 18.5
figure 5

Example of partition of Ω = (0,1)2 into four squared subdomains (left). Pattern of the Schur complement Σ (right) corresponding to the domain partition displayed on the left

In Table 18.1 we report the numerical values ofK 2(Σ) for the problem at hand, for several values of the finite element grid-size h; it grows linearly with 1 /h and with 1 /H, as predicted by the formula (18.83). In Fig. 18.5 (right) we display the pattern of the Schur complement matrix Σ in the particular case of h =1/8 and H = 1/2. The matrix has a blockwise structure that accounts for the interfaces Γ l, Γ 2, Γ 3 and Γ 4, plus the contribution arising from the crosspoint Γ c. Since Σ is a dense matrix, when solving the linear system (18.79) the explicit computation of its entries is not convenient. Instead, we can use the following Algorithm 18.1 to compute the matrix-vector product Σ x Γ , for any vector x Γ (and therefore the residue at every step of an iterative algorithm). We have denoted by R Γi the rectangular matrix associated to the restriction operator R Γi : Γ → Γ i =∂Ωi \ ∂Ω 2, while xy indicates the algebraic operation x = x + y.

Table 18.1
figure a

Condition number of the Schur complement Σ

Algorithm 18.1 (Schur complement multiplication by a vector)

Given x Γ -, compute y Γ = ∑x Γ asfollows:

  1. a.

    Set y Γ = 0

  2. b.

    For i=1,...,M Doin parallel:

  3. c.

    x i = R Γi x Γ

  4. d.

    z i =AΩi Γi x i

  5. e.

    \({{\bf z}_i \leftarrow A^{-1}_{\Omega_i \Omega_i} {\bf z}_i}\)

  6. f.

    sum upin thelocal vector y Γ ←A ΓiΓi x i A Γi z i

  7. g.

    sum upin theglobal vector \(R^T_{\Gamma_i}y\Gamma_i\)

  8. h.

    EndFor

Since no communication is required among the subdomains, this is a fully parallel algorithm.

Before using for the first time the Schur complement, a start-up phase, described in Algorithm 18.2, is requested. Note that this is an off-line procedure.

Algorithm 18.2 (Start-up phase for the solution of the Schur complement system)

Given x Γ , compute y Γ =x Γ asfollows:

  1. a.

    For i=1,...,M Doin parallel:

  2. b.

    Compute theentriesof A i

  3. c.

    Reorder A iasin(18.76) then extract the submatrices

    $$A_{{\Omega_i};{\Omega_i}},A_{{\Omega_i};{\Gamma_i}}A_{{\Gamma_i};{\Omega_i}} {\rm and} A^{(i)}_{\Gamma, \Gamma}$$
  4. d.

    Compute the (either LU or Cholesky) factorization of A Ωi ,Ωi

  5. e.

    EndFor

5 18.5 DD preconditioners in case of many subdomains

Before introducing the preconditioners for the Schur complement in the case in which Ω is partitioned in many subdomains we recall the following definition:

Definition 18.1. A preconditioner Ph of Σ is said to be scalable if the condition number of the preconditioned matrix P h −1 Σ is independent of the number of sub-domains.

Iterative methods using scalable preconditioners allow henceforth to achieve convergence rates independent of the subdomain number. This is a very desirable property in those cases where a large number of subdomains is used.

Let R i be a restriction operator which, to any vector v h of nodal values on the global domain Ω, associates its restriction to the subdomain Ω i

$${R_{i}:{\bf v}_{h |_{\Omega}} \rightarrow {\bf v}^{i}_{h |_{\Omega_{i}\cup \Gamma_{i}}}.}$$

Let moreover

$${R^{T}_{i}:{\bf v}^{i}_{h |_{\Omega_{i} \cup \Gamma_{i}}} \rightarrow {\bf v}_{h |_{\Omega}}}$$

be the prolongation (or extension-by-zero) operator. In algebraic form R i can be rep¬resented by a matrix that coincides with the identity matrix in correspondence with the subdomain Ω i

$$ R_{i} = {\Bigg[{\matrix{0 \quad \dots 0 \cr \vdots \quad \ddots \quad \vdots \cr 0 \quad \dots 0 }}} \underbrace{\Biggr |{\matrix {1 \qquad \qquad \cr \quad \ddots \quad \cr \qquad \qquad 1}}\Biggr|}_{\Omega_{i}}{\matrix {0 \quad \dots \quad 0 \cr \vdots \quad \ddots \quad \vdots \cr 0 \quad \dots \quad 0}}\Bigg].$$

Similarly we can define the restriction and prolongation operators R Γi and R Γ T i, respectively, that act on the vector of interface nodal values (as done in (18.81)). In order to find a preconditioner for Σ the strategy consists of combining the contributions of local subdomain preconditioners with that of a global contribution referring to a coarse grid whose elements are the subdomains themselves. Without the latter coarse grid term the preconditioner could not be scalable since it would lack any mechanism for global communication of information across the domain in each iteration step. This idea can be formalized through the following relation that provides the inverse of the preconditioner

$${(P_{h})^{-1} = \sum^{M}_{i=1}R^{T}_{\Gamma_{i}}P^{-1}_{i,h}R_{\Gamma_{i}} + R^{T}_{\Gamma}P^{-1}_{H}R_{\Gamma}.}$$

We have denoted by H the maximum value of the diameters H i of the subdomains Ω i; moreover, P i,h is either the local Schur complement Σ i, or (more frequently) a suitable preconditioner of Σ i, while R Γ and PH refer to operators that act on the global scale (that of the coarse grid).

Many different choices are possible for the local Schur complement preconditioner P i,h; they will give rise to different condition numbers of the preconditioned matrix \(P^{-1}_h\Sigma\)

5.1 18.5.1 Jacobi preconditioner

Let {e 1,...,e m} be the set of edges and {v 1,...,v n} that of vertices of a partition of Ω into subdomains (see Fig. 18.6 for an example).

Fig. 18.6
figure 6

A decomposition into 9 subdomains (left) with a fine triangulation in small triangles and a coarse triangulation in large quadrilaterals (the 9 subdomains ) (right)

The Schur complement Σ features the following blockwise representation

figure 7

having set

$$\Sigma_{ee} = \left[{\matrix{\Sigma_{e_{1}e_{1}} \quad \dots \quad \Sigma_{e_{1}e_{m}} \cr \vdots \qquad \ddots \qquad \vdots \cr \Sigma_{e_{m}e_{1}} \quad \dots \quad \Sigma_{e_{m}e_{m}}}}\right], \quad \Sigma_{ev} = \left[{\matrix{\Sigma_{e_{1}v_{1}} \quad \dots \quad \Sigma_{e_{1}v_{n}} \cr \vdots \qquad \ddots \qquad \vdots \cr \Sigma_{e_{m}v_{1}} \quad \dots \quad \Sigma_{e_{m}v_{n}}}} \right]$$

and

$$\Sigma_{v v} = \left[{\matrix{\Sigma_{v_{1}v_{1}} \quad 0 \quad \dots \quad 0 \cr 0 \quad \ddots \qquad \qquad \vdots \cr \vdots \qquad \qquad \ddots \quad 0 \cr 0 \quad \dots \quad 0 \quad \Sigma_{v_{n}v_{n}}}} \right].$$

In 3D there should be a further block row and column due to the presence of faces.

The Jacobi preconditioner of the Schur complement Σ is a block diagonal matrix defined by

$${\hat \Sigma}_{e e} = \left[{\matrix{{\hat \Sigma}_{e_{1}e_{1}} \quad 0 \quad \dots \quad 0 \cr 0 \quad \ddots \qquad \qquad \vdots \cr \vdots \qquad \quad \ddots \qquad 0 \cr 0 \quad \dots \quad 0 \quad {\hat \Sigma}_{e_{m}e_{m}}}} \right].$$

where \(\hat {\sum_{ee}}\) is either Σ ee or a suitable approximation of it. This preconditioner does not account for the interaction between the basis functions associated with edges and those associated with vertices. The matrix \(\hat {\sum_{ee}}\) is also diagonal

$${\hat \Sigma}_{e e} = \left[{\matrix{{\hat \Sigma}_{e_{1}e_{1}} \quad 0 \quad \dots \quad 0 \cr 0 \quad \ddots \qquad \qquad \vdots \cr \vdots \qquad \quad \ddots \qquad 0 \cr 0 \quad \dots \quad 0 \quad {\hat \Sigma}_{e_{m}e_{m}}}} \right].$$

Here \(\hat {\sum_{e_ke_k}}\) denotes Σ ekek or a suitable approximation of it.

The preconditioner P h J can also be expressed in terms of restriction and prolongation operators as follows

$${(P^{j}_{h})^{-1} = \sum^{m}_{k=1}R^{T}_{e_{k}}{\hat \Sigma}^{-1}_{e_{k}e_{k}}R_{e_{k}} +R^{T}_{v}\Sigma^{-1}_{v v}R_{v}},$$
(18.88)

where R ek and R v denote edge and vertices restriction operators, respectively.

Regarding the condition number of the preconditioned Schur complement, there exists a constant C > 0, indipendent of both h and H, such that

$${K_2((p^{j}_{h})^{-1}\Sigma) \leq CH^{-2} \bigg(1 + {\rm log} {H \over h}\bigg)^{2}.}$$

Should the conjugate gradient method be used to solve the preconditioned Schur complement system (18.79) with preconditioner P h J, the number of iterations neces¬sary to converge (within a prescribed tolerance) would be proportional to H −1. The presence of H indicates that the Jacobi preconditioner is not scalable.

Moreover, we notice that the presence of the logarithmic term log (H/ h) introduces a relation between the size of the subdomains and the size of the computational grid T h. This generates a propagation of information among subdomains characterized by a finite (rather than infinite) speed of propagation. Note that the ratio H/h measures the maximum number of elements across any subdomain.

5.2 18.5.2 Bramble-Pasciak-Schatz preconditioner

With the aim of accelerating the speed of propagation of information among subdo-mains we can devise a mechanism of global coupling among subdomains. As already anticipated, the family of subdomains can be regarded as a coarse grid, say T H, of the original domain. For instance, in Fig. 18.6 T H is made of 9 (macro) elements and 4 internal nodes. It identifies a stiffness matrix of piecewise bilinear elements, say A H, of dimension 4×4 which guarantees a global coupling in Ω. We can now introduce a restriction operator that, for simplicity, we indicate RH : Γ hΓ H. More precisely, this operator transforms a vector of nodal values on the skeleton Γ h into a vector of nodal values on the internal vertices of the coarse grid (4 in the case at hand). Its transpose R T H is an extension operator. The matrix P h BPS, whose inverse is

$${(P^{BPS}_{h})^{-1} = \sum^{m}_{k=1} R^{T}_{e_{k}}{\hat \Sigma}^{-1}_{e_{k}e_{k}}R_{e_{k}} + R^{T}_{H}A^{-1}_{H}R_{H}},$$
(18.89)

is named Bramble-Pasciak-Schatz preconditioner. The main difference with Jacobi preconditioner (18.88) is due to the presence of the global (coarse-grid) stiffness matrix A H instead of the diagonal vertex matrix Σ vv. The following results hold:

$${K_{2}((P^{BPS}_{h})^{-1}\Sigma) \leq C \bigg(1 + {\rm log}\ {H \over h} \bigg)^{2} \quad {\rm in\ 2D}, \atop K_{2}((P^{BPS}_{h})^{-1} \Sigma) \leq C{H \over h}\ {\rm in\ 3D}.}$$

Note that the factor H −2 does not show up anymore. The number of iterations of the conjugate gradient method with preconditioner P h BPS is now proportional to log(H/h) in 2D and to (H/h)1/2 in 3D.

5.3 18.5.3 Neumann-Neumann preconditioner

Although the Bramble-Pasciak-Schatz preconditioner has better properties than Ja-cobi’s, yet in 3D the condition number of the preconditioned Schur complement still contains a linear dependence on H/h.

In this respect, a further improvement is achievable using the so-called Neumann-Neumann preconditioner, whose inverse has the following expression

$${(P^{NN}_{h})^{-1} = \sum^{M}_{i=1}R^{T}_{\Gamma_{i}}D_{i}\Sigma^{*}_{i}D_{i}R_{\Gamma_{i}}}.$$
(18.90)

As before, R Γi denotes the restriction from the nodal values on the whole skeleton Γ to those on the local interface Γ i, whereas Σ i * is either Σ i −1 (should the local inverse exist) or an approximation of Σ i −1, e.g. the pseudo-inverse Σ i + of Σ i. The matrix D i is a diagonal matrix of positive weights d j > 0, for j = 1,...,n, n being the number of nodes on Γ i. For instance, d j coincides with the inverse of the number of subdomains that share the j −th node. If we still consider the 4 internal vertices of Fig. 18.6, we will have d j = 1/4, for j = 1,...,4.

For the preconditioner (18.90) the following estimate (similar to that of Jacobi pre-conditioner) holds: there exists a constant C > 0, indipendent of both h and H, such that

$${K_{2}((P^{NN}_{h})^{-1} \Sigma) \leq CH^{-2}\bigg(1 + {\rm log}{H \over h}\bigg)^{2}.}$$

The last (logarithmic) factor drops out in case the subdomains partition features no cross points.

The presence of D i and R Γi in (18.90) only entails matrix-matrix multiplications. On the other hand, if Σ i * = Σ i −1, applying Σ i −1 to a given vector can be reconducted to the use of local inverses. As a matter of fact, let q be a vector whose components are the nodal values on the local interface Γ i; then

$${\sl \Sigma}^{-1}_{i} {\rm \bf q} = [0, I]A^{-1}_{i} [0, I]^T {\rm \bf q}.$$

In particular, [0,I]T q = [0,q]T, and the matrix-vector product

figure 8

corresponds to the solution on Ω i of the Neumann boundary-value problem

$$\left\{ {\begin{array}{*{20}{c}} { - \Delta {w_i} = 0\quad {\text{in}}\;{\Omega _i}} \\ {\frac{{\partial {w_i}}}{{\partial n}} = q\qquad {\text{on}}\;{\Gamma _i}.} \end{array}} \right.$$
(18.91)

Algorithm 18.3 (Neumann-Neumann preconditioner)

Given a vector r Γ, compute z Γ = (P h NN)1 r Γ asfollows:

  1. a.

    Set z Γ = 0

  2. b.

    For i=1,...,M Doin parallel:

  3. c.

    restrict the residueon Ω i : r i = R Γi r Γ

  4. d.

    compute z i = [0, I]A i −1 [0,r i ]T

  5. e.

    Sum up the global residue: \({{\bf z}_{\Gamma} \leftarrow R^T_{\Gamma i }{\bf z}_i}\)

  6. f.

    EndFor

Also in this case a start-up phase is required, consisting in the preparation for the solution of linear systems with local stiffness matrices A i. Note that in the case of the model problem (3.13), Ai is singular if Ω i is an internal subdomain, that is if ∂Ω i \ ∂Ω = ∅. One of the following strategies should be adopted:

  1. 1.

    compute a (either LU or Cholesky) factorization of A i + εI, for a given e > 0 sufficiently small;

  2. 2.

    compute a factorization of \({A_i +{1 \over H^2}M_i}\) where M i is the mass matrix whose entries are

    $$(M_i)_{k,j}= \int_{\Omega i}\varphi_k \varphi_j d\Omega_i$$

    ;

  3. 3.

    compute the singular-value decomposition of A i.

The matrix Σ i * is defined accordingly. In our numerical results we have adopted the third approach.

The convergence history of the preconditioned conjugate gradient method with preconditioner P h NN in the case h = 1/32 is displayed in Fig. 18.7. In Table 18.2 we report the values of the condition number of (P h NN)−1 Σ for several values of H.

Table 18.2
figure b

Condition number of the preconditioned matrix (P h N N) 1 Σ

Fig. 18.7
figure 9

Convergence history for the preconditioned conjugate gradient method with precon-ditioner P h NN when h = 1/32

As already pointed out, the Neumann-Neumann preconditioner of the Schur com¬plement matrix is not scalable. A substantial improvement of (18.90) can be achieved by adding a coarse grid correction mechanism, yielding the following new precondi¬tioned Schur complement matrix (see, e.g., [TW05, Sect. 6.2.1])

$${(P_h^{BNN})^{ - 1}}\Sigma = {P_0} + \left( {I - {P_0}} \right)\left( {{{\left( {P_h^{NN}} \right)}^{ - 1}}\Sigma } \right)\left( {I - {P_0}} \right),$$
(18.92)

in which we have used the shorthand notation \({P_0 = \bar R^T_0 \Sigma^{-1}_0 \bar R_0 \Sigma, \Sigma_0 = R_0\Sigma \bar R^T_0}\) and \({\bar R_0}\) denotes restriction from Γ onto the coarse level skeleton.

The matrix P h BNN is called balanced Neumann-Neumann preconditioner.

It can be proven that there exists a constant C > 0, independent of h and H, such that

$$K_2 \ {( (P^{BNN}_{h})^{-1} {\sl \Sigma)}}\ \leq \ C \Bigg (1 + log {H \over h} \Bigg )^2$$

both in 2D and 3D. The balanced Neumann-Neumann preconditioner therefore guarantees optimal scalability up to a light logarithmic dependence on H and h.

The coarse grid matrix Σ 0 that is a constituent of Σ H can be built up using the Algorithm 18.4:

Algorithm 18.4 (construction of the coarse matrix for preconditioner P h BNN)

  1. a.

    Build the restriction operator \({\bar R_0}\) that returns, for every subdomain, the weightedsum of the valuesatall the nodesat the boundary of thatsubdomain

    For every node thecorresponding weightis given by theinverseof the number ofsubdomainssharing that node

  2. b.

    Build up the matrix \({\Sigma_0 =\bar R_0 \Sigma \bar R^T_0}\)

Step a. of this Algorithm is computationally very cheap, whereas step b. requires several (e.g.,ℓ) matrix-vector products involving the Schur complement matrix Σ. Since Σ is never built explicitly, this involves the finite element solution of × M Dirichlet boundary value problems to generate A H. Observe moreover that the restriction operator introduced at step a. implicitly defines a coarse space whose functions are piecewise constant on every Γ i. For this reason the balanced Neumann-Neumann preconditioner is especially convenient when either the finite element grid or the sub-domain partition (or both) are unstructured, as in Fig. 18.8). An algorithm that im-plements the BNN preconditioner within a conjugate gradient method to solve the interface problem (18.79) is reported in [TW05, Sect. 6.2.2].

Fig. 18.8
figure 10

Example of an unstructured subdomain partition in 8 subdomains for a finite element grid which is either structured (left) or unstructured (right)

Table 18.3
figure c

Condition number of (P h BN N) 1for several values of H

By a comparison of the results obtained using the Neumann-Neumann precondi-tioner (with and without balancing), the following conclusions can be drawn:

  • • although featuring a better condition number than A, Σ is still ill-conditioned. The use of a suitable preconditioner is therefore mandatory;

  • • the Neumann-Neumann preconditioner can be satisfactorily used for partitions fea¬turing a moderate number of subdomains;

  • • the balancing Neumann-Neumann preconditioner is almost optimally scalable and therefore recommandable for partitions with a large number of subdomains.

5.4 18.5.4 FETI (Finite Element Tearing & Interconnecting) methods

In this section we will denote by H i = diam(Ω i), W i = Wh(∂Ω i) (the space of traces of finite element functions on the boundaries ∂Ω i), and by W =∏ M i=1 W i the product space of such trace spaces.

At a later stage we will need two further finite element trace spaces, ŴW a subspace of continuous traces across the skeleton Γ, and W, a possible intermediate space Ŵ\({\widetilde W}\)W that will fulfill a smaller number of continuity constraints.

We will consider the variable coefficient elliptic problem

$$\left\{ {\begin{array}{*{20}{c}} { - div\left( {\rho \nabla u} \right) = f\;{\text{in}}\;\Omega ,} \\ {u = 0\;{\text{on}}\;\partial \;\Omega ,} \end{array}} \right.$$
(18.93)

where p is piecewise constant, ρ = ρ i ∈ ℝ+ in Ω i.

Finally, we will denote by Ω ih the nodes in Ω i, ∂Ω ih the nodes on ∂Ω i, ∂Ωh the nodes and Γ h the nodes on Γ. See Fig. 18.9.

Fig. 18.9
figure 11

Finite element sets of nodes ∂Ω h, Γh, Ω ih, and ∂Ω ih

Let us introduce the following scaling counting functions: ∀xΓ h∂Ω h

$${\delta _i}\left( x \right) = \left\{ {\begin{array}{*{20}{c}} {1\;x \in \partial {\Omega _{ih}} \cap \left( {\partial {\Omega _h}\backslash {\Gamma _h}} \right),} \\ {\sum\limits_{j \in Nx} {\rho _j^\gamma \left( x \right)/\rho _i^\gamma \left( x \right)\;x \in \partial {\Omega _{ih}} \cap {\Gamma _h},} } \\ {0\;{\text{elsewhere}}} \end{array}} \right.$$
(18.94)

where γ ∈ [1/2, +∞) and N x is the set of indices of the subregions having x on their boundary. Then we set

$$\delta _i^\dag (x)\quad ( = \;{\text{pseudo}}\;{\text{inverses}}) = {\text{ }}\left\{ {\begin{array}{*{20}{c}} {\delta _i^{ - 1}(x)\;{\text{if}}\;{\delta _i}\left( x \right) \ne 0,} \\ {0\;{\text{if}}\;{\delta _i}\left( x \right) = 0.} \end{array}} \right.$$
(18.95)

.

Based on the finite element approximation of (18.93), let us consider the local Schur complements (18.80), which are positive semi-definite matrices. In this section we will indicate the interface nodal values on ∂Ω i as u i , and we set u = (u 1,..., u M ), the local load vectors on ∂Ω i as χ i and we set χΔ = (χ1 ,...M). Finally, we set

$$\Sigma_\triangle = diag(\Sigma_{1},\cdots, \Sigma_{M}) ={\left[{ \matrix{\Sigma_{1} \quad 0 \quad \cdots \quad 0\cr \vdots \qquad \Sigma_{2} \qquad \qquad \vdots\cr \qquad \qquad \ddots\cr 0 \qquad 0 \quad \cdots \quad \Sigma_{M}\cr}}\right]},$$

a block diagonal matrix.

The original FEM problem, when reduced to the interface Γ, reads

$$\left\{ {\begin{array}{*{20}{c}} {{\text{Find}}\;{\mathbf{u}} \in \;W\;{\text{such}}\;{\text{that}}\;{\text{J}}({\mathbf{u}})\quad {\text{ = }}\frac{{\text{1}}}{{\text{2}}}\left\langle {{\Sigma _\Delta }{\mathbf{u}},{\mathbf{u}}} \right\rangle - \left\langle {{\chi _\Delta }{\mathbf{u}},{\mathbf{u}}} \right\rangle \to min} \\ {{{\text{B}}_\Gamma }{\mathbf{u}}\quad {\text{ = 0}}.} \end{array}} \right.$$
(18.96)

B Γ is not unique, so that we should impose continuity when u belongs to more than one subdomain; B Γ is made of {0,−1,1}, since it enforces continuity constraints at interfaces’ nodes. Here, we are using the same notation W to denote the finite element space trace and that of their nodal values at points of Γ h.

In 2D, there is a little choice on how to write the constraint of continuity at a point sitting on an edge, there are many options for a vertex point. For the edge node we only need to choose the sign, whereas for a vertex node, e.g. one common to 4 subdomains, a minimum set of three constraints can be chosen in many different ways to assure continuity at the node in question. See, e.g., Fig. 18.10.

Fig. 18.10
figure 12

Continuity constraints enforced by 3 (non-redundant) conditions on the left, by 6 (redundant) conditions on the right

Problem (18.96) admits a unique solution iff Ker{Σ Δ} ∩Ker{B Γ} = 0, that is if Σ Δ is invertible on Ker(B Γ).

We can reformulate (18.96) using Lagrange multipliers:

$$\left\{ {\begin{array}{*{20}{c}} {{\text{Find}}\;({\mathbf{u}},{\mathbf{\lambda }}) \in W \times U\;{\text{such}}\;{\text{that}}\;{\Sigma _\Delta }{\mathbf{u}} + B_\Gamma ^T\lambda \; = {\chi _\Delta },} \\ {{B_\Gamma }{\mathbf{u}}\; = {\mathbf{0}}.} \end{array}} \right.$$
(18.97)

Because of the inf-sup (LBB) condition (see Chap. 16), the component λ of the solution to (18.97) is unique up to an additive vector of \(Ker(B^T_\Gamma)\), so we choose U = range(B Γ). Let R = diag(R (1),...,R (M)) be made of null-space elements of Σ Δ. (E.g. R (i) corre¬sponds to the rigid body motions of Ω i, in case of linear elasticity operator.)

R is a full column rank matrix. The solution of the first equation of (18.97) exists iff \({\chi_\Delta - B^T_\Gamma \lambda \in }\) range(Σ Δ), a limitation that will be resolved by introducing a suitable projection operator P. Then,

$${\bf u} = {\sl \Sigma}^{\dagger}_{\Delta}(\chi_{\Delta} - B^{T}_{\Gamma} \lambda) + R \alpha \quad {\rm if} \chi_{\Delta} - B^{T}_{\Gamma} \lambda\ \bot\ Ker({\sl \Sigma}_{\Delta}),$$

where α is an arbitrary vector and Σ Δ is a pseudoinverse of Σ Δ. (Even though there are several pseudo-inverses of a given matrix, the following algorithm will be invariant to the specific choice.) It is convenient to choose a symmetric Σ Δ , e.g. that of Moore-Penrose, see [QSS07].

Substituting u into the second equation of (18.97) yields

$${B_\Gamma }\Sigma _\Delta ^\dag B_\Gamma ^T\lambda = {B_\Gamma }\Sigma _\Delta ^\dag {\chi _\Delta } + {B_\Gamma }R\alpha .$$
(18.98)

Let us set \({F=B_\Gamma \Sigma^{\dagger}_\Delta B^T_{\Gamma}}\) and \({{\bf d}= B_{\Gamma}\Sigma^{\dagger}_{\Delta} \chi_\Delta}\). Then choose P T to be a suitable projection matrix, e.g. P T = I — G(GTG) 1 G T, with G = B Γ R. Then

$$\left\{ {\begin{array}{*{20}{c}} {{P^T}F\lambda = {\text{ }}{P^T}{\mathbf{d}},} \\ {{G^T}\lambda \; = {\mathbf{e}}\;( = {R^T}{\chi _\Delta }).} \end{array}} \right.$$
(18.99)

More in general, one can introduce a s.p.d. matrix Q, and set

$$P^{T} = I-G (G^{T} QG)^{-1} G^{T} Q.$$

The operator P T is the projection from U onto the space of Lagrange multipliers that are Q-orthogonal to range(G), while P = I − QG(G T QG)−1 G T is a projection from U onto Ker(G T) (it is indeed the orthogonal projection with respect to the Q −1-inner product (λ,μ) Q−1 = (λ,Q −1 μ)).

Upon multiplication of (18.98) by H = (G TQG)−1 G TQ we find

$$\alpha = H ({\rm \bf d} - F \lambda),$$

which fully determines the primal variables in terms of λ.

If the differential operator has constant coefficients, choosing Q = I suffices. In case of jumps in the coefficients, Q is typically chosen as a scaling diagonal matrix and can be regarded as a scaling from the left of matrix B Γ by Q 1/2.

The original one-level FETI method is a CG method in the space V applied to

$$P^{T} F \lambda = P^{T} {\rm \bf d}, \quad \lambda \in \lambda_{0} + V$$
(18.100)

with an initial λ 0 such that G T λ0 = e. Here

$$V = {\lbrace \lambda \in U : \langle \lambda, B{\rm \bf z}\rangle = 0, {\rm \bf z} = Ker({\sl \Sigma}_{\Delta}) \rbrace}$$

is the so-called space of admissible increments, Ker(G T) = range(P) and

$$V^{\prime} = \lbrace \mu \in U : \langle \mu , B{\rm \bf z} \rangle_{Q} = 0, {\rm \bf z} \in Ker ({\sl \Sigma}_{\Delta}) \rbrace = range(P^{T}).$$

The above simplest version of FETI with no preconditioner (or only a diagonal preconditioner) in the subdomain is scalable with the number of subdomains, but the condition number grows polynomially with the number of elements per subdomain.

The original, most basic FETI preconditioner is

$$P_h^{ - 1} = {B_\Gamma }{\Sigma _\Delta }B_\Gamma ^T = \mathop \sum \limits_{i = 1}^M {B^{(i)}}{\Sigma _i}{B^{{{(i)}^T}}}.$$
(18.101)

It is called a Dirichlet preconditioner since its application to a given vector involves the solution of M independent Dirichlet problems, one in every subdomain. The coarse space in FETI consists of the nullspace on each substructure.

To keep the search directions of the resulting preconditioned CG method in the space V, the application of P h −1 is followed by an application of the projection P. Thus, the so-called Dirichlet variant of the FETI method is the CG algorithm applied to the modified equation

$$PP^{-1}_{h} P^{T} F \lambda = PP^{-1}_{h} P^{T} {\rm \bf d}, \quad \lambda \in \lambda_{0} + V.$$
(18.102)

Since, for λV, PP h −1 P T = PP h -1 P TPT FPλ, the matrix on the left of (18.102) can be regarded as the product of two symmetric matrices. In case B Γ has full row rank, i.e. the constraints are linearly independent and there are no redundant Lagrange multipliers, a better preconditioner can be defined as follows

$$\hat P_h^{ - 1} = {({B_\Gamma }{D^{ - 1}}B_\Gamma ^T)^{ - 1}}{B_\Gamma }{D^{ - 1}}{\Sigma _\Delta }{D^{ - 1}}B_\Gamma ^T{({B_\Gamma }{D^{ - 1}}B_\Gamma ^T)^{ - 1}}$$
(18.103)

where D is a block diagonal matrix D = diag(D (1),...,D (M)) and each block D (i) is a diagonal matrix whose elements are δ i (x) (see (18.95)) corresponding to the point x of∂Ω i , h .

Since \({B_{\Gamma}D^{-1}B^T_{\Gamma}}\) is block-diagonal, its inverse can be easily computed by inverting small blocks whose size is n x, the number of Lagrange multipliers used to enforce continuity at point x.

The matrix D, that operates on elements of the product space W, can be regarded as a scaling from the right of B Γ by D 1/2. With this choice

$$K_{2} (P \widehat P^{-1}_{h} P^{T} F) \leq C(1 + log(H/h))^{2},$$
(18.104)

where K 2( ) is the spectral condition number and C is a constant independent of h, H, γ and the values of the ρ i.

5.5 18.5.5 FETI-DP (Dual Primal FETI) methods

The FETI-DP method is a domain decomposition method introduced in [FLT+01] that enforces equality of the solution at subdomains interfaces by Lagrange multipliers except at subdomains corners, which remain primal variables. The first mathematical analysis of the method was provided by Mandel and Tezaur [MT01]. The method was further improved by enforcing the equality of averages across the edges or faces on subdomain interfaces [FLP00], [KWD02]. This is important for parallel scalability.

Let us consider a 2D case for simplicity. As anticipated at the beginning of Sect. 18.5.4, this idea is implemented by introducing an additional space \({\tilde W}\) such that Ŵ\({\tilde W}\)W for which we have continuity of the primal variables at subdomain vertices, and also common values of the averages over all edges of the interface. However, for simplicity we will confine ourselves to the case of primal variables associated to subdomain vertices only. This space can be written as the sum of two subspaces

$$\tilde W = {\hat W_\Pi } \oplus {\tilde W_\Delta }$$
(18.105)

where Ŵ Ŵ is the space of continuous interface functions that vanish at all nodal points of Γ h except at the subdomain vertices. Ŵ is given in terms of the vertex vari¬ables and the averages of the values over the individual edges of the set of interface nodes Γ h. \({\widetilde W_{\Delta}}\) is the direct sum of local subspaces \({\widetilde W_{\Delta, i}}\):

$${\tilde W_\Delta } = \prod\limits_{i = 1}^M {{{\tilde W}_\Delta },i} $$
(18.106)

where \({\widetilde W_{\Delta, i}}\)W i consists of local functions on ∂Ω i that vanish at the vertces of Ω i and have zero average on each individual edge.

According to this space splitting, the continuous degrees of freedom associated with the subdomain vertices and with the subspace ŴΠ are called primal (Π), while those (that are potentially discontinuous across Γ) that are associated with the sub-spaces \({\widetilde W_{\Delta, i}}\) and with the interior of the subdomain edges are called dual (Δ).

The subspace ŴΠ, together with the interior subspace, defines the subsystem which is fully assembled, factored, and stored in each iteration step.

At this stage, all unknowns of the first subspace as well as the interior variables are eliminated to obtain a new Schur complement \({\widetilde \Sigma_\Delta}\). More precisely, we proceed as follows.

Letà denote the stiffness matrix obtained by restricting diag(A 1,...,A M) (see (18.76)) from Π M i =1 W h(Ω i) to \({\widetilde W^h (\Omega)}\) (these spaces now refer to subdomains, not to their boundaries). Then à is no longer block diagonal because of the coupling that now exists between subdomains sharing a common vertex. According to the previous space decomposition, à can be split as follows

$${{\tilde A}={\Biggl [ {\matrix {A_{II} & A_{I \Pi}& A_{I \Delta }\cr A^T_{I\Pi}& A_{\Pi \Pi}& A_{\Pi \Delta}\cr A^T_{I \Delta }& A^T_{\Pi \Delta} & A_{\Delta \Delta}\cr}}\Bigg] }.}$$

Here the subscript I refers to the internal degrees of freedom of the subdomains, Π to those associated to the subdomains vertices, and Δ to those of the interior of the subdomains edges, see Fig. 18.11, right. The matrices A II and A ΔΔ are block diagonal (one block per subdomain). Any non-zero entry of A represents a coupling between degrees of freedom associated with the same subdomain. Upon eliminating the variables of the I and Π sets, a Schur complement associated with the variables of the Δ sets (interior and edges) is obtained as follows

$$\tilde \Sigma = {A_{\Delta \Delta }} - [A_{I\Delta }^TA_{\Pi \Delta }^T]{\left[ {\begin{array}{*{20}{c}} {{A_{II}}}&{{A_{I\Pi }}} \\ {A_{I\Pi }^T}&{{A_{\Pi \Pi }}} \end{array}} \right]^{ - 1}}\left[ {\begin{array}{*{20}{c}} {{A_{I\Delta }}} \\ {{A_{\Pi \Delta }}} \end{array}} \right].$$
(18.107)
Fig. 18.11
figure 13

Degrees of freedom of the space W for one-level FETI (left) and those of the space \({\widetilde W}\) for one-level FETI-DP (right) in the case of primal vertices only

Correspondingly we obtain a reduced right hand side \({\tilde \chi_\Delta}\). By indicating with u Δ W A the vector of degrees of freedom associated with the edges, similarly to what done in (18.96) for FETI, the finite element problem can be reformulated as a minimization problem with constraints given by the requirement of continuity across all of Γ

$$\left\{ {\begin{array}{*{20}{c}} {{\text{Find}}\;{{\mathbf{u}}_\Delta } \in {{\tilde W}_\Delta }:\;J\left( {{{\mathbf{u}}_\Delta }} \right) = \frac{1}{2}\left\langle {\tilde \Sigma {{\mathbf{u}}_\Delta },{{\mathbf{u}}_\Delta }} \right\rangle - \left\langle {{{\tilde \chi }_\Delta },{{\mathbf{u}}_\Delta }} \right\rangle \to min,} \\ {{B_\Delta }{{\mathbf{u}}_\Delta }\; = {\mathbf{0}}.} \end{array}} \right.$$
(18.108)

The matrix B Δ is made of {0, −1,1} as it was for B Γ. Note however that this time the constraints associated with the vertex nodes are dropped since they are assigned to the primal set. Note also that since all the constraints refer to edge points, no distinc¬tion needs to be made between redundant and non-redundant constraints and Lagrange multipliers.

A saddle point formulation of (18.108), similar to (18.97), can be obtained by intro¬ducing a set of Lagrange multipliers λ ∈ V = range(B Δ). Indeed, since à is s.p.d., so is \({\widetilde \Sigma}\) : by eliminating the subvectors u Δ we obtain the reduced system

$$F_{\Delta} \lambda = {\rm \bf d}_{\Delta},$$
(18.109)

where \({F_\Delta =B_\Delta \widetilde \Sigma^{-1}B^T_\Delta}\) and \({{\bf d}_\Delta = B_\Delta \widetilde \Sigma^{-1}\tilde \chi_\Delta }\).

Note that once λ is found, \({{\bf u}_\Delta=\widetilde \Sigma^{-1}(\tilde \chi_\Delta - B^T_\Delta \lambda)\in \widetilde W_\Delta}\), while the interior variables u I and the vertex variables u Π are obtained by back-solving the system associated with Ã.

A preconditioner for F is introduced as done in (18.103) for FETI (in case of non-redundant Lagrange multipliers)

$$P^{-1}_{\Delta} = (B_{\Delta} D^{-1}_{\Delta} B^{T}_{\Delta})^{-1} B_{\Delta} D^{-1}_{\Delta} S_{\Delta\Delta} D^{-1}_{\Delta} B^{T}_{\Delta} (B_{\Delta} D^{-1}_{\Delta} B^{T}_{\Delta})^{-1}.$$
(18.110)

Here is a block diagonal scaling matrix with blocks D Δ (i) : each of their diagonal elements corresponds to a Lagrange multiplier that enforces continuity between the nodal values of some w iW i and w jW j at some point xΓ h and it is given by δ j (x). Moreover, Σ ΔΔ = diag(Σ1,ΔΔ ,...,ΣM,AA) with Σ i,ΔΔ being the restriction of the local Schur complement Σ i to \({\widetilde W_{\Delta,i}\subset W_i}\).

When using the conjugate gradient method for the preconditioned system

$$P^{-1}_{\Delta} F_{\Delta} \lambda = P^{-1}_{\Delta} {\rm \bf d}_{\Delta},$$

in contrast with one level FETI methods we can use an arbitrary initial guess λ0.

For an efficient implementation of this algorithm see [TW05, Sect. 6.4.1]. Also in this case we have a condition number that scales polylogarithmically, that is \(K_{2} (P^{-1}_{\Delta} F_{\Delta}) \leq C(1 + log(H/h))^{2},\) where C is independent of h, H, γ and the values of the ρ i. For a comprehensive presentation and analysis, see [KWD02] and [TW05].

For a conclusive comparative remark between FETI and FETI-DP methods, by following [TW05] we can note that FETI-DP algorithms do not require the characterization of the kernels of local Neumann problems (as required by one-level methods), because the enforcement of the additional constraints in each iteration always makes the local problems nonsingular and at the same time provides an underlying coarse global prob-lem. FETI-DP methods do not require the introduction of a scaling matrix Q, which enters in the construction of a coarse solver for one-level FETI algorithms.

Finally, it is worth noticing that one-level FETI methods are projected conjugate gra¬dient algorithms that cannot start from an arbitrary initial guess. In contrast, FETI-DP methods are standard preconditioned conjugate algorithms and can therefore employ an arbitrary initial guess λ0.

5.6 18.5.6 BDDC (Balancing Domain Decomposition with Constraints) methods

This method was introduced by Dohrmann [Doh03] as a simpler primal alternative to the FETI-DP domain decomposition method. The name BDDC was coined by Mandel and Dohrmann because it can be understood as further development of the balancing domain decomposition method [Man93] with the coarse, global component of a BDDC algorithm expressed interms of a set of primal constraints.

In contrast to the original Neumann-Neumann and one-levet FETI methods, FETI-DP and BDDC algorithms do not require the solution of any singular linear systems of equations (those associated with a pure Neumann problem). In fact, any given choice of the primal set of variables determines a FETI-DP method and an associated BDDC method. This pair defines a duality, and features the same spectrum of eigenvalues (up to the eigenvalues 0 and 1) (see [LW06]). The choice of the primal constraints is of course a crucial question in order to obtain an efficient FETI-DP or BDDC algorithm.

BDDC is used as a preconditioner for the conjugate gradient method. A specific version of BDDC is characterized by the choice of coarse degrees of freedom, which can be values at the corners of the subdomains, or averages over the edges of the interface between the subdomains. One application of the BDDC preconditioner then combines the solution of local problems on each subdomain with the solution of a global coarse problem with the coarse degrees of freedom as the unknowns. The local problems on different subdomains are completely independent of each other, so the method is suitable for parallel computing.

A BDDC preconditioner reads

$$P^{-1}_{BDDC} = \widetilde R^{T}_{D \Gamma} \widetilde {\sl \Sigma}^{-1} \widetilde R^{T}_{D \Gamma},$$

where \({\widetilde R_\Gamma}\): Ŵ\({\widetilde W}\) is a restriction matrix, \({\widetilde R_{D \Gamma}}\) is a scaled variant of \({\widetilde R_{\Gamma}}\) with scale factor δ† i (featuring the same sparsity pattern of \({\widetilde R_{\Gamma}}\)). This scaling is chosen in such a way that \({\widetilde R_{\Gamma} \widetilde R^T_{D \Gamma}}\) is a projection (then it coincides with its square).

Theoretical analysis of BDDC preconditioner (and its spectral analogy with FETI-DP preconditioner) was first provided in [MDT05] and later in [LW06] and [BS07].

6 18.6 Schwarz iterative methods

Schwarz method, in its original form described in Sect. 18.1.1, was proposed by H. Schwarz [Sch69] as an iterative scheme to prove existence of solutions to elliptic equations set in domains whose shape inhibits a direct application of Fourier series.

Two elementary examples are displayed in Fig. 18.12. This method is still used in some quarters as solution method for elliptic equations in arbitrarily shaped domains. However, nowadays it is mostly used in a somehow different version, that of DD pre-conditioner of conjugate gradient (or, more generally, Krylov) iterations for the solution of algebraic systems arising from finite element (or other kind of) discretizations of boundary-value problems.

Fig. 18.12
figure 14

Two examples for which the Schwarz method in its classical form applies

As seen in Sect. 18.1.1, the distinctive feature of Schwarz method is that it is based on an overlapping subdivision of the original domain. Let us still denote {Ω m} these subdomains.

To start with, in the following subsection we will show how the Schwarz method can be formulated as an iterative algorithm to solve the algebraic system associated with the finite element discretization of problem (18.1).

6.1 18.6.1 Algebraic form of Schwarz method for finite element discretizations

Consider as usual a finite element triangulation T h of the domain Ω. Then assume that Ω is decomposed in two overlapping subdomains, Ω 1 and Ω 2, as shown in Fig. 18.1 (left).

Denote with N h the total number of nodes of the triangulation that are internal to Ω (i.e., they don’t sit on its boundary), and with N 1 and N 2, respectively, those internal to Ω 1 and Ω 2, as done in Sect. 18.3. Note that N h ≤ N 1 + N 2 and that equality holds only if the overlap reduces to a single layer of elements. Indeed, if we denote with I= {1,...,N h} the set of indices of the nodes ofΩ, and with I1 andI2 those associated with the internal nodes of Ω 1 and Ω 2, respectively, one has I = I 1I 2, while I 1 ∩ I 2≠∅ unless the overlap consists of a single layer of elements.

Let us order the nodes in such a way that the first block corresponds to those in Ω 1 \ Ω 2, the second to those in Ω 1 ∩ Ω 2, and the third to those in Ω 2 \ Ω 1. The stiffness matrix A of the finite element discretization contains two submatrices, A 1 and A 2, corresponding to the local stiffness matrices in Ω 1 e Ω 2, respectively (see Fig. 18.13). They are related to A as follows

$${A_{1} = R_{1}AR^{T}_{1} \in {\rm{R}}^{N_{1}\times N_{1}}\quad {\rm{and}}\quad A_{2} = R_{2}AR^T_{2}} \in {\rm R}^{N_2 \times N_2},$$
(18.111)

being R i and R T i , for i = 1,2, the restriction and prolongation operators, respectively.

Fig. 18.13
figure 15

The submatrices A 1 and A 2 of the stiffness matrix A

The matrix representation of the latter is

$$R_1^T = \left[ {\begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} 1& \ldots &0 \end{array}} \\ {\begin{array}{*{20}{c}} \vdots & \ddots & \vdots \end{array}} \\ {\begin{array}{*{20}{c}} 0& \ldots &1 \end{array}} \\ 0 \end{array}} \right] \in {\mathbb{R}^{{N_h} \times {N_1}}},\;R_2^T = \left[ {\begin{array}{*{20}{c}} 0 \\ {\begin{array}{*{20}{c}} 1& \ldots &0 \end{array}} \\ {\begin{array}{*{20}{c}} \vdots & \ddots & \vdots \end{array}} \\ {\begin{array}{*{20}{c}} 0& \ldots &1 \end{array}} \end{array}} \right] \in {\mathbb{R}^{{N_h} \times {N_2}}}.$$
(18.112)

If v is a vector of ℝNh, then R 1 v is a vector of ℝN1 whose components coincide with the first N 1 components of v. Should v instead be a vector of RN1, then R T 1 v would be a vector of dimension N h whose last N h −N1 components are all zero.

By using these definitions, an iteration of the multiplicative Schwarz method applied to system A u = f can be expressed as follows:

$${{\bf u}^{(k+1/2)} = {\bf u}^{(k)} + R^{T}_{1}A^{-1}_{1} R_{1}({\bf f}-A{\bf u}^{(k)})},$$
(18.113)
$${{\bf u}^{(k+1)} = {\bf u}^{(k+1/2)} + R^{T}_{2}A^{-1}_{2} R_{2}({\bf f}-A{\bf u}^{(k+1/2)})}.$$
(18.114)

Equivalently, by setting

$${P_{i} = R^{T}_{i}A^{-1}_{i}R_{i}A\ ,\ i= 1,2,}$$
(18.115)

we have

$${{\bf u}^{(k+1/2)} = (I-P_{1}){\bf u}^{(k)}+ P_{1}{\bf u},\atop {\bf u}^{(k+1)} = (I-P_{2}){\bf u}^{(k+1/2)} + P_{2}{\bf u} = (I-P_{2})(I-P_{1}){\bf u}^{(k)} + (P_{1}+P_{2}-P_{2}P_{1}){\bf u}.} $$

Similarly, an iteration of the additive Schwarz method reads

$${{\bf u}^{(k+1)} = {\bf u}^{(k)} + (R^{T}_{1}A^{-1}_{1}R_{1} + R^{T}_{2}A^{-1}_{2}R_{2})({\bf f}- A{\bf u}^{(k)})},$$
(18.116)

that is

$${{\bf u}^{(k+1)} = (I-P_{1}-P_{2}){\bf u}^{(k)} + (P_{1} + P_{2}){\bf u}}.$$
(18.117)

Introducing the matrices

$${Q_{i} = R^{T}_{i}A^{-1}_{i}R_{i} = P_{i}A^{-1},i= 1,2}$$

from (18.113) and (18.114) we derive the following recursive formula for the multiplicative Schwarz method

$${{\bf u}^{(k+1)} = {\bf u}^{(k)} + Q_{1}({\bf f}- A{\bf u}^{(k)}) + Q_{2}[{\bf f}-A({\bf u}^{(k)} + Q_{1}({\bf f}-A{\bf u}^{(k)}))]\atop = {\bf u}^{(k)} + (Q_{1}+Q_{2} -Q_{2}AQ_{1})({\bf f}-A{\bf u}^{(k)}),}$$

whereas for the additive Schwarz method we obtain from (18.116) that

$${{\bf u}^{(k+1)} = {\bf u}^{(k)} + (Q_{1}+Q_{2})({\bf f}-A{\bf u}^{(k)})}.$$
(18.118)

This last formula can easily be extended to the case of a decomposition of Ω into M ≥ 2 overlapping subdomains {Ω i} (see Fig. 18.14 for an example). In this case we have

$${{\bf u}^{(k+1)} = {\bf u}^{(k)}+\bigg( \sum^{M}_{i=1}Q_{i}\bigg)({\bf f}-A{\bf u}^{(k)})}.$$
(18.119)
Fig. 18.14
figure 16

Partition of a rectangular region Ω in 9 disjoint subregions \({\hat \Omega_i}\) (on the left), and an example of an extended subdomain Ω 5 (on the right)

6.2 18.6.2 Schwarz preconditioners

Denoting with

$${P_{as} = \bigg( \sum^{M}_{i=1} Q_{i}\bigg)^{-1}},$$
(18.120)

from (18.119) it follows that an iteration of the additive Schwarz method corresponds to an iteration of the preconditioned Richardson method applied to the solution of the linear system A u = f using P as as preconditioner. For this reason the matrix P as is named additive Schwarz preconditioner.

In case of disjoint subdomains (no overlap), P as coincides with the block Jacobi preconditioner

$$P{P_J} = \left[ {\begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} {{A_1}}&0 \end{array}} \\ \ddots \\ {\begin{array}{*{20}{c}} 0&{{A_M}} \end{array}} \end{array}} \right],\;P_{_J}^{ - 1} = \left[ {\begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} {A_{_1}^{ - 1}}&0 \end{array}} \\ \ddots \\ {\begin{array}{*{20}{c}} 0&{A_M^{ - 1}} \end{array}} \end{array}} \right]$$
(18.121)

in which we have removed the off-diagonal blocks of A.

Equivalently, one iteration of the additive Schwarz method corresponds to an iteration by the Richardson method on the preconditioned linear system Q a u = g a , with g a = P as 1 f, and the preconditioned matrix Q a is

$${Q_{a} = P^{-1}_{as}A = \sum^{M}_{i=1}P_{i}.}$$

By proceeding similarly, using the multiplicative Schwarz method would yield the following preconditioned matrix

$${Q_{M} = P^{-1}_{ms}A =I-(I-P_{M})...(I-P_{1}).}$$

Lemma 18.3. Matrices Pi defined in (18.115) are symmetric and non-negative w.r.t the following scalar product induced by A

$$(W, V)_A = (AW, V)\quad \forall W, V \in {\rm R}^{N_h}$$

Proof. For i = 1,2, we have

$${(P_{i}{\bf w},{\bf v})_{A} = (AP_{i}{\bf w},{\bf v}) = (R^{T}_{i}A^{-1}_{i} R_{i}A{\bf w},A{\bf v}) = (A{\bf w},R^{T}_{i}A^{-1}_{i}R_{i}A{\bf v})\atop =({\bf w}, P_{i}{\bf v})_{A}\quad \forall{\bf v},{\bf w} \in {\rm R}^{N_{h}}.}$$

Moreover, ∀v ∈ ℝNh,

$${(P_{i}{\bf v},{\bf v})_{A} = (AP_{i}{\bf v},{\bf v}) = (R^{T}_{i}A^{-1}_{i} R_{i}A{\bf v},A{\bf v}) = (A^{-1}_{i} R_{i}A{\bf v},R_{i}A{\bf v}) \geq 0.}$$

Lemma 18.4. The preconditioned matrix Q a of the additive Schwarz method is symmetric and positive definite w.r.t the scalar product induced by A.

Proof. Let us first prove the symmetry: for all u,v ∈ ℝNh, since A and P i are both symmetric, we obtain

$${(Q_{a}{\bf u},{\bf v})_{A} = (AQ_{a}{\bf u},{\bf v}) = (Q_{a}{\bf u},A{\bf v}) = \sum_{i}(P_{i}{\bf u},A{\bf v}) \atop = \sum_{i}(P_{i}{\bf u},{\bf v})_{A} = \sum_{i}({\bf u},P_{i}{\bf v})_{A} = ({\bf u},Q_{a}{\bf v})_{A}.}$$

Concerning the positivity, choosing in the former identities u = v, we obtain

$${(Q_{a}{\bf v},{\bf v})_{A} = \sum_{i}(P_{i}{\bf v},{\bf v})_{A} = \sum_{i}(R^{T}_{i}A^{-1}_{i}R_{i}A{\bf v},A{\bf v}) = \sum_{i}(A^{-1}_{i}{\bf q}_{i}{\bf q}_{i}) \geq 0,}$$

having set q i = R iAv. It follows that (Q a v, v)A = 0 iff q i = 0 for every i, that is iff A v = 0.Since A is positive definite, this holds iff v = 0.

Owing to the previous properties we can deduce that a more efficient iterative method can be generated by replacing the preconditioned Richardson iterations with the preconditioned conjugate gradient iterations, yet using the same additive Schwarz preconditioner P as. Unfortunately, this preconditioner is not scalable. In fact, the condition number of the preconditioned matrix Q a can only be bounded as

$${K_{2}(P^{-1}_{as} A) \leq C {1 \over \delta H},}$$
(18.122)

being C a constant independent of h, H and δ; here δ is a characteristic linear measure of the overlapping regions and, as usual, H = max i =1 ,...,M{diam(Ω i)}. This is due to the fact that the exchange of information only occurs among neighbooring subdomains, as the application of (P as)1 involves only local solvers. This limitation can be overcome by introducing, also in the current context, a global coarse solver defined on the whole domain Ω and apt at guaranteing a global communication among all of the subdomains. This leads to devise two-level domain decomposition strategies, see Sect. 18.6.3.

Let us address some algorithmic aspects. Let us subdivide the domain Ω in M subdomains {Ω i}M i=1 such that \({\cup^M_{i=1}\overline \Omega_i = \overline \Omega.}\). Neighbooring subdomains share an overlapping region of size at least equal to δ =ξh, for a suitable ξ ∈ ℕ. In particular, | = 1 corresponds to the case of minimum overlap, that is the overlapping strip reduces to a single layer of finite elements. The following algorithm can be used.

Algorithm 18.5 (introduction of overlapping subdomains)

  1. a.

    Build a triangulation T h of thecomputational domain Ω

  2. b.

    Subdivide T hin M disjoint subdomains \({\lbrace \hat \Omega_i \rbrace^M_{i=1}}\) such that \({\cup^M_{i=1}\overline {\hat \Omega_i}= \overline \Omega}\)

  3. c.

    Extend every subdomain \({\hat \Omega_i}\) by adding all the strips of finite elements of T h within a distance δ from \({\hat \Omega_i}\). These extended subdomains identify thefamily ofoverlapping subdomains Ω i

In Fig. 18.14 a rectangular two-dimensional domain is subdivided into 9 disjoint subdomains \({\hat \Omega_i}\) (on the left); also shown is one of the extended (overlapping) subdo-mains (on the right).

To apply the Schwarz preconditioner (18.120) we can proceed as indicated in Algorithm 18.5. We recall that N i is the number of internal nodes of Ω i, R T i and R i are the prolongation and restriction matrices, respectively, introduced in (18.112) and A i are the local stiffness matrices introduced in (18.111). In Fig. 18.15 we display an example of sparsity pattern ofR i.

Fig. 18.15
figure 17

The sparsity pattern of the matrix R i for a partition of the domain in 4 subdomains

Algorithm 18.6 (start-up phase for the application of P as)

  1. a.

    Build on every subdomanin Ω i the matrices R i and R T i

  2. b.

    Build thestiffness matrix Acorresponding to the finiteelement discretization on the grid T h

  3. c.

    On every Ω i build thelocalsubmatrices A i = R i AR T i

  4. d.

    On every Ω i set up thecodefor thesolution ofa linearsystem with matrix A i.

    Forinstance, computea suitable (exactorincomplete)LU or Cholesky factorization of A i

A few general comments on Algorithm 18.5 and Algorithm 18.6 are in order:

  • • steps a. and b. of algorithm 18.5 can be carried out in reverse order, that is we could first subdivide the computational domain into subdomains (based, for instance, on physical considerations), then set up a triangulation;

  • • depending upon the general code structure, steps b. and c. of the algorithm 18.6 could be glued together with the scope of optimizing memory requirements and CPU time.

In other circumstances we could interchange steps b. and c., that is the local stiff¬ness matrices A i can be built at first (using the single processors), then assembled to construct the global stiffness matrix A.

Indeed, a crucial factor for an efficient use of a parallel computer platform is keeping data locality since in most cases the time necessary for moving data among processors can be higher than that needed for computation.

Other codes (e.g. AztecOO, Trilinos, IFPACK) instead move from the global stiffness matrix distributed rowise and deduce the local stiffness matrices A i without performing matrix-matrix products but simply using the column indices. In MATLAB, however, it seems more convenient to build A at first, next the restriction matrices R i, and finally to carry out matrix multiplications R iART i to generate the A i.

In Table 18.4 we analyze the case of a decomposition with minimum overlap (δ= h), considering several values for the number M of subdomains. The subdomainsΩ i are overlapping squares of area H 2. Note that the theoretical estimate (18.122) is satisfied by our results.

Table 18.4
figure d

Condition number of P a s 1 A for several values of h and H

6.3 18.6.3 Two-level Schwarz preconditioners

As anticipated in Sect. 18.6.2, the main limitation of Schwarz methods is to propagate information only among neighbooring subdomains. As for the Neumann-Neumann method, a possible remedy consists of introducing a coarse grid mechanism that allows for a sudden information diffusion on the whole domain Ω. The idea is still that of considering the subdomains as macro-elements of a new coarse grid T H and to build a corresponding stiffness matrix A H. The matrix

$${Q_{H} = R^{T}_{H}A^{-1}_{H}R_{H},}$$

where R H is the restriction operator from the fine to the coarse grid, represents the coarse level correction for the new two-level preconditioner. More precisely, setting for notational convenience Q 0 = Q H, the two-level preconditioner P cas is defined through its inverse as

$${P^{-1}_{cas} = \sum^{M}_{i=0}Q_{i}}.$$
(18.123)

The following result can be proven in 2D: there exists a constant C > 0, independent of both h and H, such that

$${K_{2}(P^{-1}_{cas}A) \leq C(1+{H \over \delta}).}$$

The ratio H /δ measures the relative overlap between neighboring overlapping subdomains. For “generous” overlap, that is if δ is a fraction of H, the preconditioner P cas is scalable. Consequently, conjugate gradient iterations on the original finite element system using the preconditioner P cas converges with a rate independent of h and H (and therefore of the number of subdomains). Moreover, thanks to the additive structure (18.123), the preconditioning step is fully parallel as it involves the solution of M independent systems, one per each local matrix A i.

In 3D, we would get a bound with a factor H/h, unless the elliptic differential operator has constant coefficients (or variable coefficients which don’t vary too much).

The use of P cas involves the same kind of operations required by P as, plus those of the following algorithm.

Algorithm 18.7 (start-up phase for the use of P cas)

  1. a.

    Execute Algorithm 18.6

  2. b.

    Define a coarse level triangulation T H whose elements are of the order of H, then set n0 = dim(V 0). Suppose that T h be nested in T H. (See Fig. 18.16 for an example.)

    For a computational domain with a simple shape (like the one we are considering) one typically generates the coarse grid T H first, and then, by multiple refinements, the fine grid T h. In other cases, when the domain has a complex shape and/or a non structured fine grid T h is already available, the generation of a coarse grid might be difficult or computationally expensive. A first option would be to generate T H by successive derefinements of the fine grid, in which case the nodes of the coarse grid will represent a subset of those of the fine grid. This approach, however, might not be very efficient in 3D.

    Fig. 18.16
    figure 18

    On the left, example of a coarse grid for a 2D domain, based on a structured mesh. The triangles of the fine grid has thin edges; thick edges identify the boundaries of the coarse grid elements. On the right, a similar construction is displayed, this time for an unstructured fine grid

  3. c.

    Build the restriction matrix R 0 ∈ ℝn0×Nhwhoseelementsare

    $${R_{0}(i,j) = \Phi ({\bf x}_{j}),}$$

    where Φ i is the basis function associated to the node i of the coarse grid, while by x j we indicate the coordinates of the j − th node on the fine grid

  4. d.

    Build the coarse matrix A H. This can be done by discretizing the original problem on the coarse grid T H, that is by computing

    $${A_{H}(i,j) = a (\Phi_{j},\Phi_{i}) = \int_{\Omega} \sum^{d}_{\ell=1}{\partial \Phi_{i} \over \partial x_{\ell}}{\partial \Phi_{j} \over \partial x_{\ell}},}$$

    or, otherwise, by setting

    $${A_{H} = R_{H}AR^{T}_{H}.}$$

Alternatively, one could generate the two (not necessarily nested) grids T h and T H independently, then generate the corresponding restriction and prolongation operators from the fine to the coarse grid, R H and R T H.

The final implementation of P cas could therefore be made as follows:

Algorithm 18.8 (P cas solve)

For any given vector r, the computation of \({{\bf z}=P^{-1}_{cas}{\bf r}}\) can be carried out as follows:

  1. a.

    Set z = 0

  2. b.

    For i=1,...,M Doin parallel:

  3. c.

    restrict the residueon Ω i : r i = R i r

  4. d.

    compute z i : A i z i = r i

  5. e.

    add to the global residue: zR T i z i

  6. f.

    EndFor

  7. g.

    Compute thecoarse grid contribution z H : A H z H = R H r

  8. h.

    Add to the globalresidue: zR T H z H

In Table 18.5 we report the condition number of \({P^{-1}_{cas}A}\) in the case of a minimum overlap δ = h. Note that the condition number is almost the same on each NW-SE diagonal (i.e. for fixed values of the ratio H/δ).

Table 18.5
figure e

Condition number of \({P^{-1}_{aggre}A}\) for several values of h and H

An alternative approach to the coarse grid correction can be devised as follows. Suppose that the coefficients of the restriction matrix be given by

$${\hat R_H}(i,j) = \left\{ {\begin{array}{*{20}{c}} {1\;{\text{if}}\;{\text{the}}\;j - th\;{\text{node}}\;{\text{is}}\;{\text{in}}\;{\Omega _{\text{i}}},} \\ {0\quad {\text{otherwise,}}} \end{array}} \right.$$

then we set \({\hat A_H = \hat R_H A\hat R^T_H}\). This procedure is named aggregation because the elements of  H are obtained by simply summing up the entries of A. Note that we don’t need to construct a coarse grid in this case. The corresponding preconditioner, denoted by P aggre, has an inverse that reads

$${P^{-1}_{aggre} = {\hat R}^{T}_{H}{\hat A}^{-1}_{H}{\hat R}_{H} + P_{as}.}$$

It can be proven that

$${K_{2}(P^{-1}_{aggre}A) \leq C \bigg(1 + {H \over \delta} \bigg).}$$

In Table 18.6 we report several numerical values of the condition number for different values of h and H.

Table 18.6
figure f

Condition number of P a g 1 gr eA for several values of h and H

If H /δ =constant, this two-level preconditioner is either optimal and scalable, that is the condition number of the preconditioned stiffness matrix is independent of both h and H.

We can conclude this section with the following practical indications:

  • • for decompositions with a small number of subdomains, the single level Schwarz preconditioner P as is very efficient;

  • • when the number M of subdomains gets large, using two-level preconditioners becomes crucial; aggregation techniques can be adopted, in alternative to the use of a coarse grid in those cases in which the generation of the latter is difficult.

7 18.7 An abstract convergence result

The analysis of overlapping and non-overlapping domain decomposition precondition-ers is based on the following abstract theory, due to P.L. Lions, J. Bramble, M. Dryja, O. Wildlund.

Let V h be a Hilbert space of finite dimension. In our applications, V h is one of the finite element spaces or spectral element spaces. Let V h be decomposed as follows:

$${V_{h} = V_{0} + V_{1} + \cdot\cdot\cdot + V_{M}.}$$

Let FV' and a : V×V→ℝ be a symmetric, continuous and coercive bilinear form.

Consider the problem

$${{\rm find}\ u_{h} \in V_{h} : a(u_{h}, v_{h}) = F(v_{h}) \quad \forall v_{h} \in V_{h}}.$$
(18.124)

Let P i : VhV i be a projection operator defined by

$${b_{i}(P_{i}u_{h}, v_{h}) = a(u_{h},v_{h}) \quad \forall v_{h} \in V_{i}}$$

with b i : Vi × Vi ℝ being a local symmetric, continuous and coercive bilinear form on each subspace V i. Assume that the following properties hold:

  1. a.

    stable subspace decomposition:

    ∃ ∃0 > 0 such that every u hV h admits a decomposition \({u_h=\sum^M_{i=0}u_i}\) with uiV i and

    $${\sum^{M}_{i=0}b_{i}(u_{i},u_{i}) \leq C^{2}_{0}a(u_{h},u_{h});}$$
  2. b.

    strengthened Cauchy-Schwarz inequality:

    ε ij ∈ [0,1], i, j = 0,...,M such that

    $${a(u_{i},u_{i}) \leq \varepsilon_{i j} \sqrt{a(u_{i},u_{i})} \sqrt{a(u_{j},u_{j})} \quad \forall u_{i} \in V_{i},u_{j} \in V_{j};}$$
  3. c.

    local stability:

    ∃ ∃ω > 1 such that ∀i = 0,...,M

    $${a(u_{i},u_{i}) \leq \omega b_{i}(u_{i},u_{i}) \quad \forall u_{i} \in\ range(P_{i}) \subset V_{i}.}$$

Then, ∀u hV h,

$${C^{-2}_{0}a(u_{h},u_{h}) \leq a(P_{as}u_{h},u_{h}) \leq \omega (\rho(E) +1)a(u_{h},u_{h})}$$
(18.125)

where ρ(E) is the spectral radius of the matrix E = (ε i j), and P as = P 0+ P M is the domain decomposition preconditioner.

From inequality (18.125) the following bound holds for the preconditioned system

$${K(B^{-1}A) \leq C^{2}_{0} \omega(\rho(E)+1)}$$

where K( ) denotes the spectral condition number, A the matrix associated with the original system (18.124), B the matrix associated to the operator P as. For the proof, see e.g. [TW05].

8 18.8 Interface conditions for other differential problems

Theorem 18.1 in Sect. 18.1.2 allows a second order elliptic problem (18.1) to be reformulated in a DD version thanks to suitable interface conditions (18.9) and (18.10). On the other hand, as we have extensively discussed, such reformulation sets the ground for several iterative algorithms on disjoint DD partitions. They comprise Dirichlet-Neumann, Neumann-Neumann, Robin-Robin algorithms and, more generally, all of the preconditioned iterative algorithms of the Schur complement system (18.53) using suitable DD preconditioners.

In this section we consider other kind of boundary-value problems and formulate the associated interface conditions. Table 18.7 displays the interface conditions for these problems. For more details, analysis and investigation of associated iterative DD algorithms, the interested reader can consult [QV99].

Table 18.7
figure g

Interface continuity conditions for several kind of differential operators; D stands for Dirichlet condition, N for Neumann

Here we limit ourselves to provide a few additional insights in the case of advection and Stokes equations.

Advection (transport) problems. Consider the differential problem

$${L_{u} = \nabla \cdot ({\bf b}u) + a_{0}u = f \qquad {\rm in} \Omega},$$
(18.126)

supplemented by suitable conditions on the boundary ∂Ω. Consider a partition of the computational domain Ω into two disjoint subdomains whose interface is Γ. Let us partition the latter as follows (seeFig. 18.17): Γ = Γ inΓ out, where

$${{\it \Gamma}_{in} = \lbrace x \in {\it \Gamma} | {\bf b}(x)\cdot {\bf n}(x) > 0\rbrace\ {\rm and}\ {\it\Gamma}_{out} = {\it\Gamma} \backslash {\it \Gamma}_{in}.}$$
Fig. 18.17
figure 19

Domain partition and interface splitting for the advection problem (18.126)

Example 18.4. The Dirichlet-Neumann method for the problem at hand could be generalized as follows: being given two functions u 1 (0), u 2 (0) on Γ, ∀k ≥ 0 solve:

$$\left\{ {\begin{array}{*{20}{c}} {Lu_1^{(k + 1)} = f\qquad \qquad \qquad \quad {\text{in}}\;{\Omega _1},} \\ {({\mathbf{b}}\cdot{\mathbf{n}})u_1^{(k + 1)} = ({\mathbf{b}}\cdot{\mathbf{n}})u_2^{(k)}\quad {\text{on}}\;{\Gamma _{out}},} \end{array}} \right.$$
$$\left\{ {\begin{array}{*{20}{c}} {Lu_1^{(k + 1)} = f\qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad {\text{in}}\;{\Omega _2}} \\ {({\mathbf{b}}\cdot{\mathbf{n}})u_2^{(k + 1)} = \theta ({\mathbf{b}}\cdot{\mathbf{n}})u_1^{(k)} + (1 - \theta )({\mathbf{b}}\cdot{\mathbf{n}})u_2^{(k)}\quad {\text{on}}\;{\Gamma _{in}}.} \end{array}} \right.$$

where θ > 0 denotes a suitable relaxation parameter. The adaptation to the case of a finite element discretization is straightforward.

Stokes problem. The Stokes equations (16.11) feature two fields of variables: fluid velocity and fluid pressure. When considering a DD partition, at subdomain interface only the velocity field is requested to be continuous. Pressure needs not necessarily be continuous, since in the weak formulation of the Stokes equations it is "only" requested to be in L 2. Moreover, on the interface Γ the continuity of the normal Cauchy stress \({\nu {\partial u \over \partial n}- \ p{\bf n}}\) needs only be satisfied in weak (natural) form.

Example 18.5. A Dirichlet-Neumann algorithm for the Stokes problem would entail at each iteration the solution of the following subproblems (we use the short-hand notation Sto indicate the Stokes operator):

$$\left\{ {\begin{array}{*{20}{c}} {S({\mathbf{u}}_2^{(k + 1)},p_2^{(k + 1)}) = {\mathbf{f}}\qquad \qquad \qquad \quad {\text{in}}\;{\Omega _2},} \\ {v\frac{{\partial {\mathbf{u}}_2^{(k + 1)}}}{{\partial n}} - p_2^{(k + 1)} = v\frac{{\partial {\mathbf{u}}_1^{(k)}}}{{\partial n}} - p_1^{(k)}\quad {\text{on}}\;\Gamma ,} \\ {{\mathbf{u}}_2^{(k + 1)} = {\mathbf{0}}\qquad \qquad \qquad \qquad \qquad \quad {\text{on}}\;\partial {\Omega _2}\backslash \Gamma ,} \end{array}} \right.$$
(18.127)
$${\begin{array}{*{20}{c}} {S({\mathbf{u}}_1^{(k + 1)},p_1^{(k + 1)}) = {\mathbf{f}}\qquad \qquad \qquad {\text{in}}\;{\Omega _1},} \\ {{\mathbf{u}}_1^{(k + 1)} = \theta {\mathbf{u}}_2^{(k + 1)} + (1 - \theta ){\mathbf{u}}_1^{(k)}\quad {\text{on}}\;\Gamma ,} \\ {{\mathbf{u}}_1^{(k + 1)} = {\mathbf{0}}\qquad \qquad \qquad \qquad \qquad {\text{on}}\;\partial {\Omega _1}\backslash \Gamma .} \end{array}}$$
(18.128)

Should the boundary conditions of the original problem be prescribed on the velocity field, e.g. u = 0, pressure p would be defined only up to an additive constant, which could be fixed by, e.g., imposing the constraint ΩpdΩ = 0.

To fulfill this constraint we can proceed as follows. When solving the Neumann prob¬lem (18.127) on the subdomain Ω2, both the velocity u 2 and the pressure p 2 are univocally determined. When solving the Dirichlet problem (18.128) on Ω 1, the pressure is defined only up to an additive constant; we fix it by imposing the additional equation

$${\int_{\Omega_{1}} p^{(k+1)}_{1} d \Omega_{1} = -\int_{\Omega_{2}} p^{(k+1)}_{2} d \Omega_{2}.}$$

Should the four sequences {u 1 (k)}, {u 2 (k)}, {p 1 (k) } and {p 2 (k) } converge, the null average condition on the pressure would be automatically verified.

Example 18.6. Suppose now that the Schwarz iterative method is used on an overlap-ping subdomain decomposition of the domain like that on Fig. 18.1, left. At every step we have to solve two Dirichlet problems for the Stokes equations:

$$\left\{ {\begin{array}{*{20}{c}} {S({\mathbf{u}}_1^{(k + 1)},p_1^{(k + 1)}) = {\mathbf{f}}\qquad \qquad \qquad {\text{in}}\;{\Omega _1},} \\ {{\mathbf{u}}_1^{(k + 1)} = {\mathbf{u}}_2^{(k)}\quad {\text{on}}\;\Gamma ,} \\ {{\mathbf{u}}_1^{(k + 1)} = {\mathbf{0}}\qquad \qquad \qquad \qquad \qquad {\text{on}}\;\partial {\Omega _1}\backslash \Gamma .} \end{array}} \right.$$
(18.129)
$$\left\{ {\begin{array}{*{20}{c}} {S({\mathbf{u}}_2^{(k + 1)},p_2^{(k + 1)}) = {\mathbf{f}}\qquad \qquad \qquad {\text{in}}\;{\Omega _2},} \\ {{\mathbf{u}}_1^{(k + 1)} = {\mathbf{u}}_1^{(k + 1)}\quad {\text{on}}\;{\Gamma _2},} \\ {{\mathbf{u}}_2^{(k + 1)} = {\mathbf{0}}\qquad \qquad \qquad \qquad \qquad {\text{on}}\;\partial {\Omega _2}\backslash {\Gamma _2}.} \end{array}} \right.$$
(18.130)

No continuity is required on the pressure field at subdomain boundaries.

The constraint on the fluid velocity to be divergence free on the whole domain Ω requires special care. Indeed, after solving (18.129), we have divu 1 (k+1) = 0 in Ω 1, hence, thanks to the Green formula,

$${\int_{\partial {\Omega}_{1}} {\bf u}^{(k+1)}_{1} \cdot {\bf n}d \gamma = 0.}$$

This relation implies a similar relation for u 2 (k) in (18.129)2; indeed

$${0 = \int_{\partial \Omega_{1}} {\bf u}^{(k+1)}_{1} \cdot {\bf n} d \gamma = \int_{\Gamma_{1}}{\bf u}^{(k+1)}_{1} \cdot {\bf n} d\gamma = \int_{\Gamma_{1}}{\bf u}^{(k)}_{1} \cdot {\bf n} d\gamma}.$$
(18.123)

At the very first iteration we can select u 2 (0) in such a way that the compatibility condition (18.131) be satisfied, however this control is lost, a priori, in the course of the subsequent iterations. For the same reason, the solution of (18.130) yields the compatibility condition

$${\int_{\Gamma_{2}} {\bf u}^{(k+1)}_{1} \cdot {\bf n}d \gamma = 0}.$$
(18.132)

Fortunately, Schwarz method automatically guarantees that this condition holds. Indeed, in Γ 12 = Ω 1Ω 2 we have divu 1 (k+1) = 0, moreover on Γ l2\(Γ 1Γ 2),u 1 (k+1) =0 because of the given homogeneous Diriclet boundary conditions. Thus

$${0 = \int_{\partial \Gamma_{12}} {\bf u}^{(k+1)}_{1} \cdot {\bf n}d \gamma = \int_{\Gamma_{1}} {\bf u}^{(k+1)}_{1} \cdot {\bf n} d\gamma + \int_{\Gamma_{2}} {\bf u}^{(k+1)}_{1} \cdot {\bf n} d \gamma.}$$

The first integral on the right hand side vanishes because of (18.131), therefore (18.132) is satisfied.

9 18.9 Exercises

  1. 1.

    Consider the one-dimensional advection-transport-reaction problem

    $$\left\{ {\begin{array}{*{20}{c}} { - \left( {\alpha {u_x}} \right)x + {{\left( {\beta u} \right)}_x} + \gamma u = f\;{\text{in}}\;\Omega = (a,b)} \\ {u(a) = 0,\quad \alpha {u_x}(b) - \beta u(b) = g,} \end{array}} \right.$$
    (18.133)

    with α and γ ∈ L(a,b), β ∈ W1,(a,b) and fL 2(a,b).

    1. a)

      Write the addititive Schwarz iterative method, then the multiplicative one, on the two overlapping intervals Ω 1 = (a, γ 2) and Ω 2 = (γ 1,b), with a < γ 12 < b.

    2. b)

      Interpret these methods as suitable Richardson algorithms to solve the given differential problem.

    3. c)

      In case we approximate (18.133) by the finite element method, write the corresponding additive Schwarz preconditioner, with and without coarse-grid component. Then provide an estimate of the condition number of the preconditioned matrix, in both cases.

  2. 2.

    Consider the one-dimensional diffusion-transport-reaction problem

    $$\left\{ {\begin{array}{*{20}{c}} { - {{(\alpha {u_x})}_x} + {{(\beta u)}_x} + {\delta _u} = f\qquad \qquad {\text{in}}\;\Omega = (a,b)} \\ {\alpha {u_x}(a) - \beta u(a) = g,\quad {u_x}(b) = 0,} \end{array}} \right.$$
    (18.134)

    with α and γ∈; L(a,b), α(x) ≥ α 0 > 0, β ∈ W1,(a,b), fL 2(a,b) and g a given real number.

    1. a)

      Consider two disjoined subdomains of Ω, Ω 1 = (a,γ) and Ω 2 = (γ,b), with a < γ <b. Formulate problem (18.134) using the Steklov-Poincaré operator, both in differential and variational form. Analyze the properties of this operator starting from those of the bilinear form associated with problem (18.134).

    2. b)

      Apply the Dirichlet-Neumann method to problem (18.134) using the same do¬main partition introduced at point a).

    3. c)

      In case of finite element approximation, derive the expression of the Dirichlet-Neumann preconditioner of the Schur complement matrix.

  3. 3.

    Consider the one-dimensional Poisson problem

    $$\left\{ {\begin{array}{*{20}{c}} { - {u_{xx}}(x) = f(x)\qquad \qquad {\text{in}}\;\Omega = (0,1)} \\ {u(0) = 0,\quad {u_x}(1) = 0,} \end{array}} \right.$$
    (18.135)

    with fL 2(Ω).

    1. a)

      If T h indicates a partition of the interval Ω with step-size h, write the Galerkin-finite element approximation of problem (18.135).

    2. b)

      Consider now a partition of Ωinto the subintervals Ω 1 = (0,γ) and Ω 2 = (γ,1), being 0 < γ< 1 a node of the partition T h (See Fig. 18.18). Write the algebraic blockwise form of the Galerkin-finite element stiffness matrix relative to this subdomain partition.

      Fig. 18.18
      figure 20

      Subdomain partition T h of the interval (0,1)

    3. c)

      Derive the discrete Steklov-Poincaré interface equation which corresponds to the DD formulation at point b). Which is the dimension of the Schur complement?

    4. d)

      Consider now two overlapping subdomains Ω 1 = (0,γ 2) and Ω 2 = (γ 1,1), with 0 < γ 1 < γ 2 < 1, the overlap being reduced to a single finite element of the partition T h (see Fig. 18.19). Provide the algebraic formulation of the additive Schwarz iterative method.

      Fig. 18.19
      figure 21

      Overlapping decomposition of the interval (0,1)

    5. e)

      Provide the general expression of the two-level additive Shwarz preconditioner, by assuming as coarse matrix A H that associated with only two elements, as displayed in Fig. 18.20.

      Fig. 18.20
      figure 22

      Coarse-grid partition made of two macro elements for the construction of matrix A H and Lagrangian characteristic function associated with the node γ

  4. 4.

    Consider the diffusion-transport-reaction problem

    $$\left\{ {\begin{array}{*{20}{c}} {Lu = - \nabla \cdot(\alpha \nabla u) + \nabla \cdot(\beta u) + \gamma u = f\quad {\text{in}}\quad \Omega = (0.2) \times (0,1),} \\ {u = 0\qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad {\text{on}}\quad {\Gamma _D},} \\ {\alpha \frac{{\partial u}}{{\partial n}} + \delta u = 0\qquad \qquad \qquad \qquad \qquad \qquad \;{\text{on}}\quad {\Gamma _R},} \end{array}} \right.$$
    (18.136)

    with α = α(x), β = β(x), γ= γ(x), δ = δ(x) and f = f(x) being given functions, and \({\partial \Omega = \overline \Gamma_D \cup \Gamma_R}\) with Γ DΓ R= ∅.

    LetΩ in (18.136) be partitioned into two disjoined subdomains Ω 1 = (0,1) × (0,1) and Ω 2 = (1,2) × (0,1).

    1. a)

      Formulate problem (18.136) in terms of the Steklov-Poincaré operator, both in differential and variational form.

    2. b)

      Apply the Dirichlet-Neumann method to problem (18.136) using the same decomposition introduced before.

    3. c)

      Prove the equivalence between the Dirichlet-Neumann method at point b) and a suitable preconditioned Richardson operator, after setting α=1,β=0, γ=1 and Γ R = ∅ in (18.136). Do the same for the Neumann-Neumann method.

  5. 5.

    Consider the two-dimensional diffusion-transport-reaction problem

    $$\left\{ {\begin{array}{*{20}{c}} {Lu = - \nabla \cdot(\mu \nabla u) + {\mathbf{b}}\cdot\nabla u + \sigma u = f\quad {\text{in}}\quad \Omega = (a,c) \times (d,e),} \\ {u = 0\qquad \qquad \qquad \qquad \qquad \qquad \qquad \;{\text{on}}\quad \partial \Omega .} \end{array}} \right.$$
    (18.137)

    Consider a decomposition of Ωmade of the overlapping subdomains Ω 3 = (a, f)× (d,e) and Ω 4 = (g, c)×(d,e), with g < f. On such a decomposition, write for problem (18.137) the Schwarz method in both multiplicative and additive versions. Then interpret these methods as suitable preconditioned Richardson iterative algorithms. Finally, comment on the convergence properties of these methods.