[petsc-dev] features of GAMG

Stefano Zampini stefano.zampini at gmail.com
Sat Dec 3 12:03:27 CST 2011


Mark,

I observe some strange behaviour in your gamg code: it always consider SA
method either if I pass "-pc_gamg_type geo" by command line or using
PCGAMGSetSolverType directly into my code. I put a printf of your variables
m_type and m_method inside gamg.c and it always prints m_type="string I've
passed" and m_method=2.

I added some code into gamg.c for setting KSP and PC for the smoother. I
removed the define PETSC_GAMG_SMOOTHER and pass the correct value for PC to
createProlongation function. Is this enough to mantain self-consistency of
the code?

Early test cases suggest better convergenge rate by dropping the lines
where you adapt emax and emin before their estimation, either with
chebichev, or with richardson (using richardson factor 2/(emin+emax))

Moreover, if I call PCSetCoordinates with dim=3 it prints an error
reporting "3d unsupported".

Regards,
Stefano

2011/11/30 Mark F. Adams <mark.adams at columbia.edu>

> 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
>
>


-- 
Stefano
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20111203/fe067b3b/attachment.html>


More information about the petsc-dev mailing list