<div dir="ltr">Generally you do want to use FieldSplit but Vanka might work.<div><br></div><div>I'm not sure what to use as the smoother KSP. -mg_levels_ksp_type [gmres | richardson]. If you use richardson you will probably want to fiddle with the damping.</div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Sep 22, 2020 at 11:23 PM Barry Smith <<a href="mailto:bsmith@petsc.dev">bsmith@petsc.dev</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
  Raju,<br>
<br>
    If you call MatSetBlockSize(mat,4) then GAMG will keep the 4 variables together through all the levels. <br>
<br>
    You might consider using the point block Jacobi smoother with it instead of the default Jacobi smoother -mg_levels_pc_type pbjacobi<br>
<br>
    There is also PCPATCH which supports Vanka smoothing (though it is to well hidden) PCPatchSetConstructType(pc,PC_PATCH_VANKA) -pc_patch_construct_type vanka<br>
<br>
<br>
    For coupled Navier stokes you might also consider using PCFIELDSPLIT and GAMG just for the pressure solve inside it.<br>
<br>
  Barry<br>
<br>
> On Sep 22, 2020, at 9:24 PM, Raju Mandhapati via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov" target="_blank">petsc-users@mcs.anl.gov</a>> wrote:<br>
> <br>
> Hello,<br>
> <br>
> 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.<br>
> <br>
> thanks<br>
> Raju.<br>
<br>
</blockquote></div>