xref: /petsc/src/snes/impls/tr/trimpl.h (revision acbee50cf348dfad5a0c974f13db500d764df1ff)
1*acbee50cSBarry Smith 
2*acbee50cSBarry Smith /*
3*acbee50cSBarry Smith    Context for a Newton trust region method for solving a system
4*acbee50cSBarry Smith    of nonlinear equations
5*acbee50cSBarry Smith  */
6*acbee50cSBarry Smith 
7*acbee50cSBarry Smith #ifndef __SNES_TR_H
8*acbee50cSBarry Smith #define __SNES_TR_H
9*acbee50cSBarry Smith #include "private/snesimpl.h"
10*acbee50cSBarry Smith 
11*acbee50cSBarry Smith typedef struct {
12*acbee50cSBarry Smith   /* ---- Parameters used by the trust region method  ---- */
13*acbee50cSBarry Smith   PetscReal  mu;		/* used to compute trust region parameter */
14*acbee50cSBarry Smith   PetscReal  eta;		/* used to compute trust region parameter */
15*acbee50cSBarry Smith   PetscReal  delta;		/* trust region parameter */
16*acbee50cSBarry Smith   PetscReal  delta0;	/* used to initialize trust region parameter */
17*acbee50cSBarry Smith   PetscReal  delta1;	/* used to compute trust region parameter */
18*acbee50cSBarry Smith   PetscReal  delta2;	/* used to compute trust region parameter */
19*acbee50cSBarry Smith   PetscReal  delta3;	/* used to compute trust region parameter */
20*acbee50cSBarry Smith   PetscReal  sigma;		/* used to detemine termination */
21*acbee50cSBarry Smith   PetscTruth itflag;	/* flag for convergence testing */
22*acbee50cSBarry Smith   PetscReal  rnorm0,ttol;   /* used for KSP convergence test */
23*acbee50cSBarry Smith } SNES_TR;
24*acbee50cSBarry Smith 
25*acbee50cSBarry Smith #endif
26