[petsc-users] Poor multigrid convergence in parallel

Lawrence Mitchell lawrence.mitchell at imperial.ac.uk
Tue Jul 29 08:26:57 CDT 2014


On 29 Jul 2014, at 13:37, Jed Brown <jed at jedbrown.org> wrote:

> Please always use "reply-all" so that your messages go to the list.

Sorry, fat-fingered the buttons.

> 
> 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.

So my coarse space is spanned by the fine one, so I copy coarse dofs to the corresponding fine ones and then linearly interpolate to get the coefficient value at the missing fine dofs.  

>> 
>> 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.

I had another look and it turns out this does work, I was driving the options database incorrectly the first time round.  I needed to run with both estimate_eigenvalues and estimate_eigenvalues_random.

If I run with:

-pc_type mg -ksp_max_it 6 -pc_mg_levels 2 -ksp_monitor -mg_levels_1_ksp_chebyshev_estimate_eigenvalues_random -mg_levels_1_ksp_chebyshev_estimate_eigenvalues

Then I get decent estimation of the higher modes and good convergence.

Thanks,

Lawrence
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140729/4d7eb0d5/attachment.pgp>


More information about the petsc-users mailing list