Question regarding PCMG

TsuyoshiKoyama(berkeley) tkoyama at berkeley.edu
Mon Aug 13 15:25:54 CDT 2007


Dear petsc-users,

I am currently trying to use the PCMG object and
had some questions with the preconditioner.

---------------------------------------------------------
1. In this multigrid preconditioner, the default KSP smoother seems
to be GMRES. If one wanted to use the Gauss-Seidel
iteration as a smoother what would one do?

The solution that I thought feasible is to use the PCGauss-Seidel
and set this into the KSP smoother, and set the Krylov solver
type to KSPPreonly. Since we are using a Gauss-Seidel smoothing
and in the case that we include post-smoothing, the smoother must
be able to incorporate a nonzero initial guess. Thus one would think
of setting the flag for KSPSetInitialGuessNonzero. Unfortunately the
combination of,

-KSPPreonly
-KSPSetInitialGuessNonzero

is rejected in /src/ksp/ksp/impls/preonly/preonly.c line:24. Here it
advises one to use a Richardson but that is not what I would like.

2. In the setting of the coarse grid KSP smoother(solver) in PCMG, in the 
function
PCSetUp_MG in file /src/ksp/pc/impls/mg/mg.c line:474 there is
a setting that requires one to only be able to use lu, redundant, or
cholesky as the solver in the case of preonly. This means that one would
not again be able to use the type of solver that I have stated above,
a Gauss-Seidel solver or any other user-specified stationary
solver with KSPPreonly.
---------------------------------------------------------

If you have any comments or tricks to get by this, it would be very
helpful.

Sincerely,

-Tsuyoshi Koyama 




More information about the petsc-users mailing list