<div>call SNESSetLagPreconditioner before SNESSolve is useless.<br>It seems SNESSetLagPreconditioner does not reset the internal information. <br> <br></div><blockquote style="padding-left:5px;margin-left:5px;border-left:#a0c6e5 2px solid;margin-right:0px">If you are calling SNESSolve(), just call SNESSetLagPreconditioner() again before each solve.<br><br><div class="gmail_quote">On Wed, Oct 3, 2012 at 10:25 PM, Gong Ding <span dir="ltr"><<a href="mailto:gdiso@ustc.edu" target="_blank">gdiso@ustc.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Only implemented this strategy in TS is not enough, i.e. DC sweep (each DC point requires nonlinear iteration) may also need it.   <br>
Will you implement it into the SNES and send me the patch?<br>For example, a flag -3 to SNESSetLagPreconditioner. <br>At the first ineration of each SENSSolve call, the PC will be built and never change in the same SENSSolve iteration.   <br>
I'd like to try it asap since this strategy improves simulation speed significantly.<span class="HOEnZb"><font color="#888888"><br>  <br></font></span></div><span class="HOEnZb"><font color="#888888"><div>Gong Ding<br>
 <br></div></font></span><div class="HOEnZb"><div class="h5"><div> </div><div> </div><blockquote style="padding-left:5px;margin-left:5px;border-left:#a0c6e5 2px solid;margin-right:0px"><br>I've been meaning to implement this for a while. You can put custom SNES control into a pre-stage or pre-step hook, but this particular case should, in my opinion, be provided as a TS option.<br>
<br><div class="gmail_quote">
On Wed, Oct 3, 2012 at 11:00 AM, Gong Ding <span dir="ltr"><<a href="mailto:gdiso@ustc.edu" target="_blank">gdiso@ustc.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hi,<br>
I am doing a nonlinear transient simulation. For each time step, a SNESSolve is called.<br>
I want to do a LU factorization at the first Newton iteration of EACH time step, and for the following Newton steps (in the same time step), no factorization any more. For the next time step, the LU factorization should be done again.<br>


<br>
<br>
SNESSetLagPreconditioner(-1) seems just skips all the following factorization, even in the different time step.<br>
How can I do?<br>
<span><font color="#888888"><br>
<br>
Gong Ding<br>
<br>
<br>
</font></span></blockquote></div><br>
</blockquote><span></span></div></div></blockquote></div><br>
</blockquote><span ></span>