200 likes | 316 Views
Numerical Solvers for BVPs. By Dong Xu State Key Lab of CAD&CG, ZJU. Overview. Introduction Numerical Solvers Relaxation Method Conjugate Gradient Multigrid Method Conclusions. Introduction. What is Boundary Value Problems?. Typical BVPs. Discretization. Regular Grid Irregular Grid.
E N D
Numerical Solvers for BVPs By Dong Xu State Key Lab of CAD&CG, ZJU
Overview • Introduction • Numerical Solvers • Relaxation Method • Conjugate Gradient • Multigrid Method • Conclusions
Introduction • What is Boundary Value Problems? Typical BVPs
Discretization • Regular Grid • Irregular Grid
Relaxation Methods 0<w<2
Conjugate Gradient • Steepest Descent Method • Search in the direction of the gradient of given point (local approximation). • The local gradient doesn’t point to the elliptic center. • Conjugate Gradient Method • Search in the direction pointing to the elliptic center. • Iterate at most n steps. (n – the order of the matrix) • Only need Ap & ATp (matrix multiplies vector), especially efficient for sparse matrix. • Preconditioning
Multigrid Methods • Multigrid Methods – NOT a single algorithm, BUT a general framework. • Solve elliptic PDEs (BVPs) discretized on N grid points in O(n) operations. • Multigrid means using fine-to-coarse hierarchy to speed up the convergence of a traditional relaxation method. • Another approach is discretizing the same underlying PDE in multiple resolution. (FMG method)
Equations • Equation • Discretization • Correction • Residual/Defect • Linear relation between correction and residual • Only knows residual how to get correction? • Approximation • Jacobi iteration: diagonal part • Gauss-Seidel iteration: lower triangle • Get new approximation
A New Way • “Coarsify” rather than “Simplify” • Take H = 2h • New residual equation Approximation • Restriction operator • Prolongation operator • Get new approximation
Coarse-grid Correction Scheme • Compute the defect on the fine grid. • Restrict the defect. • Solve exactly on the coarse grid for the correction. • Interpolate the correction to the fine grid. • Compute the next approximation.
Two-Grid Iteration • Pre-smoothing: Compute by applying steps of a relaxation method to . • Coarse-grid correction: As above, using to give . • Post-smoothing: Compute by applying steps of the relaxation method to . Key Insight: Relaxation methods are good smoothing operators. (High freq. attenuates faster than low freq.)
Operators • Smoothing Operator S • Gauss-Seidel, NOT SOR. • Restriction Operator R • Prolongation Operator P Straight injection, half weighting, full weighting. Relationship Bilinear interpolation
Multi-Grid • Cycle – One iteration of a multigrid method, from finest grid to coarser grids and back to finest grid again. • , the number of two-grid iterations at each intermediate stage (resolution/level). • V-cycle – • W-cycle – (named by shape)
Full Grid Algorithm • First approximation • Arbitrary, on the finest grid. (Simple Multigrid, uh = 0) • Interpolating from a coarse-grid solution. • Nested Iteration • Get coarse-grid solution from even coarser grids. • At the coarsest grid, start with the exact solution. • Need f at all levels, while simple multigrid only needs f at the finest level. • Produce solutions at all level, while simple multigrid at the finest level.
Conclusions • One Grid • Two Grid • Multi-Grid • Full Grid
Reference • Numerical Recipe in C