10#ifdef MOOSE_MFEM_ENABLED
26 mfem::Coefficient & beta_coef,
37 void SetOperator(
const mfem::Operator & op)
override;
38 void Mult(
const mfem::Vector & x, mfem::Vector & y)
const override
41 "MatrixFreeAMS preconditioner was not initialized with both the operator and "
42 "bilinear form before use.");
Wrapper for mfem::MatrixFreeAMS solver.
mfem::Coefficient & _beta_coef
virtual void SetSolverParameters(mfem::MatrixFreeAMS &) override
Update the wrapped MFEM solver parameters.
void ConstructSolver() override
Override in derived classes to construct and set the solver options.
static InputParameters validParams()
mfem::Coefficient & _alpha_coef
Base class for LOR compatible linear MFEM solvers and preconditioners.
Wrapper for mfem::MatrixFreeAMS solver that creates an mfem::MatrixFreeAMS solver from the operator w...
void SetBoundaryMarkers(mfem::Array< int > &ess_bdr_markers)
Set the marker array labelling essential boundaries.
void Mult(const mfem::Vector &x, mfem::Vector &y) const override
std::unique_ptr< mfem::MatrixFreeAMS > _matrix_free_ams
mfem::Coefficient & _beta_coef
void SetBilinearForm(mfem::ParBilinearForm &a)
Set the bilinear form corresponding to the curl-curl problem being preconditioned.
void SetOperator(const mfem::Operator &op) override
mfem::Array< int > _ess_bdr_markers
mfem::Coefficient & _alpha_coef
mfem::ParBilinearForm * _aform
Utilities for converting between vector(s) of libMesh Points and MFEM Vector(s).