<html><body><div style="color:#000; background-color:#fff; font-family:verdana, helvetica, sans-serif;font-size:10pt"><div style="font-family: verdana,helvetica,sans-serif;"><span>Dear Jed, <br></span></div><div style="font-family: verdana,helvetica,sans-serif;"><span>Thanks for attention! <br></span></div><div style="font-family: verdana,helvetica,sans-serif;"><span><br></span></div><div style="font-family: verdana,helvetica,sans-serif;"><span>I recall my previous thread; copy and paste here, and then I try to ask: <br></span></div><div style="font-family: verdana,helvetica,sans-serif;"><br></div><div style="font-family: verdana,helvetica,sans-serif; font-weight: bold;">Suppose C = P*A_H^{-1}*R is the coarse grid
 solver. Then with a post-smoother S, application of the preconditioner 
to the vector "b" would be C b + S (b - A C b). If we drop the 
post-smoother by setting S = I, We get Prec = C b + b - A C b. Note that there is no presmoother. <br></div><div style="font-family: verdana,helvetica,sans-serif;"><br></div><div style="font-family: verdana,helvetica,sans-serif;">This is the preconditioner I have used before, in PCMG framework, with no pre-smoothing and Richardson(without any preconditioner) as post smoother. </div><div style="font-family: verdana,helvetica,sans-serif;"><br></div><div style="font-family: verdana,helvetica,sans-serif;">I need to apply the updated version of above Prec = C b + (b - A C b), where A is replaced by M^-1 A , and A_H by M_H^-1 A_H . <br></div><div><font face="'courier new', monospace"><br style="font-family: verdana,helvetica,sans-serif;"><span style="font-family: verdana,helvetica,sans-serif;">Now does it make sense :<br><br>1)  incorporating M as only preconditioner in presmoother will replace A by M^-1 A in Prec = C b + (b - A C b) ?<br>2)
 incorporating M as preconditioner to CG-solver will replace A_H by (M_H^-1 A_H ) ? <span style="font-weight: bold;">I am kinda of sure about this point 2.</span> <br></span></font></div><br><br>Thanks, <br>Abdul <br><br><br><b><span style="font-weight:bold;">From:</span></b> Jed Brown <jedbrown@mcs.anl.gov><br><div><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; margin-top: 5px; padding-left: 5px;"><div style="font-family: verdana, helvetica, sans-serif; font-size: 10pt;"><div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"><div dir="ltr"><font size="2" face="Arial"> <b><span style="font-weight: bold;">To:</span></b> Abdul Hanan Sheikh <hanangul12@yahoo.co.uk> <br><b><span style="font-weight: bold;">Cc:</span></b> PETSc users list <petsc-users@mcs.anl.gov> <br> <b><span style="font-weight: bold;">Sent:</span></b> Wednesday, 13 June 2012, 18:39<br> <b><span style="font-weight:
 bold;">Subject:</span></b> Re: [petsc-users] How to implement projection preconditioner?<br> </font> </div> <br><div id="yiv2079146519"><div class="yiv2079146519gmail_quote">On Wed, Jun 13, 2012 at 10:54 AM, Abdul Hanan Sheikh <span dir="ltr"><<a rel="nofollow" ymailto="mailto:hanangul12@yahoo.co.uk" target="_blank" href="mailto:hanangul12@yahoo.co.uk">hanangul12@yahoo.co.uk</a>></span> wrote:<br><blockquote class="yiv2079146519gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><div style="font-size:10pt;font-family:verdana, helvetica, sans-serif;"><div><span>Thanks for reply! <br></span></div><div><span>Well at first look, it looks like that M can be put as precondittioning operator for smoother</span></div>
