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>
