Re: [petsc-dev] PCASM uses DMCreateDecomposition which splits field, NOT expected behavior
I refactored the code to get rid of field/domain decomposition mixing. The use of DM in ASM is reenabled here: http://petsc.cs.iit.edu/petsc/petsc-dev/rev/2e2ee6a01d1a I didn't see any errors related to it in alltest, but I'll keep an eye on the nightlies. Dmitry. On Sun, May 27, 2012 at 9:40 PM, Jed Brown <[email protected]> wrote:
In particular, read through my first email in this thread. I explain how your implementation leads to several instances of either the wrong algorithm or a crash.
I pushed SNES runex48_5, it is a basic test of PCASM using AIJ, BAIJ, and SBAIJ.
If you revert http://petsc.cs.iit.edu/petsc/petsc-dev/rev/d9a0e3f9dacd, the AIJ test will take much more iterations and the other two will crash.
On Sun, May 27, 2012 at 9:02 PM, Jed Brown <[email protected]> wrote:
./ex48 -pc_type asm
does the wrong algorithm. On May 27, 2012 8:56 PM, "Dmitry Karpeev" <[email protected]> wrote:
I think I have a fix and want to reenable DM to serve up decompositions to PCASM. Was there a particular test that was failing? I don't see any decomposition-related errors in alltest. Dmitry.
On Sat, May 26, 2012 at 10:38 PM, Jed Brown <[email protected]>wrote:
On Sat, May 26, 2012 at 10:24 PM, Dmitry Karpeev <[email protected]>wrote:
How about having a DM-specific function for that designation?
DMXXXGetFieldSplits()/DMXXXGetDomainDecompositions(), for example?
For the C interface, maybe configure a named set with DMXxxSet... and tell PCASM to use it. For the options database interface, maybe have the option processed by DMXxx code instead of by PCASM. I don't know, this might be just as bad.
I think that would work, if the implementation defined only a small number of decompositions. If instead there is a short grammar defining well-formed strings naming such decompositions, I'm not sure how to communicate that to the user, other than in documentation. I have DMLibMeshGetVars() to return all vars. FieldSplits can be defined as arbitrary groupings of those. Each split will then advertise only the vars in the groupings that defines the split.
I still don't know what to do about a nonlinear change of basis. Advertising var names seems reasonable to me.
Note that ASM domains are essentially vertex-oriented which is different from element-centered domains (natural for non-overlapping methods).
participants (1)
-
Dmitry Karpeev