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 65 void SetupLOR(mfem::ParBilinearForm & a, mfem::Array<int> & ess_bdr_markers)
override;
void SetOperator(const mfem::Operator &op) override
static InputParameters validParams()
Wrapper for mfem::MatrixFreeAMS solver.
void ConstructSolver() override
Override in derived classes to construct and set the solver options.
mfem::Coefficient & _beta_coef
void SetupLOR(mfem::ParBilinearForm &a, mfem::Array< int > &ess_bdr_markers) override
Updates the solver with the bilinear form, as MFEMMatrixFreeAMS is an LOR-based solver.
mfem::Coefficient & _alpha_coef
void SetBoundaryMarkers(mfem::Array< int > &ess_bdr_markers)
Set the marker array labelling essential boundaries.
mfem::Coefficient & _beta_coef
Base class for linear MFEM solvers and preconditioners.
MFEMMatrixFreeAMS(const InputParameters &)
std::unique_ptr< mfem::MatrixFreeAMS > _matrix_free_ams
mfem::ParBilinearForm * _aform
Wrapper for mfem::MatrixFreeAMS solver that creates an mfem::MatrixFreeAMS solver from the operator w...
mfem::Coefficient & _alpha_coef
void SetBilinearForm(mfem::ParBilinearForm &a)
Set the bilinear form corresponding to the curl-curl problem being preconditioned.
MatrixFreeAMS(mfem::Coefficient &alpha_coef, mfem::Coefficient &beta_coef, int inner_pi_its=0, int inner_g_its=1)
void Mult(const mfem::Vector &x, mfem::Vector &y) const override
Utilities for converting between vector(s) of libMesh Points and MFEM Vector(s).
mfem::Array< int > _ess_bdr_markers