On Tue, Mar 15, 2011 at 21:51, Matthew Knepley <knepley at gmail.com> wrote:

> Really? That seems perverse. I have to build some global PC matrix, with
> pieces I do not even have. How is that going to happen? Is
> this really how we want to handle it?
>

The alternatives don't compose properly, we'd need a whole new interface for
disassembling solvers. Currently MatGetSubMatrix() is our way of taking
things apart. If each "physics" is maintained separately, then you can use
MatGetLocalSubMatrix(), see snes ex28.c, to decompose the global problem so
that each physics module is stand-alone and has no global knowledge. It will
also remain modular if you do splits inside of multigrid or multigrid inside
of splits.


> Also, I really need this to work now.
>

It should work now.

So baring some other idea, I am going to put something in
> PETSc that lets me set this operator during the SNES loop.
>

On the first SNES iteration, the KSP has not been set up yet.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20110315/f6c6b27c/attachment.html>

Reply via email to