Stefano,

I've looked at ksp/ksp/examples/tutorial/ex56 and the modification that I make 
to emin and emax seem to be essential and very useful, respectively.  But I am 
seeing something funny with Cheb.

Jed:  I'm seeing very little difference in convergence rates on ex56 when I use 
a first, second or fourth order Cheb smoother.  I've seen some cases where the 
final residual was slightly larger with a higher order smoother.  I think there 
is something wrong here ...

Also, I thought we had added something like -pc_mg_smooth to set the number of 
smoothing steps when you are using the same smoother for the up and down 
smoother.  I can not see a command for this.  I did '-help | grep smooth', and 
I tried a few things.  So to test this you need to manually fix the smoothing 
steps at about line 662 in gamg.c.

Mark

On Dec 3, 2011, at 1:03 PM, Stefano Zampini wrote:

> 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/20111225/3427ecc0/attachment.html>

Reply via email to