Full Multigrid Performance for Poisson's equation using Higher Order Compact scheme as a Gauss Seidel smoother

I have a question regarding the FMG (Full Multi Grid) performance while computing Poisson's equation using Higher Order Compact discretization. I am using a sixth order compact scheme to discretize the Poisson's equation and use a Gauss Seidel method for smoothing/relaxing. And I employ Neumann boundary conditions on all sides of the 2D domain I am dealing with.

I followed Multigrid tutorial by Briggs et al to deal with the Neumann BCs by making the null-space vector orthogonal to the RHS vector in the equation Ax = b. I do not pin a value in the domain as it would lead to complications in transfers between multigrid levels. Instead I impose the zero mean condition on every level of the FMG cycle.

For a 128X128 grid the L2 norm of the residual stands at 32.00 at the end of FMG cycle which is very high for the entire domain. But it is less when distributed evenly among all the interior points. I would like converge the L2 norm atleast to 1e-2 for the Neumann case. Are there any techniques that I can use to speed this up to the said convergence without changing the number of times I relax on the fine grid. The higher order scheme itself has bad smoothing properties I think. It is not as effective in culling the high frequencies present in the domain.

Is there an effective and clear strategy to pin the solution at one point int he fine grid and continue with FMG?

Also, will it help if we use a higher order interpolation operator from coarse to fine grids when we go from one V-cycle to the other?

Best Trinath

• How much does the residual get reduced in a single step? The number 32 does not tell very much, unless it is really 32.00 exactly, which would make it very unlikely to be the residual after one multigrid step. Oct 11, 2013 at 14:02
• Did you imply by the phrase "one multigrid step" at the end of one V-cycle or at the end of FMG? This residual is at the end of the FMG method i.e, at the last relaxation step on the finest grid. Oct 12, 2013 at 15:37

The regular Gauss-Seidel method is not a good smoother for higher order discretizations. From my experience with finite element multigrid, I expect that a block Gauss-Seidel with block size comparable to the width of the stencil should do the job.

Example: if your stencil involves neighbors and second neighbors, use blocks of size 4 or 9. These blocks should contain the degrees of freedom of a small square patch of 4 or 9 discretization points. You can run the method with overlapping patches (expensive with more than 4 points per patch) or nonoverlapping.

Higher order mesh transfers can also improve your performance.

• Hi Guido Thanks for your response. I will try to apply block Gauss Seidel and check if it helps. Oct 12, 2013 at 15:41

Instead I impose the zero mean condition on every level of the FMG cycle.

I don't believe you need to (or want to) do this. It should be sufficient to only do this on the finest grid. With FAS, the restriction of the fine-grid residual to the coarse grid should enforce this condition without having to re-apply it.

Additionally as @Guido said, GS is a bad smoother for this, and you will most likely see some improvement with higher accuracy mesh transfers.

I've also run across codes that use lower-order discretization schemes on the coarse grids, i.e. a finite volume scheme using 2nd order on the finest grid, and 1st order on the coarse grids. This seems to work quite well, since the purpose of the coarse grid is to smooth out the errors of the fine one so the diffusive low order scheme actually helps you. This seems somewhat analogous to the practice in high order DG methods where people use "P-multigrid" -- instead of geometric multigrid, you use the same grid in your multigrid cycle but with varying order of the polynomial reconstruction.