SNESConverged_UM_TR

Monitors the convergence of the SNESSolve_UM_TR() routine (default).

Synopsis

#include "snes.h" 
int SNESConverged_UM_TR(SNES snes,double xnorm,double gnorm,double f,SNESConvergedReason *reason,void *dummy)
Collective on SNES

Input Parameters

snes - the SNES context
xnorm - 2-norm of current iterate
gnorm - 2-norm of current gradient
f - objective function value
dummy - unused dummy context

Output Parameter

reason -one of
  SNES_CONVERGED_FNORM_ABS         (f < fmin),
  SNES_CONVERGED_TR_REDUCTION      (abs(ared) <= rtol*abs(f) && pred <= rtol*abs(f)),
  SNES_CONVERGED_TR_DELTA          (delta <= deltatol*xnorm),
  SNES_DIVERGED_TR_REDUCTION       (abs(ared) <= epsmch && pred <= epsmch),
  SNES_DIVERGED_FUNCTION_COUNT     (nfunc > max_func),
  SNES_DIVERGED_FNORM_NAN          (f = NaN),
  SNES_CONVERGED_ITERATING         (otherwise).

where

ared - actual reduction
delta - trust region paramenter
deltatol - trust region size tolerance, set with SNESSetTrustRegionTolerance()
epsmch - machine epsilon
fmin - lower bound on function value, set with SNESSetMinimizationFunctionTolerance()
nfunc - number of function evaluations
maxfunc - maximum number of function evaluations, set with SNESSetTolerances()
pred - predicted reduction
rtol - relative function tolerance, set with SNESSetTolerances()

Level:intermediate
Location:src/snes/impls/umtr/umtr.c
SNES Index
Table of Contents