<div class="gmail_quote">On Thu, Oct 7, 2010 at 11:45, Sylvain Barbot <span dir="ltr"><<a href="mailto:sylbar.vainbot@gmail.com">sylbar.vainbot@gmail.com</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
questions:<br>
1) is it at all possible to specify this mode of operation, from the<br>
finest to the coarser level, and back? Any examples out there?<br></blockquote><div><br></div><div>-pc_mg_type multiplicative, or</div><div><br></div><div> PCMGSetType(pc,PC_MG_MULTIPLICATIVE);</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
2) is it readily possible to use matrix shells with DMMG? I imagine<br>
the Jacobian matrix may simply be provided as a matrix shell. Is there<br>
any examples of multi-grid methods with shell matrices online?<br></blockquote><div><br></div><div>You can do this, but you will have to define a custom smoother. For Jacobi, you can have your MatShell implement MatGetDiagonal and it will work. I thought you could implement MatGetDiagonalBlock for PBJacobi, but it's not currently written that way (though it should be and that would be an easy change to make). If you want to use a multiplicative relaxation like SOR, you would have to implement it yourself. If you need something like ILU for a smoother, then you will have to pay for a matrix. Note that one possibility is to assemble a matrix on all but the finest level so you can use stronger smoothers there, then make do with Jacobi on the finest level.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
3) to deal with non-uniform sampling: can I provide the coordinates of<br>
the finest grid with DASetCoordinates, then expect DMMG to provide the<br>
subsampled coordinates at the coarser levels?</blockquote><div><br></div><div>Currently no, you have to set them on each level. Perhaps you could do this by rolling a loop over levels and applying MatRestrict using the restriction matrix from DMMG (this might not be the sampling that you want).</div>
<div><br></div><div>Jed</div></div>