Date: 2013-07-02T14:41:20+00:00

Actual source code: mpidense.h
petsc-3.4.2 2013-07-02

      2: #include <../src/mat/impls/dense/seq/dense.h>

      4: /*  Data stuctures for basic parallel dense matrix  */

      6: typedef struct {
      7:   PetscInt    nvec;                     /* this is the n size for the vector one multiplies with */
      8:   Mat         A;                        /* local submatrix */
      9:   PetscMPIInt size;                     /* size of communicator */
     10:   PetscMPIInt rank;                     /* rank of proc in communicator */
     11:   /* The following variables are used for matrix assembly */
     12:   PetscBool   donotstash;               /* Flag indicationg if values should be stashed */
     13:   MPI_Request *send_waits;              /* array of send requests */
     14:   MPI_Request *recv_waits;              /* array of receive requests */
     15:   PetscInt    nsends,nrecvs;           /* numbers of sends and receives */
     16:   PetscScalar *svalues,*rvalues;       /* sending and receiving data */
     17:   PetscInt    rmax;                     /* maximum message length */

     19:   /* The following variables are used for matrix-vector products */

     21:   Vec        lvec;                      /* local vector */
     22:   VecScatter Mvctx;                     /* scatter context for vector */

     24:   PetscBool roworiented;                /* if true, row oriented input (default) */
     25: } Mat_MPIDense;

     27: PETSC_INTERN PetscErrorCode MatLoad_MPIDense(Mat,PetscViewer);
     28: PETSC_INTERN PetscErrorCode MatSetUpMultiply_MPIDense(Mat);
     29: PETSC_INTERN PetscErrorCode MatGetSubMatrices_MPIDense(Mat,PetscInt,const IS[],const IS[],MatReuse,Mat *[]);
     30: PETSC_INTERN PetscErrorCode MatEqual_MPIDense(Mat,Mat,PetscBool*);
     31: PETSC_INTERN PetscErrorCode MatMatMultSymbolic_MPIDense_MPIDense(Mat,Mat,PetscReal,Mat*);
     32: PETSC_INTERN PetscErrorCode MatMatMult_MPIAIJ_MPIDense(Mat,Mat,MatReuse,PetscReal,Mat*);
     33: PETSC_INTERN PetscErrorCode MatMatMultSymbolic_MPIAIJ_MPIDense(Mat,Mat,PetscReal,Mat*);
     34: PETSC_INTERN PetscErrorCode MatMatMultNumeric_MPIAIJ_MPIDense(Mat,Mat,Mat);
     35: PETSC_INTERN PetscErrorCode MatGetFactor_mpidense_petsc(Mat,MatFactorType,Mat*);