xref: /petsc/src/mat/impls/maij/maij.h (revision 6c2b77d522d8aa5c8b27f04fddd7150d0d6755fb)
1 #ifndef _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_INTERN PetscErrorCode MatPtAPSymbolic_SeqAIJ_SeqMAIJ(Mat, Mat, PetscReal, Mat);
20 PETSC_INTERN PetscErrorCode MatPtAPNumeric_SeqAIJ_SeqMAIJ(Mat, Mat, Mat);
21 
22 PETSC_INTERN PetscErrorCode MatProductSymbolic_PtAP_SeqAIJ_SeqMAIJ(Mat);
23 PETSC_INTERN PetscErrorCode MatProductSymbolic_PtAP_MPIAIJ_MPIMAIJ(Mat);
24 #endif
25