xref: /petsc/src/mat/impls/hypre/mhypre.h (revision db9fc945a3c8a0a4b4e9c7cf33c611e450ed8efd)
1 #ifndef _MHYPRE_H
2 #define _MHYPRE_H
3 
4 #include <petscsys.h>
5 #include <../src/vec/vec/impls/hypre/vhyp.h>
6 #include <HYPRE_IJ_mv.h>
7 
8 typedef struct {
9   HYPRE_IJMatrix    ij;
10   VecHYPRE_IJVector x;
11   VecHYPRE_IJVector b;
12   MPI_Comm          comm;
13   PetscBool         inner_free;
14 
15   /* MatGetArray_HYPRE */
16   void     *array;
17   PetscInt  array_size;
18   PetscBool array_available;
19 
20   /* MatSetOption_ support */
21   PetscBool donotstash;
22 
23   /* An agent matrix which does the MatSetValuesCOO() job for IJMatrix */
24   Mat       cooMat;
25   PetscBool cooMatAttached;
26 } Mat_HYPRE;
27 
28 #endif
29