[petsc-dev] Problem with SNES and FieldSplit

Matthew Knepley knepley at gmail.com
Tue Mar 15 18:16:33 CDT 2011


On Tue, Mar 15, 2011 at 6:09 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:

>
> On Mar 15, 2011, at 6:03 PM, Matthew Knepley wrote:
>
> > On Tue, Mar 15, 2011 at 6:00 PM, Jed Brown <jed at 59a2.org> wrote:
> > On Tue, Mar 15, 2011 at 23:50, Matthew Knepley <knepley at gmail.com>
> wrote:
> > That is not what I have here. I want to change a portion, but outside of
> that I want it to fall back to a global matrix.
> >
> > You were going to put your MatShell in the "pmat" slot, right? What are
> you going to use for preconditioning the other blocks? If it's the same as
> in "mat", you could use a MatNest for both operators and put the special
> sauce in that slot of the "pmat".
> >
> > This is the same objection Barry has. I do not want this tied to a
> particular matrix impl for the global matrix.
>
>   But you are tying it to a MATSHELL, that is a particular impl
>

Only the precon thing is a MATSHELL, not my original matrix. The way Jed is
saying to do it (I think) is to
have my original matrix assembled as a MatNest.


>  Why not pass your Mat (maybe a global MPIAIJ) as the mat and pass your
> MatNest as your pmat and have some of the subblocks in the MatNest be
> defined by submatrices of of the MPIAIJ matrix.
>
>  That is, introduce a new matrix class that contains a pointer to a big
> matrix and two IS. The IS defines the part of the big matrix that this new
> matrix object represent. In this way you can build your pmat as a MatNest
> and put whatever stuff you want in some of its blocks but have the other
> blocks be defined as parts of the original mat (which is the big assed AIJ
> or anything else).


That is what I have, without the MatNest (I do not see what it adds here).

  Matt


>
>
>  Barry
>
> >
> > If you assemble the matrix entirely monolithically (using MatSetValues
> globally instead of MatSetValuesLocal on each physics separately), then we
> haven't written MatSetValues_Nest yet so maybe your MatShell is the right
> idea.
> >
> >
> > Related: What do people think about having MatGetSubMatrix() retain
> ownership of the submatrix?
> >
> > Does it matter with our interface? Should be transparent.
> >
> >    Matt
> >
> > --
> > What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which their
> experiments lead.
> > -- Norbert Wiener
>
>


-- 
What most experimenters take for granted before they begin their experiments
is infinitely more interesting than any results to which their experiments
lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20110315/deba4456/attachment.html>


More information about the petsc-dev mailing list