Actual source code: matcliqueimpl.h

petsc-3.12.2 2019-11-22
Report Typos and Errors
  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