10 #ifdef MOOSE_MFEM_ENABLED 14 #include "libmesh/ignore_warnings.h" 16 #include "libmesh/restore_warnings.h" 32 _a_superlu = std::make_unique<mfem::SuperLURowLocMatrix>(op);
35 void Mult(
const mfem::Vector & x, mfem::Vector & y)
const override {
_s_superlu->Mult(x, y); }
38 std::unique_ptr<mfem::SuperLURowLocMatrix>
_a_superlu{
nullptr};
39 std::unique_ptr<mfem::SuperLUSolver>
_s_superlu{
nullptr};
57 void updateSolver(mfem::ParBilinearForm & a, mfem::Array<int> & tdofs)
override;
static InputParameters validParams()
Wrapper for Moose::MFEM::SuperLUSolver.
void SetOperator(const mfem::Operator &op) override
void constructSolver(const InputParameters ¶meters) override
Override in derived classes to construct and set the solver options.
void updateSolver(mfem::ParBilinearForm &a, mfem::Array< int > &tdofs) override
Updates the solver with the bilinear form in case LOR solve is required.
SuperLUSolver(MPI_Comm comm, int npdep=1)
std::unique_ptr< mfem::SuperLUSolver > _s_superlu
MFEMSuperLU(const InputParameters ¶meters)
std::unique_ptr< mfem::SuperLURowLocMatrix > _a_superlu
Wrapper for mfem::SuperLUSolver that creates a SuperLURowLocMatrix from the operator when set...
Base class for wrapping mfem::Solver-derived classes.
void Mult(const mfem::Vector &x, mfem::Vector &y) const override
const InputParameters & parameters() const
Get the parameters of the object.