Specifying exotic coarse spaces for PCEXOTIC and BDDC/FETI-DP methods
Jed Brown
jed at 59A2.org
Wed Jul 8 11:00:08 CDT 2009
Olof Widlund gave me a preprint of this
http://cs.nyu.edu/widlund/ijnme_submit_revision_ijnme.pdf
which is the same algorithm as PCEXOTIC in overlapping strip form. In
3D, I don't see a great advantage to the overlapping strip form because
if the subdomains are small enough that direct solves are cheap, the
subdomain interiors don't contribute many dofs, but the cost goes up
when iterative solvers are used for subdomains.
The discretization-specific information used to construct coarse spaces
for all these algorithms (exotic Schwarz and BDDC/FETI-DP) is the same.
There needs to be some decomposition into vertices, edges, and faces,
with a basis for the null space of the Neumann operator (rigid body
modes) on these entities. In the unstructured/deformed case, an SVD of
these modes can be used to produce a nicely conditioned coarse basis and
to diagnose degenerate modes (such as the rotation mode for a straight
edge).
Suppose the user assembled a parallel matrix with one row per coarse
mode that might be relevant. In addition, they could provide index sets
for which portion of the matrix corresponds to vertex, edge, and face
dofs. The modes should span the null space, but they need not be
orthogonal and may not all be linearly independent. With the sensible
ordering scheme, we can detect the collections of modes corresponding to
the same entity (e.g. face) and perform an SVD which isolates any
degenerate modes.
In the indefinite case, two additional details become important. With
discontinuous pressure, we just add a coarse dof for mean pressure over
the element (easy). The scary part is that we want a coarse dof for the
integral of flux through each subdomain face (\int_F u \cdot n). While
this is certainly well-defined even in the unstructured case, it will
involve a nontrivial amount of work from the user (enough that not many
people are likely to invest the effort just to try it). An alternative
which apparently works fine at least in the mostly homogeneous and not
too deformed case is to just use a face-averaged normal (can be obtained
from an SVD of nodal coordinates on the face or from the most
significant rotation mode) which makes the user's life much easier.
Does this matrix with one row per possible coarse dof (which the
preconditioner may orthogonalize and drop unnecessary rows) sound like a
reasonable interface to you? Once this part is dealt with, I think I
could make PCEXOTIC work for vector problems on unstructured grids with
minimal effort.
Jed
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 260 bytes
Desc: OpenPGP digital signature
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20090708/77e7b109/attachment.sig>
More information about the petsc-dev
mailing list