10 #ifdef MOOSE_MFEM_ENABLED 21 params.
addClassDescription(
"MFEM solver for performing Jacobi smoothing of the equation system.");
35 _solver = std::make_unique<mfem::OperatorJacobiSmoother>();
44 mooseError(
"Low-Order-Refined solver requires the FESpace closed_basis to be GaussLobatto " 45 "and the open-basis to be IntegratedGLL for ND and RT elements.");
47 _solver.reset(
new mfem::LORSolver<mfem::OperatorJacobiSmoother>(a, tdofs));
const InputParameters & parameters() const
Get the parameters of the object.
Wrapper for mfem::OperatorJacobiSmoother solver.
void updateSolver(mfem::ParBilinearForm &a, mfem::Array< int > &tdofs) override
Updates the solver with the bilinear form in case LOR solve is required.
static InputParameters validParams()
void constructSolver(const InputParameters ¶meters) override
Override in derived classes to construct and set the solver options.
static InputParameters validParams()
virtual bool checkSpectralEquivalence(mfem::ParBilinearForm &blf) const
Checks for the correct configuration of quadrature bases for LOR spectral equivalence.
registerMooseObject("MooseApp", MFEMOperatorJacobiSmoother)
bool _lor
Variable defining whether to use LOR solver.
Base class for wrapping mfem::Solver-derived classes.
MFEMOperatorJacobiSmoother(const InputParameters ¶meters)
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...
std::unique_ptr< mfem::Solver > _solver
Solver to be used for the problem.