Actual source code: pvecimpl.h

  1: /* $Id: pvecimpl.h,v 1.33 2001/01/15 21:45:04 bsmith Exp $ */
  2: /* 
  3:  */

  5: #ifndef __PVECIMPL

  8: #include "src/vec/vecimpl.h"
  9: #include "src/vec/impls/dvecimpl.h"

 11: typedef struct {
 12:   VECHEADER
 13:   int         size,rank;
 14:   InsertMode  insertmode;
 15:   PetscTruth  donotstash;               /* Flag indicates stash values should be ignored */
 16:   int         *browners;                /* block-row-ownership,used for assembly */
 17:   MPI_Request *send_waits,*recv_waits;  /* for communication during VecAssembly() */
 18:   int         nsends,nrecvs;
 19:   Scalar      *svalues,*rvalues;
 20:   int         rmax;
 21: 
 22:   int         nghost;                   /* length of local portion including ghost padding */
 23: 
 24:   Vec         localrep;                 /* local representation of vector */
 25:   VecScatter  localupdate;              /* scatter to update ghost values */
 26: } Vec_MPI;

 28: EXTERN int VecNorm_Seq(Vec,NormType,double *work);
 29: EXTERN int VecMDot_MPI(int,Vec,const Vec[],Scalar *);
 30: EXTERN int VecMTDot_MPI(int,Vec,const Vec[],Scalar *);
 31: EXTERN int VecNorm_MPI(Vec,NormType,double *);
 32: EXTERN int VecMax_MPI(Vec,int *,double *);
 33: EXTERN int VecMin_MPI(Vec,int *,double *);
 34: EXTERN int VecGetOwnershipRange_MPI(Vec,int *,int*);
 35: EXTERN int VecDestroy_MPI(Vec);
 36: EXTERN int VecView_MPI_File(Vec,PetscViewer);
 37: EXTERN int VecView_MPI_Files(Vec,PetscViewer);
 38: EXTERN int VecView_MPI_Binary(Vec,PetscViewer);
 39: EXTERN int VecView_MPI_Draw_LG(Vec,PetscViewer);
 40: EXTERN int VecView_MPI_Socket(Vec,PetscViewer);
 41: EXTERN int VecView_MPI(Vec,PetscViewer);
 42: EXTERN int VecGetSize_MPI(Vec,int *);
 43: EXTERN int VecSetValues_MPI(Vec,int,const int [],const Scalar[],InsertMode);
 44: EXTERN int VecSetValuesBlocked_MPI(Vec,int,const int [],const Scalar[],InsertMode);
 45: EXTERN int VecAssemblyBegin_MPI(Vec);
 46: EXTERN int VecAssemblyEnd_MPI(Vec);

 48: EXTERN int VecCreate_MPI_Private(Vec,int,const Scalar[],Map);

 50: #endif