1: #ifndef __TAO_TRON_H 4: #include <petsc/private/taoimpl.h> 5: #include <petscis.h> 7: typedef struct { 8: /* Parameters */ 9: PetscReal pg_ftol; 10: PetscReal actred; 11: PetscReal f_new; 13: PetscReal eta1, eta2, eta3, eta4; 14: PetscReal sigma1, sigma2, sigma3; 16: PetscInt maxgpits; 18: /* Problem variables, vectors and index sets */ 19: PetscReal stepsize; 20: PetscReal pgstepsize; 22: /* Problem statistics */ 24: PetscInt n; /* Dimension of the Problem */ 25: PetscReal delta; /* Trust region size */ 26: PetscReal gnorm; 27: PetscReal f; 29: PetscInt total_gp_its; 30: PetscInt gp_iterates; 32: Vec X_New; 33: Vec G_New; 34: Vec Work; 36: /* Subvectors and submatrices */ 37: Vec DXFree; 38: Vec R; 39: Vec rmask; 40: Vec diag; 41: Mat H_sub; 42: Mat Hpre_sub; 44: IS Free_Local; /* Indices of local variables equal to lower bound */ 45: VecScatter scatter; 47: PetscInt n_free; /* Number of free variables */ 48: PetscInt n_free_last; 50: } TAO_TRON; 52: #endif