[petsc-users] Geometric MG as Solver & Preconditioner for FEM/Spectral/FD

Jed Brown jedbrown at mcs.anl.gov
Thu Oct 17 09:50:36 CDT 2013

Shiva Rudraraju <rudraa at umich.edu> writes:

> I am planning to study the effects of geometric multigrid method both as a
> Solver and Preconditioner on a system of transport problems involving
> coupled diffusion + finite strain mechanics. Part of that study will be to
> evaluate the performance of FD vs higher order FEM (Both Lagrange and
> Spectral elements).

How do you distinguish "Lagrange" versus "Spectral" elements?  Are you
referring to nodal versus modal bases, choice of collocation quadrature,
or something else?

> So in this context I have a few questions:
> 1)  To motivate the use of MG schemes in this coupled system of equations,
> I plan to initially implement a Red-Black Gauss Siedel solver for FD to
> serve as a benchmark. Is there a good example related to the Red-Black
> Gauss Siedel implementation?.

You could reorder your equations, but multicolor GS is not a very good
or representative algorithm on cache-based architectures, due to its
poor cache reuse.  I suggest just using standard GS smoothers (-pc_type
sor with default relaxation parameter of 1.0).

> 2) I plan to implement a higher order Lagrange and Spectral element FEM
> code. I found one related example in
> petsc/src/ksp/ksp/examples/tutorials/ex59.c. Are there any better examples
> of general FEM code implementations.

Do you already have spectral element code or are you planning to write
one from scratch?  There are several unstructured FEM examples using
DMPlex, though they do not explicitly expose the tensor product that is
important for efficient high-order methods.  How would you plan to
precondition these things?

I did some work on this using embedded low-order discretizations (see
below) and the library used in that paper is available.  The paper used
algebraic multigrid, but geometric and semi-geometric methods would be
better in many settings.  (I'm hoping to merge the good attributes of
that library into PETSc using the new DMPlex.)

> 3) MG is often used as a preconditioner, but are there any examples showing
> its use as a solver?. 

That is just -ksp_type richardson.  Or are you talking about nonlinear
multigrid (-snes_type fas)?

> I found a few examples here
> http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/concepts/multigrid.html,
> but nothing in the current version of those codes refer to any MG
> datastructures like DMMG which were part of the earlier versions.

The DMMG object was a broken abstraction; its functionality was rolled into DM and SNES.

@article {brown2010ens,
  author = {Brown, Jed},
  affiliation = {Versuchsanstalt für Wasserbau, Hydrologie und Glaziologie (VAW), ETH Zürich, Zürich, Switzerland},
  title = {Efficient Nonlinear Solvers for Nodal High-Order Finite Elements in {3D}},
  journal = {Journal of Scientific Computing},
  publisher = {Springer Netherlands},
  issn = {0885-7474},
  keyword = {Mathematics and Statistics},
  pages = {48-63},
  volume = {45},
  issue = {1},
  url = {http://dx.doi.org/10.1007/s10915-010-9396-8},
  doi = {10.1007/s10915-010-9396-8},
  year = {2010}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20131017/00eed0cd/attachment.pgp>

More information about the petsc-users mailing list