[petsc-users] DGMRES Right preconditioner
Desire NUENTSA WAKAM
desire.nuentsa_wakam at inria.fr
Mon Oct 3 08:33:32 CDT 2011
Hi Gong,
You do not need to modify the source code for the right preconditioning.
The additional preconditioner (say M_D^{-1}) is built from the
approximate eigenvalues of M^{-1}A or AM^{-1}.
Hence you are solving either M_D^{-1}M_{-1}Ax = M_D^{-1}M_{-1}b or
AM^{-1}M^{-1}_Dy = b for x = M^{-1}M^{-1}_Dy
Thanks
Desire
On 10/03/2011 03:03 PM, Barry Smith wrote:
> 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
>>
>>
>>
>>
>>
>>
>>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20111003/2898a300/attachment.htm>
More information about the petsc-users
mailing list