[petsc-users] Multigrid preconditioning of entire linear systems for discretized coupled multiphysics problems

Fabian Gabel gabel.fabian at gmail.com
Mon Mar 2 17:26:18 CST 2015


Dear PETSc Team,

I came across the following paragraph in your publication "Composable
Linear Solvers for Multiphysics" (2012):

"Rather than splitting the matrix into large blocks and
forming a preconditioner from solvers (for example, multi-
grid) on each block, one can perform multigrid on the entire
system, basing the smoother on solves coming from the tiny
blocks coupling the degrees of freedom at a single point (or
small number of points). This approach is also handled in
PETSc, but we will not elaborate on it here."

How would I use a multigrid preconditioner (GAMG) from PETSc on linear
systems of the form (after reordering the variables):

[A_uu   0     0   A_up  A_uT]
[0    A_vv    0   A_vp  A_vT]
[0      0   A_ww  A_up  A_wT]
[A_pu A_pv  A_pw  A_pp   0  ]
[A_Tu A_Tv  A_Tw  A_Tp  A_TT]

where each of the block matrices A_ij, with i,j \in {u,v,w,p,T}, results
directly from a FVM discretization of the incompressible Navier-Stokes
equations and the temperature equation. The fifth row and column are
optional, depending on the method I choose to couple the temperature.
The Matrix is stored as one AIJ Matrix.

Regards,
Fabian Gabel




More information about the petsc-users mailing list