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

Brian Granzow brian.granzow at gmail.com
Fri Feb 24 14:43:13 EST 2017


Hi Ray,

Very cool! Thanks for the helpful info. It's worth pointing out that
had I ordered degrees of freedom in my mesh such that the bandwidth of
my global matrix would have a small bandwidth (so that rows often
alternate between displacement and pressure degrees of freedom). This
was the main reason for my (naive) attempt to precondition the entire
matrix. It looks like block preconditioning is the way to go for the
time being, so I'll give that a go.

Thanks again!
Brian

On Fri, Feb 24, 2017 at 12:43 PM, Tuminaro, Raymond S
<rstumin at sandia.gov> wrote:
> 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