Actual source code: umls.h

  1: /*$Id: umls.h,v 1.10 2001/08/07 21:31:11 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:   PetscScalar gamma;                     /* damping parameter */
 14:   PetscReal maxstep;             /* maximum step size */
 15:   PetscReal gamma_factor;             /* damping parameter */
 16:   PetscReal rtol;                     /* relative tol for acceptable step (rtol>0) */
 17:   PetscReal ftol;                     /* tol for sufficient decrease condition (ftol>0) */
 18:   PetscReal gtol;                     /* tol for curvature condition (gtol>0)*/
 19:   PetscReal stepmin;             /* lower bound for step */
 20:   PetscReal stepmax;             /* upper bound for step */
 21:   PetscReal 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,PetscReal*,PetscReal*,PetscReal*,int*);
 30:   int       line;                     /* line search termination code (set line=1 on success) */
 31: } SNES_UM_LS;

 33: #endif