10 #ifdef MOOSE_MFEM_ENABLED 29 _eigensolver->SetMassMatrix(libMesh::cast_ref<mfem::HypreParMatrix &>(mass));
36 virtual void GetEigenvalues(mfem::Array<mfem::real_t> & eigenvalues)
const override 42 virtual const mfem::HypreParVector &
GetEigenvector(
int index)
const override 56 _eigensolver->SetOperator(libMesh::cast_ref<mfem::HypreParMatrix &>(op));
virtual const mfem::HypreParVector & GetEigenvector(int index) const override
Retrieves the computed eigenvector corresponding to the given index.
virtual void Solve() override
Solves the eigenvalue problem.
const InputParameters & parameters() const
Get the parameters of the object.
Class for the HypreAME eigensolver.
static InputParameters validParams()
MFEMHypreAME(const InputParameters ¶meters)
virtual void SetMassMatrix(mfem::Operator &mass) override
Sets the mass matrix for the eigensolver.
virtual void ConstructSolver() override
Override in derived classes to construct and set the solver options.
std::shared_ptr< LinearSolverBase > _preconditioner
Preconditioner to be used for the problem.
virtual void GetEigenvalues(mfem::Array< mfem::real_t > &eigenvalues) const override
Retrieves the computed eigenvalues.
std::unique_ptr< mfem::HypreAME > _eigensolver
Eigensolver to be used for the problem.
virtual void SetOperatorImpl(mfem::Operator &op) override
Sets the operator for the eigensolver and propagates it to the preconditioner.
Base class for eigensolvers.