We develop hierarchical domain decomposition method to compute a part of the solution, a part of the inverse operator with O(n log n) storage and computing cost.
Application H-matrices for solving PDEs with multi-scale coefficients, jumping and strongly oscillatory coefficients
1. 1
Application of H-matrices for solving
multiscale problems
Litvinenko Alexander,
Dissertation work
Max-Planck-Institut f¨ur Mathematik in den Naturwissenschaften,
Leipzig, 10 August, 2006.
www.hlib.org www.mis.mpg.de
3. 3
Contents
1. Examples of multiscale problems
2. Multiscale methods
3. HDD method
4. Hierarchical matrices
5. Application of H-matrices to HDD
6. Complexity and storage of HDD
7. Modifications of HDD
– Two scales
– Truncation of the small scales
8. Numerical results
4. 4
Example of multiscale problems
(a)macroscopic scale (b)microscopic scale
Different scales in a porous medium.[Bastian 99].
10 s
-6
10 s
-3
10 s
0
10 s
3
10 m
-12
10 m
-9
10 m
-6
10 m
-3
Atom Protein Cell Tissue
molecular events
(ion channel gating)
diffusion cell
signalling
mitosis
Example of time and length scales for modeling tumor growth.[Alarcon,
Byrne, Maini 05]
6. 6
Multiscale methods
The equation is :
− (a(x) u) = f in Ω,
u = 0 on ∂Ω.
(1)
Homegenisation [Babuska 75], [Bensoussan, Lions, Papanicolau 78],
[Jikov, Kozlov, Oleinik 94]
Solution is
uε
(x) = u0(x) + εu1(x,
x
ε
) + O(ε2
).
u0 is the solution of the homogenized equation
a∗
u0 = f in Ω, u0 = 0 on ∂Ω, (2)
Resonance effect in MsFEM [T.Hou, X. Wu 97]
u − uh
0,Ω = O(h2
+ ε/h). (3)
Heterogeneous multiscale method [Weinan E, B.Engquist 03]
7. 7
Problem setup
The Poisson problem : find u ∈ H1
(Ω) s.t. :
1≤i,j≤2
∂
∂xi
ai,j(x)
∂
∂xj
u = f in Ω
u = g on Γ
(4)
where ai,j ∈ L∞
(Ω) such A(x) = (ai,j)i,j=1,...,d satisfies
0 < λ ≤ λmin(A(x)) ≤ λmax(A(x)) ≤ λ , ∀x ∈ Ω.
⇒ Oscillatory or jumping coefficients are allowed.
8. 8
The idea of HDD
Find operators : Bh, Ch s.t.
uh = Bhfh + Chgh, (5)
where fh is the rhs and gh the Dirichlet-boundary values.
Composed matrix (Bh, Ch) is the ’inverse’ of the stiffness
matrix Ah.
Complete inverse (Bh, Ch) is too much of information. We
might be interested only in few functionals of the solution.
Example : we want to know uh(fh, gh) only for fh in a smaller
space VH ⊂ Vh.
9. 9
Domain decomposition tree TTh
FE discretisation : triangulation Th, Ω = ∪t∈Th
t.
1
2
3
4
5
6
7
9
10
11
12
13
14
15
8
5
6
7
11
12
13
14
15
8
1
2
3
4
5
6
7
9
10
3
4
1
9
10
......
5
6
11
12
13
14
15
6
7
11
15
8
......
2
6
2
6
• Ω is the root of the tree,
• TTh
is a binary tree,
• if ω ∈ TTh
has two sons
ω1, ω2 ∈ TTh
: ω = ω1 ∪ ω2
and γω = ∂ω1 ∩ ∂ω2,
• ω ∈ TTh
is a leaf, if and only
if ω ∈ Th.
10. 10
Notations
Let ω ∈ TTh
, ω = ω1 ∪ ω2.
Γω,1 := ∂ω ∩ ω1, Γω,2 := ∂ω ∩ ω2 and γω := ∂ω1∂ω = ∂ω2∂ω
ω 1 ω 2
ωPSfrag replacements
∂
γω
Γω,1 Γω,2
Γω
I = I(Ω) = set of all vertices of ¯Ω.
I(ω) = {i ∈ I ; xi ∈ ω}.
11. 11
Discretisation
Let ω ∈ TTh
. Denote dω := (fi)i∈I(ω) , (gi)i∈I(∂ω) . Define the
following discrete problem in the variational form :
aω(uh, bj) = (fω, bj)L2(ω) ∀ j ∈ I(
◦
ω),
uh(xj) = gj ∀ j ∈ I(∂ω).
(6)
a(bi, bj) =
Ω
α(x)( bi, bj)dx, (f, bj) =
suppbj
fbjdx.
12. 12
1. Mapping Ψω
Ψω(d) = (Ψω(dω))i∈I(∂ω) with (Ψω(dω))i = aω(uh, bi) − (fω, bi)L2(ω) ,
Ψωdω = Ψf
ωfω + Ψg
ωgω.
2. Mapping Φω
(Φω(dω))i := uh(xi) , ∀i ∈ I(γω).
Hence, Φω(dω) is the trace of uh on γω.
Goal of HDD is to build the set
of mappings : {Φ0, Φ1, Φ2, ..., Φn} which
than produce sequentially the solution on
{γω0 , γω1 , γω2 ..., γωn }.
ω
ω
ω
1
2
xj
γ ω
xj
13. 13
Construction of the mappings Ψω and Φω
Let ω1 and ω2 be two sons of ω ∈ TTh
. Let dω1 and dω2 the
data associated to ω1 and ω2 s.t. :
• (consistency conditions for the Dirichlet data)
g1,i = g2,i , ∀i ∈ I(ω1) ∩ I(ω2), (7)
• (consistency conditions for the right-hand side)
f1,i = f2,i , ∀i ∈ I(ω1) ∩ I(ω2). (8)
Let uω1 and uω2 be the local FE solutions of the problem (6)
for the data dω1
, dω2
.
14. 14
ω
ω
ω
1
2
xj
γ ω
xj
If uω1 , uω2 satisfy to the Neu-
mann condition
γ
Ψω1 (dω1 ) + γ
Ψω2 (dω2 ) = 0,
Then, uω defined by
uω(xi) :=
uω1 (xi) for i ∈ I(ω1)
uω2 (xi) for i ∈ I(ω2)
(9)
is solution of (6) for the data dω := (fω, gω) given by
fω :=
f1,i for i ∈ I(ω1)
f2,i for i ∈ I(ω2)
gω :=
g1,i for i ∈ I(∂ω1)
g2,i for i ∈ I(∂ω2)
15. 15
γ
Ψγ
ω1
+ γ
Ψγ
ω2
gγ = −Ψf
ω1
f1 − ΨΓ
ω1
g1,Γ − Ψf
ω2
f2 − ΨΓ
ω2
g2,Γ.
We set
M := −( γ
Ψγ
ω1
+ γ
Ψγ
ω2
),
compute M−1
and solve for gγ :
gγ = M−1
(Ψf
ω1
f1 + ΨΓ
ω1
g1,Γ + Ψf
ω2
f2 + ΨΓ
ω2
g2,Γ).
For given mappings Ψω1 , Ψω2 , defined on the sons ω1, ω2, we
can compute Φω and Ψω for the father ω. This recursion
process ends as soon as ω = Ω.
16. 16
Hierarchical Process
1. Leaves to Root
1. Compute Ψω on all leaves (3 × 3 matrices).
2. Recursion from the leaves to the root :
(a) Compute and store Φω and Ψω from Ψω1 , Ψω2 .
(b) Delete Ψω1 , Ψω2 .
2. Root to Leaves
1. Given dω = (fω, gω), compute the solution uh on the
interior boundary γω by Φω (dω).
2. Build the data dω1 = (fω1 , gω1 ), dω2 = (fω2 , gω2 ) from
dω = (fω, gω) and gγ := Φω (dω).
17. 17
Rank-k matrices
1. R ∈ Rn×m
, R = ABT
, where
A ∈ Rn×k
, B ∈ Rm×k
, k min(n, m).
The storage A and B is k(n + m)
instead of n · m.
=
A
B
T
*
R
k
k
n
m
n
m
H-matrices (Hackbusch ’98)
2. Grid → cluster tree (TI) → blockclus-
ter tree (TI×J ) + admissibility condition
→ admissible partitioning → H-matrix →
H-matrix arithmetics .
4 2
2 2 3
3 3
4 2
2 2
4 2
2 2
4
18. 18
3. Let I := I(Ω), t, s ∈ TI, (t × s) ∈ TI×I.
Admissibility : max{diam(t), diam(s)} ≤ η · dist(t, s).
if(adm=true) then M|t×s is a rank-k matrix block
if(adm=false) then divide M|t×s further or define as a dense
matrix block.
Q
Qt
S
dist H=
t
s
...
I
I
I I
I
I
I I I I
I
1
1
2
2
11 12 21 22
I11
I12
I21
I22
19. 19
Definition 0.1 H(TI×J , k) := {M ∈ RI×J
| rank(M |t×s) ≤ k for
all admissible leaves t × s of TI×J }.
n := max(|I|, |J|, |K|).
Operation Sequential Compl. Parallel Complexity
(R.Kriemann 2005)
building(M) N = O(n log n) N
p + O(|V (T)L(T)|)
storage(M) N = O(kn log n) N
Mx N = O(kn log n) N
p
αM ⊕ βM N = O(k2
n log n) N
p
αM M ⊕ βM N = O(k2
n log2
n) N
p + O(Csp(T)|V (T)|)
M−1
N = O(k2
n log2
n) N
p + O(nn2
min)
LU N = O(k2
n log2
n) N
H-LU N = O(k2
n log2
n) N
p + O(k2
n log2
n
n1/d )
24. 24
Prolongation of the right-hand side on the fine grid
h H, fH ∈ VH ⊂ Vh is given ⇒ to build fh.
Mappings Ψf
, Φf
can be compressed.
H h
.
=
g replacements
Φfh
ωΦfH
ω Ph←H
ω
25. 25
Truncation of the small scales :
S(Φω) = S(Φg
ω) + S(Φf
ω) = O(k2√
nhnH log
√
nhnH).
Ω
h
HPSfrag replacements
T≥H
Th
TTh
T<H
Th
Fig. 3 – Domain decomposition tree TTh
and its parts.
36. 36
Properties of HDD :
1. HDD computes uh := Bhfh + Chgh or uh := BHfH + Chgh.
2. Bh, BH and Ch have H-matrix format.
3. The complexities are O(k2
nh log3
nh) and
O(k2√
nhnH log3 √
nhnH).
4. The storages are O(knh log2
nh) and
O(k
√
nhnH log2 √
nhnH).
5. HDD computes functionals of the solution :
(a) Neumann data ∂uh
∂n at the boundary,
(b) mean values ω
uhdx, ω ⊂ Ω, the solution at a point,
the solution in a small subdomain ω,
(c) flux C
u−→n dx, where C is a curve in Ω.
37. 37
6. HDD for multiple right-hand sides and multiple Dirichlet
data.
7. HDD can easily be parallelized.
8. Problems with repeated patterns.