10#ifdef MOOSE_MFEM_ENABLED
22 params.
addClassDescription(
"MFEM solver for performing Jacobi smoothing of the equation system.");
26 "Damping factor omega for the scaled-Jacobi iteration y = omega * D^{-1} * x. "
27 "When used as a multigrid smoother, omega must satisfy omega < 2/lambda_max(D^{-1}A).");
32 :
Moose::MFEM::LORLinearSolverBase<
mfem::OperatorJacobiSmoother>(parameters)
40 auto solver = std::make_unique<mfem::OperatorJacobiSmoother>(getParam<double>(
"damping"));
48 solver.iterative_mode = getParam<bool>(
"use_initial_guess");
registerMooseObject("MooseApp", MFEMOperatorJacobiSmoother)
Wrapper for mfem::OperatorJacobiSmoother solver.
virtual void SetSolverParameters(mfem::OperatorJacobiSmoother &solver) override
Update the wrapped MFEM solver parameters.
void ConstructSolver() override
Override in derived classes to construct and set the solver options.
static InputParameters validParams()
MFEMOperatorJacobiSmoother(const InputParameters ¶meters)
static InputParameters validParams()
std::unique_ptr< mfem::Solver > _solver
Solver to be used for the problem.
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...