xref: /petsc/src/mat/impls/nest/matnestimpl.h (revision 06a1af2f5b4ece804d199086219e477db115facf)
1d8588912SDave May 
2519f805aSKarl Rupp #if !defined(MatNest_impl_h)
3d8588912SDave May #define MatNest_impl_h
4d8588912SDave May 
5af0996ceSBarry Smith #include <petsc/private/matimpl.h>
6d8588912SDave May 
7f349c1fdSJed Brown struct MatNestISPair {
8f349c1fdSJed Brown   IS *row,*col;
9f349c1fdSJed Brown };
10f349c1fdSJed Brown 
11d8588912SDave May typedef struct {
12d8588912SDave May   PetscInt             nr,nc;      /* nr x nc blocks */
13d8588912SDave May   Mat                  **m;
14f349c1fdSJed Brown   struct MatNestISPair isglobal;
15f349c1fdSJed Brown   struct MatNestISPair islocal;
16207556f9SJed Brown   Vec                  *left,*right;
17d8588912SDave May   PetscInt             *row_len,*col_len;
18*06a1af2fSStefano Zampini   PetscObjectState     *nnzstate;
19e7c19651SJed Brown   PetscBool            splitassembly;
20d8588912SDave May } Mat_Nest;
21d8588912SDave May 
22d8588912SDave May #endif
23