xref: /petsc/src/tao/quadratic/impls/bqpip/bqpipimpl.h (revision 7496261024634544fd8f216ee18f68e2d44cf056)
1*74962610SAlp Dener /*
2*74962610SAlp Dener   Private data structure used for bqpip method
3*74962610SAlp Dener */
4*74962610SAlp Dener 
5*74962610SAlp Dener #if !defined(__TAO_BQPIP_H)
6*74962610SAlp Dener #define __TAO_BQPIP_H
7*74962610SAlp Dener 
8*74962610SAlp Dener #include <petsc/private/taoimpl.h>
9*74962610SAlp Dener 
10*74962610SAlp Dener typedef struct {
11*74962610SAlp Dener   /* Parameters */
12*74962610SAlp Dener   PetscInt predcorr;
13*74962610SAlp Dener 
14*74962610SAlp Dener   /* Problem variables, vectors and index sets */
15*74962610SAlp Dener   PetscInt n;   /* Dimension of the Problem */
16*74962610SAlp Dener   PetscInt m;   /* Number of constraints */
17*74962610SAlp Dener 
18*74962610SAlp Dener   /* Problem statistics */
19*74962610SAlp Dener   PetscReal dinfeas;
20*74962610SAlp Dener   PetscReal pinfeas;
21*74962610SAlp Dener   PetscReal pobj;
22*74962610SAlp Dener   PetscReal dobj;
23*74962610SAlp Dener   PetscReal gap;
24*74962610SAlp Dener   PetscReal rgap;
25*74962610SAlp Dener   PetscReal mu;
26*74962610SAlp Dener   PetscReal pathnorm;
27*74962610SAlp Dener   PetscReal psteplength;
28*74962610SAlp Dener   PetscReal dsteplength;
29*74962610SAlp Dener   PetscReal rnorm;
30*74962610SAlp Dener 
31*74962610SAlp Dener   /* Variable Vectors */
32*74962610SAlp Dener   Vec G;
33*74962610SAlp Dener   Vec DG;
34*74962610SAlp Dener   Vec T;
35*74962610SAlp Dener   Vec DT;
36*74962610SAlp Dener   Vec Z;
37*74962610SAlp Dener   Vec DZ;
38*74962610SAlp Dener   Vec S;
39*74962610SAlp Dener   Vec DS;
40*74962610SAlp Dener   Vec GZwork;
41*74962610SAlp Dener   Vec TSwork;
42*74962610SAlp Dener   Vec XL,XU;
43*74962610SAlp Dener 
44*74962610SAlp Dener   /* Work Vectors */
45*74962610SAlp Dener   Vec R3;
46*74962610SAlp Dener   Vec R5;
47*74962610SAlp Dener   Vec HDiag;
48*74962610SAlp Dener   Vec Work;
49*74962610SAlp Dener 
50*74962610SAlp Dener   Vec DiagAxpy;
51*74962610SAlp Dener   Vec RHS;
52*74962610SAlp Dener   Vec RHS2;
53*74962610SAlp Dener 
54*74962610SAlp Dener   /* Data */
55*74962610SAlp Dener   Vec C;
56*74962610SAlp Dener   PetscReal d;
57*74962610SAlp Dener } TAO_BQPIP;
58*74962610SAlp Dener 
59*74962610SAlp Dener #endif  /* if !defined(__TAO_BQPIP_H) */
60*74962610SAlp Dener 
61