10#ifdef MOOSE_MFEM_ENABLED
22 params.
addClassDescription(
"Locally Optimal Block PCG eigensolver to iteratively compute the "
23 "lowest eigenmodes of a generalized eigenvalue problem.");
24 params.
addParam<
int>(
"random_seed", 123,
"Set the random seed for the solver.");
30 :
Moose::MFEM::EigensolverBase(parameters)
41 _eigensolver->SetRandomSeed(getParam<int>(
"random_seed"));
45 _eigensolver->SetPrintLevel(getParam<int>(
"print_level"));
registerMooseObject("MooseApp", MFEMHypreLOBPCG)
Class for the Hypre LOBPCG eigensolver.
virtual void ConstructSolver() override
Override in derived classes to construct and set the solver options.
MFEMHypreLOBPCG(const InputParameters ¶meters)
static InputParameters validParams()
std::unique_ptr< mfem::HypreLOBPCG > _eigensolver
Eigensolver to be used for the problem.
MFEMProblem & getMFEMProblem()
Return the owning MFEM problem.
static InputParameters validParams()
int _num_modes
Number of eigenmodes to compute.
void SetPreconditioner(T &solver)
Retrieves the preconditioner userobject if present, sets the member pointer to said object if still u...
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...