[petsc-dev] features of GAMG

Mark F. Adams mark.adams at columbia.edu
Wed Nov 30 13:29:47 CST 2011


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




More information about the petsc-dev mailing list