> On Jun 12, 2016, at 10:53 PM, Jed Brown <[email protected]> wrote: > > Barry Smith <[email protected]> writes: > >> This looks like a reasonable fix for me. The manual page should indicate >> that it changes the convergence test if you change from no norm. > > Alternatively, KSPConvergedDefault could just exit immediately instead > of erroring with KSP_NORM_NONE? Why do these options need to be > non-orthogonal such that they need this kind of manipulation?
Less code is, of course, always most appealing. Currently KSPConvergedDefault() has if (normtype == KSP_NORM_NONE) SETERRQ(PetscObjectComm((PetscObject)ksp),PETSC_ERR_ARG_WRONGSTATE,"Use KSPConvergedSkip() with KSPNormType of KSP_NORM_NONE"); presumably this is so that a user won't mistakenly set the convergence test after setting the norm to none and assume that the test will work? But does this really provide anything of value?
