On Mar 16, 2011, at 4:40 PM, Jed Brown wrote:

> So currently, I can do
> 
> $ ./ex2 -ksp_pc_side right -ksp_norm_type preconditioned
> 
> which is nonsense (it actually uses the unpreconditioned norm). We could just 
> add a guard in KSPSolve_GMRES to handle this case, but then

   This is an oversight, it should generate an error.

> 
> ./ex2 -ksp_pc_side right
> 
> fails. It would be a pain to have two options that always need to be changed 
> together so maybe calling KSPSetPCSide() should automatically choose which 
> side to use. But that isn't consistent across methods and it's really bad to 
> ignore explicit user input. Also, what if you just want to think about what 
> norm the residuals are calculated in instead of thinking of which "side" the 
> preconditioner is working with.
> 
> So what if instead we had KSP_NORM_DEFAULT and PC_SIDE_DEFAULT, then 
> KSPSetUp_XXX() would turn the default value into whatever actually works and 
> error if the user has set an incompatible combination?

  Sounds reasonable.

  Barry



Reply via email to