SNESNEWTONTRDC#
Newton based nonlinear solver that uses trust-region dogleg method with Cauchy direction
Options Database Keys#
-snes_trdc_tol tol - trust region tolerance
-snes_trdc_eta1 eta1 - trust region parameter 0.0 <= eta1 <= eta2, rho >= eta1 breaks out of the inner iteration (default: eta1=0.001)
-snes_trdc_eta2 eta2 - trust region parameter 0.0 <= eta1 <= eta2, rho <= eta2 shrinks the trust region (default: eta2=0.25)
-snes_trdc_eta3 eta3 - trust region parameter eta3 > eta2, rho >= eta3 expands the trust region (default: eta3=0.75)
-snes_trdc_t1 t1 - trust region parameter, shrinking factor of trust region (default: 0.25)
-snes_trdc_t2 t2 - trust region parameter, expanding factor of trust region (default: 2.0)
-snes_trdc_deltaM deltaM - trust region parameter, max size of trust region, \(deltaM*norm2(x)\) (default: 0.5)
-snes_trdc_delta0 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