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