In principle, you can implement any type of line search in PETSc by subclassing SNESLineSearch (although it requires going under the hood some, as we generally think of LineSearch as a private object).  If you can elaborate on what you need, we can work with you guys to see how to accomplish it with what we have or to extend it, if necessary.  That might require extra hooks into PETSc in libMesh/Moose, but we have plenty of experience managing that.<div>

<br></div><div>Cheers,</div><div>Dmitry.<br><br><div class="gmail_quote">On Tue, May 15, 2012 at 4:45 PM, Jed Brown <span dir="ltr">&lt;<a href="mailto:jedbrown@mcs.anl.gov" target="_blank">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="gmail_quote"><div class="im">On Tue, May 15, 2012 at 3:32 PM, Avery Bingham <span dir="ltr">&lt;<a href="mailto:avery.bingham@gmail.com" target="_blank">avery.bingham@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">
<pre><font face="arial, helvetica, sans-serif">I have also seen this behavior, and I think this might be related to the scaling of the variables in the nonlinear system.  I am using PETSc through an application of MOOSE which allows for scaling of the variables.  This scaling reduces the chance that the default cubic backtracking line search fails, but it is not reliable on all problems. Would it be possible to get a scaling-independent Line Search Method implemented within PETSc?  </font></pre>


</blockquote><div><br></div></div><div>I&#39;m not sure what you mean by scaling, but there is -snes_linesearch_type cp (critical point) that might be useful.</div></div>
</blockquote></div><br></div>