<div class="gmail_quote">On Mon, Jun 6, 2011 at 22:41, Boyce Griffith <span dir="ltr"><<a href="mailto:griffith@cims.nyu.edu">griffith@cims.nyu.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div id=":2vl">At least in my code, and I expect in Bobby's too, all Mat and PC objects are just shells.  So the only non-PETSc objects are Vec wrapper objects.<br></div></blockquote><div><br></div><div>You are still supposed to call MatAssemblyEnd() which does this.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div id=":2vl">
<br>
At least at some point in history, it was necessary to call PetscObjectStateIncrease on the "output" vectors in calls to MatVecMult / MatVecMultAdd / etc.<br></div></blockquote><div><br></div><div>I think it is done consistently now. If not, it's a bug.</div>
<div><br></div><div><br></div><div>How do the SAMRAI wrappers get access to Vec's internals to modify it? That is, how do they turn a Vec into some mutable structure?</div></div>