5: #include <petscsf.h> 6: #include <petsc/private/matimpl.h> 8: typedef struct { 9: Mat A; /* the local matrix */ 10: VecScatter cctx; /* column scatter */ 11: VecScatter rctx; /* row scatter */ 12: Vec x,y; /* work space for matrix vector product */ 13: PetscBool pure_neumann; 14: PetscSF sf; 15: PetscInt sf_nroots,sf_nleaves; 16: PetscInt *sf_rootdata,*sf_leafdata; 17: } Mat_IS; 19: PETSC_EXTERN PetscErrorCode MatISSetMPIXAIJPreallocation_Private(Mat,Mat,PetscBool); 20: #endif