:orphan: # 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 -*** 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](https://gitlab.com/petsc/petsc/-/edit/release/src/snes/impls/tr/tr.c) [Index of all SNES routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)