[petsc-users] DGMRES Right preconditioner
Barry Smith
bsmith at mcs.anl.gov
Mon Oct 3 08:03:45 CDT 2011
Desire,
Any suggestions? Does this make sense?
Thanks
Barry
On Oct 3, 2011, at 4:47 AM, Gong Ding wrote:
> Hi,
> I had installed petsc-3.2, which has a new deflated GMRES solver.
> It seems the deflation procedure provides addtional precondition on top of GMRES.
>
> However, it seems the deflation was implemented as first right preconditioner:
>
> if (ksp->pc_side == PC_LEFT) {
> /* Apply the first preconditioner */
> ierr = KSP_PCApplyBAorAB (ksp,VEC_VV (it), VEC_TEMP,VEC_TEMP_MATOP);
> CHKERRQ (ierr);
> /* Then apply Deflation as a preconditioner */
> ierr=KSPDGMRESApplyDeflation (ksp, VEC_TEMP, VEC_VV (1+it));
> CHKERRQ (ierr);
> } else if (ksp->pc_side == PC_RIGHT) {
> ierr=KSPDGMRESApplyDeflation (ksp, VEC_VV (it), VEC_TEMP);
> CHKERRQ (ierr);
> ierr=KSP_PCApplyBAorAB (ksp, VEC_TEMP, VEC_VV (1+it), VEC_TEMP_MATOP);
> CHKERRQ (ierr);
> }
>
> Since a "fixed" external preconditoner M such as ILU or my own PC will be used,
> I want the deflation apply on AM^-1. As a result, the update of deflation preconditioner will not
> affect the fixed preconditioner M. How should I modify the source code?
>
>
> Gong Ding
>
>
>
>
>
>
>
More information about the petsc-users
mailing list