<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sat, May 16, 2015 at 11:15 AM, 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"><div class="HOEnZb"><div class="h5">On 5/16/2015 10:33 AM, Matthew Knepley wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
1) The best thing you can do for solver convergence is to start with a well-scaled system. Is there a reason why<br>
you cannot non-dimensionalize your system?<br>
<br>
</blockquote>
<br>
Laziness/time, but yes I'll do this. Though this is a viscous flow solver, so any non-dimensionalization will still lead to values differing by 5+ orders of magnitude in certain areas.<br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
3) If you have constraints on the variables, you might benefit from using SNESVI<br>
<br>
<br>
</blockquote>
<br>
<br>
Perfect, thanks I wasn't aware of this. So SNESVIComputeVariableBounds can take a function that say, prevents negative densities/pressures?<br></div></div></blockquote><div><br></div><div>It only really handles primary variable bounds, but if you are solving for densities and pressures, yes.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
2) Writing a custom line search is easier than messing with TR in my experience<br>
<br>
</blockquote>
<br>
I'm interested to hear more about this. I haven't done much work with newton methods on this type of problem where overshoots lead to fatal errors.<br>
</div></div></blockquote></div><br>You can imagine the very simplest thing you could do for SNESVI is take each step produced by Newton</div><div class="gmail_extra">and scale it back until it lies in your "physical" region. This however can degrade the second order</div><div class="gmail_extra">convergence of the method. SNESVI tries to be smarter about things to maintain the convergence rate.</div><div class="gmail_extra"><br></div><div class="gmail_extra">  Thanks,</div><div class="gmail_extra"><br></div><div class="gmail_extra">    Matt</div><div class="gmail_extra"><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>