SNESNEWTONTR#

Newton based nonlinear solver that uses trust-region dogleg method with Cauchy direction

Options Database Keys#

  • -snes_tr_tol - trust region tolerance

  • -snes_tr_eta1 - trust region parameter 0.0 <= eta1 <= eta2, rho >= eta1 breaks out of the inner iteration (default: eta1=0.001)

  • -snes_tr_eta2 - trust region parameter 0.0 <= eta1 <= eta2, rho <= eta2 shrinks the trust region (default: eta2=0.25)

  • -snes_tr_eta3 - trust region parameter eta3 > eta2, rho >= eta3 expands the trust region (default: eta3=0.75)

  • -snes_tr_t1 - trust region parameter, shrinking factor of trust region (default: 0.25)

  • -snes_tr_t2 - trust region parameter, expanding factor of trust region (default: 2.0)

  • -snes_tr_deltaM - trust region parameter, max size of trust region (default: MAX_REAL)

  • -snes_tr_delta0 - trust region parameter, initial size of trust region (default: 0.2)

  • -snes_tr_fallback_type <newton,cauchy,dogleg> - Solution strategy to test reduction when step is outside of trust region. Can use scaled Newton direction, Cauchy point (Steepest Descent direction) or dogleg method.

Reference#

  • **** -*** “Numerical Optimization” by Nocedal and Wright, chapter 4.

(since 3.19)

See Also#

SNESCreate(), SNES, SNESSetType(), SNESNEWTONLS, SNESSetTrustRegionTolerance(), SNESNewtonTRPreCheck(), SNESNewtonTRGetPreCheck(), SNESNewtonTRSetPostCheck(), SNESNewtonTRGetPostCheck(), SNESNewtonTRSetPreCheck(), SNESNewtonTRSetFallbackType()

Level#

deprecated

Location#

src/snes/impls/tr/tr.c


Edit on GitLab

Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages