[petsc-users] AMG for block matrices

Raju Mandhapati mandhapati.raju at convergecfd.com
Wed Sep 23 18:18:41 CDT 2020


Hello,

Before jumping into block AMG, I started testing AMG on the pressure
equation.

I find that for simple systems, both serial and parallel version of AMG
worked well. For a difficult system (variable coefficient laplacian
operator), serial worked but AMG struggled when using 4 cores. I was using
AMG as preconditioner to BiCGSTAB. Regular ILU0 preconditioner worked well
both in serial and parallel. I am not sure why AMG struggled.

Are there any tuning parameters for AMG?

Does Petsc have SOR/Gauss Seidel/ILU0 smoother options? Or can I provide my
own user smoother?

Are there options to choose between unsmoothed aggregation vs smoothed
aggregation?

thanks,
Raju.





On Tue, Sep 22, 2020 at 10:23 PM Barry Smith <bsmith at petsc.dev> wrote:

>
>   Raju,
>
>     If you call MatSetBlockSize(mat,4) then GAMG will keep the 4 variables
> together through all the levels.
>
>     You might consider using the point block Jacobi smoother with it
> instead of the default Jacobi smoother -mg_levels_pc_type pbjacobi
>
>     There is also PCPATCH which supports Vanka smoothing (though it is to
> well hidden) PCPatchSetConstructType(pc,PC_PATCH_VANKA)
> -pc_patch_construct_type vanka
>
>
>     For coupled Navier stokes you might also consider using PCFIELDSPLIT
> and GAMG just for the pressure solve inside it.
>
>   Barry
>
> > On Sep 22, 2020, at 9:24 PM, Raju Mandhapati via petsc-users <
> petsc-users at mcs.anl.gov> wrote:
> >
> > Hello,
> >
> > Does Petsc have an option to solve block matrices using AMG
> solver/preconditioner. My block matrix is coming from solving u,v,w,p
> (coupled Navier stokes) at each cell.
> >
> > thanks
> > Raju.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20200923/735d0b66/attachment.html>


More information about the petsc-users mailing list