[petsc-dev] GMRES outer with -ksp_chebychev_estimate_eigenvalues inners
Barry Smith
bsmith at mcs.anl.gov
Thu Oct 20 14:26:28 CDT 2011
Jed,
When one runs multigrid as a preconditioner for GMRES and selects -...-ksp_chebychev_estimate_eigenvalues as a smoother inside then it initially uses GMRES as the smoother. Hence one has GMRES inside GMRES at the first iteration which is dangerous.
What is our policy on this too be? (For example in nightly tests).
* Just hope it doesn't matter and use GMRES outer
* Use FGMRES outer the entire time even though you barely need it.
* After the very first GMRES iteration trigger an extra restart back to zero so that one has linear preconditioner inside the rest of the GMRES. (Haven't wasted work but by restarting you are partially wasting the first GMRES outer iteration.)
* After getting the singular values from inner GMRES, redo the inner GMRES with Chebychev then the preconditioner is linear and we can use GMRES outer. (Only work wasted is initial GMRES smoothing to get singular values).
* Something else
I think the current strategy is "hope it doesn't matter". Probably we should say something about this in the docs for Chebychev?
Barry
More information about the petsc-dev
mailing list