Sei sulla pagina 1di 125

Introduction to Domain Decomposition Methods for

Finite Element Discretizations of PDEs


Luca F. Pavarino
Dipartimento di Matematica, Universita` di Milano

Corso di Metodi Numerici per EDP3

p. 1

DD methods are parallel and scalable methods for the iterative


solution of partial differential equations (PDE). They include
multigrid and multilevel methods

p. 2

DD methods are parallel and scalable methods for the iterative


solution of partial differential equations (PDE). They include
multigrid and multilevel methods
Origin in works of H. Schwarz (1869), S. L. Sobolev (1930)
Modern beginning in the 80, P. L. Lions,... J. Bramble, M.
Dryja, O. Widlund, ...

p. 2

DD methods are parallel and scalable methods for the iterative


solution of partial differential equations (PDE). They include
multigrid and multilevel methods
Origin in works of H. Schwarz (1869), S. L. Sobolev (1930)
Modern beginning in the 80, P. L. Lions,... J. Bramble, M.
Dryja, O. Widlund, ...
in 1991 two new entries (65M55 e 65N55) for DD methods
created in the Mathematics Subject Classification

p. 2

DD methods are parallel and scalable methods for the iterative


solution of partial differential equations (PDE). They include
multigrid and multilevel methods
Origin in works of H. Schwarz (1869), S. L. Sobolev (1930)
Modern beginning in the 80, P. L. Lions,... J. Bramble, M.
Dryja, O. Widlund, ...
in 1991 two new entries (65M55 e 65N55) for DD methods
created in the Mathematics Subject Classification

Now included in libraries for numerical solution of PDEs


PETSc from Argonne Nat. Lab., USA
http://www.mcs.anl.gov/petsc/petsc.html
MODULEF from INRIA, Francia
http://www-rocq.inria.fr/modulef/

p. 2

DD methods are parallel and scalable methods for the iterative


solution of partial differential equations (PDE). They include
multigrid and multilevel methods
Origin in works of H. Schwarz (1869), S. L. Sobolev (1930)
Modern beginning in the 80, P. L. Lions,... J. Bramble, M.
Dryja, O. Widlund, ...
in 1991 two new entries (65M55 e 65N55) for DD methods
created in the Mathematics Subject Classification

Now included in libraries for numerical solution of PDEs


PETSc from Argonne Nat. Lab., USA
http://www.mcs.anl.gov/petsc/petsc.html
MODULEF from INRIA, Francia
http://www-rocq.inria.fr/modulef/
very important in contemporary large-scale problems arising in
applied math., engineering, computer science, computational
sciences (www.ddm.org)

p. 2

Main motivations
Parallel and distributed computing
Complex geometries
Different models and/or numerical methods on different parts
of the domain
Adaptive meshes and local refinement

p. 3

Main motivations
Parallel and distributed computing
Complex geometries
Different models and/or numerical methods on different parts
of the domain
Adaptive meshes and local refinement
Main references
22+1 conference Proceedings (19882015)
B. Smith and P. Bjrstad and W. Gropp, Domain Decomposition: Parallel Multilevel
Methods for Elliptic Partial Differential Equations, Cambridge Univ. Press, 1996
A. Quarteroni and A. Valli, Domain Decomposition Methods for Partial Differential
Equations, Oxford Univ. Press, 1999
A. Toselli and O. Widlund, Domain Decomposition Methods: Theory and Algorithms,
Springer, 2005
T. Mathew Domain decomposition methods for the numerical solution of partial
differential equations, Springer, 2008

p. 3

Basic DD ideas
decompose the domain of the PDE in N subdomains
N
[
=
i with or without overlap
i=1

p. 4

Basic DD ideas
decompose the domain of the PDE in N subdomains
N
[
=
i with or without overlap
i=1

solve the PDE on each i with proper boundary conditions

p. 4

Basic DD ideas
decompose the domain of the PDE in N subdomains
N
[
=
i with or without overlap
i=1

solve the PDE on each i with proper boundary conditions


(solve the PDE on a coarse mesh, e.g. the subdomains mesh)

p. 4

Basic DD ideas
decompose the domain of the PDE in N subdomains
N
[
=
i with or without overlap
i=1

solve the PDE on each i with proper boundary conditions


(solve the PDE on a coarse mesh, e.g. the subdomains mesh)
approximate the global solution using the local (and coarse)
solutions

p. 4

Basic DD ideas
decompose the domain of the PDE in N subdomains
N
[
=
i with or without overlap
i=1

solve the PDE on each i with proper boundary conditions


(solve the PDE on a coarse mesh, e.g. the subdomains mesh)
approximate the global solution using the local (and coarse)
solutions

iterative method

p. 4

For simplicity, consider simplest elliptic PDE: laplacian, 0 b.c.:


(
u = div(gradu) = f
in
,
u = 0
su

f e regular, e.g. f L2 () and Lipschitz

p. 5

For simplicity, consider simplest elliptic PDE: laplacian, 0 b.c.:


(
u = div(gradu) = f
in
,
u = 0
su

f e regular, e.g. f L2 () and Lipschitz

Galerkin method: variational formulation in a finite dimensional


subspace V of H01 ()
Z
Z
u V : a(u, v) =
u vdx =
f vdx v V

p. 5

Finite Element Method (FEM)


Triangulation of with elements (2D: triangles, quadrilaterals;
3D: tetrahedra, hexahedra, prisms)

p. 6

Finite Element Method (FEM)


Triangulation of with elements (2D: triangles, quadrilaterals;
3D: tetrahedra, hexahedra, prisms)
V = space of piecewise polynomial functions on each element

p. 6

Finite Element Method (FEM)


Triangulation of with elements (2D: triangles, quadrilaterals;
3D: tetrahedra, hexahedra, prisms)
V = space of piecewise polynomial functions on each element
dim(V )

for V , the variational problem


Chosen a basis {i }i=1
becomes a linear system
Au = f

with Aij =

i j dx,

fj =

f j dx

p. 6

Decomposition of
Let us decompose in two subdomains:

p. 7

Decomposition of
Let us decompose in two subdomains:
without overlap
1

p. 7

Decomposition of
Let us decompose in two subdomains:
without overlap
1

with overlap

p. 7

1. Nonoverlapping DD methods (iterative substructuring)


The original problem is equivalent to the following two problems
coupled by interface (or transmission) conditions:

ui = f

ui = 0

u1 = u2
u1
u2
=
n1
n2

in i ,
i = 1, 2
on i \
on ,

transmission

on

conditions

= 1 2 = interface, ni outer normal on i


(proof follows from variational formulation and integration by parts)
con

p. 8

Decomposition of discrete problem


Let us partition the unknowns

u=

u1I

, f =

fI1

interior to 1

p. 9

Decomposition of discrete problem


Let us partition the unknowns

u=

u1I
u2I

, f =

fI1
fI2

interior to 1

interior to 2

p. 9

Decomposition of discrete problem


Let us partition the unknowns

u=

u1I
u2I
u

fI1
fI2

interior to 1

f =
interior to 2
f
on (interior)

p. 9

Decomposition of discrete problem


Let us partition the unknowns

u=

u1I
u2I
u

fI1
fI2

interior to 1

f =
interior to 2
f
on (interior)

A=

A1II
0
A1I

0
A2II
A2I

A1I
A2I
A

p. 9

Decomposition of discrete problem


Let us partition the unknowns

u=

u1I
u2I
u

fI1
fI2

interior to 1

f =
interior to 2
f
on (interior)

A=

A1II
0
A1I

0
A2II
A2I

A1I
A2I
A

The
R stiffness
R
R matrix A and rhs f are obtained by subassembly
( = 1 + 2 ) from their local components
A = A1 + A2 ,

f = f1 + f2

p. 9

ui
translate in the
How does the transmission condition on
ni
discrete problem?

p. 10

ui
translate in the
How does the transmission condition on
ni
discrete problem? To answer, let us approximate the normal
derivative functional (flux). By Greens formula
Z
Z
Z
ui
j ds =
(ui j + ui j )dx =
(f j + ui j )dx
ni
i
i

where j = basis function associated with a node of

p. 10

ui
translate in the
How does the transmission condition on
ni
discrete problem? To answer, let us approximate the normal
derivative functional (flux). By Greens formula
Z
Z
Z
ui
j ds =
(ui j + ui j )dx =
(f j + ui j )dx
ni
i
i

where j = basis function associated with a node of

By approximating ui with finite elements, we find the discrete flux


with i
i = AiI uiI + Ai ui fi

p. 10

Decomposition of the discrete problem - cont.


Au = f

p. 11

Decomposition of the discrete problem - cont.


Au = f

A1II
0
A1I

0
A2II
A2I

A1I
A2I
A

u1I
u2I
u

fI1
fI2
f

p. 11

Decomposition of the discrete problem - cont.


Au = f

A1II
0
A1I

is equivalent to the problem

0
A2II
A2I

A1I
A2I
A

u1I
u2I
u

fI1
fI2
f

i
i
i
i
i

(i)
AII uI + AI u = fI i = 1, 2
u1 = u2 = u
(D)

1 1
AI uI + A1 u1 f1 = (A2I u2I + A2 u2 f2 ) = (N )

p. 11

Decomposition of the discrete problem - cont.


Au = f

A1II
0
A1I

is equivalent to the problem

0
A2II
A2I

A1I
A2I
A

u1I
u2I
u

fI1
fI2
f

i
i
i
i
i

(i)
AII uI + AI u = fI i = 1, 2
u1 = u2 = u
(D)

1 1
AI uI + A1 u1 f1 = (A2I u2I + A2 u2 f2 ) = (N )

(i) + (D) are Dirichlet local problems with 0 data on i \ and u


on

p. 11

Decomposition of the discrete problem - cont.


Au = f

A1II
0
A1I

is equivalent to the problem

0
A2II
A2I

A1I
A2I
A

u1I
u2I
u

fI1
fI2
f

i
i
i
i
i

(i)
AII uI + AI u = fI i = 1, 2
u1 = u2 = u
(D)

1 1
AI uI + A1 u1 f1 = (A2I u2I + A2 u2 f2 ) = (N )

(i) + (D) are Dirichlet local problems with 0 data on i \ and u


on
(i) + (N) are local problems with 0 Dirichlet data on i \ and
Neumann data on

p. 11

Basic difficulty: u and are unknown

p. 12

Basic difficulty: u and are unknown


It is possible to obtain a system
a) for u (Schur complement) or

p. 12

Basic difficulty: u and are unknown


It is possible to obtain a system
a) for u (Schur complement) or
b) for (flux system, FETI)

p. 12

Basic difficulty: u and are unknown


It is possible to obtain a system
a) for u (Schur complement) or
b) for (flux system, FETI)
Idea: solve one of these systems iteratively, starting from an
initial guess, and building an iteration that converges to the
unknown solution by solving local problems

p. 12

Basic difficulty: u and are unknown


It is possible to obtain a system
a) for u (Schur complement) or
b) for (flux system, FETI)
Idea: solve one of these systems iteratively, starting from an
initial guess, and building an iteration that converges to the
unknown solution by solving local problems
4 main possibilities: D-N, N-D, N-N, D-D (other possibilities with
mixed conditions of Robin type)

p. 12

Basic difficulty: u and are unknown


It is possible to obtain a system
a) for u (Schur complement) or
b) for (flux system, FETI)
Idea: solve one of these systems iteratively, starting from an
initial guess, and building an iteration that converges to the
unknown solution by solving local problems
4 main possibilities: D-N, N-D, N-N, D-D (other possibilities with
mixed conditions of Robin type)
Richardson iterative method is used here only for simplicity; in
the practice of scientific computing we must use a Krylov method
(usually PCG or GMRES)!
p. 12

Schur complement for u


Let us eliminate the interior unknowns uiI in each subdomain i

"

AII

AI

AI

=S

S = A AI A1
II AI
p. 13

Schur complement for u - cont.


Reduced system for u :
Su = g

where

p. 14

Schur complement for u - cont.


Reduced system for u :
Su = g
S = A

1
11 1
AI AII AI

where

2
21 2
AI AII AI

= S1 + S2

is the Schur complement of A with respect to and

p. 14

Schur complement for u - cont.


Reduced system for u :
Su = g
S = A

1
11 1
AI AII AI

where

2
21 2
AI AII AI

= S1 + S2

is the Schur complement of A with respect to and


g = g1 + g2 ,

gi = fi AiI AiII fIi

p. 14

Schur complement for u - cont.


Reduced system for u :
Su = g
S = A

1
11 1
AI AII AI

where

2
21 2
AI AII AI

= S1 + S2

is the Schur complement of A with respect to and


g = g1 + g2 ,

gi = fi AiI AiII fIi

Once u in known, the interior unknowns can be found by solving


the local Dirichlet problems
uiI

i1 i
AII (fI

AiI u )

p. 14

System for
If instead we suppose to know = 1 = 2 we can find u1 , u2 by
solving the local Neumann problems

p. 15

System for
If instead we suppose to know = 1 = 2 we can find u1 , u2 by
solving the local Neumann problems
!
!
!
AiII AiI
uiI
fIi
=
, i = 1, 2
i
i
i
i
i
AI A
u
f +

p. 15

System for
If instead we suppose to know = 1 = 2 we can find u1 , u2 by
solving the local Neumann problems
!
!
!
AiII AiI
uiI
fIi
=
, i = 1, 2
i
i
i
i
i
AI A
u
f +
Eliminating the interior unknowns
and since u1 = u2
(S

with d =

11 1
S g

11

+S

uiI

21

we find

ui

=S

i1

(gi + i )

) = d

21 2
S g

p. 15

Dirichlet-Neumann (D-N) method


Given u0 :
1/2

(D) solve a Dirichlet problem on 1 for u1

p. 16

Dirichlet-Neumann (D-N) method


Given u0 :
1/2

(D) solve a Dirichlet problem on 1 for u1

1/2

u1
1
(N) solve a problem on 2 for u2 with Neumann data
n1
on

p. 16

Dirichlet-Neumann (D-N) method


Given u0 :
1/2

(D) solve a Dirichlet problem on 1 for u1

1/2

u1
1
(N) solve a problem on 2 for u2 with Neumann data
n1
on

update
u1 = u12 + (1 )u0 on ,

with (0, M AX )

p. 16

D-N: differential form

p. 17

D-N: differential form

n+1/2

u
= f
1

n+1/2
(D)
u1
= 0

n+1/2
u1
= un

in

1 ,

on

1 \

on

p. 17

D-N: differential form

n+1/2

u
= f
1

n+1/2
(D)
u1
= 0

n+1/2
u1
= un

n+1

u
= f

un+1
= 0
2
(N )
n+1/2
n+1

u
u

= 1
n2
n1

in

1 ,

on

1 \

on

in
on
on

2 ,
2 \

p. 17

D-N: differential form

n+1/2

u
= f
1

n+1/2
(D)
u1
= 0

n+1/2
u1
= un

update:

n+1

u
= f

un+1
= 0
2
(N )
n+1/2
n+1

u
u

= 1
n2
n1

in

1 ,

on

1 \

on

in
on

2 ,
2 \

on

n+1
n
un+1
=
u
+
(1

)u
on ,
2

with (0, M AX )

p. 17

D-N: matrix form

p. 18

D-N: matrix form

1,n+1/2

(D) A1II uI

+ A1I un = fI1

p. 18

D-N: matrix form

1,n+1/2

(D) A1II uI
(N )

A2II
A2I

+ A1I un = fI1

A2I
A2

uI2,n+1
u
n+1

fI2

1,n+1/2

f A1I uI

A1 un

p. 18

D-N: matrix form

1,n+1/2

(D) A1II uI
(N )

A2II
A2I

+ A1I un = fI1

A2I
A2

uI2,n+1
u
n+1

fI2

1,n+1/2

f A1I uI

A1 un

n+1
n
un+1
=

u
+
(1

)u

p. 18

D-N: matrix form

1,n+1/2

(D) A1II uI

A2II
A2I

(N )

+ A1I un = fI1

A2I
A2

uI2,n+1
u
n+1

fI2

1,n+1/2

f A1I uI

A1 un

n+1
n
un+1
=

u
+
(1

)u

1,n+1/2

(rhs component of (N) is f2


1,n+1/2

1,n+1/2

= A1I uI

, where by flux formula

+ A1 un f1 )

p. 18

1,n+1/2

Eliminating the interior unknowns uI

e uI2,n+1 :

n
n
S 2 (un+1

u
)
=
(g

Su

p. 19

1,n+1/2

Eliminating the interior unknowns uI

e uI2,n+1 :

n
n
S 2 (un+1

u
)
=
(g

Su

i.e. a Richardson method for Su = g with preconditioner

1
2
S

p. 19

1,n+1/2

Eliminating the interior unknowns uI

e uI2,n+1 :

n
n
S 2 (un+1

u
)
=
(g

Su

i.e. a Richardson method for Su = g with preconditioner

1
2
S

the preconditioned operator is then


1

S2 S = I + S2 S1

p. 19

1,n+1/2

Eliminating the interior unknowns uI

e uI2,n+1 :

n
n
S 2 (un+1

u
)
=
(g

Su

i.e. a Richardson method for Su = g with preconditioner

1
2
S

the preconditioned operator is then


1

S2 S = I + S2 S1

substitute the "old" Richardson method with a "modern" Krylov


method (e.g. conjugate gradient or GMRES)

p. 19

Neumann-Neumann (N-N) method


Given u0 :
(Di ) solve on each i a Dirichlet problem with data u0 ,
1/2

obtaining ui

p. 20

Neumann-Neumann (N-N) method


Given u0 :
(Di ) solve on each i a Dirichlet problem with data u0 ,
1/2

obtaining ui

(Ni ) solve on each i a problem with Neumann data on =


sum of normal derivatives of Dirichlet solutions

p. 20

Neumann-Neumann (N-N) method


Given u0 :
(Di ) solve on each i a Dirichlet problem with data u0 ,
1/2

obtaining ui

(Ni ) solve on each i a problem with Neumann data on =


sum of normal derivatives of Dirichlet solutions
update u1 using the Neumann solutions on

p. 20

N-N: differential form

p. 21

N-N: differential form

n+1/2

= f
u
i

n+1/2
(Di )
= 0
ui

n+1/2
= un
ui

in i ,
on i \
on

i = 1, 2

p. 21

N-N: differential form

n+1/2

= f
u
i

n+1/2
(Di )
= 0
ui

n+1/2
= un
ui

in i ,
on i \
on

i = 1, 2

n+1

= 0
in i ,
u

n+1
= 0
on i \
u
i
(Ni )
n+1
n+1/2
n+1/2

u
u
u

i
1
2

=
+
on
ni
n1
n2

i = 1, 2

p. 21

N-N: differential form

n+1/2

= f
u
i

n+1/2
(Di )
= 0
ui

n+1/2
= un
ui

in i ,
on i \
on

i = 1, 2

n+1

= 0
in i ,
u

n+1
= 0
on i \
u
i
(Ni )
n+1
n+1/2
n+1/2

u
u
u

i
1
2

=
+
on
ni
n1
n2

i = 1, 2

n+1
n+1
n
update: un+1
=
u

(u
+
u
) on , with (0, M AX )
1
2

p. 21

N-N: matrix form

p. 22

N-N: matrix form


i,n+1/2

(Di ) AiII uI

+ AiI un = fIi

i = 1, 2

p. 22

N-N: matrix form


i,n+1/2

(Di ) AiII uI
(Ni )

AiII
AiI

+ AiI un = fIi

AiI
Ai

ui,n+1
I
ui,n+1

i = 1, 2

0
r

i = 1, 2

p. 22

N-N: matrix form


i,n+1/2

(Di ) AiII uI
(Ni )

AiII
AiI

+ AiI un = fIi

AiI
Ai

ui,n+1
I
ui,n+1

i = 1, 2

0
r

i = 1, 2

n (u1,n+1 + u2,n+1 )
un+1
=
u

p. 22

N-N: matrix form


i,n+1/2

(Di ) AiII uI

AiII
AiI

(Ni )

+ AiI un = fIi

AiI
Ai

ui,n+1
I
ui,n+1

i = 1, 2

0
r

i = 1, 2

n (u1,n+1 + u2,n+1 )
un+1
=
u

where
1,n+1/2

r = (A1I uI

2,n+1/2

+ A1 un f1 ) + (A2I uI

+ A2 un f2 )

p. 22

Eliminating the interior unknowns:

p. 23

Eliminating the interior unknowns:


i,n+1/2

in the Dirichlet problems (Di ) eliminate uI

r = (g Sun )

p. 23

Eliminating the interior unknowns:


i,n+1/2

in the Dirichlet problems (Di ) eliminate uI

r = (g Sun )

in the Neumann problems (Ni ) eliminate ui,n+1


I
i
r
ui,n+1
=
S

p. 23

Eliminating the interior unknowns:


i,n+1/2

in the Dirichlet problems (Di ) eliminate uI

r = (g Sun )

in the Neumann problems (Ni ) eliminate ui,n+1


I
i
r
ui,n+1
=
S

Hence
un+1

un

= (S

11

+S

21

)(g Sun )

p. 23

i.e. a Richardson method with preconditioner S 1

+ S2

p. 24

i.e. a Richardson method with preconditioner S 1


1

the preconditioner operator is then (S 1

+ S2

+ S 2 )S

p. 24

i.e. a Richardson method with preconditioner S 1


1

the preconditioner operator is then (S 1

+ S2

+ S 2 )S

the right-hand sides of the Neumann problems can be scaled


with positive weights 1 , 2 that sum to 1, and also the
corrections
1,n+1
2,n+1
n
un+1
=
u

(
u
+

1
2 u

p. 24

i.e. a Richardson method with preconditioner S 1


1

the preconditioner operator is then (S 1

+ S2

+ S 2 )S

the right-hand sides of the Neumann problems can be scaled


with positive weights 1 , 2 that sum to 1, and also the
corrections
1,n+1
2,n+1
n
un+1
=
u

(
u
+

1
2 u

yielding the preconditioner


1

D1 S 1 D1 + D2 S 2 D2

p. 24

Dirichlet-Dirichlet (D-D) method


(FETI, dual of N-N)
Given an initial flux 0 on
(Ni ) solve on each i a problem with Neumann data 0 on

p. 25

Dirichlet-Dirichlet (D-D) method


(FETI, dual of N-N)
Given an initial flux 0 on
(Ni ) solve on each i a problem with Neumann data 0 on
(Di ) solve on each i a Dirichlet problem with data = difference
of the traces on of the Neumann solutions

p. 25

Dirichlet-Dirichlet (D-D) method


(FETI, dual of N-N)
Given an initial flux 0 on
(Ni ) solve on each i a problem with Neumann data 0 on
(Di ) solve on each i a Dirichlet problem with data = difference
of the traces on of the Neumann solutions
update 1 using the traces on of the Dirichlet solutions

p. 25

D-D: differential form


2,n
Given n (= 1,n
=

p. 26

D-D: differential form


2,n
Given n (= 1,n
=

n+1/2

= f
u

n+1/2
= 0
u
i
(Ni )
n+1/2

u
i

= i,n

ni

in i ,
on i \
on

i = 1, 2

p. 26

D-D: differential form


2,n
Given n (= 1,n
=

n+1/2

= f
in
u

n+1/2
= 0
on
u
i
(Ni )
n+1/2

u
i

= i,n
on

ni

n+1
= 0
u

i
(Di )
= 0
un+1
i

n+1/2
n+1/2
=
u

u
un+1
1
2
i

i ,
i \

in i ,
on i \
on

i = 1, 2

i = 1, 2

p. 26

D-D: differential form


2,n
Given n (= 1,n
=

n+1/2

= f
in
u

n+1/2
= 0
on
u
i
(Ni )
n+1/2

u
i

= i,n
on

ni

n+1
= 0
u

i
(Di )
= 0
un+1
i

n+1/2
n+1/2
=
u

u
un+1
1
2
i

update: n+1

i ,
i \

in i ,
on i \
on

i = 1, 2

i = 1, 2

n+1
n+1
u
u
2
1
+
) on , with (0, M AX )
= n (
n1
n2

p. 26

Analogously to N-N, from the matrix form of D-D algorithms we


obtain
n
1
2
n
n+1
+
(S
+
S
)(d

i.e. a Richardson method with preconditioner S 1 + S 2 for the


flux system F = d

p. 27

Analogously to N-N, from the matrix form of D-D algorithms we


obtain
n
1
2
n
n+1
+
(S
+
S
)(d

i.e. a Richardson method with preconditioner S 1 + S 2 for the


flux system F = d
the preconditioned operator is then
1

SF = (S 1 + S 2 )(S 1

+ S2 )

p. 27

Analogously to N-N, from the matrix form of D-D algorithms we


obtain
n
1
2
n
n+1
+
(S
+
S
)(d

i.e. a Richardson method with preconditioner S 1 + S 2 for the


flux system F = d
the preconditioned operator is then
1

SF = (S 1 + S 2 )(S 1

+ S2 )

scaling the local problems (both right-hand sides and


corrections) with positive weights we obtain the preconditioner
D1 S 1 D1 + D2 S 2 D2

p. 27

2. Overlapping Schwarz method


Given u0 = 0 on
(1) solve a Dirichlet problem on 1 with boundary data = trace
of u0

p. 28

2. Overlapping Schwarz method


Given u0 = 0 on
(1) solve a Dirichlet problem on 1 with boundary data = trace
of u0
(2) solve a Dirichlet problem on 2 with boundary data = trace
of solution of (1)

p. 28

2. Overlapping Schwarz method


Given u0 = 0 on
(1) solve a Dirichlet problem on 1 with boundary data = trace
of u0
(2) solve a Dirichlet problem on 2 with boundary data = trace
of solution of (1)

differential form
(1)

un+1/2 = f
un+1/2 = un

in 1 ,
on 1

and the rest of

p. 28

2. Overlapping Schwarz method


Given u0 = 0 on
(1) solve a Dirichlet problem on 1 with boundary data = trace
of u0
(2) solve a Dirichlet problem on 2 with boundary data = trace
of solution of (1)

differential form
(1)

(2)

un+1/2 = f
un+1/2 = un

un+1 = f
un+1 = un+1/2

in 1 ,
on 1
in 2 ,
on 2

and the rest of

and the rest of

p. 28

Multiplicative Schwarz
Using the variational formulation of this algorithm, we find
un+1 u = (I P2 )(I P1 )(un u)
Pi : H01 () H01 (i ) orthogonal projection defined by
a(Pi u, v) = a(u, v)

v H01 (i )

p. 29

Multiplicative Schwarz
Using the variational formulation of this algorithm, we find
un+1 u = (I P2 )(I P1 )(un u)
Pi : H01 () H01 (i ) orthogonal projection defined by
a(Pi u, v) = a(u, v)

v H01 (i )

The error propagation operator is


(I P2 )(I P1 ) = I (P1 + P2 P2 P1 )

p. 29

Multiplicative Schwarz
Using the variational formulation of this algorithm, we find
un+1 u = (I P2 )(I P1 )(un u)
Pi : H01 () H01 (i ) orthogonal projection defined by
a(Pi u, v) = a(u, v)

v H01 (i )

The error propagation operator is


(I P2 )(I P1 ) = I (P1 + P2 P2 P1 )

and the multiplicative Schwarz algorithm becomes


Pms u = (P1 + P2 P2 P1 )u = g

with g a proper rhs


p. 29

Additive Schwarz
In order to eliminate the two sequential steps of multiplicative
Schwarz, we define the additive Schwarz method
Pas u = (P1 + P2 )u = g

with g a proper rhs

p. 30

Additive Schwarz
In order to eliminate the two sequential steps of multiplicative
Schwarz, we define the additive Schwarz method
Pas u = (P1 + P2 )u = g

with g a proper rhs


completely parallel

p. 30

Additive Schwarz
In order to eliminate the two sequential steps of multiplicative
Schwarz, we define the additive Schwarz method
Pas u = (P1 + P2 )u = g

with g a proper rhs


completely parallel
as written with Richardson does not converge in general!

p. 30

Additive Schwarz
In order to eliminate the two sequential steps of multiplicative
Schwarz, we define the additive Schwarz method
Pas u = (P1 + P2 )u = g

with g a proper rhs


completely parallel
as written with Richardson does not converge in general!
Must use a Krylov method (e.g. conjugate gradient if the
problem is SDP)

p. 30

N subdomains
These methods can be extended to the case of N 2 subdomains
1
SN
NS

PN

Neumann-Neumann:
= i=1 DiT S i Di S

(pseudoinverses S i needed for floating subdomains)

p. 31

N subdomains
These methods can be extended to the case of N 2 subdomains
1
SN
NS

PN

Neumann-Neumann:
= i=1 DiT S i Di S

(pseudoinverses S i needed for floating subdomains)


Multiplicative Schwarz:

Pms = I (I PN ) (I P1 )

p. 31

N subdomains
These methods can be extended to the case of N 2 subdomains
1
SN
NS

PN

Neumann-Neumann:
= i=1 DiT S i Di S

(pseudoinverses S i needed for floating subdomains)


Multiplicative Schwarz:
Additive Schwarz:

Pms = I (I PN ) (I P1 )

Pas =

PN

i=1 Pi =

PN

T Ai R A
R
i
i=1 i

p. 31

N subdomains
These methods can be extended to the case of N 2 subdomains
1
SN
NS

PN

Neumann-Neumann:
= i=1 DiT S i Di S

(pseudoinverses S i needed for floating subdomains)


Multiplicative Schwarz:
Additive Schwarz:

Pms = I (I PN ) (I P1 )

Pas =

PN

i=1 Pi =

PN

T Ai R A
R
i
i=1 i

For increasing N these 1 level methods are not scalable for elliptic
problems: it is proven that their iteration counts to have err < toll is
proportional to N
we need to use more levels (multilevel methods)

p. 31

Multilevel methods
In order to have scalability (independence of N ), which is crucial in
elliptic problems, we must add at least a second level
solve a coarse (global) problem with few unknowns per
subdomain (usually a problem associated with the subdomain
mesh)

p. 32

Multilevel methods
In order to have scalability (independence of N ), which is crucial in
elliptic problems, we must add at least a second level
solve a coarse (global) problem with few unknowns per
subdomain (usually a problem associated with the subdomain
mesh)
Balanced Neumann-Neumann:
PN

1
SN N = S0 + (I S0 S)( i=1 DiT S i Di )(I SS0 )

p. 32

Multilevel methods
In order to have scalability (independence of N ), which is crucial in
elliptic problems, we must add at least a second level
solve a coarse (global) problem with few unknowns per
subdomain (usually a problem associated with the subdomain
mesh)
Balanced Neumann-Neumann:
PN

1
SN N = S0 + (I S0 S)( i=1 DiT S i Di )(I SS0 )
Multiplicative Schwarz:
Pms = I (I PN ) (I P1 )(I P0 )

p. 32

Multilevel methods
In order to have scalability (independence of N ), which is crucial in
elliptic problems, we must add at least a second level
solve a coarse (global) problem with few unknowns per
subdomain (usually a problem associated with the subdomain
mesh)
Balanced Neumann-Neumann:
PN

1
SN N = S0 + (I S0 S)( i=1 DiT S i Di )(I SS0 )
Multiplicative Schwarz:
Pms = I (I PN ) (I P1 )(I P0 )

Additive
PSchwarz:
PN
1
N
1
T
Pas = i=0 Pi = R0 A0 R0 A + i=1 RiT Ai Ri A
p. 32

3. Abstract Schwarz Theory


(P.L. Lions, Bramble, Dryja, Widlund,...)
V Hilbert space with dim(V ) < (e.g. fem or spectral elements).
Decompose V in subspaces
V = V0 + V1 + + VN

p. 33

3. Abstract Schwarz Theory


(P.L. Lions, Bramble, Dryja, Widlund,...)
V Hilbert space with dim(V ) < (e.g. fem or spectral elements).
Decompose V in subspaces
V = V0 + V1 + + VN
a(, ) : V V R SPD bilinear form, f V
uV :

a(u, v) = f (v)

v V

p. 33

3. Abstract Schwarz Theory


(P.L. Lions, Bramble, Dryja, Widlund,...)
V Hilbert space with dim(V ) < (e.g. fem or spectral elements).
Decompose V in subspaces
V = V0 + V1 + + VN
a(, ) : V V R SPD bilinear form, f V
uV :

a(u, v) = f (v)

v V

projection-like operators Pi : V Vi defined by


bi (Pi u, v) = a(u, v)

v Vi .

with bi (, ) : Vi Vi R local SPD bilinear forms on each


subspace Vi

p. 33

Three assumptions
(Stable Decomposition)
P C0 such that every u V admits a
decomposition u =
ui , ui Vi , with
N
X

bi (ui , ui ) C02 a(u, u)

i=0

p. 34

Three assumptions
(Stable Decomposition)
P C0 such that every u V admits a
decomposition u =
ui , ui Vi , with
N
X

bi (ui , ui ) C02 a(u, u)

i=0

(Strengthened Cauchy-Schwarz ineq.) ij [0, 1], i, j = 1, N


a(ui , uj ) ij a(ui , ui )1/2 a(uj , uj )1/2 ,

u i Vi , u j Vj

p. 34

Three assumptions
(Stable Decomposition)
P C0 such that every u V admits a
decomposition u =
ui , ui Vi , with
N
X

bi (ui , ui ) C02 a(u, u)

i=0

(Strengthened Cauchy-Schwarz ineq.) ij [0, 1], i, j = 1, N


a(ui , uj ) ij a(ui , ui )1/2 a(uj , uj )1/2 ,

u i Vi , u j Vj

(Local Stability) 1 such that for i = 0, 1, . . . , N


a(ui , ui ) bi (ui , ui ),

ui Range(Pi ) Vi

p. 34

Main Theorem
If assumptions 1,2,3 are satisfied, then

p. 35

Main Theorem
If assumptions 1,2,3 are satisfied, then (additive version)
C02 a(u, u) a(Pas u, u) ((E) + 1)a(u, u)

where(E) = spectral radius of the matrix E = (ij )

p. 35

Main Theorem
If assumptions 1,2,3 are satisfied, then (additive version)
C02 a(u, u) a(Pas u, u) ((E) + 1)a(u, u)

where(E) = spectral radius of the matrix E = (ij )


(multiplicative version)
kI

Pms k2a

2
1
1 2
2
2
C0 (2
(E) + 1)

with
= max(1, )

p. 35

Convergence rate estimates (FEM)


With a proper coarse space V0 (complex in 3D) the best
nonoverlapping DD methods satisfy


cond(Pas ) C 1 + log

H
h

2

C indep. of h, N and jumps in the coefficients of the elliptic operator

p. 36

Convergence rate estimates (FEM)


With a proper coarse space V0 (complex in 3D) the best
nonoverlapping DD methods satisfy


cond(Pas ) C 1 + log

H
h

2

C indep. of h, N and jumps in the coefficients of the elliptic operator

With a proper coarse space V0 (simple even in 3D), Overlapping


Schwarz methods with overlap satisfy


H
cond(Pas ) C 1 +

p. 36