<div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Thanks for the prompt reply and clarifications!<br></div><div><br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div class="gmail_quote"><div>2) Could you be more specific about what should be different? It sounds like you want "your" DM attached to the (0,0) block so that</div><div>    you can do GMG on the Laplacian there.</div></div></div></div></div></blockquote><div><br></div><div>Exactly. This works if I use pc_type gamg on the (0,0) block, but if I swap to pc_type mg which should use my DM info I end up in this situation.<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div class="gmail_quote"><div><br></div><div>3) We do not actually attach the DM proper. Rather DMCreateSubDM() is called to create a new DM with only the fields in the 0 block present. It is</div><div>    likely that your DMShell does not implement this, and so something default is being done which does not work.</div><div><br></div><div>What is not getting propagated properly for you?</div></div></div></div></div></blockquote><div><br></div><div>Right, we do not currently implement this, and as it stands it looks like the coarsen/refine, createinterpolation/createrestriction pointers are all empty for the DM at: <br></div><div><br></div><div><a href="https://bitbucket.org/petsc/petsc/src/34b5b06749738ef6a1a80e732c08f902d83c0500/src/dm/interface/dm.c#lines-2524">https://bitbucket.org/petsc/petsc/src/34b5b06749738ef6a1a80e732c08f902d83c0500/src/dm/interface/dm.c#lines-2524</a></div><div><br></div><div>while setting up MG at in the first iteration at : <br></div><div><br></div><div><a href="https://bitbucket.org/petsc/petsc/src/34b5b06749738ef6a1a80e732c08f902d83c0500/src/ksp/pc/impls/mg/mg.c#lines-659">https://bitbucket.org/petsc/petsc/src/34b5b06749738ef6a1a80e732c08f902d83c0500/src/ksp/pc/impls/mg/mg.c#lines-659</a><br></div><div><br></div></div></div></div></div>