<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:12.800000190734863px">Thank you all. </span><br style="font-family:arial,sans-serif;font-size:12.800000190734863px"><br style="font-family:arial,sans-serif;font-size:12.800000190734863px">
<span style="font-family:arial,sans-serif;font-size:12.800000190734863px">Most of the difficulties come from the current structure of the program. Its size and "age" make any radical modification a challenge. The large uses of global variables and deprecated "goto" statements call for a revision, which however is unlikely to occur, against our better judgement...</span><br style="font-family:arial,sans-serif;font-size:12.800000190734863px">
<br style="font-family:arial,sans-serif;font-size:12.800000190734863px"><span style="font-family:arial,sans-serif;font-size:12.800000190734863px">That being said, the current tools provided byPETSc are sufficient, however not necessarily convenient for our purposes. As a wishful thinking we can say that the implementation of PETSc SNES features into existing codes would be easier if the outer Newton-like loop could be managed by the original code, out of the SNES context. On the other hand, we realize that this might be in contrast with the requirements of PETSc itself. </span><br style="font-family:arial,sans-serif;font-size:12.800000190734863px">
<br style="font-family:arial,sans-serif;font-size:12.800000190734863px"><span style="font-family:arial,sans-serif;font-size:12.800000190734863px">The application of the Eistenstat-Walker method together with a Matrix-Free approach are of key importance. Thus, as kindly suggested by Jed Brown, implementing our own version of EW scheme might turn out to be the only way. We would be happy to provide more details if you think that they might be helpful for the future developments of PETSc.</span><br>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Mar 7, 2014 at 2:39 PM, Matthew Knepley <span dir="ltr"><<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div class="">On Fri, Mar 7, 2014 at 1:21 PM, Song Gao <span dir="ltr"><<a href="mailto:song.gao2@mail.mcgill.ca" target="_blank">song.gao2@mail.mcgill.ca</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>Hello,<br><br></div>We are working on a legacy codes which solves the NS equations. The codes take control of newton iterations itself and use KSP to solve the linear system. </div>

<div><br></div><div>
We modified the codes, used SNES to control the newton iteration and changed the code to matrix free fashion. But the legacy codes did a lot of other things between two newton iterations (such as output solution, update variables....). I know we could use linesearchpostcheck but it is difficulty to do that correctly. Therefore, we decide to go back to the KSP framework but still use matrix free.<br>

</div></div></blockquote><div><br></div></div><div>What makes it difficult?</div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt</div><div class=""><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr"><div></div>When using SNES, we always use the runtime option -snes_ksp_ew, we observe that for some test cases, the residual stalls without -snes_ksp_ew, but converges with-snes_ksp_ew. So I'm thinking if it is possible to use -snes_ksp_ew in KSP? Thanks in advance.<br>


<div><br></div><div><br></div></div>
</blockquote></div></div><span class="HOEnZb"><font color="#888888"><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
</font></span></div></div>
</blockquote></div><br></div>