<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Wed, Dec 19, 2018 at 10:08 AM Yingjie Wu via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">Respected Petsc developers:            
<br>Hi,            
<br>Recently, I developed a two-dimensional non-linear equations solver (SNES) using Petsc to solve temperature, velocity and pressure fields. 
Since the coupling characteristics of the problem are complex, it is difficult to construct Jacobian matrix explicitly, so Matrix-Free method with Preconditioner is adopted. </div></div></blockquote><div><br></div><div>Which preconditioner?</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">
I have the following questions about the Petsc's Preconditioner. <br></div><div dir="ltr"><br></div><div dir="ltr">1. Is the preconditioning matrix updated in linear or non-linear steps? 
<br>Because the elements in my preconditioning matrix are functions of variables (such as density is a function of temperature and pressure, and preconditioning matrix elements often contain density).  </div></div></blockquote><div><br></div><div>You are in control of this.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>2.For some problems the preconditioning matrix element are constant, if it possible that the preconditioning matrix is constructed and decomposed only once at the beginning of the program and used for subsequent calculation? </div></div></blockquote><div><br></div><div>Which preconditioner?</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">3. What is the difference between using Matrix-Free method and using normal Newton method for preconditioning matrix? 
<br></div></div></blockquote><div><br></div><div>In MF, the PC cannot use matrix elements to form the preconditioner, only the action of the operator.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">As far as I know, when using the Matrix-Free method, the type of preconditioning matrix needs to be defined as MATMFFD. Are there any other differences? </div></div></blockquote><div><br></div><div>No, that is not the PC, only the action of the operator.</div><div><br></div><div>  Thanks,</div><div><br></div><div>    Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Thanks,</div><div>Yingjie<br></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>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</div><div><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>