14 #include "libmesh/ignore_warnings.h" 16 #include "libmesh/restore_warnings.h" 38 virtual void updateSolver(mfem::ParBilinearForm & a, mfem::Array<int> & tdofs) = 0;
61 mooseAssert(
_solver,
"Attempting to retrieve solver before it's been constructed");
MFEMSolverBase * _preconditioner
static InputParameters validParams()
void setPreconditioner(T &solver)
Retrieves the preconditioner userobject if present, sets the member pointer to said object if still u...
MFEMSolverBase(const InputParameters ¶meters)
virtual bool checkSpectralEquivalence(mfem::ParBilinearForm &blf) const
Checks for the correct configuration of quadrature bases for LOR spectral equivalence.
Base class for wrapping mfem::Solver-derived classes.
const InputParameters & parameters() const
Get the parameters of the object.
virtual void updateSolver(mfem::ParBilinearForm &a, mfem::Array< int > &tdofs)=0
Updates the solver with the given bilinear form and essential dof list, in case an LOR or algebraic s...
mfem::Solver & getSolver()
Returns the wrapped MFEM solver.
virtual void constructSolver(const InputParameters ¶meters)=0
Override in derived classes to construct and set the solver options.
bool isLOR() const
Returns whether or not this solver (or its preconditioner) uses LOR.
std::unique_ptr< mfem::Solver > _solver