<html><body><div style="color:#000; background-color:#fff; font-family:arial, helvetica, sans-serif;font-size:12pt">Dear PETSc developers, <br><br>  Thank you for your support to Abdul. <br><div><br><span></span></div><div><span>   We are in the process of developing a multilevel <br></span></div><div><span>Krylov solver for the Helmholtz equation. Abdul <br></span></div><div><span>has implemented Algorithm I for this purpose. <br></span></div><div><span>We next would like to implement Algorithm II. <br></span></div><div><span></span><span>Algorithm || amounts to replacing every occurrence <br></span></div><div><span>of the system matrix $A$ in Algorithm I by <br></span></div><div><span></span><span>$M^{-1} A$. This replacement should occur on all <br></span></div><div><span>levels. We thought of two ways to realize this <br></span></div><div><span>replacement. <br></span></div><div><span><br></span></div><div><span>1) We thought of
 adopting a matrix-free approach, <br></span></div><div><span>and to plug in the operation with  $M^{-1}$ there. <br></span></div><div>This would require a ksp context inside MatMult.    <br><span></span></div><div><span>We wonder whether this a approach is feasible to <br></span></div><div><span>take. <br></span></div><div><br><span></span></div><div><span>2) The other approach would by to implement a <br></span></div><div><span>customized pcmg preconditioner that we can adapt <br></span></div><div><span>to our needs. This could be a more elegant approach, <br></span></div><div><span>at the cost of doing more work. Is the assumption <br></span></div><div><span>that the second approach is more elegant correct <br></span></div><div><span>and would you be able to give advice on how to tackle <br></span></div><div><span>this approach? <br></span></div><div><br><span></span></div><div><span>  Kind wishes, Domenico.
 <br></span></div><div><span><br> </span></div><div><br></div>  <div style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div style="color:#000;background-color:#fff;font-family:verdana, helvetica, sans-serif;font-size:10pt;"> <font face="Arial" size="2"> <hr size="1"><b><span style="font-weight:bold;"></span></b></font><div><br></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" size="2"> ----- Forwarded
 Message -----<br>  <b><span style="font-weight:bold;">From:</span></b> Matthew Knepley <knepley@gmail.com><br> <b><span style="font-weight:bold;">To:</span></b> Abdul Hanan Sheikh <hanangul12@yahoo.co.uk>; PETSc users list <petsc-users@mcs.anl.gov> <br> <b><span style="font-weight:bold;">Sent:</span></b> Thursday, 5 July 2012, 15:45<br> <b><span style="font-weight:bold;">Subject:</span></b> Re: [petsc-users] Adapting MatMult and PCMG functions in matrix-free method.<br> </font> </div> <br><div id="yiv407841637">On Thu, Jul 5, 2012 at 7:34 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><div class="yiv407841637gmail_quote"><blockquote class="yiv407841637gmail_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 style="color:rgb(0,0,191);"><span>Dear developers and users,</span></div><div style="color:rgb(0,0,191);"><span>Summer greetings.</span></div><div style="color:rgb(0,0,191);">
<span> We have few question listen below: </span></div><div style="color:rgb(0,0,191);"><span><br></span></div><div style="color:rgb(0,0,191);">1. <br><span></span></div><div style="color:rgb(0,0,191);"><span>The first question is about adapting <span style="font-style:italic;">" MatMult</span> " function in matrix-free method.</span></div>
<div style="color:rgb(0,0,191);"><span>We intend to incorporate a KSP context inside <span style="font-style:italic;">"MatMult</span>" . </span><span>The immediate question is how to</span></div><div style="color:rgb(0,0,191);">
<span>provide more than one matrices as input. </span></div></div></div></blockquote><div><br></div><div>You provide extra data through the context for the MATSHELL</div><div> </div><blockquote class="yiv407841637gmail_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 style="color:rgb(0,0,191);"><span>Is this idea of incorporating a KSP context inside </span><span><span style="font-style:italic;">"MatMult</span>" </span><span>function workable ? Does it make any confrontation <br>
</span></div><div style="color:rgb(0,0,191);"><span>with philosophy of development of Petsc. ? </span></div></div></div></blockquote><div><br></div><div>I am not sure you want this. Do you think PCKSP can do what you want? There is not enough information here to help us answer.</div>
<div> </div><blockquote class="yiv407841637gmail_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 style="color:rgb(0,0,191);">2. <br>
</div><div style="color:rgb(0,0,191);">An other advance level feedback is needed. <br></div><div style="color:rgb(0,0,191);"> Re-implementing PCMG function {<span> mg.c </span>} will lead any violation of philosophy of Petsc-development ??</div>
</div></div></blockquote><div><br></div><div>Again, there is not enough information. Can you do what you want by just replacing the monitors?</div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt</div><div>
 </div><blockquote class="yiv407841637gmail_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 style="color:rgb(0,0,191);">3. <br>
</div><div style="color:rgb(0,0,191);">Which one of the above both is more elegant and feasible to work on ? <br></div><div style="color:rgb(0,0,191);"><br></div><div style="color:rgb(0,0,191);"><br></div><div style="color:rgb(0,0,191);">
Thanking in anticipation, </div><span class="yiv407841637HOEnZb"><font color="#888888"><div><span style="color:rgb(0,0,191);">Abdul </span><br><span></span></div><div><br><span></span></div><div><span><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>
</font></span></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener<br>
</div><br><br> </div> </div> </blockquote></div>   </div><br><br> </div> </div>  </div></body></html>