Actual source code: pvecimpl.h
petsc-3.3-p5 2012-12-01
2: #ifndef __PVECIMPL
5: #include <petsc-private/vecimpl.h>
6: #include <../src/vec/vec/impls/dvecimpl.h>
8: typedef struct {
9: VECHEADER
10: MPI_Request *send_waits,*recv_waits; /* for communication during VecAssembly() */
11: PetscInt nsends,nrecvs;
12: PetscScalar *svalues,*rvalues;
13: PetscInt rmax;
14:
15: PetscInt nghost; /* length of local portion including ghost padding */
16:
17: Vec localrep; /* local representation of vector */
18: VecScatter localupdate; /* scatter to update ghost values */
19: } Vec_MPI;
21: extern PetscErrorCode VecMDot_MPI(Vec,PetscInt,const Vec[],PetscScalar *);
22: extern PetscErrorCode VecTDot_MPI(Vec,Vec,PetscScalar *);
23: extern PetscErrorCode VecMTDot_MPI(Vec,PetscInt,const Vec[],PetscScalar *);
24: extern PetscErrorCode VecNorm_MPI(Vec,NormType,PetscReal *);
25: extern PetscErrorCode VecMax_MPI(Vec,PetscInt *,PetscReal *);
26: extern PetscErrorCode VecMin_MPI(Vec,PetscInt *,PetscReal *);
27: extern PetscErrorCode VecDestroy_MPI(Vec);
28: extern PetscErrorCode VecView_MPI_Binary(Vec,PetscViewer);
29: extern PetscErrorCode VecView_MPI_Netcdf(Vec,PetscViewer);
30: extern PetscErrorCode VecView_MPI_Draw_LG(Vec,PetscViewer);
31: extern PetscErrorCode VecView_MPI_Socket(Vec,PetscViewer);
32: extern PetscErrorCode VecView_MPI_HDF5(Vec,PetscViewer);
33: extern PetscErrorCode VecView_MPI(Vec,PetscViewer);
34: extern PetscErrorCode VecGetSize_MPI(Vec,PetscInt *);
35: extern PetscErrorCode VecPlaceArray_MPI(Vec,const PetscScalar []);
36: extern PetscErrorCode VecGetValues_MPI(Vec,PetscInt,const PetscInt [], PetscScalar []);
37: extern PetscErrorCode VecSetValues_MPI(Vec,PetscInt,const PetscInt [],const PetscScalar[],InsertMode);
38: extern PetscErrorCode VecSetValuesBlocked_MPI(Vec,PetscInt,const PetscInt [],const PetscScalar[],InsertMode);
39: extern PetscErrorCode VecAssemblyBegin_MPI(Vec);
40: extern PetscErrorCode VecAssemblyEnd_MPI(Vec);
42: extern PetscErrorCode VecCreate_MPI_Private(Vec,PetscBool ,PetscInt,const PetscScalar[]);
44: #endif