1 / 18
A three-level BDDC algorithm for mortar discretization Hyea Hyun - - PowerPoint PPT Presentation
A three-level BDDC algorithm for mortar discretization Hyea Hyun - - PowerPoint PPT Presentation
A three-level BDDC algorithm for mortar discretization Hyea Hyun Kim National Institute for Mathematical Sciences Email: hhk@nims.re.kr Joint project with Xuemin Tu ( University of California, Berkeley ) November 21, 2006 1 / 18 Outline
Outline
Outline BDDC algorithm Inexact coarse problem Mortar discretization Three-Level BDDC for mortar Numerical Result 2 / 18
1. Three-level BDDC algorithms 2. Extension to Mortar discretizations 3. Condition number analysis 4. Numerical results
BDDC algorithm
Outline BDDC algorithm Inexact coarse problem Mortar discretization Three-Level BDDC for mortar Numerical Result 3 / 18
We consider a discrete problem of the elliptic problem using a finite element space X in Ω, −∇ · (ρ(x)∇u(x)) = f(x), x ∈ Ω, u(x) = 0, x ∈ ∂Ω.
- Au = f(∗).
When A is large and sparse, iterative methods with a preconditioner are much more efficient than the direct method (Gaussian elimination). Goal: Find a good preconditioner for (*), easily adaptable to parallel processors with a good scalability.
BDDC algorithm
Outline BDDC algorithm Inexact coarse problem Mortar discretization Three-Level BDDC for mortar Numerical Result 4 / 18
Domain Decomposition (nonoverlapping) Ω =
N
- i=1
Ωi. Xi: Finite element space in Ωi Local problem : Ai, 1 ≤ i ≤ N A coarse problem : A0 from a special coarse finite element space defined in Ω, its dimension is comparable to N, the number of subdomains. Preconditioner M −1 =
N
i=0 Rt iDiA−1 i DiRi,
with a good scalability κ(M −1 A) ≤ C(1 + log(H/h))2. H/h: local problem size.
Construction of local and coarse problems
Outline BDDC algorithm Inexact coarse problem Mortar discretization Three-Level BDDC for mortar Numerical Result 5 / 18
Finite Element Spaces
- X
- X
X =
N
i=1 Xi
Selection of dual and primal unknowns u∆ : dual, uΠ : primal Enforcing strong continuity at the primal unknowns on X gives the space X. We subassemble local problem matrices at the primal unknowns and obtain a discrete problem A in X.
Subassembly
Outline BDDC algorithm Inexact coarse problem Mortar discretization Three-Level BDDC for mortar Numerical Result 6 / 18
We order the local problem matrix into dual and primal, Ai =
- A(i)
∆∆
A(i)
∆Π
A(i)
Π∆
A(i)
ΠΠ
- We obtain a subassembled matrix,
- A =
A(1)
∆∆
A(1)
∆ΠR(1) Π
... A(N)
∆∆
A(N)
∆ΠR(N) Π
R(1)
Π tA(1) Π∆
· · · R(N)
Π tA(N) Π∆
- i R(i)
Π tA(i) ΠΠR(i) Π
, R(i)
Π : XΠ → X(i) Π : restriction.
Construction of local and coarse problems
Outline BDDC algorithm Inexact coarse problem Mortar discretization Three-Level BDDC for mortar Numerical Result 7 / 18
We simply denote it by
- A =
- A∆∆
A∆Π At
∆Π
AΠΠ
- .
Using a block Cholesky factorization, we obtain
- A =
- I
At
∆ΠA−1 ∆∆
I A∆∆ SΠΠ I A−1
∆∆A∆Π
I
- ,
SΠΠ = AΠΠ − At
∆ΠA−1 ∆∆A∆Π.
In addition, we have
- A−1 =
- I
−A−1
∆∆A∆Π
I A−1
∆∆
S−1
ΠΠ
I −At
∆ΠA−1 ∆∆
I
- ,
BDDC preconditioner
Outline BDDC algorithm Inexact coarse problem Mortar discretization Three-Level BDDC for mortar Numerical Result 8 / 18
Discrete problem using X,
- Au = f.
Using the discrete problem A of X, we build a preconditioner M −1 = RtD A−1D R, where R : X → X (extension), D is a certain weight. Let Φ =
- −A−1
∆∆A∆Π
I
- .
M −1 = RtD
- A−1
∆∆
- + ΦS−1
ΠΠΦt
- D
R.
To improve scalability
Outline BDDC algorithm Inexact coarse problem Mortar discretization Three-Level BDDC for mortar Numerical Result 9 / 18
Scalability of M −1 ( H/h : local problem size ) κ(M −1A) ≤ C (1 + log(H/h))2 . ✄ The number of iterations does not depend on the number
- f subdomains (processors). Using N times larger number of
subdomains with a fixed local problem size, we can solve N times larger problem in a similar wall clock time. ✄ Note that, at each iteration we solve the local problems A−1
∆∆ and the coarse problem S−1 ΠΠ exactly .
To improve scalability
Outline BDDC algorithm Inexact coarse problem Mortar discretization Three-Level BDDC for mortar Numerical Result 10 / 18
✄ However, as the increase of the number of subdomains the coarse problem becomes the bottleneck so that the scalability can be expected only up to a limited number of subdomains (processors) (up to 1,000). The largest one with 100,000 processors is available. To improve the scalability, we want to solve the coarse problem cheaply. M −1 = RtD
- A−1
∆∆
- + ΦS−1
ΠΠΦt
- D
R. ✄ We will replace S−1
ΠΠ with M −1 S , a BDDC preconditioner for
SΠΠ, by introducing another level, subregion partition, where each subregion is a union of subdomains.
Mortar discretization
Outline BDDC algorithm Inexact coarse problem Mortar discretization Three-Level BDDC for mortar Numerical Result 11 / 18
✔
Mortar matching condition
- Γij
(vi − vj)ψ ds = 0, ∀ψ ∈ Mij Mortar finite element space is a subspace of
N
i=1 Xi that
satisfies the mortar matching condition. Mortar discretization is to approximate the solution in the mortar finite element space.
Three-level algorithm
Outline BDDC algorithm Inexact coarse problem Mortar discretization Three-Level BDDC for mortar Numerical Result 12 / 18
The mortar discretization gives Au = f. We build a BDDC preconditioner by selecting appropriate primal unknowns,
- Fij
(vi − vj)ψ ds = 0, ψ = 1, vΠ =
- Fij
vi ds =
- Fij
vj ds. We then transform unknowns vi into (v∆, vΠ) and obtain partially assembled matrix A to build a BDDC preconditioner.
Three-level algorithm
Outline BDDC algorithm Inexact coarse problem Mortar discretization Three-Level BDDC for mortar Numerical Result 13 / 18
The coarse problem of the BDDC preconditioner has unknowns corresponding to the average of functions on subdomain edges/faces in two/three dimensions. Subregions Ω(j) =
- i Ω(j)
i
- Subregion problems
S(j)
ΠΠ = Rt jSΠΠRj
Primal unknowns
- Fjk u(j)
Π ds =
- Fjk u(k)
Π ds.
Three-level algorithm
Outline BDDC algorithm Inexact coarse problem Mortar discretization Three-Level BDDC for mortar Numerical Result 14 / 18
We replace the coarse problem S−1
ΠΠ of the two level
preconditioner M −1 with the BDDC preconditioner M −1
S
using the subregion problems and the subregional primal unknowns. We obtain a three-level BDDC preconditioner, M −1
3
= RtD
- A−1
∆∆
- + ΦM −1
S Φt
- D
R. Its condition number bound is κ(M −1
3
- A) ≤ C
- 1 + log(
H/H)
2 (1 + log(H/h))2 .
( H/H): subregion problem size (H/h): subdomain problem size
Three-level algorithm
Outline BDDC algorithm Inexact coarse problem Mortar discretization Three-Level BDDC for mortar Numerical Result 15 / 18
✄ The condition number is slightly larger than the two-level algorithm and it is independent of the number of subregions. ✄ The coarse problem at each iteration is solved cheaply so that it can avoid the bottleneck due to the cost for the exact coarse problem. ✄ As a result, better scalability is obtained. With N times larger processors, we can solve N times larger problem in a similar wall clock time.
Numerical Result
Outline BDDC algorithm Inexact coarse problem Mortar discretization Three-Level BDDC for mortar Numerical Result 16 / 18
✄ Model problem Ω = [0, 1]2 : the unit rectangle −∆u(x, y) = f(x, y), (x, y) ∈ Ω, u(x, y) = 0, (x, y) ∈ ∂Ω, with the exact solution u(x, y) = sin(πx) sin(πy). ✄ The CG iteration Relative residual norm up to 10−6
Numerical Result: Scalability as the increase
- f the number of subdomains (subregions)
Outline BDDC algorithm Inexact coarse problem Mortar discretization Three-Level BDDC for mortar Numerical Result 17 / 18
✄ Left three columns : scalability as the increase of the number of subdomains (N) when the local problem sizes are fixed with (H/h) = 6 ✄ Right three columns : scalability as the increase of the number of subregions ( N) when ( H/H) = 4 and (H/h) = 6 are fixed. Exact Inexact N Cond Iter
- N
Cond Iter 16 12.36 23 4 12.70 26 32 12.37 24 8 12.79 27 48 12.40 24 16 12.81 29 80 12.41 25 20 12.82 29
Numerical Result: Scalability as the increase
- f the subdomain (subregion) problem size
Outline BDDC algorithm Inexact coarse problem Mortar discretization Three-Level BDDC for mortar Numerical Result 18 / 18
✄ C1 = κ(M −1
3
- A)/(1 + log(
H/H))2, as the increase of H/H (subregion problem size). ✄ C2 = κ(M −1
3
- A)/(1 + log(H/h))2, as the increase of H/h