1*a4963045SJacob Faibussowitsch #pragma once 2f4bdf6c4SBarry Smith 3c6db04a5SJed Brown #include <petscdmda.h> /*I "petscdmda.h" I*/ 4c6db04a5SJed Brown #include <HYPRE_struct_mv.h> 5c6db04a5SJed Brown #include <HYPRE_struct_ls.h> 6c6db04a5SJed Brown #include <_hypre_struct_mv.h> 7c6db04a5SJed Brown #include <HYPRE_sstruct_mv.h> 8c6db04a5SJed Brown #include <HYPRE_sstruct_ls.h> 9c6db04a5SJed Brown #include <_hypre_sstruct_mv.h> 10f4bdf6c4SBarry Smith 11f4bdf6c4SBarry Smith typedef struct { 12f4bdf6c4SBarry Smith MPI_Comm hcomm; 13f4bdf6c4SBarry Smith DM da; 14f4bdf6c4SBarry Smith HYPRE_StructGrid hgrid; 15f4bdf6c4SBarry Smith HYPRE_StructStencil hstencil; 16f4bdf6c4SBarry Smith HYPRE_StructMatrix hmat; 17f4bdf6c4SBarry Smith HYPRE_StructVector hb, hx; 18f4bdf6c4SBarry Smith hypre_Box hbox; 19f4bdf6c4SBarry Smith 20f4bdf6c4SBarry Smith PetscBool needsinitialization; 21f4bdf6c4SBarry Smith 22f4bdf6c4SBarry Smith /* variables that are stored here so they need not be reloaded for each MatSetValuesLocal() or MatZeroRowsLocal() call */ 2319bfd8f8SBarry Smith const PetscInt *gindices; 2419bfd8f8SBarry Smith PetscInt rstart, gnx, gnxgny, xs, ys, zs, nx, ny, nxny; 25f4bdf6c4SBarry Smith } Mat_HYPREStruct; 26f4bdf6c4SBarry Smith 27f4bdf6c4SBarry Smith typedef struct { 28f4bdf6c4SBarry Smith MPI_Comm hcomm; 29f4bdf6c4SBarry Smith DM da; 30f4bdf6c4SBarry Smith HYPRE_SStructGrid ss_grid; 31f4bdf6c4SBarry Smith HYPRE_SStructGraph ss_graph; 32f4bdf6c4SBarry Smith HYPRE_SStructStencil ss_stencil; 33f4bdf6c4SBarry Smith HYPRE_SStructMatrix ss_mat; 34f4bdf6c4SBarry Smith HYPRE_SStructVector ss_b, ss_x; 35f4bdf6c4SBarry Smith hypre_Box hbox; 36f4bdf6c4SBarry Smith 37f4bdf6c4SBarry Smith int ss_object_type; 38f4bdf6c4SBarry Smith int nvars; 39f4bdf6c4SBarry Smith int dofs_order; 40f4bdf6c4SBarry Smith 41f4bdf6c4SBarry Smith PetscBool needsinitialization; 42f4bdf6c4SBarry Smith 43f4bdf6c4SBarry Smith /* variables that are stored here so they need not be reloaded for each MatSetValuesLocal() or MatZeroRowsLocal() call */ 4419bfd8f8SBarry Smith const PetscInt *gindices; 4519bfd8f8SBarry Smith PetscInt rstart, gnx, gnxgny, gnxgnygnz, xs, ys, zs, nx, ny, nz, nxny, nxnynz; 46f4bdf6c4SBarry Smith } Mat_HYPRESStruct; 47