200 The multigrid method
examples of written MATLAB functions (e.g. Poisson_restriction_planet,
Poisson_prolongation_planet, Viscosity_restriction, Stokes_Continuity_vis-
cous_restriction, Stokes_Continuity_prolongation) used in the codes associated
with this chapter. There are also more sophisticated schemes of organising
restriction and prolongation operations which give a higher multigrid performance
in specific cases (e.g. Wesseling, 1992).
It should also be mentioned that the method described in this chapter is called
geometrical multigrid, which requires the definition of several grids for the same
model, formulation of the same differential equations separately for each grid and
storing transport coefficients, solutions and corrections for all grids. Computational
and memory costs for the geometric multigrid are relatively small since coarser
grids have much less nodal points then the principal one. For example, in case of
grid coarsening by a factor of two, all coarser grids will have in 2D and 3D less
than 50% and 25% of grid points, respectively, compared to the finest grid.
However, there is also a class of more sophisticated multigrid approaches called
algebraic multigrid (AMG) which do not require the explicit definition of the
coarser grids, but rather uses algebraic operations based on multigrid principles to
process and solve global matrix constructed for the finest (principal) grid. In an
algebraic multigrid scheme, the coarse-level equations are generated from finer-
level equations without the use of any geometry or re-discretisation on the coarse
levels. This has the advantage that no coarse-level grid has to be generated or
stored, and no flux or source term needs be calculated on the coarse levels. This
feature makes AMG particularly important for use on unstructured meshes.
How efficient is multigrid? It is extremely efficient for simple cases like solv-
ing the Poisson equation on a regular grid (Fig. 14.2) and speeding up conver-
gence by several orders of magnitude (Fig. 14.5). In more complex, thermo-
mechanical modelling cases, it is typically less efficient, particularly when physical
phenomena (such as e.g. localisation of deformation) are not properly reproduced
on the coarser levels. For many geodynamic applications, the multigrid provides
one of the best options to build efficient and robust codes and is therefore widely
used in 3D numerical modelling of mantle convection and plate tectonic processes
(e.g., Tackley, 2000; 2008).
14.2 Solving the Poisson equation with multigrid
Implementation of a multigrid solver for the Poisson equation is generally quite
simple: a standard Gauss–Seidel iteration with a relatively high relaxation para-
meter θ
Poisson
relaxation
(up to 1.75 uniformly applied for all nodes in all grids) can be used
as an efficient smoother and the interpolation of residuals (restriction operation)