[petsc-dev] PCFieldSplitSetFields() API change

Barry Smith bsmith at mcs.anl.gov
Wed Jun 6 18:50:07 CDT 2012

On Jun 6, 2012, at 4:58 PM, Jed Brown wrote:

> On Fri, Mar 23, 2012 at 10:15 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> On Mar 23, 2012, at 6:22 PM, Jed Brown wrote:
> > But what does using B as 00 block actually mean? It seems to me that you pivot, producing P' P J where P J has B in the 00 location.
>   I am not arguing if it is pivoting or not. I'm arguing what the user interface should be.  Say I want D to be the 00 block then I just set that with PCFieldSplitSetFields() as the zeroth field. My point is that I am proposing a SINGLE interface for setting the blocks locations in all circumstances, while you are proposing having an additional interface for certain 00 configurations (pivoting) thus with your model you first call the PCFieldSplitSetFields() and then something else.
> I just talked about this more with Dmitry. 
> It seems that we need to name both the row and column spaces of the operator. Which begs the question: what is DM? Is it a distribution of the state space (column space for a linear operator), a distribution of the residual space (row space), or both? If both, we should make it possible to select arbitrary pairs.

   Yup. Yet not too long ago when I advocated this you strongly objected and said it was totally unnecessary. I'm glad Dmitry was able to straighten you out..


More information about the petsc-dev mailing list