<div class="gmail_quote">On Mon, Sep 19, 2011 at 12:26, fabien delalondre <span dir="ltr"><<a href="mailto:delalf@scorec.rpi.edu">delalf@scorec.rpi.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div>To maybe try to speed up my resolution, I would like to not compute the values of the preconditionner at every time step, I was wondering if I could do the following:</div><div><span style="font-family:Times;font-size:medium">1) At a certain point in time, I ll use <a href="http://www.mcs.anl.gov/petsc/petsc-as/snapshots/petsc-current/docs/manualpages/KSP/KSPGetPC.html" target="_blank">KSPGetPC</a> to get the preconditionner</span></div>
<div>2) I would then use <span style="font-family:Times;font-size:medium"><a href="http://www.mcs.anl.gov/petsc/petsc-as/snapshots/petsc-current/docs/manualpages/KSP/KSPSetPC.html" target="_blank">KSPSetPC</a> to set the values of the preconditionner, assuming this will prevent the calculation of the preconditionner values. Is it a correct assumption or should I use a parameter to enforce not re-calculating the precontionner values ? Note that </span><span style="font-family:Times;font-size:medium">I am using a </span><span style="font-family:Times;font-size:medium">GMRES solver with a block jacobi preconditionner (superlu).</span></div>
<div></div></blockquote></div><br><div>If you call KSP directly, you should pass SAME_PRECONDITIONER to KSPSetOperators(). This will use the new matrix, but not recompute the preconditioner. It will work with any preconditioner.</div>
<div><br></div><div>If you use SNES or TS, you they also have options for lagging the preconditioner and/or Jacobian.</div>