<div class="gmail_quote">On Sat, Mar 17, 2012 at 22:48, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div>As I noted before to you I did this to have a similar interface for KSP as SNES so that people could see the pattern and easily "switch up" to SNES from KSP.<br></div></blockquote><div><br></div><div>
Okay, but the DM interface _is_ the SNES interface, that callback just doesn't pass the solver context and doesn't pass a state vector at which to evaluate the matrix.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div>
<br>
  I know you advocate having the user just use SNES if they want this cool "SNES-like" behavior.<br>
<br>
  Will it kill you to leave this stuff in there? Are you wanting to remove it just for philosophical reasons or is it causing trouble to have it?<br></div></blockquote></div><br><div>My problem is that I don't like the way PCMG is meddling with DM:</div>

<div><br></div><div><div>      ierr = DMSetFunction(dms[i],0);</div><div>      ierr = DMSetInitialGuess(dms[i],0);</div></div><div><br></div><div>In my model, these pointers will be private to the KSP (they are composed with the DM, but the DM doesn't know about them), so I guess the meddling won't be as bad.</div>