<div dir="ltr"><div dir="ltr">On Mon, Oct 10, 2022 at 5:37 PM Alexander Lindsay <<a href="mailto:alexlindsay239@gmail.com">alexlindsay239@gmail.com</a>> wrote:<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">I know that PETSc has native support for ASPIN. Has anyone tried MSPIN? I wouldn't be surprised if someone has implemented it in user code. Wondering what the barriers would be to creating an option like `-snes_type mspin` ?<br></div>
</blockquote></div><br clear="all"><div>David Keyes, LuLu Liu,  and collaborators have several papers on MSPIN. It does work well in many circumstances.</div><div><br></div><div>ASPIN is easy for PETSc because it only involves generating sub-Jacobians. MSPIN needs nonlinear subsystems.</div><div>This is not possible with the traditional PETSc SNES callback interface.</div><div><br></div><div>It is just barely possible using all the experimental stuff in Plex. You need the ability to subset the domain, setup a</div><div>nonlinear problem with the same equations and boundary conditions (and normally homogeneous Dirichlet on the</div><div>internal boundary), and usually linearizations of this subproblem. This means abstractions for the mesh, equations,</div><div>boundary conditions, and linearizations that can be transferred onto a new subdomain.</div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt</div><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>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><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>