xref: /petsc/src/mat/impls/sbaij/mpi/mpisbaij.h (revision 7d6bfa3b9d7db0ccd4cc481237114ca8dbb0dbff)
1 
2 #if !defined(__MPISBAIJ_H)
3 #define __MPISBAIJ_H
4 #include "../src/mat/impls/baij/seq/baij.h"
5 #include "../src/sys/ctable.h"
6 #include "../src/mat/impls/sbaij/seq/sbaij.h"
7 #include "../src/mat/impls/baij/mpi/mpibaij.h"
8 
9 typedef struct {
10   MPIBAIJHEADER;
11   Vec           slvec0,slvec1;            /* parallel vectors */
12   Vec           slvec0b,slvec1a,slvec1b;  /* seq vectors: local partition of slvec0 and slvec1 */
13   VecScatter    sMvctx;                   /* scatter context for vector used for reducing communication */
14 
15   /* these are used in MatSetValues() as tmp space before passing to the stasher */
16   PetscInt      n_loc,*in_loc;            /* nloc is length of in_loc and v_loc */
17   MatScalar     *v_loc;
18 } Mat_MPISBAIJ;
19 
20 EXTERN PetscErrorCode MatLoad_MPISBAIJ(PetscViewer, const MatType,Mat*);
21 #endif
22