> On Mar 31, 2017, at 10:00 AM, Jed Brown <[email protected]> wrote: > > Justin Chang <[email protected]> writes: > >> Yeah based on my experiments it seems setting pc_mg_levels to $DAREFINE + 1 >> has decent performance. >> >> 1) is there ever a case where you'd want $MGLEVELS <= $DAREFINE? In some of >> the PETSc tutorial slides (e.g., http://www.mcs.anl.gov/ >> petsc/documentation/tutorials/TutorialCEMRACS2016.pdf on slide 203/227) >> they say to use $MGLEVELS = 4 and $DAREFINE = 5, but when I ran this, it >> was almost twice as slow as if $MGLEVELS >= $DAREFINE > > Smaller coarse grids are generally more scalable -- when the problem > data is distributed, multigrid is a good solution algorithm. But if > multigrid stops being effective because it is not preserving sufficient > coarse grid accuracy (e.g., for transport-dominated problems in > complicated domains) then you might want to stop early and use a more > robust method (like direct solves).
Basically for symmetric positive definite operators you can make the coarse problem as small as you like (even 1 point) in theory. For indefinite and non-symmetric problems the theory says the "coarse grid must be sufficiently fine" (loosely speaking the coarse grid has to resolve the eigenmodes for the eigenvalues to the left of the x = 0). https://www.jstor.org/stable/2158375?seq=1#page_scan_tab_contents
