towards multigrid methods - tum · the multigrid v-cycle crucial idea: recursive call of...
TRANSCRIPT
![Page 1: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/1.jpg)
Scientific Computing II
Towards Multigrid Methods
Michael BaderTechnical University of Munich
Summer 2018
![Page 2: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/2.jpg)
Part I
Multigrid Methods
Fundamental Multigrid IdeasNested IterationCoarse-Grid Correction – A Two-Grid Method
Multigrid SchemesMultigrid V-CycleMultigrid W-CycleFull Multigrid V-Cycle
Computational EffortCosts per IterationSpeed of Convergence
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 2
![Page 3: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/3.jpg)
Multigrid Idea No. 1
Observation and convergence analysis show:• “high-frequency error” is relative to mesh size• on a sufficiently coarse grid, even very low frequencies can be
“high-frequency”(if the mesh size is big)
“Multigrid” idea:• use multiple grids to solve the system of equations• hope that on each grid, a certain range of error frequencies will be
reduced efficiently
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 3
![Page 4: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/4.jpg)
Nested Iteration
Solve the problem on a coarser grid:• will be comparably (very) fast• can give us a good initial guess:• leads to “poor man’s multigrid”: nested iteration
Algorithm:1. Start on a very coarse grid with mesh size h = h0;
guess an initial solution xh
2. Iterate over Ahxh = bh using relaxation method⇒ approximate solution xh
3. interpolate the solution xh to a finer grid Ωh/2
4. proceed with step 2 (now with mesh size h := h/2) using interpolatedxh/2 as initial solution
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 4
![Page 5: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/5.jpg)
Multigrid Idea No. 2
Observation for nested iteration:• error in interpolated initial guess also includes low frequencies• relaxation therefore still slow• can we go “back” to a coarser grid later in the algorithm?
Idea No. 2: use the residual equation⇒ coarse-grid correction:
• solve Ae = r on a coarser grid• leads to an approximation of the error e• add this approximation to the fine-grid solution
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 5
![Page 6: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/6.jpg)
A Two-Grid Method
Algorithm:1. relaxation/smoothing on the fine level system⇒ solution xh
2. compute the residual rh = bh − Ahxh
3. restriction of rh to the coarse grid ΩH
4. compute a solution to AHeH = rH
5. interpolate the coarse grid solution eH to the fine grid Ωh
6. add the resulting correction to xh
7. again, relaxation/smoothing on the fine grid
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 6
![Page 7: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/7.jpg)
Correction Scheme – Components
• smoother:reduce the high-frequency error components, and get a smooth error
• restriction:transfer residual from fine grid to coarse grid, for example by
– injection– (full) weighting
• coarse grid equation:(acts as) discretisation of the PDE on the coarse grid
• interpolation:transfer coarse grid solution/correction from coarse grid to fine grid
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 7
![Page 8: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/8.jpg)
The Multigrid V-Cycle
Crucial idea: recursive call of Two-/Multigrid solver on coarse grids
Algorithm:1. pre-smoothing on the fine level system⇒ solution xl
2. compute the residual rl = bl − Alxl
3. restriction of rl to the coarse grid Ωl−1
4. solve coarse grid system Al−1el−1 = rl−1by a recursive call to the V-cycle algorithm
5. interpolate the coarse grid solution el−1 to the fine grid Ωl
6. add the resulting correction to xl
7. post-smoothing on the fine grid
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 8
![Page 9: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/9.jpg)
The W-Cycle
• perform two coarse grid correction steps instead of one
Ω8h
Ω4h Ω4h
Ω2h Ω2h
Ωh Ωh
AAU
AAU
AAU
Ω8h Ω8h
Ω4h Ω4h Ω4h
Ω8h Ω8h
Ω4h Ω4h Ω4h
Ω2h Ω2h Ω2h
Ωh Ωh
AAU
AAU
AAU
AAU AAU AAU
AAU
(V-cycle and W-cycle)
• more expensive• useful in situations where the coarse grid correction is not very accurate
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 9
![Page 10: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/10.jpg)
The Full Multigrid V-Cycle (FMV- or F-Cycle)
Recursive algorithm:• combines nested iteration and V-cycle• (recursively!) perform an FMV-cycle on the next coarser grid to get a
good initial solution• interpolate this initial guess to the current grid• perform a V-cycle to improve the solution
Ω8h Ω8h
Ω4hΩ4h
Ω8h
Ω4h Ω4h
Ω2h Ω2h
Ω8h
Ω4h Ω4h
Ω2h Ω2h
Ωh Ωh
AAU
AAU
AAU
AAU
AAU
AAU
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 10
![Page 11: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/11.jpg)
V-Cycle – Computational Costs
Further algorithmic details:• on the coarsest grid: direct solution;
but: number of unknowns small, ideally O(1)
• number of smoothing steps is typically very small (1 or 2)and must not depend on problem size
Computational Costs (storage and computing time):• 1D: c · n + c · n/2 + c · n/4 + . . . ≤ 2c · n• 2D: c · n + c · n/4 + c · n/16 + . . . ≤ 4/3c · n• 3D: c · n + c · n/8 + c · n/64 + . . . ≤ 8/7c · n• overall costs are dominated by the costs of the finest grid
(n the number of grid points on the finest grid: typicall n = h−D)
Thus: runtime O(n) per iteration, but how many iterations necessary?
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 11
![Page 12: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/12.jpg)
Speed of Convergence
• fastest method around (if all components are chosen carefully), but:best-possible convergence often hard to obtain
• “textbook multigrid efficiency”:∥∥∥e(m+1)∥∥∥ ≤ γ ∥∥∥e(m)
∥∥∥ ,where convergence rate γ < 1 (esp. γ 1) is independent of the numberof unknowns⇒ constant number of multigrid steps to obtain a given number of digits⇒ overall computational work increases only linearly with the number of
unknowns• see exercises: analysis of two-grid convergence
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 12
![Page 13: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/13.jpg)
Speed of Convergence (2)For the “Model Problem” (i.e., Poisson Problem):
• O(n) to solve up to “reduce error by a factor of . . . ” (10−8, e.g.)• wanted: solve to the “level of truncation”→ depending on discretisation error; for example O(h2)
• O(n) up to “level of truncation” achieved by FMV-Cycle;ideal case: 1 cycle; after each V-cycle, the “level of truncation” error isachieved on that grid on that grid
For Other Problems:• OK for strongly elliptic problems• multigrid variants for non-linear problems, parabolic/hyperbolic, . . .• every component may fail, leading to slow or no convergence:
smoother, interpolation/restriction, coarse-grid operator• achieving “textbook efficiency” usually a demanding task
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 13
![Page 14: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/14.jpg)
Part II
Components of Multigrid Methods
InterpolationRestrictionCoarse Grid OperatorSmoothers
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 14
![Page 15: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/15.jpg)
Interpolation (aka “Prolongation”)
For Poisson problem:• (bi-)linear interpolation:
in 1D: resembles homogeneous (f = 0) solution• constant (in general too small approximation order):
sometimes used for cell-based coarsening (unknowns located in cellcenters)
• quadratic, cubic, etc.:often too costly, more smoothing steps are cheaper and can eliminate thedisadvantage of a lower-order interpolation
• but: in FMV-cycle interpolation to finer grid (after a completed V-cycle)should be higher-order (to limit the introduced error)
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 15
![Page 16: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/16.jpg)
Interpolation – Matrix Notation
For linear interpolation (1D):
12 0 01 0 012
12 0
0 1 00 1
212
0 0 10 0 1
2
x1
x2x3
=
12 (0 + x1)
x112 (x1 + x2)
x212 (x2 + x3)
x312 (x3 + 0)
Notation: Ih2hx2h = xh or Ph
2hx2h = xh
Note: disregards boundary values (here: 0-Dirichlet condition assumed)
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 16
![Page 17: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/17.jpg)
Interpolation – Convection-DiffusionExample problem: 1D convection-diffusion equation
−εuxx + cux = f , 0 < ε c
Operator-dependent Interpolation:• consider homogeneous problem (f = 0)
with Dirichlet boundaries: u(0) = 1, u(1) = 0• exact solution for this case:
u(x) =1
1− ec/ε
(ecx/ε − ec/ε
)= 1− 1− ecx/ε
1− ec/ε
• interpolate at x = 12 : u
( 12
)= 1− 1−ec/2ε
1−ec/ε =: 1− 1−z1−z2 ;
for large z = ec
2ε , we have u( 1
2
)≈ 1− 1
z ≈ 1• thus: linear interpolation inappropriate (and leads to slow convergence)→ interpolation should be operator-dependent
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 17
![Page 18: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/18.jpg)
RestrictionFor Poisson problem:
• “injection”: pick values at corresp. coarse grid points• “full weighting” = transpose of bilinear interpolation (safer, more robust
convergence), see illustration below for the 1D case
1/2 1/21/2 1/2
linear interpolation
11 1
linear interpolation
1/21/2
f ll i hti
11/2 full weighting
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 18
![Page 19: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/19.jpg)
Restriction – Matrix Notation
For full weighting (1D):
12 1 1
2 0 0 0 00 0 1
2 1 12 0 0
0 0 0 0 12 1 1
2
x1x2x3x4x5x6x7
=
12 (x1 + 2x2 + x3)12 (x3 + 2x4 + x5)12 (x5 + 2x6 + x7)
Notation: I2hh xh = x2h or R2h
h xh = x2h
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 19
![Page 20: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/20.jpg)
Coarse Grid Operator
Two main options:1. discretise PDE on grid Ωh to obtain Ah
2. “Galerkin approach”: A2h := R2hh AhPh
2h→ compare effect on vector x2h:
A2hx2h := R2hh AhPh
2hx2h
→ evaluate from right to left:• interpolate x2h to xh := Ph
2hx2h• apply fine-grid operator Ah to interpolated xh• restrict resulting matrix-vector product to Ω2h
Exercise:• Compute A2h := R2h
h AhPh2h for Ah := 1
h2 tridiag(−1,2,−1)
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 20
![Page 21: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/21.jpg)
A Matrix-Oriented View of Coarse-Grid Correction
1. given a system of equations Ahxh = bh
2. pre-smoothing leads to approximate solution x (i)h
and resp. error xh = x (i)h + e(i)
h
3. compute residual r (i)h = bh − Ahx (i)h ;
respective residual equation: Ahe(i)h = r (i)h
4. restriction of residual equation: R2hh Ahe(i)
h = R2hh r (i)h
5. approximate error on coarse grid: e(i)h ≈ Ph
2he(i)2h
→ leads to Galerkin coarsening R2hh AhPh
2he(i)2h = R2h
h r (i)h
6. compute error e(i)2h from (R2h
h AhPh2h)e(i)
2h = A2he(i)2h = b2h := R2h
h r (i)h
7. interpolate coarse-grid error, e(i)h ≈ Ph
2he(i)2h ,
and apply as coarse-grid correction: x (i+1)h = x (i)
h + Ph2he(i)
2h
8. post-smoothing on approximate solution x (i+1)h
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 21
![Page 22: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/22.jpg)
Galerkin Coarse Grid Operator: A2h := R2hh AhPh
2h
• assume linear Interpolation and full weighting restriction:
R2hh =
12 1 1
2 0 0 0 00 0 1
2 1 12 0 0
0 0 0 0 12 1 1
2
Ph2h = (R2h
h )T
• for Poisson equation with stencil 1h2 [−1 2 − 1] (see exercises)
→ coarse-grid stencil reproduces: 1(2h)2 [−1 2 − 1]
• for pure convection and central differencing, stencil 1h [1 0 − 1],
→ coarse-grid stencil reproduces: 12h [1 0 − 1] (check!)
→ but leads to unstable discretisation• question: result for upwind discretisation: stencil 1
h [−1 1 0]?
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 22
![Page 23: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/23.jpg)
Galerkin Coarsening and Convection
• coarsening with linear Interpolation, full weighting restriction,and upwind stencil 1
h [−1 1 0]
• leads to coarse-grid stencil 1h
[− 3
412
14
]→ not a diagonal-dominant matrix→ unstable discretisation
• remedy: use “downwind” interpolation and “upwind” restriction:
R2hh =
1 1 0 0 0 0 00 0 1 1 0 0 00 0 0 0 1 1 0
Ph2h =
0 0 01 0 01 0 00 1 00 1 00 0 10 0 1
• result: upwind discretisation stencil reproduced: 1
2h [−1 1 0]!
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 23
![Page 24: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/24.jpg)
Matrix-Dependent Interpolation/Restriction• assume general 1D 3-point discretisation stencil: [sl sc sr ]
where sc = −(sl + sr ) > 0• use the following 3-point interpolation stencil:
]− sl
sc1 − sr
sc
[and
Ph2h = (R2h
h )T , thus:
R2hh =
−slsc
1 − srsc
0 0 0 00 0 − sl
sc1 − sr
sc0 0
0 0 0 0 − slsc
1 − srsc
• Galerkin coarsening A2h := R2h
h AhPh2h leads to stencil
1sc
[−s2
l s2l + s2
r − s2r]
→ check this!
• remains diagonal dominant→ stable coarse-grid discretisation• try as exercise:
compute coarse-grid operator for convection-diffusion equation;compare operator- and matrix-dependent interpolation/restriction
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 24
![Page 25: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/25.jpg)
Matrix-Dependent Interpolation/Restriction (2)• take a closer look at the matrix multiplication R2h
h Ah:
. . .
. . .. . . 0 0 0 0
· · · 0 − slsc
1 − srsc
0 · · ·
0 0 0 0. . .
. . .. . .
. . .. . .
. . .
0 sl sc sr 0 · · ·· · · 0 sl sc sr 0 · · ·
· · · 0 sl sc sr 0
. . .. . .
. . .
• equivalent to performing row operations as in Gaussian elimination:
. . .. . .
. . .
0 sl sc sr 0 · · ·· · · 0 sl sc sr 0 · · ·
· · · 0 sl sc sr 0
. . .. . .
. . .
·(− sl
sc)
·1·(− sr
sc)
• red entries become 0⇒ coarse-grid unknown no longer depends on fine-grid unknowns• similar for multiplication AhPh
2h, but with column operations
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 25
![Page 26: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/26.jpg)
Smoothers
Efficient smoothers for the Poisson problem (see tutorials):• Gauss-Seidel• red-black Gauss-Seidel• damped (ω = 2
3 ) Jacobi→ why ω = 2
3 ?→ examine smoothing factors (dependent on wave number k )
How about . . .• Jacobi (non-weighted)?→ does not work (zig-zag pattern prevents smoothing)
• SOR?→ typically does not work well for Poisson model problem
(does not smooth high frequencies efficiently)→ can help for other problems using a tailored ω
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 26
![Page 27: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/27.jpg)
Smoothers – Anisotropic ProblemsModel problems and observation:
• anisotropic Poisson equation: uxx + εuyy = f with ε 1(or similar: ε 1)
• Poisson equation on stretched grids:
1h2
x(ui+1,j − 2ui,j + ui−1,j ) +
1h2
y(ui,j+1 − 2ui,j + ui,j−1) = fij
with hx hy (or similar: hx hy )• Strong dependency in x-direction, weak dependency in y -direction
(or vice versa)• Good smoothing of the error only in x-direction
(or in y -direction):
ui,j =1
2h2x + 2h2
y
(−h2
xh2y fij + h2
y (ui+1,j + ui−1,j )− h2x (ui,j+1 + ui,j−1)
)
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 27
![Page 28: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/28.jpg)
Smoothers – Anisotropic Problems (2)
Semi-Coarsening:• situation on coarser grid for example Hx = 2hx , Hy = hy :
14h2
x(ui+1,j − 2ui,j + ui−1,j ) +
1h2
y(ui,j+1 − 2ui,j + ui,j−1) = fij
• thus: anisotropy has weakened on the semi-coarsened grid
Line Smoothers:• perform a column-wise (or row-wise) Jacobi/Gauss-Seidel relaxation→ solve each column (or row) simultaneously:
u(n+1)i−1,j − (2 + 2ε)u(n+1)
ij + u(n+1)i+1,j = h2fij − ε(u(n)
i,j−1 + u(n)i,j+1)
• use direct, tridiagonal solver for each “line” (i.e., row or column)
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 28
![Page 29: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/29.jpg)
Smoothers – Convection-Diffusion
• example: 1D Convection-Diffusion equation
−εuxx + ux = f , ε 1
• “upwind discretisaton”:
− ε
h2 (un−1 − 2un + un+1) +1h
(un − un−1) = fn
• (weighted) Jacobi and red-black Gauss-Seidel?→ no smoothing, basically updates one grid point per iteration
• Gauss-Seidel (relaxation from “left to right”)?→ almost an exact solver
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 29
![Page 30: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/30.jpg)
Smoothers – More Complicated Situations
Problems:• anisotropic Poisson with space-dependent ε = ε(x , y),
or more general:−∇
(D(x , y)∇u(x , y)
)= f (x , y)
• convection-diffusion with variable convection:
−εuxx + v(x)ux = f − ε∆u + v(x , y)∇u(x , y) = f (x , y)
Approaches for Smoothing:• alternating line smoothers, “plane smoothers” in 3D• “Zebra” line smoothers (similar to red-black-GS)• Gauss-Seidel smoothing in “downwind” order→ difficult to do for complicated flows in 2D and 3D
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 30
![Page 31: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/31.jpg)
Part III
Finite Elements, Hierarchical Bases,and Multilevel Methods
FEM Main IngredientsTest and Shape Functions1D Poisson Equation and Nodal Basis
Hierarchical Bases and Generating SystemsHierarchical BasisFEM with Hierarchical vs. Nodal BasesHierarchical Basis TransformationFEM and Hierarchical Basis Transform
Generating Systems and MultigridHierarchical Generating System and FEM
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 31
![Page 32: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/32.jpg)
Remember: Finite Elements – Main Ingredients
1. solve weak form of PDE to reduce regularity properties
u′′ = f −→∫
v ′u′ dx =
∫vf dx
→ allows additional weak solutions2. compute a function as numerical solution→ search in a function space Wh:
uh =∑
j
ujϕj (x), spanϕ1, . . . , ϕJ = Wh
3. find weak solutions of simple form:for example piecewise linear functions and choose basis functions withlocal support (“hat functions”)→ leads to system of linear equations
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 32
![Page 33: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/33.jpg)
Test and Shape Functions
• consider a general PDE Lu = f on some domain Ω
• search for solution functions uh of the form
uh =∑
j
ujϕj (x)
the ϕj (x) are typically called shape or ansatz functions• the basis functions ϕj (x) build a vector space
(i.e., a function space) Wh
spanϕ1, . . . , ϕJ = Wh
• insert into weak formulation∫vL(∑
j
ujϕj (x)
)dx =
∫vf dx ∀v ∈ V
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 33
![Page 34: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/34.jpg)
Test and Shape Functions (2)• choose a basis ψi of the test space Vh
typically defined on some discretisation grid Ωh• then: if all basis functions ψi satisfy∫
ψi (x)L(∑
j
ujϕj (x)
)dx =
∫ψi (x)f (x) dx ∀ψi
then all v ∈ Vh satisfy the equation• the ψi are therefore often called test functions• we obtain a system of equations for unknowns uj :
one equation for each test function ψi• Vh is often chosen to be identical to Wh (Ritz-Galerkin method)→ we then have as many equations as unknowns
• leads to system of linear equations Au = b where
(Au)i :=∑
j
uj
∫ψi (x)Lϕj (x) dx︸ ︷︷ ︸
= Aij
=
∫ψi (x)f (x) dx =: bi
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 34
![Page 35: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/35.jpg)
Example: Nodal Basis
ϕi (x) :=
1h (x − xi−1) xi−1 < x < xi1h (xi+1 − x) xi < x < xi+1
0 otherwise
0,60,4 0,80,20
1
1
0,4
0,2
x
0
0,8
0,6
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 35
![Page 36: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/36.jpg)
Example Problem: 1D Poisson
• in 1D: −u′′(x) = f (x) on Ω = (0,1),hom. Dirichlet boundary cond.: u(0) = u(1) = 0
• weak form: ∫ 1
0v ′(x) · u′(x) dx =
∫ 1
0v(x)f (x) dx ∀v
• grid points xi = ih, (for i = 1, . . . ,n − 1); mesh size h = 1/n• Vh = Wh: piecewise linear functions (on intervals [xi , xi+1])• leads to stiffness matrix:
1h
2 −1
−1 2. . .
. . . . . . −1−1 2
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 36
![Page 37: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/37.jpg)
Hierarchical Basis
• hat functions with multi-level resolution
0,60,4 0,80,20
1
1
0,4
0,2
x
0
0,8
0,6
• FEM solution identical for hierarchical and nodal basis(same function space!)
• known from Scientific Computig I:diagonal stiffness matrix for 1D Poisson!
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 37
![Page 38: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/38.jpg)
Hierarchical vs. Nodal Basis
h3=2-3xi
f(x)u(x)=iii(x)u(x)
0 10
1
2
3
0 10
1
2
3
h3=2-3xi
ii(x)
0 10
1
2
3
0 10
1
2
3u(x)=iii(x)
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 38
![Page 39: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/39.jpg)
Hierarchical Basis and Multigrid
• What happens, if we use FEM on hat function bases with differentresolutions?
• Define “mother of all hat functions”
φ(x) := max1− |x |,0
• consider mesh size hn = 2−n and grid points xn,i = i · hn
• nodal basis then Φn := φn,i ,0 ≤ i ≤ 2n with
φn,i (x) := φ
(x − xn,i
hn
)• hierarchical basis combines Φn := φn,i , i = 1,3, . . . ,2n − 1 (only odd
indices) and defines basis as
Ψn :=n⋃
l=1
Φl
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 39
![Page 40: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/40.jpg)
Hierarchical Basis Transformation(or: How to represent functions on a coarser grid?)
0,60,4 0,80,20
1
1
0,4
0,2
x
0
0,8
0,6
−→
0,60,4 0,80,20
1
1
0,4
0,2
x
0
0,8
0,6
• represent hat functions φn−1,i (x) via fine-level functions φn,j (x)
φn−1,i (x) = 12φn,2i−1(x) + φn,2i (x) + 1
2φn,2i+1(x)
• hierarchical-basis transformation as matrix-vector product:ψn,i−1(x)ψn,i (x)ψn,i+1(x)
:=
φn,2i−1(x)φn−1,i (x)φn,2i+1(x)
=
1 0 012 1 1
20 0 1
φn,2i−1(x)φn,2i (x)φn,2i+1(x)
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 40
![Page 41: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/41.jpg)
Hierarchical Basis Transformation (2)
Level-by-level algorithm for hierarchical transform:
.x2x1 x3 x5 x7
Φ4Φ2 Φ6Φ1 Φ3 Φ5 Φ7
x6x4
−→
.x2x1 x3 x5 x7
Ψ2 Ψ6Ψ1 Ψ3 Ψ5 Ψ7
x6x4
.x2x1 x3 x5 x7
Ψ2 Ψ6Ψ1 Ψ3 Ψ5 Ψ7
x6x4
−→
.x2x1 x3 x5 x7
Ψ2 Ψ6Ψ1 Ψ3 Ψ5 Ψ7
x6x4
Ψ4
Remark: allows to implement transform in O(N)
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 41
![Page 42: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/42.jpg)
Hierarchical Basis Transformation (3)
• hierarchical basis transformation: ψn,i (x) =∑
jHi,jφn,j (x)
• transform can be written as matrix-vector product: ~ψn = Hn~φn
• step-wise transform from each grid level to the next similar to
H(2)3 =
1 0 0 0 0 0 012 1 1
2 0 0 0 00 0 1 0 0 0 00 0 1
2 1 12 0 0
0 0 0 0 1 0 00 0 0 0 1
2 1 12
0 0 0 0 0 0 1
cmp. restriction operator!
• Hn then a sequence of level-to-next-level transforms:
Hn = H(1)n H(2)
n . . . H(n−2)n H(n−1)
n
.x2x1 x3 x5 x7
Φ4Φ2 Φ6Φ1 Φ3 Φ5 Φ7
x6x4
−→
.x2x1 x3 x5 x7
Ψ2 Ψ6Ψ1 Ψ3 Ψ5 Ψ7
x6x4
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 42
![Page 43: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/43.jpg)
Hierarchical Coordinate Transformation
• consider function f (x) ≈∑
iaiψn,i (x) represented via hier. basis
• wanted: corresponding representation in nodal basis∑k
bkφn,k (x) =∑
i
aiψn,i (x) ≈ f (x)
• with ψn,i (x) =∑
jHi,jφn,j (x) we obtain
∑k
bkφn,k (x) =∑
i
ai
∑j
Hi,jφn,j (x) =∑
j
∑i
aiHi,jφn,j (x)
• compare coordinates (identify indices j and k ) and get
bj =∑
i
Hi,jai =∑
i
(HT )
j,i ai
• written in vector notation: b = HT a
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 43
![Page 44: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/44.jpg)
FEM and Hierarchical Basis Transform
• FEM discretisation with hierarchical test and shape functions:∫ψi (x)L
(∑j
ujψj (x)
)dx =
∫ψi (x)f (x) dx ∀ψi
• leads to respective stiffness matrix AHBi,j :∫
ψi (x)L(∑
j
ujψj (x)
)dx =
∑j
uj
∫ψi (x)Lψj (x) dx =
∑j
ujAHBi,j
• vs. stiffness matrix with nodal basis as shape functions:∫ψi (x)L
(∑j
vjφj (x)
)dx =
∑j
vj
∫ψi (x)Lφj (x) dx =
∑j
vjA∗i,j
• Note:∑
j ujAHBi,j and
∑j vjA∗i,j are both equal to
∫ψi (x)f (x) dx
• Therefore: (AHBu)i =∑
j ujAHBi,j =
∑j vjA∗i,j = (A∗v)i and v = HT u
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 44
![Page 45: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/45.jpg)
FEM and Hierarchical Basis Transform (2)
• status: FEM with hierarchical test and nodal shape functions∫ψi (x)L
(∑j
vjφj (x)
)dx =
∫ψi (x)f (x) dx
• represent test functions via nodal basis:∫ ∑k
Hi,kφk (x)L(∑
j
vjφj (x)
)dx =
∫ ∑k
Hi,kφk (x)f (x) dx
∑k
Hi,k
∫φk (x)L
(∑j
vjφj (x)
)dx =
∑k
Hi,k
∫φk (x)f (x) dx
• leads to new system of equations: HANB v = H bNB
where ANB and bNB stem from nodal-basis FEM discretisation!• with v = HT u we obtain H ANB HT u = H b as system of equations, thus:
AHB = H ANB HT ( Galerkin coarsening)
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 45
![Page 46: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/46.jpg)
FEM and Hierarchical Basis Transform – Summary
• in general: FEM with nodal test and shape functions∫φi (x)L
(∑j
vjφj (x)
)dx =
∫φi (x)f (x) dx ANBuNB = bNB
changed to different test and shape functions:∫ψi (x)L
(∑j
vjψj (x)
)dx =
∫ψi (x)f (x) dx A??u?? = b??
• change from nodal to hierarchical basis:AHBuHB = H ANB HT uHB = H bNB = bHB
• change from nodal to coarser-level nodal basis:ACuC = R ANB RT uC = R bNB = RC
• Note: R,RT as in Galerkin coarsening; strongly related to H,HT
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 46
![Page 47: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/47.jpg)
Hierarchical Generating System
.x1,1
.
.
x2,1 x2,3
x3,1 x3,3 x3,5 x3,7
Φ1,1
Φ2,1 Φ2,3
Φ3,1 Φ3,3 Φ3,5 Φ3,7
l =1
l =3
l =2
W1
W3
V3W2
.x1,1
.
.
x2,1 x2,3
x3,1 x3,3 x3,5 x3,7
x2,2
x3,2 x3,6x3,4
V1
V2
V3
• hierarchical basis combines Φn := φn,i , i = 1,3, . . . ,2n − 1 (only oddindices)
• generating system combines nodal bases of all levels:n⋃
l=1Φl
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 47
![Page 48: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/48.jpg)
FEM and Hierarchical Generating Systems• solution function uh represented as
uh =n∑
l=1
2l−1∑j=1
vl,jφl,j (x)
→ non-unique “multi-grid” representation!• FEM discretisation with test and shape functions from hierarchical
generating system:∫φk,i (x)L
(∑l
∑j
vl,jφl,j (x)
)dx =
∫φk,i (x)f (x) dx ∀φk,i ∈
n⋃k=1
Φk
• assume order of test/shape functions:
φn,1, . . . , φn,2n−1, φn−1,1, . . . , φn−1,2n−1−1, . . . , φ2,1, φ2,2, φ2,3, φ1,1
• leads to (linearly dependent!) system of linear equations:
AGSuh = bGS
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 48
![Page 49: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/49.jpg)
Multi-Level System of Equations• system matrix AGS given as (for example)Ah A2h
h A4hh
Ah2h A2h A4h
2h
Ah4h A2h
4h A4h
• Ah, A2h, and A4h are the nodal-basis stiffness matrices for resolution h,
2h, and 4h• consider submatrix Ah
2h → computed as∫φ2h,i (x)L
(∑j
vh,jφh,j (x)
)dx =
∫φ2h,i (x)f (x) dx ∀φ2h,i ∈ Φ2h
• test functions φ2h,i (x) = 12φh,2i−1(x) + φh,2i (x) + 1
2φh,2i+1(x)
• not a hierarchical transform, but a restriction operation R2hh :
~φ2h = R2hh~φh thus: Ah
2h = R2hh Ah
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 49
![Page 50: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/50.jpg)
Multi-Level System of Equations (2)
• system of linear equations AGSvGS = bGS thus given as Ah AhPh2h AhPh
4h
R2hh Ah A2h A2hP2h
4h
R4hh Ah R4h
2hA2h A4h
vh
v2hv4h
=
bhR2h
h bhR4h
h bh
with restriction and prolongation operators: R = PT
• matrix is singular(!) due to obviously linearly dependent rows• however: all solutions lead to same piecewise linear function• result of a relaxation method on this system of equations?
symmetric Gauss-Seidel sweep corresponds to one multigridV-Cycle! (Griebel, 1994)
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 50
![Page 51: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/51.jpg)
Symmetric Gauss-Seidel on AGSvGS = bGS
• pick out second block row of the system AGSvGS = bGS:
R2hh Ahvh + A2hv2h + A2hP2h
4h v4h = R2hh bh
• Gauss-Seidel→ thus solve for unknowns in v2h:
A2hv2h + A2hP2h4h v (old)
4h = R2hh bh − R2h
h Ahv (new)h = R2h
h
(bh − Ahv (new)
h
)• observation #1: relaxation works on restricted fine-grid residual
R2hh
(bh − Ahv (new)
h
)• observation #2: relaxation considers prolongated coarse-grid correction
from previous iteration: A2hP2h4h v (old)
4h
⇒ FEM on hierarchical generating systems matches V-Cycle Multigridwith Galerkin coarsening
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 51
![Page 52: Towards Multigrid Methods - TUM · The Multigrid V-Cycle Crucial idea: recursive call of Two-/Multigrid solver on coarse grids Algorithm: 1. pre-smoothing on the fine level system)solution](https://reader033.vdocument.in/reader033/viewer/2022053122/60aa7ef60ffe5231d35134c0/html5/thumbnails/52.jpg)
Literature/References – Multigrid
• Briggs, Henson, McCormick: A Multigrid Tutorial (2nd ed.), SIAM, 2000.• Trottenberg, Oosterlee, Schuller: Multigrid, Elsevier, 2001.• Shapira: Matrix-Based Multigrid: Theory and Applications, Springer,
2008.• Hackbusch: Iterative Solution of Large Sparse Systems of Equations,
Springer 1993.• Brandt, Livne: Multigrid Techniques: 1984 Guide with Applications to
Fluid Dynamics, Revised Edition, SIAM• M. Griebel: Multilevelmethoden als Iterationsverfahren uber
Erzeugendensystemen, Teubner Skripten zur Numerik, 1994M. Griebel: Multilevel algorithms considered as iterative methods onsemidefinite systems, SIAM Int. J. Sci. Stat. Comput. 15(3), 1994.
Michael Bader | Scientific Computing II | Towards Multigrid Methods | Summer 2018 52