I wanted to revive this (month-old) thread to try to finalize the API change related to "pivoting" in PCFIELDSPLIT.
On Thu, Jun 7, 2012 at 6:42 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote: > On Thu, Jun 7, 2012 at 6:34 PM, Dmitry Karpeev <karpeev at mcs.anl.gov>wrote: > >> Well, the above defines the "pivots" > > > Okay, but this is not a "field decomposition". We are extracting > sub-problems (maybe overlapping?) that have implicit off-diagonal parts > that may also need to be evaluated (how?). > I think the overlapping issue is largely orthogonal to whether we are extracting "fields" or "subproblems" (i.e., not necessarily diagonal subblocks of (p)mat). There seems to be a lot of code in fieldsplit that seems to assume nonoverlapping decompositions (mostly through the use of INSERT_VALUES inside a scatter), so I don't think overlapping subproblems would work correctly out of the box anyway. As far as off-diagonal parts are concerned, in the Schur variant they are computed (when extracting B and C) via complementing the column indices of A and D, which are already separate from the row indices, although there is currently no API to set them separately. In the non-Schur variants the off-diagonal parts aren't computed explicitly: the residual is updated using all columns (the row submatrix) corresponding to a field/subproblem, so, again, there is no problem. We only need to change the PCFieldSplitSetIS() calling sequence to include the column IS explicitly. As Barry suggests above, the "usual" usage is recovered by passing the same IS twice. Finally, on the DM side we now have different "input" and "output" spaces (even if the subproblem is square, the vector layout may be different). Should DM have DMCreateGlobalVectors() in addition to DMCreateGlobalVector()? These would be the same as those obtained with MatGetVecs() from a Mat created with DMCreateMatrix(). Any comments? Dmitry. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20120708/79a1edb1/attachment.html>