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