xref: /petsc/src/mat/impls/maij/maij.h (revision 9dd11ecf0918283bb567d8b33a92f53ac4ea7840)
1 #pragma once
2 
3 #include <../src/mat/impls/aij/mpi/mpiaij.h>
4 
5 typedef struct {
6   PetscInt dof; /* number of components */
7   Mat      AIJ; /* representation of interpolation for one component */
8 } Mat_SeqMAIJ;
9 
10 typedef struct {
11   PetscInt   dof;       /* number of components */
12   Mat        AIJ, OAIJ; /* representation of interpolation for one component */
13   Mat        A;
14   VecScatter ctx; /* update ghost points for parallel case */
15   Vec        w;   /* work space for ghost values for parallel case */
16 } Mat_MPIMAIJ;
17 
18 PETSC_INTERN PetscErrorCode MatProductSymbolic_PtAP_SeqAIJ_SeqMAIJ(Mat);
19 PETSC_INTERN PetscErrorCode MatProductSymbolic_PtAP_MPIAIJ_MPIMAIJ(Mat);
20