Actual source code: matcliqueimpl.h
petsc-3.10.5 2019-03-28
1: #if !defined(_matcliqueimpl_h)
2: #define _matcliqueimpl_h
4: #include <El.hpp>
5: #include <petsc/private/matimpl.h>
7: #if defined(PETSC_USE_COMPLEX)
8: typedef El::Complex<PetscReal> PetscElemScalar;
9: #else
10: typedef PetscScalar PetscElemScalar;
11: #endif
13: typedef struct {
14: MatStructure matstruc;
15: PetscBool CleanUp; /* Boolean indicating if we call Elue clean step */
16: MPI_Comm comm; /* MPI communicator */
17: PetscInt cutoff; /* maximum size of leaf node */
18: PetscInt numDistSeps; /* number of distributed separators to try */
19: PetscInt numSeqSeps; /* number of sequential separators to try */
21: El::DistSparseMatrix<PetscElemScalar> *cmat; /* Elue sparse matrix */
22: El::DistMap *inverseMap;
23: El::DistMultiVec<PetscElemScalar> *rhs;
24: } Mat_SparseElemental;
26: #endif