Stefano,

You really need to tell a black/gray box AMG solver that you are solving a 
vector/step PDE.  For GAMG you simply have to set the block size:

ierr = MatSetBlockSize( mat, 2 or 3 );      CHKERRQ(ierr);

I'm not sure if HYPRE or ML is equipped to deal with this in the PETSc 
interface (I know the ML library can).

ML and GAMG use smoothed aggregation which is well suited for elasticity but to 
be optimal it needs the null space of the operator which is the 3 or 6 rigid 
body modes for elasticity.  GAMG has an interface where you can give it the 
coordinates of your vertices and it will create the rotation rigid body modes 
with this. If you do not give it coordinates then it will use only the 
translational RBMs and, in general, will not be as good but still a usable 
solver.

Mark

On Nov 30, 2011, at 12:25 PM, Stefano Zampini wrote:

> Hi,
> 
> I'm trying different AMG (sequential) solvers as black-boxes preconditioners 
> for almost incompressible elasticity in 3d with spectral elements; 
> specifically, ML and HYPRE (both called from PETSc), but they don't provide 
> good results (at least using them via the PETSc interface). I wish to test 
> for new GAMG preconditioner from actual petsc-dev.
> 
> I wish to test the solver either with essential boundary conditions on one 
> face, or with pure neumann boundaries. Can you (I think Mark Adams is the one 
> I'm talking with) give my some hints on the customization of the 
> preconditioner?
> 
> Regards,
> -- 
> Stefano


Reply via email to