[petsc-users] Poor multigrid convergence in parallel

Jed Brown jed at jedbrown.org
Tue Jul 29 13:37:12 CDT 2014


Lawrence Mitchell <lawrence.mitchell at imperial.ac.uk> writes:

> So my approach was to transfer using projection and then use riesz
> representation to get the residual from the dual space back into the
> primal space so I can apply the operator at the next level.  Is there
> an obvious reason why this is worse than the transpose of
> prolongation?  The analysis I've read typically approaches from an FD
> angle, which doesn't always obviously (at least to me) map into FE
> speak.  In particular, moving forward, I'm interested in GMG for
> H(div) problems, for which the analysis I'm aware of uses projections
> to move residuals between levels (for example, Arnold, Falk and
> Winther Num Math 85:197 (2000)).

FE multigrid usually talks about embedding of spaces.  If I have a
continuous function f and want to evaluate

  \int v_i f

for each coarse basis function, I can do it by quadrature directly or I
can choose a large space containing v_i, integrate for all basis
functions w_j in that larger space, then sum up those fine-grid
contributions.  This amounts to the transpose of interpolation, but is
exact in the sense that it is equivalent to integrating against v_i
directly using a suitable quadrature.

>> Integration is the transpose of your prolongation.  We can do a precise
>> analysis, but I expect that you'll see slightly better convergence if
>> you modify this operator.
>
> So I coded this up, I only have the matrix-free application of the
> prolongation, so it was not just taking the transpose.  I get
> marginally better convergence for this problem, although it's almost a
> wash.

Good to hear it's at least as good.  Now to make FMG work...

>> I would also recommend trying FMG soon.  You should be able to converge
>> in one F-cycle, and that will be faster than V-cycles with Krylov.
>
> This is just -pc_mg_type full, right?  Given that I only have
> matrix-free transfer operators do I need to explicitly set do
> PCMGSetRscale such that the state is restricted correctly?

If you want FAS, you should implement state restriction as nodal
injection.  State restriction should be as accurate as possible on
low-frequency modes, but does not require damping aliased high-frequency
modes.

> If I just select -pc_mg_type full, I take more than one Krylov
> iteration to converge.

You have to compare to discretization error.  For example, HPGMG-FE
computes errors against an analytic solution, and delivers the design
third-order accuracy using 3,1 cycles.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140729/184467cf/attachment-0001.pgp>


More information about the petsc-users mailing list