15 #include "../config/config.hpp"
17 #ifdef MFEM_USE_SUPERLU
27 namespace superlu_internal
29 unsigned int sqrti(
const unsigned int & a);
51 int num_loc_rows,
int first_loc_row,
52 int glob_nrows,
int glob_ncols,
53 int *I,
int *J,
double *data);
64 " matrix vector products are not supported.");
67 MPI_Comm
GetComm()
const {
return comm_; }
158 #endif // MFEM_USE_MPI
159 #endif // MFEM_USE_SUPERLU
160 #endif // MFEM_SUPERLU
void * InternalData() const
void Mult(const Vector &x, Vector &y) const
Operator application: y=A(x).
bool LUStructInitialized_
void * ScalePermstructPtr_
void SetRowPermutation(superlu::RowPerm row_perm, Array< int > *perm=NULL)
void SetSymmetricPattern(bool sym)
void SetOperator(const Operator &op)
Set/update the solver for the given operator.
void SetIterativeRefine(superlu::IterRefine iter_ref)
void SetColumnPermutation(superlu::ColPerm col_perm)
void SetNumLookAheads(int num_lookaheads)
void SetPrintStatistics(bool print_stat)
void mfem_error(const char *msg)
void SetLookAheadElimTree(bool etree)
unsigned int sqrti(const unsigned int &a)
void SetReplaceTinyPivot(bool rtp)
void SetTranspose(superlu::Trans trans)
const SuperLURowLocMatrix * APtr_
bool firstSolveWithThisA_
void Mult(const Vector &x, Vector &y) const
Operator application: y=A(x).
SuperLURowLocMatrix(MPI_Comm comm, int num_loc_rows, int first_loc_row, int glob_nrows, int glob_ncols, int *I, int *J, double *data)
Wrapper for hypre's ParCSR matrix class.
SuperLUSolver(MPI_Comm comm)
void SetEquilibriate(bool equil)