[petsc-dev] Naming for PCFieldSplitSetSchurPrecondition()

Jed Brown jed at 59A2.org
Thu Jun 9 16:21:12 CDT 2011


I noticed your developer note. The function name was preserved from what
Barry originally wrote when I added alternatives a couple years  ago and it
should certainly be changed to include "Set". But I don't know a good name
that isn't a whole sentence.

I think the root of the problem is that we don't have a systematic way for
PCFieldSplit to decide where to look to find the preconditioning matrix.
It's pretty dirty (and semantically incorrect) to put it into the diagonal
block of the preconditioning matrix. I really don't like the user providing
it through this function because that matrix is something that can change in
a nonlinear or transient solve, and the user should not have to touch the PC
in that context (because it's very ugly for nested solvers, they should only
mess with the PC during configuration).


So what about a different API along the lines of

MatSetApproximateSchurComplement(Mat A,IS row0,IS col0,IS row1,IS col1,Mat
S);

The user would typically call this function on the preconditioning matrix
and PCFieldSplit would look there first.

The implementation of this function could (at least for now)
PetscObjectCompose() the matrix S and then MatGetSchurComplement() would
return it for the preconditioning matrix.

Is this nuts?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20110609/8c91c0f2/attachment.html>


More information about the petsc-dev mailing list