[petsc-users] Poor multigrid convergence in parallel

Jed Brown jed at jedbrown.org
Tue Jul 29 07:37:47 CDT 2014


Please always use "reply-all" so that your messages go to the list.
This is standard mailing list etiquette.  It is important to preserve
threading for people who find this discussion later and so that we do
not waste our time re-answering the same questions that have already
been answered in private side-conversations.  You'll likely get an
answer faster that way too.

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

>> On 28 Jul 2014, at 23:27, Jed Brown <jed at jedbrown.org> wrote:
>> 
>> Lawrence Mitchell <lawrence.mitchell at imperial.ac.uk> writes:
>>> Bog-standard P1 on a pretty much regularly meshed square domain (i.e. no reentrant corners or bad elements).
>> 
>> What interpolation is being used?  The finite-element embedding should
>> work well.
>
> Coarse to fine is just identity. Fine to coarse a lumped L2 projection. 

By "identity", do you mean in terms of continuous functions (the
finite-element embedding) or something on C-points?  Fine-to-coarse is
generally taken to be the transpose of the natural prolongation, which
is integration.

>>>> Is there something special about the decomposition with 2 subdomains?
>>> 
>>> It doesn't look like it, the two subdomains are about the same size.
>>> 
>>>> Are the Chebyshev estimates far from converging?
>>> 
>>> So for the two-level problem, if I compute the extremal eigenvalues of the preconditioned operator being used as a smoother I get (approximately):
>>> 
>>> 1 process:
>>> 0.019, 1.0
>>> 
>>> 2 processes:
>>> 0.016, 1.4
>>> 
>>> 3 processes:
>>> 0.016, 1.36
>>> 
>>> The eigenvalue estimates (from ksp_view) are:
>>> 
>>> 1 process:
>>> 0.09, 1.01
>>> 
>>> 2 processes:
>>> 0.09, 1.01
>>> 
>>> 3 processes:
>>> 0.13, 1.47
>>> 
>>> 
>>> When I bump to more levels, the estimates are only bad on two processes on the finest grid.
>> 
>> Can you add 
>> 
>>  -ksp_chebyshev_estimate_eigenvalues_random
>
> This doesn't help.
>
>> I wonder if you have a degenerate right hand side that is not exciting
>> the largest eigenvalues on two processes.  Anyway, try switching from
>> GMRES to CG for computing the eigenvalue estimates and also using more
>> iterations.
>
> Switching from GMRES to CG has no real effect. However bumping the number of iterations used for eigenvalue estimation from 10 to 20 on the finest grid gives me much better convergence on 2 processes. With fewer iterations the largest eigenvalue estimate gets stick around 1, once I jump to 20 it goes up to around 1.33, more in line with the exact 1.39. 
>
> So this looks to be the original culprit. Thanks. 

It's odd for the estimates to require that many iterations unless the
RHS is somehow degenerate.  I was hoping that a random right hand side
would excite the higher mode sooner.
-------------- 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/de35bbf9/attachment.pgp>


More information about the petsc-users mailing list