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