xref: /petsc/src/mat/impls/maij/maij.h (revision 2205254efee3a00a594e5e2a3a70f74dcb40bc03)
1 #if !defined(_MAIJ_H)
2 #define _MAIJ_H
3 
4 #include <../src/mat/impls/aij/mpi/mpiaij.h>
5 
6 typedef struct {
7   PetscInt   dof;         /* number of components */
8   Mat        AIJ;        /* representation of interpolation for one component */
9 } Mat_SeqMAIJ;
10 
11 typedef struct {
12   PetscInt   dof;         /* number of components */
13   Mat        AIJ,OAIJ;    /* representation of interpolation for one component */
14   Mat        A;
15   VecScatter ctx;         /* update ghost points for parallel case */
16   Vec        w;           /* work space for ghost values for parallel case */
17 } Mat_MPIMAIJ;
18 
19 PETSC_EXTERN_C PetscErrorCode MatPtAP_SeqAIJ_SeqMAIJ(Mat,Mat,MatReuse,PetscReal,Mat*);
20 PETSC_EXTERN_C PetscErrorCode MatPtAP_MPIAIJ_MPIMAIJ(Mat,Mat,MatReuse,PetscReal,Mat*);
21 extern PetscErrorCode MatPtAPNumeric_SeqAIJ_SeqMAIJ(Mat,Mat,Mat);
22 #endif
23