[petsc-users] malconfigured gamg

Barry Smith bsmith at mcs.anl.gov
Wed Jan 11 21:35:49 CST 2017


  Ok, how about just checking there is at least one smoothing on the finest level? This would catch most simple user errors, or do you know about oddball cases with no smoothing on the finest level?


> On Jan 11, 2017, at 9:31 PM, Jed Brown <jed at jedbrown.org> wrote:
> 
> Barry Smith <bsmith at mcs.anl.gov> writes:
> 
>>> On Jan 11, 2017, at 3:51 PM, Jed Brown <jed at jedbrown.org> wrote:
>>> 
>>> Arne Morten Kvarving <arne.morten.kvarving at sintef.no> writes:
>>> 
>>>> hi,
>>>> 
>>>> first, this was an user error and i totally acknowledge this, but i 
>>>> wonder if this might be an oversight in your error checking: if you 
>>>> configure gamg with ilu/asm smoothing, and are stupid enough to have set 
>>>> the number of smoother cycles to 0, your program churns along and 
>>>> apparently converges just fine (towards garbage, but apparently 'sane' 
>>>> garbage (not 0, not nan, not inf))
>>> 
>>> My concern here is that skipping smoothing actually makes sense, e.g.,
>>> for Kaskade cycles (no pre-smoothing).  I would suggest checking the
>>> unpreconditioned (or true) residual in order to notice when a singular
>>> preconditioner causes stagnation (instead of misdiagnosing it as
>>> convergence due to the preconditioned residual dropping).
>> 
>>  Jed,
>> 
>>  Yeah but what about checking that the sum of the number of pre and post smooths >=1 ? 
> 
> Usually fine, but what one potential use case is if someone wants to
> test a more aggressive coarsening strategy.  For example, using zero
> smooths on odd levels would be double-rate coarsening and might be more
> convenient to implement than the direct operators.  (In the
> strong-scaling limit, it might also be a good communication pattern for
> reducing the process set.)



More information about the petsc-users mailing list