PCNN-preconditioner and "floating domains"

Andreas Grassl Andreas.Grassl at student.uibk.ac.at
Tue Jun 23 08:56:49 CDT 2009

Hello again,

the issues from my last request regarding VecView and data distribution among
the different processors are solved, but I'm experiencing still great problems
on the performance of the actual preconditioner.

I have an implementation of the BNN-algorithm in Matlab from a previous project
which is performing very well (about 5 iterations vs. 200 for plain-cg) for a
long linear elastic beam fixed at one end and loaded at the other end,
discretized with solid cubic bricks (8 nodes, 24 DOF's). condition of the
Matrix: 1.5e7

I now modeled a similar beam in DIANA (a bit shorter, less elements due to
restrictions of DIANA-preprocessor) and tried to solve with PETSc-solver.

The condition of the Matrix is of the same magnitude: ~3e7 (smallest singular
value: ~1e-3, largest sv: ~4e4), number of iterations for plain-cg seems
reasonable (437), but for the preconditioned system I get completely unexpected

condition: ~7e12 (smallest sv: ~1, largest sv: ~7e12) and therefore 612
iterations for cg.

The beam is divided in 4 subdomains. For more subdomains ksp ran out of
iterations (Converged_Reason -3). I can imagine this is a problem of properly
setting the null space, because only the first subdomain is touching the
boundary, but I have no idea how to specify the null space. So far I didn't
regard this issue at all.

Do I have to define a function which calculates the weights of the interface
DOF's and applies in a some way to create an orthonormal basis? How do I realize
that? Is there anywhere an example?



 /"\                               Grassl Andreas
 \ /    ASCII Ribbon Campaign      Uni Innsbruck Institut f. Mathematik
  X      against HTML email        Technikerstr. 13 Zi 709
 / \                               +43 (0)512 507 6091

More information about the petsc-users mailing list