• No results found

The solution of elliptic problems is challenging on parallel distributed memory computers as their Green’s functions are global. Consequently the solution at each point depends upon the data at all other points. Therefore, for solving the systems arising from the discretization of these equations, we have to provide a mechanism that captures the global coupling behaviour.

Various domain decomposition techniques, from the eighties and nineties, have suggested dif- ferent global coupling mechanisms, referred to as the coarse space components, and various com- binations between them and the local preconditioners. These can be based on geometric ideas (e.g. linear interpolation), finite element ideas (e.g. finite element basis functions corresponding to a coarse mesh), or algebraic ideas (e.g. using the matrix coefficients to define basis functions with minimal A -norm in the SPD case). Again, there are trade-offs in these different approaches. Geo- metric schemes are somewhat complicated to implement and are often tied to the resulting applica- tion code. Applications with complex geometric features can be particularly challenging to develop. Additionally, they may have robustness issues for problems with highly heterogeneous behaviour as

3.5 Two-level preconditioner with a coarse space correction 37

the interpolation and restriction do not use material, PDE, or discretization properties. While finite element approaches are more closely tied to the discrete system, they require a more explicit notion of a coarse mesh which makes sense in a finite element context (e.g. all coarse elements are convex). This can be particularly difficult when irregular boundaries are present. Algebraic methods have an advantage in that they do not require an explicit mesh and by using a matrix they have indirect ac- cess to material, PDE, and discretization properties. Unfortunately, it is not always computationally easy to deduce basic properties of an operator based only on matrix coefficients. In the framework of non-overlapping domain decomposition techniques, we refer for instance to algebraic two-level preconditioner for the Schur complement [25,26], BPS (Bramble, Pasciak and Schatz) [20], Ver- tex Space [35,93], and to some extended Balancing Neumann-Neumann [67,69,70], as well as FETI [41,71], for the presentation of major two-level preconditioners.

Although the local preconditioner proposed in Section3.2introduces some exchanges of infor- mation, these exchanges remain local to neighbouring subdomains and introduce no global coupling mechanism. This mechanism is necessary for elliptic problems to prevent an increase in the number of iterations when the number of subdomains is increased. The literature on generating coarse spaces is quite extensive. Here, we simply mention one possible algebraic technique that has been applied successfully on several problems and that is relatively straight-forward to implement in parallel [26]. It also has an advantage in that it does not require any geometric information.

The preconditioners presented now are closely related to the BPS preconditioner, although we consider different coarse spaces to construct their coarse components. The class of two-level pre- conditioner that we define now can be described in a generic way as the sum of a local and global component:

M= MAAS+ M0,

where :

MAAS is one of the variants of the additive Schwarz preconditioner described in the previous sec- tion,

M0 is a low rank correction computed by solving a coarse system.

For practical implementation purposes within a general purpose computer code, we do not want to refer explicitly to an underlying coarse grid, or to underlying basis functions, since these notions are always hard to identify in practice when using general grids, finite elements or mixed finite elements.

The coarse component can be described as follows. Let U be the algebraic space of nodal vectors where the Schur complement matrix is defined and U0 be a q -dimensional subspace of U .

Elements of U0 are characterized by the set of nodal values that they can achieve. This subspace

will be called coarse space.

Let R0: U→ U0 be a restriction operator which maps full vectors of U into vectors in U0,

and let RT

0 : U0→ U be the transpose of R0, an extension operator which extends vectors from the

coarse space U0 to full vectors in the fine space U .

The Galerkin coarse space operator

S

0= R0

S

RT0, (3.7)

in some way, represents the Schur complement on the coarse space U0.

The global coupling mechanism is introduced by the coarse component of the preconditioner which can thus be defined as M0= RT0

S

0−1R0.

Based on this algebraic construction various coarse-space preconditioners can be considered that only differ in the choice of the coarse space U0 and the interpolation operator RT0. For conver-

gence reasons, and similarly to the Neumann-Neumann and Balancing Neumann-Neumann precon- ditioner [67,69], RT0 must be a partition of the unity in U in the sense that

38 An additive Schwarz preconditioner for Schur complement

where the symbol 1 denotes the vectors of all 1’s that have different size in the right and left-hand side of (3.8).

In this work we consider a coarse space where we associate one coarse point with each subdo- main. Let B be the set of unknowns belonging to the interface Γ between subdomains. Let Ωk be a subdomain and ∂Ωk its boundary. Then

I

k=∂Ωk∩ B

is the set of indices we associate with the domain Ωk. Figure3.4shows the elements of a certain set

I

k.

Let

Z

k be a vector defined on Γ and

Z

k(i) its i -th component. The support of the basis vectors

Z

k has inspired the name of the coarse spaces. Then, the subdomain-based coarse space U0 can be

defined as

U0= span[

Z

k: k= 1, . . . , N], where

Z

k(i) = (

1, if i ∈

I

kand 0, otherwise.

Figure 3.4: Support of one basis vector of the “subdomain” coarse space.

Notice that for the example depicted in Figure3.4, [

Z

k] is rank deficient. Indeed, if we consider ˜

v=∑Ni=1αi

Z

i where the αi are , in a checker-board pattern, equal to −1 and +1 , it is easy to see that ˜v= 0 .

Nevertheless, this rank deficiency can be easily removed by discarding one of the vectors of [

Z

k] . In this particular situation, the set of vectors

B

= {

Z

1,

Z

2, . . . ,

Z

N−1} forms a basis for the subspace U0.

The considered restriction operator R0 returns for each subdomain (Ωi)i=1,N−1 the weighted sum

of the values at all the nodes on the boundary of that subdomain. The weights are determined by the inverse of the number of subdomains in (Ωi)i=1,N−1 each node belongs to. For all the nodes

but the ones on ∂ΩN (in our particular example) this weight is: 1/2 for the points on an edge and 1/4 for the cross points. These weights can be replaced as in [67] by operator dependent weights

R0(i, k) = ai/(ai+ aj) on the edge separating Ωi from Ωj , but this choice has not been tested numerically in the present work.

REMARK3.5.1 Although used in a completely different context, this coarse space is similar to the

one used in the Balancing Neumann-Neumann preconditioner for Poisson-type problems [69]. We use one basis vector for each subdomain, whereas in Balancing Neumann-Neumann the basis vectors are only defined for interior subdomains for solving the Dirichlet problem, that are the subdomains where the local Neumann problems are singular.

To conclude, although we have also consider the solution of unsymmetric problem in this work, we have not investigated coarse space correction based on Petrov-Galerkin approaches that are some- times used in multigird.