xref: /petsc/src/mat/impls/sbaij/mpi/mpisbaij.h (revision d79853d5c1834714f23f1442e14d2ec8e049fa37)
1a30f8f8cSSatish Balay 
2a30f8f8cSSatish Balay #if !defined(__MPISBAIJ_H)
3a30f8f8cSSatish Balay #define __MPISBAIJ_H
4c6db04a5SJed Brown #include <../src/mat/impls/baij/seq/baij.h>
5c6db04a5SJed Brown #include <../src/mat/impls/sbaij/seq/sbaij.h>
6c6db04a5SJed Brown #include <../src/mat/impls/baij/mpi/mpibaij.h>
7a30f8f8cSSatish Balay 
8a30f8f8cSSatish Balay typedef struct {
91d18e487SKris Buschelman   MPIBAIJHEADER;
10633e10c7SHong Zhang   Vec        slvec0,slvec1;               /* parallel vectors */
1140781036SHong Zhang   Vec        slvec0b,slvec1a,slvec1b;     /* seq vectors: local partition of slvec0 and slvec1 */
1240781036SHong Zhang   VecScatter sMvctx;                      /* scatter context for vector used for reducing communication */
1359ffdab8SBarry Smith 
1441f059aeSBarry Smith   Vec diag;                               /* used in MatSOR_MPISBAIJ() with Eisenstat */
15fa22f6d0SBarry Smith   Vec bb1,xx1;
1626fbe8dcSKarl Rupp 
1759ffdab8SBarry Smith   /* these are used in MatSetValues() as tmp space before passing to the stasher */
1859ffdab8SBarry Smith   PetscInt  n_loc,*in_loc;                /* nloc is length of in_loc and v_loc */
1959ffdab8SBarry Smith   MatScalar *v_loc;
20a30f8f8cSSatish Balay } Mat_MPISBAIJ;
21a30f8f8cSSatish Balay 
225a576424SJed Brown PETSC_INTERN PetscErrorCode MatLoad_MPISBAIJ(Mat,PetscViewer);
235a576424SJed Brown PETSC_INTERN PetscErrorCode MatMult_MPISBAIJ_Hermitian(Mat,Vec,Vec);
24*d79853d5SSatish Balay 
25*d79853d5SSatish Balay PETSC_INTERN PetscErrorCode MatSetUpMultiply_MPISBAIJ(Mat);
26*d79853d5SSatish Balay PETSC_INTERN PetscErrorCode MatSetUpMultiply_MPISBAIJ_2comm(Mat);
27*d79853d5SSatish Balay PETSC_INTERN PetscErrorCode MatDisAssemble_MPISBAIJ(Mat);
28*d79853d5SSatish Balay PETSC_INTERN PetscErrorCode MatIncreaseOverlap_MPISBAIJ(Mat,PetscInt,IS[],PetscInt);
29*d79853d5SSatish Balay PETSC_INTERN PetscErrorCode MatGetRowMaxAbs_MPISBAIJ(Mat,Vec,PetscInt[]);
30*d79853d5SSatish Balay PETSC_INTERN PetscErrorCode MatSOR_MPISBAIJ(Mat,Vec,PetscReal,MatSORType,PetscReal,PetscInt,PetscInt,Vec);
31*d79853d5SSatish Balay 
32a30f8f8cSSatish Balay #endif
33