10 #ifdef MOOSE_MFEM_ENABLED 42 virtual void SetupLOR(mfem::ParBilinearForm & , mfem::Array<int> & ) {}
46 virtual void SetOperator(mfem::OperatorHandle & op);
52 virtual void Solve() {
mooseError(
"'solve' method not used in this solver type."); }
65 friend class ::MFEMProblemSolve;
bool IsLOR() const
Returns whether or not this solver (or its preconditioner) uses LOR.
const InputParameters & parameters() const
Get the parameters of the object.
virtual void SetOperator(mfem::OperatorHandle &op)
Updates the solver at the operator level.
LinearSolverBase(const InputParameters ¶meters)
LinearSolverBase * GetPreconditioner()
Returns this solver's preconditioner.
static InputParameters validParams()
std::shared_ptr< LinearSolverBase > _preconditioner
Preconditioner to be used for the problem.
Base class for linear MFEM solvers and preconditioners.
bool _lor
Variable defining whether to use LOR solver.
virtual void Solve()
For eigensolvers, this method calls the underlying Solve method.
virtual void SetupLOR(mfem::ParBilinearForm &, mfem::Array< int > &)
Rebuild any Low-Order-Refined components from the unreduced bilinear form.
Base class for wrapping mfem::Solver-derived classes.
void SetPreconditioner(T &solver)
Retrieves the preconditioner userobject if present, sets the member pointer to said object if still u...
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
Utilities for converting between vector(s) of libMesh Points and MFEM Vector(s).
virtual void CheckSpectralEquivalence(mfem::ParBilinearForm &blf) const
Checks for the correct configuration of quadrature bases for LOR spectral equivalence.