<div class="gmail_quote">On Mon, Jun 6, 2011 at 19:57, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov">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 id=":1ge"> I am not yet comfortable with a MatSetApplicationContext() nor a VecSetApplicationContext(). I do think it makes sense to have a PCSetApplicationContext().<br>
<br>
  Should the "solver" application contexts be unified in the following way.<br>
<br>
     TSSetApplicationContext() calls SNESSetApplicationContext() calls KSPSetApplicationContext() calls PCSetApplicationContext(). And users with nonlinear problems call SNESSetApplicationContext() directly and linear problems call KSPSetApplicationContext() directly, of course.<br>
</div></blockquote><div><br></div><div>What about nested linear (or nonlinear) solvers? Does the app context get forwarded in at each level? What happens when a component is accessed from multiple places?</div><div><br></div>
<div>I wonder if this forwarding should be made to not overwrite what is already there. That is, if the user sets it explicitly, then it will not be overwritten by a parent.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div id=":1ge">
<br>
    Meanwhile DMSetContext() is changed to DMSetApplicationContext(), while MatShellSetContext() remains MatShellSetContext().  Note that it does not have application in it because it is the MatShell context only.</div></blockquote>
</div><br><div>How should MatShellSetOperation behave? Should it error or do nothing when the matrix type is not MATSHELL? If the current behavior is to be preserved, what is your recommended way to get a context into the function overloading a method on a non-MATSHELL Mat?</div>