Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
p. 1
p. 2
p. 2
p. 2
p. 2
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
p. 4
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
p. 4
Basic DD ideas
decompose the domain of the PDE in N subdomains
N
[
=
i with or without overlap
i=1
iterative method
p. 4
p. 5
p. 5
p. 6
p. 6
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
ui = f
ui = 0
u1 = u2
u1
u2
=
n1
n2
in i ,
i = 1, 2
on i \
on ,
transmission
on
conditions
p. 8
u=
u1I
, f =
fI1
interior to 1
p. 9
u=
u1I
u2I
, f =
fI1
fI2
interior to 1
interior to 2
p. 9
u=
u1I
u2I
u
fI1
fI2
interior to 1
f =
interior to 2
f
on (interior)
p. 9
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
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
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
p. 10
p. 11
A1II
0
A1I
0
A2II
A2I
A1I
A2I
A
u1I
u2I
u
fI1
fI2
f
p. 11
A1II
0
A1I
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
A1II
0
A1I
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
A1II
0
A1I
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
p. 12
p. 12
p. 12
p. 12
p. 12
"
AII
AI
AI
=S
S = A AI A1
II AI
p. 13
where
p. 14
1
11 1
AI AII AI
where
2
21 2
AI AII AI
= S1 + S2
p. 14
1
11 1
AI AII AI
where
2
21 2
AI AII AI
= S1 + S2
p. 14
1
11 1
AI AII AI
where
2
21 2
AI AII AI
= S1 + S2
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
p. 16
1/2
u1
1
(N) solve a problem on 2 for u2 with Neumann data
n1
on
p. 16
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
p. 17
n+1/2
u
= f
1
n+1/2
(D)
u1
= 0
n+1/2
u1
= un
in
1 ,
on
1 \
on
p. 17
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
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
p. 18
1,n+1/2
(D) A1II uI
+ A1I un = fI1
p. 18
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
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
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
1,n+1/2
= A1I uI
+ A1 un f1 )
p. 18
1,n+1/2
e uI2,n+1 :
n
n
S 2 (un+1
u
)
=
(g
Su
p. 19
1,n+1/2
e uI2,n+1 :
n
n
S 2 (un+1
u
)
=
(g
Su
1
2
S
p. 19
1,n+1/2
e uI2,n+1 :
n
n
S 2 (un+1
u
)
=
(g
Su
1
2
S
S2 S = I + S2 S1
p. 19
1,n+1/2
e uI2,n+1 :
n
n
S 2 (un+1
u
)
=
(g
Su
1
2
S
S2 S = I + S2 S1
p. 19
obtaining ui
p. 20
obtaining ui
p. 20
obtaining ui
p. 20
p. 21
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+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+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
p. 22
(Di ) AiII uI
+ AiI un = fIi
i = 1, 2
p. 22
(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
(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
(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
p. 23
r = (g Sun )
p. 23
r = (g Sun )
p. 23
r = (g Sun )
Hence
un+1
un
= (S
11
+S
21
)(g Sun )
p. 23
+ S2
p. 24
+ S2
+ S 2 )S
p. 24
+ S2
+ S 2 )S
(
u
+
1
2 u
p. 24
+ S2
+ S 2 )S
(
u
+
1
2 u
D1 S 1 D1 + D2 S 2 D2
p. 24
p. 25
p. 25
p. 25
p. 26
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
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
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
p. 27
SF = (S 1 + S 2 )(S 1
+ S2 )
p. 27
SF = (S 1 + S 2 )(S 1
+ S2 )
p. 27
p. 28
p. 28
differential form
(1)
un+1/2 = f
un+1/2 = un
in 1 ,
on 1
p. 28
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
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 )
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 )
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
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
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
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
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
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
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
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
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
p. 33
a(u, v) = f (v)
v V
p. 33
a(u, v) = f (v)
v V
v Vi .
p. 33
Three assumptions
(Stable Decomposition)
P C0 such that every u V admits a
decomposition u =
ui , ui Vi , with
N
X
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
i=0
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
i=0
u i Vi , u j Vj
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)
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)
Pms k2a
2
1
1 2
2
2
C0 (2
(E) + 1)
with
= max(1, )
p. 35
cond(Pas ) C 1 + log
H
h
2
p. 36
cond(Pas ) C 1 + log
H
h
2
H
cond(Pas ) C 1 +
p. 36