1: #ifndef _MAIJ_H 2: #define _MAIJ_H 4: #include <../src/mat/impls/aij/mpi/mpiaij.h> 6: typedef struct { 7: PetscInt dof; /* number of components */ 8: Mat AIJ; /* representation of interpolation for one component */ 9: } Mat_SeqMAIJ; 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; 19: PETSC_INTERN PetscErrorCode MatProductSymbolic_PtAP_SeqAIJ_SeqMAIJ(Mat); 20: PETSC_INTERN PetscErrorCode MatProductSymbolic_PtAP_MPIAIJ_MPIMAIJ(Mat); 21: #endif