15 #include "../config/config.hpp" 20 #include "operator.hpp" 145 #if MFEM_MUMPS_VERSION >= 510 175 #if MFEM_MUMPS_VERSION >= 510 187 void Init(MPI_Comm comm_);
190 void SetParameters();
194 void InitRhsSol(
int nrhs)
const;
196 #if MFEM_MUMPS_VERSION >= 530 201 int *irhs_loc, *isol_loc;
202 mutable double *rhs_loc, *sol_loc;
206 int GetRowRank(
int i,
const Array<int> &row_starts_)
const;
207 void RedistributeSol(
const int *rmap,
const double *x,
const int lx_loc,
211 int *recv_counts, *displs;
212 mutable double *rhs_glob;
218 #endif // MFEM_USE_MPI 219 #endif // MFEM_USE_MUMPS void ArrayMultTranspose(const Array< const Vector *> &X, Array< Vector *> &Y) const
Action of the transpose operator on a matrix: Y=A^t(X).
void SetOperator(const Operator &op)
Set the Operator and perform factorization.
void SetPrintLevel(int print_lvl)
Set the error print level for MUMPS.
MUMPSSolver(MPI_Comm comm_)
Constructor with MPI_Comm parameter.
void SetMatrixSymType(MatType mtype)
Set the matrix type.
void Mult(const Vector &x, Vector &y) const
Solve y = Op^{-1} x.
void ArrayMult(const Array< const Vector *> &X, Array< Vector *> &Y) const
Operator application on a matrix: Y=A(X).
void SetReorderingStrategy(ReorderingStrategy method)
Set the reordering strategy.
void SetBLRTol(double tol)
Set the tolerance for activating block low-rank (BLR) approximate factorization.
void SetReorderingReuse(bool reuse)
Set the flag controlling reuse of the symbolic factorization for multiple operators.
A class to initialize the size of a Tensor.
void MultTranspose(const Vector &x, Vector &y) const
Transpose Solve y = Op^{-T} x.
MUMPS: A Parallel Sparse Direct Solver.