Multi - Grid Methods Press et al., Numerical Recipes in C , Section - - PowerPoint PPT Presentation

multi grid methods
SMART_READER_LITE
LIVE PREVIEW

Multi - Grid Methods Press et al., Numerical Recipes in C , Section - - PowerPoint PPT Presentation

Multi - Grid Methods Press et al., Numerical Recipes in C , Section 19.6 http://www.nrbook.com/a/bookcpdf.php A Multigrid Tutorial, http://www.llnl.gov/casc/people/henson/mgtut/welcome.html Tuesday, June 26, 2007 1 Multi - Grid Methods


slide-1
SLIDE 1

Multi-Grid Methods

Press et al., “Numerical Recipes in C”, Section 19.6

http://www.nrbook.com/a/bookcpdf.php

A Multigrid Tutorial,

http://www.llnl.gov/casc/people/henson/mgtut/welcome.html

1 Tuesday, June 26, 2007

slide-2
SLIDE 2

Multi-Grid Methods

  • Introduced by Achi Brandt, “Multi-Level

Adaptive Solutions to Boundary V alue Problems”, Math. Comp. 1977

  • Solve elliptic PDEs (such as the Poisson

equation) on N grid points in O(N)

  • General framework, whose components must

be adjusted to solve specific problems

2 Tuesday, June 26, 2007

slide-3
SLIDE 3

Motivation

  • Large sparse linear systems might converge

slowly using standard iterative relaxation methods (such as Jacobi, Gauss-Seidel).

3 Tuesday, June 26, 2007

slide-4
SLIDE 4

Example

Au = 0, ui−1 −2ui +ui+1 = 0

0 . 1 0 . 2 0 . 3 0 . 4 0 . 5 0 . 6 0 . 7 0 . 8 0 . 9 1

  • 1
  • 0 . 8
  • 0 . 6
  • 0 . 4
  • 0 . 2

0 . 2 0 . 4 0 . 6 0 . 8 1

k = 3

k = 1

k = 6

20 40 60 80 100 120 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

k = 1

k = 3

k = 6

4 Tuesday, June 26, 2007

slide-5
SLIDE 5

Multi-Grid

  • Many relaxation schemes have the smoothing

property, where oscillatory modes of the error are eliminated effectively, but smooth modes are damped very slowly!

  • Idea: use a sequence of progressively coarser

grids in order to quickly get rid of smooth (low- frequency) errors!

5 Tuesday, June 26, 2007

slide-6
SLIDE 6

Two-Grid Case

  • Linear elliptic problem:
  • Discretized on a uniform grid with spacing h

between grid points:

  • Let be an approximate solution.
  • Error/correction:
  • Residual/defect:

L u = f Lhuh = fh ˜ uh vh = uh − ˜ uh dh = Lh ˜ uh − fh

6 Tuesday, June 26, 2007

slide-7
SLIDE 7

Use the result to approximate the correction, and correct the fine grid solution!

Two-Grid Case (continued)

Error may be computed by solving: Lhvh = −dh Idea: use a coarser grid to solve:

LHvH = −dH ˜ unew

h

= ˜ uh + ˜ vh dh = Lh ˜ uh − fh = Lh (uh −vh)− fh = Lhuh −Lhvh − fh = −Lhvh

7 Tuesday, June 26, 2007

slide-8
SLIDE 8

Two-Grid Case (continued)

How do we switch between coarse and fine grids? Need to define two linear operators:

  • Restriction/injection/fine-to-coarse operator R
  • Prolongation/interpolation/coarse-to-fine
  • perator P

dH = Rdh ˜ vh = P˜ vH

8 Tuesday, June 26, 2007

slide-9
SLIDE 9

Two-Grid Case (summary)

Iterate until convergence:

  • Relaxation/smoothing on the fine grid
  • Compute the defect on fine grid
  • Restrict defect to coarse grid
  • Solve the coarse problem
  • Interpolate the correction to fine grid
  • Apply correction to get a new

approximation

dh = Lh ˜ uh − fh dH = Rdh ˜ vh = P˜ vH LHvH = −dH ˜ unew

h

= ˜ uh + ˜ vh

9 Tuesday, June 26, 2007

slide-10
SLIDE 10

Relaxation / Smoothing

Relaxation (smoothing) operator: typically a few iterations of Gauss-Seidel:

ui = − 1 Lii

j=i

Lij u j − fi

  • i = 1,...,N

10 Tuesday, June 26, 2007

slide-11
SLIDE 11

Relaxation / Smoothing

11 Tuesday, June 26, 2007

slide-12
SLIDE 12

Prolongation

Prolongation operator in 1D: typically linear interpolation. Specified by the following stencil (symbol):

  • 1/2

1 1/2

  • 12

Tuesday, June 26, 2007

slide-13
SLIDE 13

Example

The prolongation operator, written in matrix form (in 1D, for interpolating 3 variables into 7):

          1/2 1 1/2 1/2 1 1/2 1/2 1 1/2          

7×3

  vH,1 vH,2 vH,3   =           vh,1 vh,2 vh,3 vh,4 vh,5 vh,6 vh,7          

13 Tuesday, June 26, 2007

slide-14
SLIDE 14

Prolongation in 2D

Prolongation operator in 2D: typically bi-linear interpolation.

  0.25 0.5 0.25 0.5 1 0.5 0.25 0.5 0.25  

Specified by the following stencil (symbol), on a 2D grid:

14 Tuesday, June 26, 2007

slide-15
SLIDE 15

Restriction

Simplest operator: straight injection

[1]

15 Tuesday, June 26, 2007

slide-16
SLIDE 16

Restriction

Another operator: full-weighting [1/4

1/2 1/4]

16 Tuesday, June 26, 2007

slide-17
SLIDE 17

Example

The restriction operator, written in matrix form (in 1D, for restricting 7 variables into 3):

  1/4 1/2 1/4 1/4 1/2 1/4 1/4 1/2 1/4  

3×7

          vh,1 vh,2 vh,3 vh,4 vh,5 vh,6 vh,7           =   vH,1 vH,2 vH,3  

17 Tuesday, June 26, 2007

slide-18
SLIDE 18

Restriction in 2D

Simplest operator: straight injection

[1]

Other choices: Full weighting Half weighting

  1/16 1/8 1/16 1/8 1/4 1/8 1/16 1/8 1/16     1/8 1/8 1/2 1/8 1/8  

18 Tuesday, June 26, 2007

slide-19
SLIDE 19

Prolongation & Restriction

1 2           1 2 1 1 2 1 1 2 1          

P cPT

1 4   1 2 1 1 2 1 1 2 1  

19 Tuesday, June 26, 2007

slide-20
SLIDE 20

Operator Coarsification

  • Discretize the continuous linear operator on

progressively coarser grids

  • Use the prolongation/restriction operators:

LH = RLh P

  • r

20 Tuesday, June 26, 2007

slide-21
SLIDE 21

Cycle Strategies: V and W

21 Tuesday, June 26, 2007

slide-22
SLIDE 22

Cycle Strategies: FMG

22 Tuesday, June 26, 2007