xref: /petsc/src/tao/bound/impls/tron/tron.h (revision af0996ce37bc06907c37d8d91773840993d61e62)
1a7e14dcfSSatish Balay #ifndef __TAO_TRON_H
2a7e14dcfSSatish Balay #define __TAO_TRON_H
3a7e14dcfSSatish Balay 
4*af0996ceSBarry Smith #include <petsc/private/taoimpl.h>
5aaa7dc30SBarry 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 
46a7e14dcfSSatish Balay   IS Free_Local;  /* Indices of local variables equal to lower bound */
47a7e14dcfSSatish Balay   VecScatter scatter;
48a7e14dcfSSatish Balay 
49a7e14dcfSSatish Balay   PetscInt n_free;       /* Number of free variables */
50a7e14dcfSSatish Balay   PetscInt n_free_last;
51a7e14dcfSSatish Balay 
52a7e14dcfSSatish Balay } TAO_TRON;
53a7e14dcfSSatish Balay 
54a7e14dcfSSatish Balay #endif
55a7e14dcfSSatish Balay 
56