<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Mar 2, 2015 at 5:29 PM, Jed Brown <span dir="ltr"><<a href="mailto:jed@jedbrown.org" target="_blank">jed@jedbrown.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Fabian Gabel <<a href="mailto:gabel.fabian@gmail.com">gabel.fabian@gmail.com</a>> writes:<br>
<br>
> Dear PETSc Team,<br>
><br>
> I came across the following paragraph in your publication "Composable<br>
> Linear Solvers for Multiphysics" (2012):<br>
><br>
> "Rather than splitting the matrix into large blocks and<br>
> forming a preconditioner from solvers (for example, multi-<br>
> grid) on each block, one can perform multigrid on the entire<br>
> system, basing the smoother on solves coming from the tiny<br>
> blocks coupling the degrees of freedom at a single point (or<br>
> small number of points). This approach is also handled in<br>
> PETSc, but we will not elaborate on it here."<br>
><br>
> How would I use a multigrid preconditioner (GAMG)<br>
<br>
</span>The heuristics in GAMG are not appropriate for indefinite/saddle-point<br>
systems such as arise from Navier-Stokes.  You can use geometric<br>
multigrid and use the fieldsplit techniques described in the paper as a<br>
smoother, for example.<br>
<div class="HOEnZb"><div class="h5"><br>
> from PETSc on linear systems of the form (after reordering the<br>
> variables):<br>
><br>
> [A_uu   0     0   A_up  A_uT]<br>
> [0    A_vv    0   A_vp  A_vT]<br>
> [0      0   A_ww  A_up  A_wT]<br>
> [A_pu A_pv  A_pw  A_pp   0  ]<br>
> [A_Tu A_Tv  A_Tw  A_Tp  A_TT]<br>
><br>
> where each of the block matrices A_ij, with i,j \in {u,v,w,p,T}, results<br>
> directly from a FVM discretization of the incompressible Navier-Stokes<br>
> equations and the temperature equation. The fifth row and column are<br>
> optional, depending on the method I choose to couple the temperature.<br>
> The Matrix is stored as one AIJ Matrix.<br></div></div></blockquote><div><br></div><div>If you have an unstructured grid, we have examples using regular refinement</div><div>and GMG. We are working towards having irregular refinement using the</div><div>Pragmatic library from ICL.</div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">
> Regards,<br>
> Fabian Gabel<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div>
</div></div>