10 #ifdef MOOSE_MFEM_ENABLED 31 _eigensolver->SetOperator(*op.As<mfem::HypreParMatrix>());
37 _eigensolver->SetMassMatrix(*mass.As<mfem::HypreParMatrix>());
44 virtual void GetEigenvalues(mfem::Array<mfem::real_t> & eigenvalues)
const override 50 virtual const mfem::HypreParVector &
GetEigenvector(
int index)
const override 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 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 SetOperator(mfem::OperatorHandle &op) override
Sets the operator for the eigensolver and propagates it to the preconditioner.
virtual void SetMassMatrix(mfem::OperatorHandle &mass) override
Sets the mass matrix for the eigensolver.
Base class for eigensolvers.