10 #ifdef MOOSE_MFEM_ENABLED 27 virtual void setOperator(mfem::OperatorHandle & op)
override = 0;
33 virtual void getEigenvalues(mfem::Array<mfem::real_t> & eigenvalues)
const = 0;
36 virtual const mfem::HypreParVector &
getEigenvector(
int index)
const = 0;
39 virtual void updateSolver(mfem::ParBilinearForm &, mfem::Array<int> &)
override {}
virtual void updateSolver(mfem::ParBilinearForm &, mfem::Array< int > &) override
Updates the solver with the given bilinear form and essential dof list, in case an LOR or algebraic s...
int _num_modes
Number of eigenmodes to compute.
Base class for eigensolvers.
const InputParameters & parameters() const
Get the parameters of the object.
virtual void setMassMatrix(mfem::OperatorHandle &mass)=0
Sets the mass matrix for the eigensolver in derived classes.
virtual void setOperator(mfem::OperatorHandle &op) override=0
Sets the operator for the eigensolver in derived classes.
static InputParameters validParams()
virtual void getEigenvalues(mfem::Array< mfem::real_t > &eigenvalues) const =0
Retrieves the computed eigenvalues.
MFEMEigensolverBase(const InputParameters ¶meters)
virtual const mfem::HypreParVector & getEigenvector(int index) const =0
Retrieves the computed eigenvector corresponding to the given index.
Base class for wrapping mfem::Solver-derived classes.