[petsc-dev] How to respond to incompatible right/left preconditioned/unpreconditioned?

Jed Brown jed at 59A2.org
Wed Mar 16 16:40:30 CDT 2011


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

./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?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20110316/cf1ccf20/attachment.html>


More information about the petsc-dev mailing list