> On Jan 11, 2017, at 3:51 PM, Jed Brown <[email protected]> wrote: > > Arne Morten Kvarving <[email protected]> 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 ? > >> once i set sor as smoother, i got the error message >> >> 'PETSC ERROR: Relaxation requires global its 0 positive' which pointed >> me to my stupid. >> >> fixing this made both asm and sor work fine. >> >> it's all wrapped up in a schur/fieldsplit (it's P2/P1 navier-stokes), >> constructed by hand due to "surrounding" reasons. but i don't think >> that's relevant as such. i've used 3.6.4 as the oldest and 3.7.4 as the >> newest version and behavior was the same. if you want logs et al don't >> hesitate to ask for them, but i do not think they would add much. >> >> cheers >> >> arnem
