[petsc-dev] Mark, what's the rational for keeping the Chebyshev tuning inside GAMG?
Mark Adams
mfadams at lbl.gov
Wed Feb 25 10:02:00 CST 2015
On Mon, Feb 23, 2015 at 7:19 AM, Tobin Isaac <tisaac at ices.utexas.edu> wrote:
> 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.
>
That is a reasonable approach.
>
> 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.
>
>
That sounds promising. Is that basically the same code that I have?
> Toby
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20150225/1e50937f/attachment.html>
More information about the petsc-dev
mailing list