1: #ifndef PETSC_MATCLIQUEIMPL_H 2: #define PETSC_MATCLIQUEIMPL_H 4: #include <petsc/private/matimpl.h> 5: #include <petscmatelemental.h> 7: typedef struct { 8: MatStructure matstruc; 9: PetscBool CleanUp; /* Boolean indicating if we call Elue clean step */ 10: MPI_Comm comm; /* MPI communicator */ 11: PetscInt cutoff; /* maximum size of leaf node */ 12: PetscInt numDistSeps; /* number of distributed separators to try */ 13: PetscInt numSeqSeps; /* number of sequential separators to try */ 15: El::DistSparseMatrix<PetscElemScalar> *cmat; /* Elue sparse matrix */ 16: El::DistMap *inverseMap; 17: El::DistMultiVec<PetscElemScalar> *rhs; 18: } Mat_SparseElemental; 20: #endif // PETSC_MATCLIQUEIMPL_H