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