Kasetsart University Workshop. Multigrid methods: An introduction

Similar documents
Computational Linear Algebra

Multigrid Methods and their application in CFD

Introduction to Multigrid Method

AMS526: Numerical Analysis I (Numerical Linear Algebra)

Numerical Programming I (for CSE)

1. Fast Iterative Solvers of SLE

Elliptic Problems / Multigrid. PHY 604: Computational Methods for Physics and Astrophysics II

Iterative Methods and Multigrid

6. Multigrid & Krylov Methods. June 1, 2010

INTRODUCTION TO MULTIGRID METHODS

Stabilization and Acceleration of Algebraic Multigrid Method

6. Iterative Methods for Linear Systems. The stepwise approach to the solution...

MULTIGRID METHODS FOR NONLINEAR PROBLEMS: AN OVERVIEW

Solving PDEs with Multigrid Methods p.1

Notes for CS542G (Iterative Solvers for Linear Systems)

Notes on Multigrid Methods

Iterative Methods and Multigrid

CLASSICAL ITERATIVE METHODS

The Conjugate Gradient Method

Introduction to Scientific Computing II Multigrid

Numerical Solution Techniques in Mechanical and Aerospace Engineering

Aspects of Multigrid

Math 471 (Numerical methods) Chapter 3 (second half). System of equations

Background. Background. C. T. Kelley NC State University tim C. T. Kelley Background NCSU, Spring / 58

Introduction to Multigrid Methods Sampling Theory and Elements of Multigrid

MA3232 Numerical Analysis Week 9. James Cooley (1926-)

An Introduction to Algebraic Multigrid (AMG) Algorithms Derrick Cerwinsky and Craig C. Douglas 1/84

Multigrid absolute value preconditioning

Chapter 7 Iterative Techniques in Matrix Algebra

Scientific Computing: An Introductory Survey

9. Iterative Methods for Large Linear Systems

Solving Symmetric Indefinite Systems with Symmetric Positive Definite Preconditioners

Bootstrap AMG. Kailai Xu. July 12, Stanford University

Adaptive algebraic multigrid methods in lattice computations

Iterative Methods. Splitting Methods

Jordan Journal of Mathematics and Statistics (JJMS) 5(3), 2012, pp A NEW ITERATIVE METHOD FOR SOLVING LINEAR SYSTEMS OF EQUATIONS

Algebraic Multigrid as Solvers and as Preconditioner

Scientific Computing WS 2018/2019. Lecture 9. Jürgen Fuhrmann Lecture 9 Slide 1

Efficient smoothers for all-at-once multigrid methods for Poisson and Stokes control problems

Geometric Multigrid Methods

Lecture 18 Classical Iterative Methods

Geometric Multigrid Methods for the Helmholtz equations

CAAM 454/554: Stationary Iterative Methods

AIMS Exercise Set # 1

University of Illinois at Urbana-Champaign. Multigrid (MG) methods are used to approximate solutions to elliptic partial differential

HW4, Math 228A. Multigrid Solver. Fall 2010

Bindel, Fall 2016 Matrix Computations (CS 6210) Notes for

Scientific Computing II

Iterative Methods for Solving A x = b

NUMERICAL ALGORITHMS FOR A SECOND ORDER ELLIPTIC BVP

Chapter 5. Methods for Solving Elliptic Equations

9.1 Preconditioned Krylov Subspace Methods

Multigrid finite element methods on semi-structured triangular grids

Solving Linear Systems

An Introduction of Multigrid Methods for Large-Scale Computation

AMS526: Numerical Analysis I (Numerical Linear Algebra for Computational and Data Sciences)

Research Article Evaluation of the Capability of the Multigrid Method in Speeding Up the Convergence of Iterative Methods

EFFICIENT MULTIGRID BASED SOLVERS FOR ISOGEOMETRIC ANALYSIS

Numerical Methods - Numerical Linear Algebra

COURSE Iterative methods for solving linear systems

The amount of work to construct each new guess from the previous one should be a small multiple of the number of nonzeros in A.

Poisson Equation in 2D

Partial Differential Equations

New Multigrid Solver Advances in TOPS

Lab 1: Iterative Methods for Solving Linear Systems

A MULTIGRID ALGORITHM FOR. Richard E. Ewing and Jian Shen. Institute for Scientic Computation. Texas A&M University. College Station, Texas SUMMARY

