<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Feb 15, 2017 at 10:42 AM, Matt Landreman <span dir="ltr"><<a href="mailto:matt.landreman@gmail.com" target="_blank">matt.landreman@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi, Petsc developers,</div><div><br></div><div>A few basic questions about geometric and algebraic multigrid in petsc:</div><div><br></div><div>Based on the output of -ksp_view, I see that for both -pc_type mg and -pc_type gamg, the smoothing on each multigrid level is implemented using a ksp with default type chebyshev, associated with a pc of default type sor. I also see in section 4.4.5 of the petsc manual that switching to -mg_levels_ksp_type richardson is sometimes recommended, and I see in the ksp examples makefile that ksp ex28.c uses -mg_levels_ksp_type gmres.</div><div><br></div><div>1. Does “textbook” Gauss-Seidel smoothing correspond in petsc to  -mg_levels_ksp_type richardson?</div></div></blockquote><div><br></div><div>Yes.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>2. It says in <a href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/KSP/KSPCHEBYSHEV.html" target="_blank">http://www.mcs.anl.gov/petsc/<wbr>petsc-current/docs/<wbr>manualpages/KSP/KSPCHEBYSHEV.<wbr>html</a> that PETSc’s chebyshev iteration only works for symmetric matrices. So to confirm, for any problem with non-symmetric matrices such as convection-diffusion, setting -mg_levels_ksp_type to some non-default value like richardson or gmres is <i>mandatory</i> then?  (If so, it would be helpful if this were stated in the manual.)</div></div></blockquote><div><br></div><div>Yes, this is true.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>3. For smoothing with geometric multigrid, is there a way in petsc to do red-black Gauss Seidel? Line relaxation?</div></div></blockquote><div><br></div><div>I don't know if Barry has something special, but you could easily do it using PCFIELDSPLIT with the default splitting and</div><div>Jacobi on each block. Line relaxation is similar, with different blocking and Block-Jacobi.</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 dir="ltr"><div>Thanks,</div><div>Matt Landreman</div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="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>