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