ITERATIVE METHODS FOR NONLINEAR ELLIPTIC EQUATIONS

Solving Sparse Linear Systems: Iterative methods

Solving Sparse Linear Systems: Iterative methods

Preface to the Second Edition. Preface to the First Edition

1. Nonlinear Equations. This lecture note excerpted parts from Michael Heath and Max Gunzburger. f(x) = 0

Multigrid Method for 2D Helmholtz Equation using Higher Order Finite Difference Scheme Accelerated by Krylov Subspace

6. Iterative Methods: Roots and Optima. Citius, Altius, Fortius!

Math 5630: Iterative Methods for Systems of Equations Hung Phan, UMass Lowell March 22, 2018

Sparse Linear Systems. Iterative Methods for Sparse Linear Systems. Motivation for Studying Sparse Linear Systems. Partial Differential Equations

K.S. Kang. The multigrid method for an elliptic problem on a rectangular domain with an internal conductiong structure and an inner empty space

Robust solution of Poisson-like problems with aggregation-based AMG

Computational Linear Algebra

Scientific Computing with Case Studies SIAM Press, Lecture Notes for Unit VII Sparse Matrix

(f(x) P 3 (x)) dx. (a) The Lagrange formula for the error is given by

Math 1080: Numerical Linear Algebra Chapter 4, Iterative Methods

Chapter Two: Numerical Methods for Elliptic PDEs. 1 Finite Difference Methods for Elliptic PDEs

Space-time Discontinuous Galerkin Methods for Compressible Flows

Course Notes: Week 1

Comparison of V-cycle Multigrid Method for Cell-centered Finite Difference on Triangular Meshes

Solutions Preliminary Examination in Numerical Analysis January, 2017

Image Reconstruction And Poisson s equation

Splitting Iteration Methods for Positive Definite Linear Systems

Lecture Note 7: Iterative methods for solving linear systems. Xiaoqun Zhang Shanghai Jiao Tong University

The Fundamentals and Advantages of Multi-grid Techniques

Constrained Minimization and Multigrid

ECE539 - Advanced Theory of Semiconductors and Semiconductor Devices. Numerical Methods and Simulation / Umberto Ravaioli

A Comparison of Solving the Poisson Equation Using Several Numerical Methods in Matlab and Octave on the Cluster maya

Process Model Formulation and Solution, 3E4

Aggregation Algorithms for K-cycle Aggregation Multigrid for Markov Chains

Introduction. Math 1080: Numerical Linear Algebra Chapter 4, Iterative Methods. Example: First Order Richardson. Strategy

Algebraic Multigrid Preconditioners for Computing Stationary Distributions of Markov Processes

Next topics: Solving systems of linear equations

JACOBI S ITERATION METHOD

Solving linear systems (6 lectures)

Transcription:

Kasetsart University Workshop Multigrid methods: An introduction Dr. Anand Pardhanani Mathematics Department Earlham College Richmond, Indiana USA pardhan@earlham.edu A copy of these slides is available at http://www.earlham.edu/ pardhan/kaset/workshop/

Topics to be covered Outline of PDE solution approach Algebraic system solvers Basic iterative methods Motivation for multigrid Basic multigrid ingredients Cycling strategies Generalization to nonlinear problems Scalars a, b, c, Vectors a, b, c, Matrices A, B, C, General notation

PDE Solution Outline General PDE problem: Lu = f in Ω Bu = g on Ω where L = PDE operator, B = boundary operator, Ω = domain, Ω = domain boundary, and u = unknown solution Specific example: 2 u e25x = 625 x2 e 25 1 in 0 < x < 1 u(0) = 0, u(1) = 1 The analytical solution to this problem is: u(x) = e25x 1 e 25 1

Numerical solution method: 1. Discretize domain: Ω Ω h = Construct suitable mesh (grid) 2. Discretize PDE on Ω h : Lu = f A h u h = b h = Use finite-difference, finite-element, finite-volume... = PDE becomes algebraic system 3. Solve algebraic system for u h 4. Interpolate discrete solution u h 1-D example: 1. Grid generation (uniform spacing h with N nodes) u h Ω h 1 2 i 1 i i + 1 N 2. PDE discretization: Use finite difference At any node i, from Taylor series u i+1 = u i + hu i + h2 2 u i + h3 6 u i + h4 24 uiv i + u i 1 = u i hu i + h2 2 u i h3 6 u i + h4 24 uiv i + Add the two and get the approximation 2 u x u i 1 2u i + u i+1 2 h 2