<div><span>where keeping ksp as preonly in pre-smoother context. </span></div><div><span>I am not sure, this leads to the preconditioner desired, coz putting M as preconditioner in <br></span></div><div><span>pre-smoother alters the residual passed to coarse-grid correction,  i.e. <br>
</span></div><div><span>CGC corrects the pre-smoothed solution. <br></span></div></div></div></blockquote><div><br></div><div>That's kind of the point of pre-smoothing. Can you explain more precisely (or just try it).</div>
<div> </div><blockquote class="yiv2079146519gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div style="font-size:10pt;font-family:verdana, helvetica, sans-serif;"><div><span></span></div><div><br>
<span></span></div><br><div><span style="color:rgb(0,0,255);"><span style="font-family:verdana, helvetica, sans-serif;"><span style="font-family:lucida console, sans-serif;"></span></span></span><span style="color:rgb(0,0,255);"><span style="font-family:verdana, helvetica, sans-serif;"></span></span></div>
<div><br><blockquote style="border-left:2px solid rgb(16,16,255);margin-left:5px;margin-top:5px;padding-left:5px;">  <div style="font-family:verdana, helvetica, sans-serif;font-size:10pt;"> <div style="font-family:times new roman, new york, times, serif;font-size:12pt;">
 <div dir="ltr"> <font face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> Jed Brown <<a rel="nofollow" ymailto="mailto:jedbrown@mcs.anl.gov" target="_blank" href="mailto:jedbrown@mcs.anl.gov">jedbrown@mcs.anl.gov</a>><br> <b><span style="font-weight:bold;">To:</span></b> Abdul Hanan Sheikh <<a rel="nofollow" ymailto="mailto:hanangul12@yahoo.co.uk" target="_blank" href="mailto:hanangul12@yahoo.co.uk">hanangul12@yahoo.co.uk</a>>; PETSc users list <<a rel="nofollow" ymailto="mailto:petsc-users@mcs.anl.gov" target="_blank" href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</a>> <br>
<b><span style="font-weight:bold;">Cc:</span></b> Abdul - CITG <<a rel="nofollow" ymailto="mailto:A.H.Sheikh@tudelft.nl" target="_blank" href="mailto:A.H.Sheikh@tudelft.nl">A.H.Sheikh@tudelft.nl</a>> <br> <b><span style="font-weight:bold;">Sent:</span></b> Friday, 8 June 2012, 19:01<br>
 <b><span style="font-weight:bold;">Subject:</span></b> Re: [petsc-users] How to implement projection preconditioner?<br> </font> </div><div><div class="yiv2079146519h5"> <br><div>Isn't this just putting M and M_H as the preconditioning operator for the smoother?<br>
<br><div>On Fri, Jun 8, 2012 at 11:58 AM, Abdul Hanan Sheikh <span dir="ltr"><<a rel="nofollow" ymailto="mailto:hanangul12@yahoo.co.uk" target="_blank" href="mailto:hanangul12@yahoo.co.uk">hanangul12@yahoo.co.uk</a>></span> wrote:<br>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div style="font-size:10pt;font-family:verdana, helvetica, sans-serif;"><div><span>Dear all, <br></span></div><div><span>Summer greetings, <br>

</span></div><div><span>I am back with an other query.</span></div><div><span>Before I successfully implement the projection preconditioner which was simply <br></span></div><div><span>the coarse grid correction operator P = I - A*(P*A_H*R); <br>

</span></div><div><span>I implemented this simply keeping both pre and post smoothing dummy in PCMG setup. <br></span></div><div><span>Now I need to revise this and re-implement this where I replace A and coarse operator A_H with <br>

</span></div><div><span>preconditioned one i.e. M^-1 A and M^-1 A_H respectively. Thus new projection reads as</span></div><div><span> <br></span></div><div><br><span></span></div><div><span>P_new = I - (M^-1 A) {P*(M_H^-1 A_H)*R}</span></div>

<div><br><span></span></div><div><span>Any suggestion to
 implement this in Petsc would be appreciated. <br></span></div><div><br><span></span></div><div><span>Thanking in anticipation. <br></span></div><div><span>with regards, Abdul <br></span></div><div><span style="color:rgb(0,0,255);"><span style="font-family:verdana, helvetica, sans-serif;"><span style="font-family:lucida console, sans-serif;"></span></span></span><span style="color:rgb(0,0,255);"><span style="font-family:verdana, helvetica, sans-serif;"></span></span></div>

</div></div></blockquote></div><br>
</div><br><br> </div></div></div> </div> </blockquote></div>   </div></div></blockquote></div><br>
</div><br><br> </div> </div> </blockquote></div>   </div></body></html>