1*a7e14dcfSSatish Balay #ifndef __TAO_TRON_H 2*a7e14dcfSSatish Balay #define __TAO_TRON_H 3*a7e14dcfSSatish Balay 4*a7e14dcfSSatish Balay #include "tao-private/taosolver_impl.h" 5*a7e14dcfSSatish Balay #include "petscis.h" 6*a7e14dcfSSatish Balay 7*a7e14dcfSSatish Balay typedef struct { 8*a7e14dcfSSatish Balay 9*a7e14dcfSSatish Balay /* Parameters */ 10*a7e14dcfSSatish Balay PetscReal pg_ftol; 11*a7e14dcfSSatish Balay PetscReal actred; 12*a7e14dcfSSatish Balay PetscReal f_new; 13*a7e14dcfSSatish Balay 14*a7e14dcfSSatish Balay PetscReal eta1,eta2,eta3,eta4; 15*a7e14dcfSSatish Balay PetscReal sigma1,sigma2,sigma3; 16*a7e14dcfSSatish Balay 17*a7e14dcfSSatish Balay PetscInt maxgpits; 18*a7e14dcfSSatish Balay 19*a7e14dcfSSatish Balay /* Problem variables, vectors and index sets */ 20*a7e14dcfSSatish Balay PetscReal stepsize; 21*a7e14dcfSSatish Balay PetscReal pgstepsize; 22*a7e14dcfSSatish Balay 23*a7e14dcfSSatish Balay /* Problem statistics */ 24*a7e14dcfSSatish Balay 25*a7e14dcfSSatish Balay PetscInt n; /* Dimension of the Problem */ 26*a7e14dcfSSatish Balay PetscReal delta; /* Trust region size */ 27*a7e14dcfSSatish Balay PetscReal gnorm; 28*a7e14dcfSSatish Balay PetscReal f; 29*a7e14dcfSSatish Balay 30*a7e14dcfSSatish Balay PetscInt total_gp_its; 31*a7e14dcfSSatish Balay PetscInt gp_iterates; 32*a7e14dcfSSatish Balay 33*a7e14dcfSSatish Balay 34*a7e14dcfSSatish Balay Vec X_New; 35*a7e14dcfSSatish Balay Vec G_New; 36*a7e14dcfSSatish Balay Vec Work; 37*a7e14dcfSSatish Balay 38*a7e14dcfSSatish Balay /* Subvectors and submatrices */ 39*a7e14dcfSSatish Balay Vec DXFree; 40*a7e14dcfSSatish Balay Vec R; 41*a7e14dcfSSatish Balay Vec rmask; 42*a7e14dcfSSatish Balay Vec diag; 43*a7e14dcfSSatish Balay Mat H_sub; 44*a7e14dcfSSatish Balay Mat Hpre_sub; 45*a7e14dcfSSatish Balay MatStructure matflag; 46*a7e14dcfSSatish Balay 47*a7e14dcfSSatish Balay IS Free_Local; /* Indices of local variables equal to lower bound */ 48*a7e14dcfSSatish Balay VecScatter scatter; 49*a7e14dcfSSatish Balay 50*a7e14dcfSSatish Balay PetscInt n_free; /* Number of free variables */ 51*a7e14dcfSSatish Balay PetscInt n_free_last; 52*a7e14dcfSSatish Balay 53*a7e14dcfSSatish Balay } TAO_TRON; 54*a7e14dcfSSatish Balay 55*a7e14dcfSSatish Balay #endif 56*a7e14dcfSSatish Balay 57