[petsc-users] Projection preconditioner as PCMG
Abdul Hanan Sheikh
hanangul12 at yahoo.co.uk
Thu Mar 8 14:16:37 CST 2012
Dear,
I almost got you; and thus I got my preconditoner Prec = \lambda_max*C + (I - AC) .
Only question is : how to make S = I. S is my post_smoother in PCMG framwork and post_smoother
is a KSP_POST context with PC_POST ?
Does following choices make S =I;
KSP_POST => RICHARDSON
PC_POST => PCNONE
THANKS ALOT.
Abdul,
>________________________________
> From: Jed Brown <jedbrown at mcs.anl.gov>
>To: Abdul Hanan Sheikh <hanangul12 at yahoo.co.uk>
>Cc: "petsc-users at mcs.anl.gov" <petsc-users at mcs.anl.gov>
>Sent: Thursday, 8 March 2012, 21:09
>Subject: Re: [petsc-users] Projection preconditioner as PCMG
>
>
>On Thu, Mar 8, 2012 at 13:59, Abdul Hanan Sheikh <hanangul12 at yahoo.co.uk> wrote:
>
>And last one is more appreciated;
>>-mg_levels_1_ksp_type cg can this be written in routine ? yes, with KSPSetType() but which ksp-context ? ksp_pre ?
>>
>
>
>That is the command line option, see PCMGGetSmoother() or PCMGGetSmootherUp() to get the KSP for a level from code.
>
>
>>My Preconditioner:
>>I need a preconditioner which read as: Prec = \lambda_max*C + (I - AC) , [C = CGC] where (I - AC) deflates spectrum to zero,
>>and this part \lambda_max *C then shifts spectrum to \lambda_max (which is always 1 in my case) .
>>
>
>
>You can always multiply preconditioners by a arbitrary constant, so multiply through by S = 1/\lambda_max to get the standard form
>
>
>Prec = C + S(I - AC)
>
>Dont I get my Prec by multiplicative combination of CGC with post smoother S = Identity using mg_type_multiplicative?
>
>If we put in S = I, we get my
>
>
>Prec = C + I - AC
>
>
>which is not equal to your stated
>
>
>Prec = I - AC
>
>
>unless C = 0 which would make Prec = I.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120308/2381691b/attachment-0001.htm>
More information about the petsc-users
mailing list