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