[Trilinos-Users] [EXTERNAL] MueLu preconditioning for mixed FEM methods

Tuminaro, Raymond S rstumin at sandia.gov
Fri Feb 24 12:43:50 EST 2017


Brian,
   Using algebraic multigrid for mixed finite element discretizations is somewhat of a research topic. I'll attached a paper in a separate email that is in draft form and  has not yet appeared yet that discusses these issues. Unfortunately, the scheme described here is only partially implemented in MueLu and it would be nontrivial to fully implement it. As an alternative to applying multigrid to the entire system, one can avoid the challenges associated with the attached paper by instead doing a block preconditioner and using MueLu for the sub-block solves. The Trilinos package to look at is Teko  and there is a paper describing this approach

@article{teko,
  author =       "E. Cyr and J.N. Shadid and and R. Tuminaro",
  title =        "{T}eko: A Block Preconditioning Capability with Concrete Example Applications in {N}avier-{S}tokes and {MHD}",
   journal = {SIAM J. Sci. Comput.},
   volume  = {38},
   number  = {5},
   pages   = {S307--S331},
   year    = {2016}
}

I'm not sure how well this preconditioning idea will work for your system, but there are some ideas for poro-mechanics systems in this paper

@article{White201655,
title = "Block-partitioned solvers for coupled poromechanics: A unified framework ",
journal = "Computer Methods in Applied Mechanics and Engineering ",
volume = "303",
number = "",
pages = "55 - 74",
year = "2016",
note = "",
issn = "0045-7825",
doi = "http://dx.doi.org/10.1016/j.cma.2016.01.008",
url = "http://www.sciencedirect.com/science/article/pii/S0045782516000104",
author = "Joshua A. White and Nicola Castelletto and Hamdi A. Tchelepi",
}

Eric Cyr would be the guy who would know the most about possibly using Teko for this system. All of this will require more work on your part. The bottom line is that automatic algebraic preconditioning of mixed finite element systems is still a bit of a research topic (geometric multigrid is more well established for this ... but software for unstructured meshes is harder to find).

-Ray

________________________________________
From: Trilinos-Users <trilinos-users-bounces at trilinos.org> on behalf of Brian Granzow <brian.granzow at gmail.com>
Sent: Thursday, February 23, 2017 6:45 AM
To: trilinos-users at trilinos.org
Subject: [EXTERNAL] [Trilinos-Users] MueLu preconditioning for mixed FEM methods

Hi all,

I am using Tpetra, Belos, and MueLu in a manner very similar to the example:

https://github.com/trilinos/Trilinos/blob/master/packages/muelu/example/basic/Simple.cpp

to solve a linear system that arises from a mixed
displacement-pressure mechanics formulation, where displacements are
interpolated using 2nd order Lagrange elements and pressures are
interpolated using 1st order Lagrange elements.

I am using MueLu to precondition the linear system and the
Belos::BlockGmresSolMgr to solve the linear system with GMRES
iterations.

I am using MueLu incredibly naively, in that I am not specifying any
input parameters and letting MueLu choose all default values. I am
using the method MueLu::createTpetraPreconditioner(...) to create the
MueLu preconditioner, as linked below:

https://github.com/trilinos/Trilinos/blob/master/packages/muelu/adapters/tpetra/MueLu_CreateTpetraPreconditioner.hpp#L49

My example problem has ~70,000 rows/cols. For the linear solve, Belos
converges to a tolerance of 1.0e-6 in around 420 GMRES iterations.
This behavior is about the same in serial as in parallel with 4 parts,
where in serial the problem converges in slightly fewer GMRES
iterations. Given the relatively small size of the problem, this
number of GMRES iterations seems slightly high to me.

Given this information, I have a few questions:

(1) Has anyone used MueLu to successfully precondition FEM matrices
where Taylor-Hood type elements are used and, if so, would you be
willing to share your strategy for preconditioning your linear
systems?

(2) I am not passing in the optional coordinate and null space
arguments to the method MueLu::createTpetraPreconditioner(...) method.
Would I benefit greatly from doing so?

Thank you,
Brian
_______________________________________________
Trilinos-Users mailing list
Trilinos-Users at trilinos.org
https://trilinos.org/mailman/listinfo/trilinos-users


More information about the Trilinos-Users mailing list