[petsc-dev] PCFieldSplitSetFields() API change

Jed Brown jedbrown at mcs.anl.gov
Fri Mar 23 18:00:33 CDT 2012


On Fri, Mar 23, 2012 at 17:48, Barry Smith <bsmith at mcs.anl.gov> wrote:

>    I'm confused. I am NOT injecting it into the original definition, I am
> injecting it into the PCFieldSplit in the same way that your "permutation"
> would inject it just into the PCFieldSplit, it is just (in my opinion) a
> more user friendly way of the user providing this permutation. Note that
> this "two fields" business is NOT going in the DM (and hence into the
> original definition of the problem) and would normally only be used when
> the DM definition was "bad" (due to zero block for example) just like your
> permutation would only be used when things were bad.


1. The PCFieldSplitSetIS() interface does not have this.

2. The reason for pivoting is not that the DM ordering was "bad", it's that
a symmetric ordering without the 0 block does not exist (factorization does
not work with _any_ symmetric ordering). So you pivot for factorization and
restore.

3. You now have one name for a set of rows and columns that may not "go
together".

Somehow I think this is just more confusing and less run-time-friendly, but
maybe that's my fault. In any case, the change has to be consistent
(PCFieldSplitSetIS) and we have to decide how the DM can specify when
pivoting is needed.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20120323/819543db/attachment.html>


More information about the petsc-dev mailing list