<div class="gmail_quote">On Thu, Mar 8, 2012 at 15:23, 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=":2hx">    ierr = PCLSCAllocate_Private(pc);CHKERRQ(ierr);<br>
  ierr = PetscObjectQuery((PetscObject)pc->pmat,"LSC_L",(PetscObject*)&L);CHKERRQ(ierr);<br>
  ierr = PetscObjectQuery((PetscObject)pc->pmat,"LSC_Lp",(PetscObject*)&Lp);CHKERRQ(ierr);<br>
<br>
<br>
It uses pc->pmat in both places. Is this really what you want? Wouldn't you sometimes want mat?</div></blockquote></div><br><div>This is just attached data for an auxiliary operator that should have some properties that relate somehow to the original operator. The whole interface is dirty, but I don't know a better approach (although this one could have a proper API). You could put these auxiliary operators anywhere, but I think attaching both to the preconditioning operator is natural. I don't mind if you want it to look other places for these things.</div>