A three-level BDDC algorithm for mortar discretization Hyea Hyun - - PowerPoint PPT Presentation

a three level bddc algorithm for mortar discretization
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

1 / 18

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

slide-2
SLIDE 2

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

slide-3
SLIDE 3

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.

slide-4
SLIDE 4

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.

slide-5
SLIDE 5

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.

slide-6
SLIDE 6

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.

slide-7
SLIDE 7

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

  • ,
slide-8
SLIDE 8

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.

slide-9
SLIDE 9

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 .

slide-10
SLIDE 10

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.

slide-11
SLIDE 11

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.

slide-12
SLIDE 12

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.

slide-13
SLIDE 13

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.

slide-14
SLIDE 14

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

slide-15
SLIDE 15

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.

slide-16
SLIDE 16

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

slide-17
SLIDE 17

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

slide-18
SLIDE 18

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

(subdomain problem size). (Note: We fix the other mesh parameters.)

5 10 15 20 25 1 2 3 4

subregion (subdomain) pb. size

c1 c2