[petsc-dev] Mark, what's the rational for keeping the Chebyshev tuning inside GAMG?

Tobin Isaac tisaac at ices.utexas.edu
Mon Feb 23 06:19:14 CST 2015


On Sun, Feb 22, 2015 at 07:48:51PM -0700, Jed Brown wrote:
> Barry Smith <bsmith at mcs.anl.gov> writes:
> >   Jed,
> >
> >    Wrong, wrong, wrong. You are looking at the wrong place in the
> >    code. (Yes, this is a problem with duplicate code in THREE!
> >    places). I am referring to the code around line 795 in gamg.c /* do
> >    my own cheby */ which I actually cut and pasted into my previous
> >    email. You are referring to the code in agg.c around line 1209
> >    which does what you said. 
> 
> Okay, yes.
> 
> >    The code I am referring to computes the estimates used by the
> >    smoother on each level and thus forces a bypass of the code in
> >    Chebyshev.c it seems completely unneeded to me (aside from maybe
> >    the hack for crazy matrices) since Chebyshev.c will do it next
> >    automatically anyways.
> 
> Yeah. It would be nice to avoid repeating the estimate when the smoother
> matches the AMG smoothing.

If we just keep the part that calls KSPChebyshevSetEigenvalues()
(gamg.c:801) when the smoother PC is Jacobi or SOR, that would
accomplish this.  The used would have to recognize what's happening
and not call -mg_levels_ksp_chebysev_estimate_eigenvalues, which would
recompute/override the values that gamg sets.

As for crazy matrices, I think the most general solution is for
KSPChebyshev to try a MatProjectDirichlet(Mat,Vec) method on the rhs
it uses for estimation.

  Toby

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: Digital signature
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20150223/feed8057/attachment.sig>


More information about the petsc-dev mailing list