If one chooses to discetize the advection-diffusion (AD) equation using the standard Galerkin finite element method, stability issues may arise in cases of high Peclet number (i.e., high advection to diffusion ratio).

Other than using methods like SUPG, can one achieve stable AD solutions (with Galerkin FEM) through the use of multi-grid preconditioning? I have seen and heard talks about how multi-grid solvers can help achieve smoothing and stabilization for a wide range of problems, and was wondering if such a method could be applied to a general AD equation. For instance, I am using PETSc for linear algebra and can use any of its multi-grid preconditioning capabilities.


1 Answer 1


There are two different flavors of smoothing and stability. The spurious oscillations in convection-diffusion problems are not an artifact of the linear solver but an inevitable artifact of the discretization method. Any linear solver for non-symmetric matrices you use will give you the same wiggly answer, or it's wrong. Multi-grid is one such linear solver.

When discussing multi-grid, we also talk about smoothing, but that's smoothing between its internal steps. Each step of multi-grid moves the residual from one grid to another and then uses a few iterations of a "smoother", often Gauss-Seidel, to smooth out the high-frequency components of the error in the solution on that grid. As you go from fine to coarse, you remove lower and lower frequencies of the error. On the coarsest grid, some other solver is often used to deal with the lowest frequency components on this last mesh.

The two concepts are separate. If you want to get rid of the wiggles, you either need to use a stabilized method like SUPG, or you need more mesh in the layer that is causing the wiggles. Changing solvers or preconditioners won't help.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.