<div class="gmail_quote">On Sun, Aug 14, 2011 at 17:16, 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=":1pl"> So you are willing to have the AMS buffer values that "often aren't valid any more" but you don't want PETSc to buffer those same values?  We could certainly introduce the concept of "transient" values, but what would be their lifetimes? Would there be a mechanism for them to be "updated" automatically? Knowing how old they are?<br>
</div></blockquote><div><br></div><div>Can't AMS do some sort of reference counting on the client handle so it could know when the last reference was dropped? PETSc could also buffer those values, I just don't want them to go into the SNES directly (i.e. as programmer-visible fields in _p_SNES) because it's clutter that's too easy to misuse and because it requires a recompile just to have a "viewer" provide an extra computed quantity. I think the minimal change necessary to provide a new computed quantity for viewing/monitoring should be one line in the view routine, not editing data structures.</div>
<div><br></div><div>Using callbacks for every computed quantity also sounds like more complexity than an AMS call that buffers the field.</div></div>