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 MatPtAPSymbolic_SeqAIJ_SeqMAIJ(Mat, Mat, PetscReal, Mat);
20: PETSC_INTERN PetscErrorCode MatPtAPNumeric_SeqAIJ_SeqMAIJ(Mat, Mat, Mat);
22: PETSC_INTERN PetscErrorCode MatProductSymbolic_PtAP_SeqAIJ_SeqMAIJ(Mat);
23: PETSC_INTERN PetscErrorCode MatProductSymbolic_PtAP_MPIAIJ_MPIMAIJ(Mat);
24: #endif