<html><head><meta http-equiv="content-type" content="text/html; charset=us-ascii"></head><body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div><br></div><a href="https://petsc.org/release/manualpages/SNES/SNESSetForceIteration/#snessetforceiteration">https://petsc.org/release/manualpages/SNES/SNESSetForceIteration/#snessetforceiteration</a><div><br></div><div><br><div><br><blockquote type="cite"><div>On Sep 2, 2023, at 3:04 PM, David Knezevic via petsc-users <petsc-users@mcs.anl.gov> wrote:</div><br class="Apple-interchange-newline"><div><div dir="ltr"><div>Hi all,</div><div><br></div><div>I'm using the SNES solver for a plasticity model, and the issue I've run into is that in some time steps the solver terminates after "NL step 0" since the initial residual (based on the solution from the previous time step) is below the specified tolerance.</div><div><br></div><div>I gather that "NL step 0" only checks the residual and doesn't actually do a Newtown update, and hence it seems that this is leading to inaccurate results in some cases. I can of course specify a smaller convergence tolerance to avoid this issue, but I've found it difficult to find a smaller tolerance that works well in all cases (e.g. it leads to too many iterations or non-convergence). So instead what I would like to do is ensure that the solver does at least 1 Newton iteration instead of terminating at "NL step 0". Is there a way to enforce this behavior, e.g. by skipping "NL step 0", or specifying a "minimum number of iterations"? I didn't see anything like this in the documentation, so I was wondering if there are any suggestions on how to proceed for this.</div><div><br></div><div>Thanks,<br>David<br></div></div>
</div></blockquote></div><br></div></body></html>