multi grid methods
play

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


  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 Tuesday, June 26, 2007 1

  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 speci fi c problems Tuesday, June 26, 2007 2

  3. Motivation • Large sparse linear systems might converge slowly using standard iterative relaxation methods ( such as Jacobi, Gauss - Seidel ) . Tuesday, June 26, 2007 3

  4. Example Au = 0 , u i − 1 − 2 u i + u i + 1 = 0 k = 1 1 0 . 8 k = 3 0 . 6 0 . 4 0 . 2 0 - 0 . 2 k = 6 - 0 . 4 - 0 . 6 - 0 . 8 1 k = 1 - 1 0 0 . 1 0 . 2 0 . 3 0 . 4 0 . 5 0 . 6 0 . 7 0 . 8 0 . 9 1 0.9 0.8 0.7 0.6 0.5 k = 3 0.4 0.3 k = 6 0.2 0.1 0 0 20 40 60 80 100 120 Tuesday, June 26, 2007 4

  5. Multi - Grid • Many relaxation schemes have the smoothing property , where oscillatory modes of the error are eliminated e ff ectively, 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! Tuesday, June 26, 2007 5

  6. Two - Grid Case • Linear elliptic problem: L u = f • Discretized on a uniform grid with spacing h between grid points: L h u h = f h • Let be an approximate solution. u h ˜ • Error/correction: v h = u h − ˜ u h • Residual/defect: d h = L h ˜ u h − f h Tuesday, June 26, 2007 6

  7. Two - Grid Case ( continued ) = d h L h ˜ u h − f h = L h ( u h − v h ) − f h = L h u h − L h v h − f h = − L h v h Error may be computed by solving: L h v h = − d h L H v H = − d H Idea: use a coarser grid to solve: Use the result to approximate the correction, and correct the fi ne grid solution! u new u h + ˜ v h ˜ = ˜ h Tuesday, June 26, 2007 7

  8. Two - Grid Case ( continued ) How do we switch between coarse and fi ne grids? Need to de fi ne two linear operators: • Restriction/injection/ fi ne - to - coarse operator R • Prolongation/interpolation/coarse - to -fi ne operator P d H = Rd h v h = P ˜ v H ˜ Tuesday, June 26, 2007 8

  9. Two - Grid Case ( summary ) Iterate until convergence: • Relaxation/smoothing on the fi ne grid • Compute the defect on fi ne grid d h = L h ˜ u h − f h • Restrict defect to coarse grid d H = Rd h • Solve the coarse problem L H v H = − d H • Interpolate the correction to fi ne grid v h = P ˜ v H ˜ • Apply correction to get a new u new u h + ˜ v h ˜ = ˜ approximation h Tuesday, June 26, 2007 9

  10. Relaxation / Smoothing Relaxation ( smoothing ) operator: typically a few iterations of Gauss - Seidel: � � u i = − 1 ∑ L ij u j − f i i = 1 ,..., N L ii j � = i Tuesday, June 26, 2007 10

  11. Relaxation / Smoothing Tuesday, June 26, 2007 11

  12. Prolongation Prolongation operator in 1D: typically linear interpolation. Speci fi ed by the following stencil ( symbol ) : � � 1 / 2 1 / 2 1 Tuesday, June 26, 2007 12

  13. Example The prolongation operator, written in matrix form ( in 1D, for interpolating 3 variables into 7 ) :     1 / 2 v h , 1 1 v h , 2           1 / 2 1 / 2 v H , 1 v h , 3         1 v H , 2 v h , 4  =          1 / 2 1 / 2 v H , 3 v h , 5         1 v h , 6     1 / 2 v h , 7 7 × 3 Tuesday, June 26, 2007 13

  14. Prolongation in 2D Prolongation operator in 2D: typically bi - linear interpolation. Speci fi ed by the following stencil ( symbol ) , on a 2D grid:   0 . 25 0 . 5 0 . 25 0 . 5 1 0 . 5   0 . 25 0 . 5 0 . 25 Tuesday, June 26, 2007 14

  15. Restriction [ 1 ] Simplest operator: straight injection Tuesday, June 26, 2007 15

  16. Restriction Another operator: full - weighting [ 1 / 4 1 / 2 1 / 4 ] Tuesday, June 26, 2007 16

  17. Example The restriction operator, written in matrix form ( in 1D, for restricting 7 variables into 3 ) :   v h , 1 v h , 2         1 / 4 1 / 2 1 / 4 v h , 3 v H , 1     1 / 4 1 / 2 1 / 4 v h , 4 v H , 2 =         1 / 4 1 / 2 1 / 4 v h , 5 v H , 3   3 × 7   v h , 6   v h , 7 Tuesday, June 26, 2007 17

  18. Restriction in 2D [ 1 ] Simplest operator: straight injection Other choices:   1 / 16 1 / 8 1 / 16 Full weighting 1 / 8 1 / 4 1 / 8   1 / 16 1 / 8 1 / 16   1 / 8 0 0 Half weighting 1 / 8 1 / 2 1 / 8   1 / 8 0 0 Tuesday, June 26, 2007 18

  19. Prolongation & Restriction   1 2       1 1 1 2 1   1 1   2 1 2 1     2 4   1 1 1 2 1     2   1 P cP T Tuesday, June 26, 2007 19

  20. Operator Coarsi fi cation • Discretize the continuous linear operator on progressively coarser grids or • Use the prolongation/restriction operators: L H = RL h P Tuesday, June 26, 2007 20

  21. Cycle Strategies: V and W Tuesday, June 26, 2007 21

  22. Cycle Strategies: FMG Tuesday, June 26, 2007 22

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend