Actual source code: mpisbaij.h

petsc-3.7.3 2016-08-01
Report Typos and Errors
  4: #include <../src/mat/impls/baij/seq/baij.h>
  5: #include <../src/mat/impls/sbaij/seq/sbaij.h>
  6: #include <../src/mat/impls/baij/mpi/mpibaij.h>

  8: typedef struct {
  9:   MPIBAIJHEADER;
 10:   Vec        slvec0,slvec1;               /* parallel vectors */
 11:   Vec        slvec0b,slvec1a,slvec1b;     /* seq vectors: local partition of slvec0 and slvec1 */
 12:   VecScatter sMvctx;                      /* scatter context for vector used for reducing communication */

 14:   Vec diag;                               /* used in MatSOR_MPISBAIJ() with Eisenstat */
 15:   Vec bb1,xx1;

 17:   /* these are used in MatSetValues() as tmp space before passing to the stasher */
 18:   PetscInt  n_loc,*in_loc;                /* nloc is length of in_loc and v_loc */
 19:   MatScalar *v_loc;
 20: } Mat_MPISBAIJ;

 22: PETSC_INTERN PetscErrorCode MatLoad_MPISBAIJ(Mat,PetscViewer);
 23: PETSC_INTERN PetscErrorCode MatMult_MPISBAIJ_Hermitian(Mat,Vec,Vec);

 25: PETSC_INTERN PetscErrorCode MatSetUpMultiply_MPISBAIJ(Mat);
 26: PETSC_INTERN PetscErrorCode MatSetUpMultiply_MPISBAIJ_2comm(Mat);
 27: PETSC_INTERN PetscErrorCode MatDisAssemble_MPISBAIJ(Mat);
 28: PETSC_INTERN PetscErrorCode MatIncreaseOverlap_MPISBAIJ(Mat,PetscInt,IS[],PetscInt);
 29: PETSC_INTERN PetscErrorCode MatGetRowMaxAbs_MPISBAIJ(Mat,Vec,PetscInt[]);
 30: PETSC_INTERN PetscErrorCode MatSOR_MPISBAIJ(Mat,Vec,PetscReal,MatSORType,PetscReal,PetscInt,PetscInt,Vec);

 32: #endif