Actual source code: tron.h
1: #pragma once
3: #include <petsc/private/taoimpl.h>
4: #include <petscis.h>
6: typedef struct {
7: /* Parameters */
8: PetscReal pg_ftol;
9: PetscReal actred;
10: PetscReal f_new;
12: PetscReal eta1, eta2, eta3, eta4;
13: PetscReal sigma1, sigma2, sigma3;
15: PetscInt maxgpits;
17: /* Problem variables, vectors and index sets */
18: PetscReal stepsize;
19: PetscReal pgstepsize;
21: /* Problem statistics */
23: PetscInt n; /* Dimension of the Problem */
24: PetscReal delta; /* Trust region size */
25: PetscReal gnorm;
26: PetscReal f;
28: PetscInt total_gp_its;
29: PetscInt gp_iterates;
31: Vec X_New;
32: Vec G_New;
33: Vec Work;
35: /* Subvectors and submatrices */
36: Vec DXFree;
37: Vec R;
38: Vec rmask;
39: Vec diag;
40: Mat H_sub;
41: Mat Hpre_sub;
43: IS Free_Local; /* Indices of local variables equal to lower bound */
44: VecScatter scatter;
46: PetscInt n_free; /* Number of free variables */
47: PetscInt n_free_last;
49: } TAO_TRON;