John,
On Aug 9, 2012, at 9:50 AM, John Fettig <john.fettig at gmail.com> wrote:
> I am a little confused about what Richardson means. If you use
> multiplicative V-cycle multigrid with Richardson KSP (and no
> convergence monitor), it sets the applyrichardson operator to
> PCApplyRichardson_MG, which appears to just run V-cycles until
> convergence.
Yes, this is correct.
> As far as I can tell, it doesn't ever update according
> to the documented
>
> x^{n+1} = x^{n} + scale*B(b - A x^{n})
>
In exact arithmetic it is actually "implicitly" doing exactly this
update. It is difficult to see why this is true generally (because B is rather
complicated for multigrid) but if you consider only two levels with a direct
solver on the coarse grid and SSOR as the pre and post smooth you can write out
the formulas and map back and forth between the two forms. The reason for the
PCApplyRichardson_ forms is because they are a bit more efficient than
separating out the action of B and then doing the update as above.
> If on the other hand you use full MG, it does update according to the
> above formula. This also happens if you set a convergence monitor.
>
> I can see how multiplicative V-cycle with Richardson is simply using
> multigrid as a solver. What I don't understand is how full MG with
> Richardson is using multigrid as a solver, because it is using the
> update formula above in between cycles.. Shouldn't there be a
> applyrichardson for full multigrid as well? If not, why?
I think there could be a applyRichardson for full multigrid but it would be
kind of complicated and would not benefit much because the amount of work in a
full multigrid step is much higher so the savings would be a much lower
percentage than with V cycle.
Barry
>
> Thanks,
> John