<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, May 15, 2015 at 6:37 PM, Mark Lohry <span dir="ltr"><<a href="mailto:mlohry@princeton.edu" target="_blank">mlohry@princeton.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I'm having an issue with SNES where the regular newton line search severely overshoots the solution update, ending up with irrecoverable values (negative densities and temperatures in a fluids code), so it seems newtonTR is a better way to go.<br>
<br>
the manual says to set delta0 using -snes_tr_delta0, where the trust region radius is delta = delta0 * norm2( F ). My F values aren't well scaled and have pretty different values so norm2 of the whole thing isn't particularly meaningful. Ideally I'd like to tell SNES to limit the update to say, 10% of the current value of any given unknown. Is this possible?<br>
</blockquote></div><br>1) The best thing you can do for solver convergence is to start with a well-scaled system. Is there a reason why</div><div class="gmail_extra">you cannot non-dimensionalize your system?</div><div class="gmail_extra"><br></div><div class="gmail_extra">2) Writing a custom line search is easier than messing with TR in my experience</div><div class="gmail_extra"><br></div><div class="gmail_extra">3) If you have constraints on the variables, you might benefit from using SNESVI</div><div class="gmail_extra"><br></div><div class="gmail_extra">  Thanks,</div><div class="gmail_extra"><br></div><div class="gmail_extra">      Matt<br clear="all"><div><br></div>-- <br><div class="gmail_signature">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</div>
</div></div>