5: #include <petscsf.h> 6: #include <petsc/private/matimpl.h> 8: typedef struct { 9: Mat A; /* the local Neumann matrix */ 10: VecScatter ctx; /* update ghost points for matrix vector product */ 11: Vec x,y; /* work space for ghost values for matrix vector product */ 12: ISLocalToGlobalMapping mapping; 13: int rstart,rend; /* local row ownership */ 14: PetscBool pure_neumann; 15: PetscSF sf; 16: PetscInt sf_nroots,sf_nleaves; 17: PetscInt *sf_rootdata,*sf_leafdata; 18: } Mat_IS; 20: PETSC_EXTERN PetscErrorCode MatISSetMPIXAIJPreallocation_Private(Mat,Mat,PetscBool); 21: #endif