#include "aij.h" #include typedef struct {int nmax, n, *idx, *idy; Scalar *array;} Stash; typedef struct { int *rowners,*cowners; /* ranges owned by each processor */ int m,n,M,N; /* local rows, cols, global rows, cols */ int rstart,rend,cstart,cend; Mat A,B; int numtids,mytid; /* Used in Matrix assembly */ int assembled; /* MatAssemble has been called */ InsertMode insertmode; Stash stash; MPI_Request *send_waits,*recv_waits; int nsends,nrecvs; Scalar *svalues,*rvalues; int rmax; int *colmap; /* indicates local col number of off proc column*/ int *garray; /* Used in Matrix-vector product */ Vec lvec; VecScatterCtx Mvctx; void *bsinterf; int flag; /* flag for BS */ } Mat_MPIAIJ;