<div class="gmail_extra">On Tue, Nov 20, 2012 at 5:21 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div id=":1nf">   How do they "get out a coarse level and explicitly change it" for<br>
<br>
1) KSP?<br></div></blockquote><div><br></div><div>PCMG</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":1nf">
2) SNES?<br></div></blockquote><div><br>SNESFAS<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":1nf">
3) TS?<br></div></blockquote><div><br>Doesn't exist now, but will if we do multilevel in time methods.<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":1nf">

<div class="im"><br>
><br>
><br>
> The DMTSGetContext() business uses PetscObjectCompose to attach the TSDM to a dm. Why not just have DM's have opaque pointers to KSPDM, SNESDM, and TSDM built into the DM and things<br>
> like DMGetKSPDM() that do the usual dm->kspdm access instead of composing business.  Since the business of DM's is to talk to TS, SNES, and KSP there is no reason to go through the more complicated object compose business is there? (The object compose business is for out-of-the-ordinary stashing of stuff, not ordinary stashing of stuff, it is kind of like using object compose to attach the ksp to the snes).<br>

><br>
> Okay, but when the optimizers need to attach something, do we add special support for that in DM as well?<br>
<br>
</div>   Sure<br>
<div class="im"><br>
> What about UQ and so on? The idea here was to keep DM as ignorant as possible, but allow it to carry this extra data around for the various solver objects that need it.<br>
<br>
</div>  Ok, objectcompose is certainly more extensible.<br>
<br>
  BTW: DMTSGetContext() is kind of a funky name, context is a very general term, this function returns a TSDM  (or DMTS) so could be DMGetDMTS() or DMTSGetDMTS()</div></blockquote></div><br></div><div class="gmail_extra">
Sure.</div>