xref: /petsc/src/mat/impls/aij/mpi/mpiaij.h (revision fa9ec3f1eecbb61c035ea6bc76a75ea235ea3ac3) !
1 
2 #include "aij.h"
3 #include <math.h>
4 
5 typedef  struct {int nmax, n, *idx, *idy; Scalar *array;} Stash;
6 
7 typedef struct {
8   int           *rowners,*cowners;  /* ranges owned by each processor */
9   int           m,n,M,N;            /* local rows, cols, global rows, cols */
10   int           rstart,rend,cstart,cend;
11   Mat           A,B;
12   int           numtids,mytid;
13 /*  Used in Matrix assembly */
14   int           assembled;          /* MatAssemble has been called */
15   InsertMode    insertmode;
16   Stash         stash;
17   MPI_Request   *send_waits,*recv_waits;
18   int           nsends,nrecvs;
19   Scalar        *svalues,*rvalues;
20   int           rmax;
21   int           *colmap;    /* indicates local col number of off proc column*/
22   int           *garray;
23 /*  Used in Matrix-vector product */
24   Vec           lvec;
25   VecScatterCtx Mvctx;
26   void          *bsinterf;
27   int           flag;     /* flag for BS */
28 } Mat_MPIAIJ;
29 
30 
31