<div dir="ltr"><div><div><div><div>Lawrence,<br><br></div>I added the following line:<br><br>rs_solver.setDM(a._dm)<br><br></div>And it gives this error:<br><br>Traceback (most recent call last):<br>  File "sphere.py", line 128, in <module><br>    rs_solver.setDM(a._dm)<br>AttributeError: 'Form' object has no attribute '_dm'<br><br></div>Thanks,<br></div>Justin<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Nov 29, 2016 at 1:12 AM, Lawrence Mitchell <span dir="ltr"><<a href="mailto:lawrence.mitchell@imperial.ac.uk" target="_blank">lawrence.mitchell@imperial.ac.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
<br>
> On 29 Nov 2016, at 02:02, Justin Chang <<a href="mailto:jychang48@gmail.com">jychang48@gmail.com</a>> wrote:<br>
><br>
> Why is this happening? It seems to me VINEWTONRSLS is not understanding that I have a two-field formulation.<br>
<br>
</span>For the built in solvers, we set up a dmshell on the snes that knows how to do field splitting.  Because you set your snes up by hand, it isn't available. You'll need to call snes.setDM. The mixed finctionspace provides the correct dm via a ._dm property I think.<br>
<span class="HOEnZb"><font color="#888888"><br>
Lawrence<br>
</font></span></blockquote></div><br></div>