186#if MFEM_MUMPS_VERSION >= 510
216#if MFEM_MUMPS_VERSION >= 510
225#ifdef MFEM_USE_SINGLE
232 void Init(MPI_Comm comm_);
235 void SetParameters();
239 void InitRhsSol(
int nrhs)
const;
241#if MFEM_MUMPS_VERSION >= 530
246 int *irhs_loc, *isol_loc;
247 mutable real_t *rhs_loc, *sol_loc;
251 int GetRowRank(
int i,
const Array<int> &row_starts_)
const;
252 void RedistributeSol(
const int *rmap,
const real_t *x,
const int lx_loc,
256 int *recv_counts, *displs;
A class to initialize the size of a Tensor.
MUMPS: A Parallel Sparse Direct Solver.
ReorderingStrategy
Specify the reordering strategy for the MUMPS solver.
@ AMD
Approximate Minimum Degree with auto quasi-dense row detection is used.
@ METIS
The METIS library will be used.
@ PARMETIS
The ParMETIS library will be used.
@ AMF
Approximate Minimum Fill method will be used.
@ PORD
The PORD library will be used.
@ AUTOMATIC
Let MUMPS automatically decide the reording strategy.
@ PTSCOTCH
The PTScotch library will be used.
@ SCOTCH
The Scotch library will be used.
MUMPSSolver(MPI_Comm comm_)
Constructor with MPI_Comm parameter.
void MultTranspose(const Vector &x, Vector &y) const
Transpose Solve .
void SetBLRTol(double tol)
Set the tolerance for activating block low-rank (BLR) approximate factorization.
void SetPrintLevel(int print_lvl)
Set the error print level for MUMPS.
void Mult(const Vector &x, Vector &y) const
Solve .
void SetReorderingStrategy(ReorderingStrategy method)
Set the reordering strategy.
void ArrayMultTranspose(const Array< const Vector * > &X, Array< Vector * > &Y) const
Transpose Solve .
MatType
Specify the type of matrix we are applying the solver to.
@ UNSYMMETRIC
General sparse matrix, no symmetry is assumed.
@ SYMMETRIC_INDEFINITE
A sparse symmetric matrix that is not necessarily positive definite.
@ SYMMETRIC_POSITIVE_DEFINITE
A sparse symmetric positive definite matrix.
void SetMatrixSymType(MatType mtype)
Set the matrix type.
void SetReorderingReuse(bool reuse)
Set the flag controlling reuse of the symbolic factorization for multiple operators.
void SetOperator(const Operator &op)
Set the Operator and perform factorization.
void ArrayMult(const Array< const Vector * > &X, Array< Vector * > &Y) const
Solve .