Actual source code: umls.h

  1: /*$Id: umls.h,v 1.8 1999/11/23 18:10:43 bsmith Exp $*/
  2: /*
  3:     Context for a Newton line search method (unconstrained minimization)
  4:  */

  6: #ifndef __SNES_UMLS_H
 8:  #include src/snes/snesimpl.h

 10: typedef struct {

 12: /* --------------- Parameters used by line search method ----------------- */
 13:   Scalar gamma;                     /* damping parameter */
 14:   double maxstep;             /* maximum step size */
 15:   double gamma_factor;             /* damping parameter */
 16:   double rtol;                     /* relative tol for acceptable step (rtol>0) */
 17:   double ftol;                     /* tol for sufficient decrease condition (ftol>0) */
 18:   double gtol;                     /* tol for curvature condition (gtol>0)*/
 19:   double stepmin;             /* lower bound for step */
 20:   double stepmax;             /* upper bound for step */
 21:   double step;                     /* step size */
 22:   int    max_kspiter_factor; /* computes max KSP iterations */
 23:   int    maxfev;             /* maximum funct evals per line search call */
 24:   int    nfev;                     /* number of funct evals per line search call */
 25:   int    bracket;
 26:   int    infoc;

 28: /* ------------------------- Line search routine ------------------------- */
 29:   int    (*LineSearch)(SNES,Vec,Vec,Vec,Vec,double*,double*,double*,int*);
 30:   int    line;                     /* line search termination code (set line=1 on success) */
 31: } SNES_UM_LS;

 33: #endif