Therefore, our PDE problem 2 u x = f(x) becomes u i 1 2u i + u i+1 2 h 2 Assemble over entire grid and get algebraic system where A h u h = b h f i u h = [u 1, u 2,, u i,, u N ] T b h A h = = h 2 [0, f 2, f 3,, f i,, 1/h 2 ] T 1 0 0 0 1 2 1 0 0. 1 2 1. 0 0 1 2 1 0 0 0 0 1 and f i = 625 e25x i e 25 1 3. Solve N N algebraic system for u h 4. Interpolate u h between nodes if necessary

Taylor series centered at x i for deriving other finite difference approximations Assume following uniform mesh structure: h i 4 i 3 i 2 i 1 i i + 1 i + 2 i + 3 i + 4 Taylor series expansions of function u(x) about node i u i 4 u i 3 u i 2 u i 1 u i+1 u i+2 u i+3 u i+4 = u i 4hu i + 16 h2 2 u i 64 h3 6 u i + 256 h4 24 uiv i = u i 3hu i + 9 h2 2 u i 27 h3 6 u i + 81 h4 24 uiv i = u i 2hu i + 4 h2 2 u i 8 h3 6 u i + 16 h4 24 uiv i = u i hu i + h2 2 u i h3 6 u i + h4 24 uiv i = u i + hu i + h2 2 u i + h3 6 u i + h4 24 uiv i = u i + 2hu i + 4 h2 2 u i + 8 h3 6 u i + 16 h4 24 uiv i = u i + 3hu i + 9 h2 2 u i + 27 h3 6 u i + 81 h4 24 uiv i = u i + 4hu i + 16 h2 2 u i + 64 h3 6 u i + 256 h4 24 uiv i 1024 h5 120 uv i + (1) 243 h5 120 uv i + (2) 32 h5 120 uv i + (3) h5 120 uv i + (4) + h5 120 uv i + (5) + 32 h5 120 uv i + (6) + 243 h5 120 uv i + (7) + 1024 h5 120 uv i + (8)

Remarks: PDE transformed to system of algebraic equations With N grid points: Size of algebraic system = N N Number of unknowns = O(N) For large N, algebraic solution dominates computational effort (CPU time) Efficient algebraic solvers are very important Observe that A h is very sparse; this is typical in PDE problems Key point: Efficient algebraic solvers are crucial for solving PDE s efficiently Multigrid methods are basically very efficient algebraic system solvers

Linear Algebraic System Solvers Algebraic problem Au = b Given A (N N matrix) and b (N-vector), solve for u. Two main approaches: (1) Direct methods (Gauss elimination & variants) (2) Iterative methods For large, sparse, well-behaved matrices, iterative methods are much faster Multigrid methods are a special form of iterative methods We ll focus on iterative methods first

Basic Iterative Methods: An illustration Suppose we want to solve 1 2 1 1 1 0 2 1 1 u 1 u 2 u 3 = 1 2 3 Our system can be written as u 1 2u 2 + u 3 = 1 u 1 + u 2 = 2 = 2u 1 + u 2 + u 3 = 3 u 1 = 1 + 2u 2 u 3 u 2 = 2 + u 1 u 3 = 3 2u 1 u 2 Now consider the iteration scheme u k+1 1 = 1 + 2u k 2 u k 3 u k+1 2 = 2 + u k 1 u k+1 3 = 3 2u k 1 u k 2 where k denotes the iteration number Suppose the initial guess is u 0 = [0 0 0] T Then we get u 1 = [1 2 3] T u 2 = [2 3 1] T u 3 = [8 4 4] T etc. This is the classic Jacobi method If it converges, we should eventually get the exact solution

Iterative Methods: More general form Recap problem statement: Given A and b, solve for u Iterative procedure: 1. Pick arbitrary initial guess u 0 2. Recursively update using the formula Au = b (9) u k+1 = [I Q 1 A] u k + Q 1 b (10) where k = 0, 1, 2, is the iteration index, and Q is a matrix that depends on the specific iterative method Example: Jacobi method = Q = D Gauss-Seidel method = Q = D + L where D and L are the diagonal and lower-triangular parts of A The form (10) is useful for analysis, but in practice Q is not explicitly computed we often rewrite (10) in the form u k+1 = R u k + g (11) where R is the iteration matrix and g is a constant vector

