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"));
MFEMProblem & getMFEMProblem()
Return the owning MFEM problem.
std::unique_ptr< mfem::HypreLOBPCG > _eigensolver
Eigensolver to be used for the problem.
registerMooseObject("MooseApp", MFEMHypreLOBPCG)
Class for the Hypre LOBPCG eigensolver.
static InputParameters validParams()
virtual void ConstructSolver() override
Override in derived classes to construct and set the solver options.
MFEMHypreLOBPCG(const InputParameters ¶meters)
MPI_Comm getComm()
Return the MPI communicator associated with this FE problem's mesh.
void SetPreconditioner(T &solver)
Retrieves the preconditioner userobject if present, sets the member pointer to said object if still u...
int _num_modes
Number of eigenmodes to compute.
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
static InputParameters validParams()