SNESNEWTONTRDC#
Newton based nonlinear solver that uses trust-region dogleg method with Cauchy direction
Options Database Keys#
-snes_trdc_tol
- trust region tolerance-snes_trdc_eta1
- trust region parameter 0.0 <= eta1 <= eta2, rho >= eta1 breaks out of the inner iteration (default: eta1=0.001)-snes_trdc_eta2
- trust region parameter 0.0 <= eta1 <= eta2, rho <= eta2 shrinks the trust region (default: eta2=0.25)-snes_trdc_eta3
- trust region parameter eta3 > eta2, rho >= eta3 expands the trust region (default: eta3=0.75)-snes_trdc_t1
- trust region parameter, shrinking factor of trust region (default: 0.25)-snes_trdc_t2
- trust region parameter, expanding factor of trust region (default: 2.0)-snes_trdc_deltaM
- trust region parameter, max size of trust region, \(deltaM*norm2(x)\) (default: 0.5)-snes_trdc_delta0
- trust region parameter, initial size of trust region, \(delta0*norm2(x)\) (default: 0.1)-snes_trdc_auto_scale_max <auto_scale_max> - used with auto_scale_multiphase, caps the maximum auto-scaling factor
-snes_trdc_use_cauchy <use_cauchy> - True uses dogleg Cauchy (Steepest Descent direction) step & direction in the trust region algorithm
-snes_trdc_auto_scale_multiphase <auto_scale_multiphase> - True turns on auto-scaling for multivariable block matrix for Cauchy and trust region
Notes#
SNESNEWTONTRDC
only works for root-finding problems and does not support objective functions.
The main difference with respect to SNESNEWTONTR
is that SNESNEWTONTRDC
scales the trust region by the norm of the current linearization point.
Future version may extend the SNESNEWTONTR
code and deprecate SNESNEWTONTRDC
.
For details, see [PHVL21]
References#
Heeho D Park, Glenn E Hammond, Albert J Valocchi, and Tara LaForce. Linear and nonlinear solvers for simulating multiphase flow within large-scale engineered subsurface systems. Advances in Water Resources, 156:104029, 2021.
See Also#
SNES: Nonlinear Solvers, SNESCreate()
, SNES
, SNESSetType()
, SNESNEWTONLS
, SNESNewtonTRSetTolerances()
,
SNESNewtonTRDCPreCheck()
, SNESNewtonTRDCGetPreCheck()
, SNESNewtonTRDCSetPostCheck()
, SNESNewtonTRDCGetPostCheck()
,
SNESNewtonTRDCGetRhoFlag()
, SNESNewtonTRDCSetPreCheck()
Level#
advanced
Location#
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages