<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 23, 2015 at 7:19 AM, Tobin Isaac <span dir="ltr"><<a href="mailto:tisaac@ices.utexas.edu" target="_blank">tisaac@ices.utexas.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Sun, Feb 22, 2015 at 07:48:51PM -0700, Jed Brown wrote:<br>
> Barry Smith <<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>> writes:<br>
> >   Jed,<br>
> ><br>
> >    Wrong, wrong, wrong. You are looking at the wrong place in the<br>
> >    code. (Yes, this is a problem with duplicate code in THREE!<br>
> >    places). I am referring to the code around line 795 in gamg.c /* do<br>
> >    my own cheby */ which I actually cut and pasted into my previous<br>
> >    email. You are referring to the code in agg.c around line 1209<br>
> >    which does what you said.<br>
><br>
> Okay, yes.<br>
><br>
> >    The code I am referring to computes the estimates used by the<br>
> >    smoother on each level and thus forces a bypass of the code in<br>
> >    Chebyshev.c it seems completely unneeded to me (aside from maybe<br>
> >    the hack for crazy matrices) since Chebyshev.c will do it next<br>
> >    automatically anyways.<br>
><br>
> Yeah. It would be nice to avoid repeating the estimate when the smoother<br>
> matches the AMG smoothing.<br>
<br>
</div></div>If we just keep the part that calls KSPChebyshevSetEigenvalues()<br>
(gamg.c:801) when the smoother PC is Jacobi or SOR, that would<br>
accomplish this.  The used would have to recognize what's happening<br>
and not call -mg_levels_ksp_chebysev_estimate_eigenvalues, which would<br>
recompute/override the values that gamg sets.<br></blockquote><div><br></div><div>That is a reasonable approach.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
As for crazy matrices, I think the most general solution is for<br>
KSPChebyshev to try a MatProjectDirichlet(Mat,Vec) method on the rhs<br>
it uses for estimation.<br>
<br></blockquote><div><br></div><div>That sounds promising.  Is that basically the same code that I have? </div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  Toby<br>
<br>
</blockquote></div><br></div></div>