Actual source code: maij.h

  1: #pragma once

  3: #include <../src/mat/impls/aij/mpi/mpiaij.h>

  5: typedef struct {
  6:   PetscInt dof; /* number of components */
  7:   Mat      AIJ; /* representation of interpolation for one component */
  8: } Mat_SeqMAIJ;

 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;

 18: PETSC_INTERN PetscErrorCode MatProductSymbolic_PtAP_SeqAIJ_SeqMAIJ(Mat);
 19: PETSC_INTERN PetscErrorCode MatProductSymbolic_PtAP_MPIAIJ_MPIMAIJ(Mat);