[petsc-users] [SPAM] user experience with PCNN

Jed Brown jedbrown at mcs.anl.gov
Mon Oct 3 10:44:12 CDT 2011


On Mon, Oct 3, 2011 at 10:13, Jakub Sistek <sistek at math.cas.cz> wrote:

> Dear PETSc developers and users,
>
> we are using PETSc to solve systems arising from mixed-hybrid FEM applied
> to Darcy flow. First, the saddle point system is reduced to the Schur
> complement problem for Lagrange multipliers on element interfaces, which is
> then symmetric positive definite. Currently, we are using the PCASM
> preconditioner to solve it. We have very positive experience (also from
> other projects) with PCASM, but we have observed some worsening of
> convergence and scalability with going to larger number of processors (up to
> 64) here. As far as we understand, the increasing number of iterations may
> be caused by the lack of coarse correction in the implementation of the
> preconditioner. On the other hand, PCNN should contain such a coarse solve.
> I have modified our FEM code to support MATIS matrices besides MPIAIJ, but
> so far have a mixed experience with PCNN. It seems to work on 2 CPUs, but
> complains about singular local problems (solved by MUMPS) on more. After
> some time spent by debugging ( though there are probably still many bugs
> left in my code ) and unsuccessful playing with some of the related options
> ( -pc_is_damp_fixed,  -pc_is_set_damping_factor_**floating, etc.) I have
> decided to ask couple of questions before I will continue in further
> investigation why PCNN does not work for me for general case:
>
> 1) Am I right that PCNN is the only domain decomposition method exploiting
> coarse correction readily available in PETSc?
>

Multilevel Schwarz methods can be used through PCMG. A two-level example,
based on the so-called wirebasket coarse spaces, is PCEXOTIC. This code was
basically an experiment that only works for scalar problems on structured
grids (using DMDA). It could certainly be generalized.

The new PCGAMG is not a DD method per-se, but it is developing a lot of
hooks with many ideas that overlap with modern DD methods.


> 2) As PCNN seems much less documented (I have found no example or so) than
> other preconditioners, I would simply like to know if someone else uses it
> and have positive experience with this implementation?
>

Unfortunately, PCNN was more of a research project than robust or widely
used code. The coarse space used by the current code is only suitable for
scalar problems. The method uses coarse spaces that are more awkward to
generalize than the more recently developed balancing and dual methods like
BDDC/FETI-DP.


> 3) What may be proper options for stabilizing solutions of the local
> problems?
> 4) Are there limitations to the method with respect to nullspace type of
> subdomain problems, i.e. equation?
> 5) Do these answers depend on version of PETSc? (I have played with 3.0,
> would things be different with 3.2 ?)
>

PCNN specifically is no different in 3.2, but there are many other
improvements, so I recommend upgrading. One notable improvement is that now
you can use MatGetLocalSubMatrix() as part of assembly, such that exactly
the same code can assemble into MATIS, MATAIJ, MATNEST, etc.


>
> In the long run, I would like to connect the FEM code to an own solver
> based on BDDC domain decomposition, for which the MATIS matrix seems as a
> natural format and connection should be straightforward. However, I would
> like to make it work with PCNN as well.
>

I have been meaning to add BDDC to PETSc for a long time, but it hasn't
worked its way up to top priority yet. I have read some of your papers on
the subject and would be happy to work with you on a native PETSc
implementation. (My interest is largely on use with mixed discretizations
for incompressible problems, so it's somewhat more delicate than non-mixed
elasticity.)

I would not worry about PCNN.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20111003/b5a77fe5/attachment.htm>


More information about the petsc-users mailing list