[petsc-users] how to set the newton trust region size

Matthew Knepley knepley at gmail.com
Sat May 16 09:33:41 CDT 2015


On Fri, May 15, 2015 at 6:37 PM, Mark Lohry <mlohry at princeton.edu> wrote:

> 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.
>
> 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?
>

1) The best thing you can do for solver convergence is to start with a
well-scaled system. Is there a reason why
you cannot non-dimensionalize your system?

2) Writing a custom line search is easier than messing with TR in my
experience

3) If you have constraints on the variables, you might benefit from using
SNESVI

  Thanks,

      Matt

-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150516/765c84c7/attachment.html>


More information about the petsc-users mailing list