SNESConverged_TR

Monitors the convergence of the trust region method SNESTR for solving systems of nonlinear equations (default).

Synopsis

#include "petscsnes.h"   
int SNESConverged_TR(SNES snes,PetscReal xnorm,PetscReal pnorm,PetscReal fnorm,SNESConvergedReason *reason,void *dummy)
Collective on SNES

Input Parameters

snes - the SNES context
xnorm - 2-norm of current iterate
pnorm - 2-norm of current step
fnorm - 2-norm of function
dummy - unused context

Output Parameter

reason -one of
 SNES_CONVERGED_FNORM_ABS       - (fnorm < atol),
 SNES_CONVERGED_PNORM_RELATIVE  - (pnorm < xtol*xnorm),
 SNES_CONVERGED_FNORM_RELATIVE  - (fnorm < rtol*fnorm0),
 SNES_DIVERGED_FUNCTION_COUNT   - (nfct > maxf),
 SNES_DIVERGED_FNORM_NAN        - (fnorm == NaN),
 SNES_CONVERGED_TR_DELTA        - (delta < xnorm*deltatol),
 SNES_CONVERGED_ITERATING       - (otherwise)

where

delta - trust region paramenter
deltatol - trust region size tolerance, set with SNESSetTrustRegionTolerance()
maxf - maximum number of function evaluations, set with SNESSetTolerances()
nfct - number of function evaluations,
atol - absolute function norm tolerance, set with SNESSetTolerances()
xtol - relative function norm tolerance, set with SNESSetTolerances()

Keywords

SNES, nonlinear, default, converged, convergence

See Also

SNESSetConvergenceTest(), SNESEisenstatWalkerConverged()

Level:intermediate
Location:
src/snes/impls/tr/tr.c
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages