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;