Practical Implementation: Rewrite algebraic system (9) as: N a ij u j = b i, j=1 i = 1, 2,, N Split LHS into 3 parts i 1 j=1 = a ii u i = Iteration formulas: a ij u j + a ii u i + N j=i+1 i 1 b i + j=1 a ij u j = b i N j=i+1 a ij u j (12) Jacobi a ii u new i = i 1 b i + j=1 N a ij u old (13) j=i+1 j Gauss-Seidel a ii u new i = i 1 b i j=1 a ij u new j + N j=i+1 a ij u old (14) j

Recap of iterative procedure: 1. Pick initial guess u 0 = [u 0 1, u 0 2,, u 0 N ] 2. Recursively apply iterative formula: for k=1:k end % (Iteration loop) for i=1:n % (Loop over rows of algebraic system) end where end u k+1 i = [b i ρ = { i 1 j=1 k k + 1 a ij u ρ j N j=i+1 a ij u k j] / a ii for Jacobi for Gauss-Seidel Variants of Jacobi & Gauss-Seidel: Damped Jacobi: At each iteration k + 1, do the following: (1) Compute Jacobi iterate, say ū k+1, as before (2) Set u k+1 = ω ū k+1 + (1 ω) u k, (0 < ω 1) SOR (Successive Over-Relaxation): At each iteration k + 1, do the following: (1) Compute Gauss-Seidel iterate ū k+1 (2) Set u k+1 = ω ū k+1 + (1 ω) u k, (0 < ω < 2)

Convergence of Iterative Methods Depends on properties of A Assume A arises from discretizing elliptic PDE Typical behavior Fast convergence in 1st few iterations Slow convergence thereafter

Reason for such convergence behavior: Let initial error = e 0 e 0 can be viewed as superposition of discrete Fourier modes e 0 = e.g., w n = {cos(nπx i )} N i=1 Low n = low frequency High n = high frequency N 1 n=0 α n w n Iter. methods not equally effective on all error frequencies (1) More effective on high frequencies (HF) (see matlab animation) (2) Less effective on low frequencies (LF) Quick elimination of HF errors leads to rapid convergence initially; lingering LF errors decrease convergence thereafter

Remarks: High frequency is defined relative to N (i.e., no. of grid points) Highest visible frequency (i.e., w N 1 ) depends on N HF on coarse grid looks like LF on fine grid Example: Ω 1 N points and Ω 2 2N points Highest frequency on Ω 2 = 2 HF on Ω 1 Motivation for Multigrid Iterative methods preferentially damp HF errors This is called smoothing property Overall convergence rate is slowed by LF errors HF and LF are defined relative to grid spacing To improve convergence rate, LF must be disguised as HF This is precisely what multigrid does Multigrid = use progressively coarser grids to attenuate LF error modes

Convergence analysis in more detail Consider the algebraic system and the iteration algorithm Au = b u (k+1) = R u (k) + g Clearly, the exact solution u is a fixed point, since u = Ru + g u = [I Q 1 A]u + Q 1 b which is always true Subtract [u (k+1) = R u (k) + g] [u = Ru + g]. We get e (k+1) = R e (k) where e (k) is the error at the k th iterate. Let e (0) be the initial error. Then we have e (k) = R k e (0) For convergence, we want R k 0 as k From linear algebra we know that R k 0 iff ρ(r) < 1 where ρ(r) is the spectral radius (eigenvalue of largest magnitude) of R ρ(r) < 1 guarantees the method converges, and ρ(r) is the convergence rate

Rate of convergence Suppose we want to reduce the initial error by 1/10. Then e (M) e (0) 10 R M e (0) e (0) 10 ρ(r) M 1 10 M ln(1/10) ln(ρ(r)) M is the number of iterations needed to reduce error by 1/10 Note that ρ(r) 0 M 0 and ρ(r) 1 M Thus ρ(r) is a key indicator of the convergence rate

Illustration using damped Jacobi method As before, consider the PDE problem which gives the algebraic system 2 u x 2 = f(x) Au = b where A = 2 1 0 0 1 2 1 0 0. 1 2 1. 0 0 1 2 1 0 0 0 1 2 Damped Jacobi iterations can be written as u (k+1) = R u (k) + g where R = I ωd 1 A, and D = diag(a), 0 < ω 1. The next few slides are from the the multigrid tutorial by Briggs, which contains very clear and complete visuals for this case.

Convergence analysis for weighted Jacobi on 1D model 1 Rω = ( 1 ω) I + ωd ( L + U ) 1 = I ωd A R ω = I ω 2 2 1 1 2 1 ω λ( R ω ) = 1 λ ( A) 2 For the 1D model problem, he eigenvectors of the weighted Jacobi iteration and the eigenvectors of the matrix A are the same! The eigenvalues are related as well. 1 2 1 1 2 28 of 119

Good exercise: Find the eigenvalues & eigenvectors of A Show that the eigenvectors of A are Fourier modes! kπ jkπ λk ( A) = 4sin2, wk j = sin 2N, N 1 0.8 0.6 0.4 0.2 0-0.2-0.4-0.6-0.8-1 1 0.8 0.6 0.4 0.2 0-0.2-0.4-0.6-0.8-1 1 0.8 0.6 0.4 0.2 0-0.2-0.4-0.6-0.8-1 0 10 20 30 40 50 60 0 10 20 30 40 50 60 0 10 20 30 40 50 60 1 0.8 0.6 0.4 0.2 0-0.2-0.4-0.6-0.8-1 1 0.8 0.6 0.4 0.2 0-0.2-0.4-0.6-0.8-1 0 10 20 30 40 50 60 0 10 20 30 40 50 60 29 of 119

Eigenvectors of R ω and A are the same,the eigenvalues related kπ λ k ( R ω ) = 1 2ωsin2 2N Expand the initial error in terms of the eigenvectors: e( 0 N 1 ) = ck wk k = 1 After M iterations, R M e ( N 1 N 1 M = k k k = 1 k = 1 0) c R w = c λ k M k w k The k th mode of the error is reduced by λ k at each iteration 30 of 119

Relaxation suppresses eigenmodes unevenly Eigenvalue 1 0.8 0.6 0.4 0.2 0-0.2-0.4-0.6-0.8-1 Look carefully at ω = 1 N 2 k λ k kπ ( R ω ) = 1 2ωsin2 2N ω = 1/ 3 ω = 1/ 2 ω = 2/ 3 Note that if 0 ω 1 then λk( R ω) < 1 for k = 1, 2,..., N 1 For 0 ω 1, λ = 1 2ωsin2 1 2 = π N π 1 2ωsin2 h 2 = 1 ( h ) 1 O 2 31 of 119

Low frequencies are undamped Eigenvalue 1 0.8 0.6 0.4 0.2 0-0.2-0.4-0.6-0.8-1 Notice that no value of ω will damp out the long (i.e., low frequency) waves. ω = 1 N 2 k ω = 1/ 3 ω = 1/ 2 ω = 2/ 3 What value of gives the best damping of the short waves? N 2 N Choose such that λ N 2 ( R ω ω ) k = ω ω = λ 2 3 N ( R ω ) 32 of 119

The Smoothing factor The smoothing factor is the largest absolute value among the eigenvalues in the upper half of the spectrum of the iteration matrix smoothing factor N = max λk( R ) for k N 2 For R ω, with =, the smoothing factor is, 3 since 1 N λ = λ = and < for < k < N. N 2 ω 3 2 N 2 λ k 3 1 3 λ k 3 2 2 N 2 But, 1 k π2 h for long waves k «. 2 1 33 of 119

Convergence of Jacobi on Au=0 100 90 Unweighted Jacobi 100 90 Weighted Jacobi 80 80 70 70 60 60 50 50 40 40 30 30 20 20 10 10 0 0 10 20 30 40 50 60 Wavenumber, k 0 0 10 20 30 40 50 60 Wavenumber, k Jacobi method on Au=0 with N=64. Number of iterations required to reduce to e <.01 Initial guess : v kj = sin jkπ N 34 of 119

Weighted Jacobi Relaxation Smooths the Error Initial error: 2 v kj = sin 2j π N + 1 sin 2 16j π N + 1 sin 2 32j π N 1 0-1 -2 0 0. 5 1 Error after 35 iteration sweeps: 2 1 0-1 -2 0 0. 5 1 Many relaxation schemes have the smoothing property, where oscillatory modes of the error are eliminated effectively, but smooth modes are damped very slowly. 35 of 119

Multigrid Methods Main ingredients Error smoother Nested iteration Coarse Grid Correction (CGC) Multigrid notation: All quantities have subscripts to denote grid on which they are defined Error smoother Also called relaxation techniques Must efficiently eliminate oscillatory (HF) component of error Certain iterative methods are ideal Gauss-Seidel is very effective for elliptic operators Nested iteration Improve initial guess by solving on coarser grid and interpolating Can generalize to include several nested coarser grids Example: Ω 4h Ω 2h Ω h On Ω 4h : A 4h u 4h = f 4h On Ω 2h : A 2h u 2h = f 2h, use u 0 2h = I[u 4h ] On Ω h : A h u h = f h, use u 0 h = I[u 2h ]

Coarse Grid Correction Mechanism for attenuating LF errors Some preliminaries: We have grid Ω h and linear system A h u h = b h If u h is approximate solution, define Therefore, we have error: e h = u h u h residual: r h = b h A h u h A h u h A h u h = b h A h u h A h e h = r h (15) Note that (15) is equivalent to the original system

Two-grid CGC Cycle: Original grid is Ω h and linear system Introduce nested coarser grid Ω 2h Ω h CGC cycle: A h u h = b h (16) 1. Perform ν 1 smoothing iterations on (16) with some initial guess on grid Ω h ; obtain approximate solution u h. 2. Compute residual r h = b h A h u h ; restrict r h and A h to the coarse grid (Ω 2h ): A h A 2h, r h r 2h Construct the following coarse grid problem 3. Solve for e 2h. A 2h e 2h = r 2h [recall equation (15)] 4. Interpolate e 2h to fine grid & improve fine grid approximation e 2h e h u new h = u h + e h 5. Perform ν 2 smoothing iterations on (16) using u new h guess. Remarks: Step (1) is called pre-smoothing Step (5) is called post-smoothing Typical values of ν 1 and ν 2 range from 1 to 4 as initial

Restriction & Prolongation CGC involves inter-grid transfer operations Fine-to-coarse transfer is called restriction Coarse-to-fine transfer is called prolongation Notation: Restriction operator = I 2h h (e.g., r 2h = I 2h h [r h ]) Prolongation operator = I h 2h (e.g., u h = I h 2h[u 2h ]) Prolongation methods: Use interpolation formulas Linear interpolation is most common 1-D example u h u 2h Ω h 0 1 (2i 1) 2i (2i + 1) 2M Ω 2h 0 i 1 i i + 1 M Thus I h 2h = u 2i h u 2i+1 = u i 2h h = 1 2 (ui 2h + u i+1 2h ), (0 i M)... 0 1 0 0 1/2 1/2 0 0 1 0 0 1/2 1/2 0... = [2M M] matrix

Restriction methods Want to restrict matrix A h and vector r h from Ω h to Ω 2h I 2h h [A h ] = A 2h and I 2h h [r h ] = r 2h Can discretize original PDE on Ω 2h to get A 2h For vectors r h, we can use injection or full-weighting r h r 2h Ω h 0 1 (2i 1) 2i (2i + 1) 2M Ω 2h 0 i 1 i i + 1 M Injection: r i 2h = r 2i h Full-weighting: r i 2h = 1 4 (r2i 1 h + 2r 2i h + r 2i+1 h ) (0 < i < M) This yields the opetator I 2h h = I 2h h =... 0 1 0 0 1 0 0 0 1 OR... 1/4 1/2 1/4 1/4 1/2 1/4... = [M 2M] matrix Notice that 2I 2h h = [I h 2h] T (if we use full-weighting) = [M 2M] matrix

Some remarks on restriction/prolongation It is very useful to have a relation of the form I h 2h = c[i 2h h ] T (for c R) It has some important theoretical implications Furthermore, we can define A 2h = I 2h h A h I h 2h This provides an alternative way to define the coarse grid matrix, without rediscretizing the underlying PDE system. This leads to the following natural strategy for intergrid transfers 1. Define I h 2h in some suitable way 2. Define I 2h h = c[i h 2h] T (e.g., c = 1) 3. Define A 2h = I 2h h A h I h 2h These ideas apply in higher dimensions as well

Recall CGC cycle: Generalization to multiple grids On Ω h : A h u h = b h Ω h h On Ω 2h : A 2h e 2h = r 2h Ω 2h 2h Problem on Ω 2h has same form as that on Ω h Therefore, we can compute e 2h by introducing an even coarser grid Ω 4h, and using CGC again The problem on Ω 4h again has the same form Recursive application of CGC leads to MG cycles involving several grid levels Multigrid Cycling Strategies Obtained by using CGC recursively between multiple grid levels Common MG cycles: V -cycle, W -cycle and FMG (Full Multi- Grid)

V -cycle Uses one recursive CGC between pairs of grid levels Sketch of resulting grid sequence has V shape Ω h h Ω 2h 2h Ω 4h 4h Ω 8h 8h Example of four nested grid levels in 1-D. Ω h Ω 2h Ω 4h Ω 8h Grid sequence for V -cycle on 4 nested grid levels.

Recursive definition of V -cycle (with initial iterate v h ) v h MV h (v h, f h, ν 1, ν 2 ) It consists of the following steps: 1. If h = h c (coarsest grid), go to step 5. Else, perform ν 1 smoothing iterations on A h u h = f h with initial guess v h ; obtain v h, and assign v h v h. 2. Set r h = f h A h v h, f 2h = I 2h h r h ; define coarse grid problem A 2h u 2h = f 2h. 3. Set v 2h 0, and perform v 2h MV 2h (v 2h, f 2h, ν 1, ν 2 ) on coarse grid problem. 4. Set v h v h + I h 2hv 2h. 5. If h = h c solve A h u h = f h exactly, and set v h u h. Else, perform ν 2 smoothing iterations with initial guess v h ; obtain v h, and assign v h v h.

W-cycle Uses 2 recursive CGC cycles between pairs of levels Ω h Ω 2h Ω 4h Ω 8h Both V - and W -cycle are a special case of the µ-cycle. It uses µ recursive CGC cycles between pairs of levels v h MG µ h (v h, f h, ν 1, ν 2 ) 1. If h = h c (coarsest grid), go to step 5. Else, perform ν 1 smoothing iterations on A h u h = f h with initial guess v h ; obtain v h, and assign v h v h. 2. Set r h = f h A h v h, f 2h = I 2h h r h, and construct coarse grid problem A 2h u 2h = f 2h. 3. Set v 2h 0, and perform µ times: v 2h MG µ 2h (v 2h, f 2h, ν 1, ν 2 ). 4. Set v h v h + I h 2hv 2h. 5. If h = h c solve A h u h = f h exactly, and set v h u h. Else, perform ν 2 smoothing iterations with initial guess v h ; obtain v h, and assign v h v h.

FMG-cycle FMG stands for Full MultiGrid Generalization of the nested iteration concept Use MG cycles in place of ordinary iterations Start at coarsest level & perform nested V -, W - or µ-cycles till finest level Ω h Ω 2h Ω 4h Ω 8h

General form: Nonlinear PDE Problems N (u) = f B(u) = g in Ω on Ω where N is nonlinear differential operator, B is boundary operator, u is unknown, f and g are given functions Upon discretizing, we get nonlinear algebraic system: Example: N ( u) = f u xx + λe u = 0, 0 < x < 1 u(0) = u(1) = 0 Discretize on grid of spacing h u 1 = 0 u i 1 (2u i h 2 λe u i ) + u i+1 = 0, (i = 2, 3,, M 1) u M = 0 Nonlinear algebraic systems more difficult to solve than linear systems

Nonlinear System Solution Basic solution approaches: 1. Iterative global linearization Successive approximation Newton-type iteration 2. Nonlinear relaxation Nonlinear Jacobi, Gauss-Seidel, SOR, etc. Usual difficulties: Iterations may not converge Convergence may be very slow Initial guess affects convergence

Global Linearization Successive Approximation Basic idea: Iteratively lag some unknowns to linearize globally Mathematical form (drop vector notation for convenience): Original algebraic system: N(u) = f Rewrite as: A(u) u = b(u) where A and b are matrix and vector functions of u Successive approximation algorithm: 1. Pick initial guess, u 0 2. Set k = 1 3. Construct linear system: A(u k ) u k+1 = b(u k ) 4. Solve for u k+1 5. If solution is converged, stop; else, set k = k + 1 and go to step (3)

Global Linearization Successive Approximation Example: u xx + λe u = 0, 0 < x < 1 u(0) = u(1) = 0 Original algebraic system Rewrite as u i 1 (2u i h 2 λe u i ) + u i+1 = 0 u i 1 2u i + u i+1 = h 2 λe u i which corresponds to 1 0 0 0 1 2 1 0 0 1 2 1 A =.. 0 0 1 2 1 0 0 0 0 1 b = [0,, h 2 λe u i,, 0] T

Global Linearization Newton iteration Given algebraic system: N(u) = f Use Taylor series expansion about iterate u k N(u k ) + N u (uk+1 u k ) + O( u 2 ) = f Neglect higher order terms, and get Newton iteration formula N u (uk+1 u k ) = f N(u k ) Iterative solution algorithm analogous to successive approximation case Remarks Both Newton iteration and successive approximation require repeated solution of linear algebraic systems Standard linear multigrid can be used for this

Nonlinear Relaxation Given algebraic system: N(u) = f Rewrite as: N i (u 1, u 2,, u i,, u M ) = f i, i = 1, 2,, M Nonlinear relaxation Iteratively decouple the system Solve ith equation for u i assuming all other u s are known Jacobi variant: 1. Pick initial guess, u 0 2. Set k = 1 3. for i=1:m Solve N i (u k 1, u k 2,, u k+1 i,, u k m) = f i for u k+1 i end 4. If solution is converged, stop; else, set k = k + 1 and go to step (3)

Nonlinear Relaxation Remarks Can construct analogs of other linear relaxation schemes in a similar way e.g., for Gauss-Seidel, simply replace the equation in step (3) with N i (u k+1 1, u k+1 2,, u k+1,, u k m) = f i In general, step (3) involves nonlinear solution for u k+1 i ; one can use successive approximation or Newton iteration Thus, we again have inner iteration embedded within outer iteration Nonlinear relaxation schemes also often exhibit smoothing property, like their linear counterparts i

Nonlinear Multigrid Consider nonlinear PDE, as before N(u) = f in Ω Discretize on grid Ω h and get nonlinear algebraic system where N h is a nonlinear algebraic operator N h (u h ) = f h (17) Suppose we apply a nonlinear relaxation scheme, and get the approximate solution u h. Define Error to residual relation error: e h = u h u h residual: r h = f h N h (u h) N h (u h ) N h (u h) = r h Note that e h cannot be explicitly computed for nonlinear case However, we assume e h behaves as in the linear case quick decay of HF error modes much slower decay of LF modes

Nonlinear Multigrid Full Approximation Scheme (FAS) FAS is nonlinear generalization of CGC Assume nonlinear relaxation/smoothing method is available Basic steps very similar to CGC: 1. On fine grid: N h (u h ) = f h ; perform ν 1 nonlinear smoothing iterations, compute u h and r h = f h N h (u h ) 2. On 2h grid: Construct N 2h (u 2h ) = N 2h (Î2h h u h ) + I2h h r h ; solve for u 2h, and compute e 2h = u 2h Î2h h u h 3. Interpolate and correct: u new h = u h + Ih 2he 2h 4. Perform ν 2 nonlinear post-smoothing iterations Notice that step (2) computes e 2h indirectly the full solution u 2h is computed first after that we compute e 2h = u 2h Î2h h u h In linear CGC, step (2) is simpler: 2. On 2h grid: A 2h (e 2h ) = I 2h h r h ; solve for e 2h directly

Recap key ideas from last week Algebraic systems typically very large and sparse Efficient solvers crucial for computational efficiency Iterative solvers are attractive for such large linear systems Typical behavior of iterative methods: Fast convergence in 1st few iterations Slow convergence thereafter Reason for this: Iterative methods preferentially damp HF error modes. This is called smoothing property Overall convergence rate is slowed by LF error modes Motivation for multigrid: Take advantage of smoothing property HF and LF are defined relative to grid spacing Multigrid use smoothing on progressively coarser grids to handle LF error modes