Actual source code: dagridctx.h
1: #ifndef PETSCDAGRIDCTX_H
2: #define PETSCDAGRIDCTX_H
4: #include "petscmat.h"
5: #include "petscda.h"
7: typedef struct {
9: DA da; /* The Structure Grid on which this problem is defined */
10: Vec X; /* The Variable Vector for this problem */
11: Vec XL,XU; /* Lower and upper bounds on the variables */
12: Mat H; /* The Hessian Matrix for this problem */
13: Vec R; /* Work vector */
14: Vec RHS; /* Work vector */
15: Vec W3; /* Work vector */
16: Mat Interpolate; /* The Interplation Matrix from a coarser grid to this grid */
17: Vec CScale; /* The Scaling Vector needed to restrict the solution on this grid to a coarser grid */
18: ISColoring coloring; /* Matrix Coloring for finite differences */
19: int mgrid; /* true if multigrid preconditioner setup */
20: KSP ksp; /* KSP object for this level */
21: } GridCtx;
23: #endif