I have a C++ class that solves a nonlinear problem using PETSC&#39;s KSP without using SNES. <div>Now I&#39;m trying to make use of SNES. </div><div><br></div><div>I created some functions to form the Function and Jacobian, just like the example (snes/examples/tutorials/ex1.c). I&#39;m solving a nonlinear mechanics problem. When I have some prescribed displacements (fixed dofs) I do not assemble the whole system, so when SNES starts solving the linear systems the solution vector <b>u</b> contains only some part of the displacement, the other were already imposed in my vector <b>x</b>. So I need to implement a different Update function that considers if a degree of freedom is fixed or not, in order to update <b>x </b>to continue the nonlinear iteration.</div>
<div><br></div><div>That&#39;s why I think I need to do this. Is it clear? </div><div><br><div class="gmail_quote">On Fri, Jan 20, 2012 at 12:55 PM, Jed Brown <span dir="ltr">&lt;<a href="mailto:jedbrown@mcs.anl.gov">jedbrown@mcs.anl.gov</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><div class="gmail_quote">On Fri, Jan 20, 2012 at 08:28, Bernardo Rocha <span dir="ltr">&lt;<a href="mailto:bernardomartinsrocha@gmail.com" target="_blank">bernardomartinsrocha@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I&#39;m using SNES but I would like to update my data after each successful step computation within the nonlinear solver using a different function. I mean, after the solution of each linear system I would like to get \Delta x_k to update x_{k+1} which is stored somewhere in my application class (C++ code).</blockquote>

</div><br></div><div>Can you explain more about what you are trying to do? What you describe does not sound algorithmically correct.</div>
</blockquote></div><br></div>