Actual source code: mhyp.h


 3:  #include petscda.h
  4: #include "HYPRE_struct_mv.h"
  5: #include "HYPRE_struct_ls.h"
  6: #include "_hypre_struct_mv.h"
  7: #include "HYPRE_sstruct_mv.h"
  8: #include "HYPRE_sstruct_ls.h"
  9: #include "_hypre_sstruct_mv.h"

 11: typedef struct {
 12:   MPI_Comm            hcomm;
 13:   DA                  da;
 14:   HYPRE_StructGrid    hgrid;
 15:   HYPRE_StructStencil hstencil;
 16:   HYPRE_StructMatrix  hmat;
 17:   HYPRE_StructVector  hb,hx;
 18:   hypre_Box           hbox;

 20:   PetscTruth          needsinitialization;

 22:   /* variables that are stored here so they need not be reloaded for each MatSetValuesLocal() or MatZeroRowsLocal() call */
 23:   PetscInt            *gindices,rstart,gnx,gnxgny,xs,ys,zs,nx,ny,nxny;
 24: } Mat_HYPREStruct;

 26: typedef struct {
 27:   MPI_Comm               hcomm;
 28:   DA                     da;
 29:   HYPRE_SStructGrid      ss_grid;
 30:   HYPRE_SStructGraph     ss_graph;
 31:   HYPRE_SStructStencil   ss_stencil;
 32:   HYPRE_SStructMatrix    ss_mat;
 33:   HYPRE_SStructVector    ss_b, ss_x;
 34:   hypre_Box              hbox;

 36:   int                    ss_object_type;
 37:   int                    nvars;
 38:   int                    dofs_order;

 40:   PetscTruth             needsinitialization;

 42:   /* variables that are stored here so they need not be reloaded for each MatSetValuesLocal() or MatZeroRowsLocal() call */
 43:   PetscInt              *gindices,rstart,gnx,gnxgny,gnxgnygnz,xs,ys,zs,nx,ny,nz,nxny,nxnynz;
 44: } Mat_HYPRESStruct;