xref: /petsc/src/mat/impls/nest/matnestimpl.h (revision 9dd11ecf0918283bb567d8b33a92f53ac4ea7840)
1*a4963045SJacob Faibussowitsch #pragma once
2d8588912SDave May 
3af0996ceSBarry Smith #include <petsc/private/matimpl.h>
4d8588912SDave May 
5f349c1fdSJed Brown struct MatNestISPair {
6f349c1fdSJed Brown   IS *row, *col;
7f349c1fdSJed Brown };
8f349c1fdSJed Brown 
9d8588912SDave May typedef struct {
10d8588912SDave May   PetscInt             nr, nc; /* nr x nc blocks */
11d8588912SDave May   Mat                **m;
12f349c1fdSJed Brown   struct MatNestISPair isglobal;
13f349c1fdSJed Brown   struct MatNestISPair islocal;
14207556f9SJed Brown   Vec                 *left, *right;
15d8588912SDave May   PetscInt            *row_len, *col_len;
1606a1af2fSStefano Zampini   PetscObjectState    *nnzstate;
17e7c19651SJed Brown   PetscBool            splitassembly;
18d8588912SDave May } Mat_Nest;
19