https://mooseframework.inl.gov
EigenproblemESProblemOperator.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #ifdef MOOSE_MFEM_ENABLED
11 
12 #pragma once
13 
16 
17 namespace Moose::MFEM
18 {
21 {
22 public:
24  {
25  mooseAssert(std::dynamic_pointer_cast<EigenproblemEquationSystem>(_problem_data.eqn_system),
26  "MFEMProblemData::eqn_system is not an EigenproblemEquationSystem.");
27  }
28 
29  virtual void Solve() override;
30 
31  [[nodiscard]] EigenproblemEquationSystem * GetEquationSystem() const override
32  {
33  return static_cast<EigenproblemEquationSystem *>(
35  }
36 
37  mfem::OperatorHandle _mass_rhs;
38 
39 private:
41  MFEMEigensolverBase * eigensolver);
42 
43 protected:
46 };
47 
48 } // namespace Moose::MFEM
49 
50 #endif
void BuildEquationSystemOperator()
Add kernels/bcs and assemble the linear part of the equation system.
Base class for eigensolvers.
EigenproblemEquationSystem * GetEquationSystem() const override
Returns a pointer to the operator&#39;s equation system.
Equation system specialization for eigenproblems.
virtual Moose::MFEM::EquationSystem * GetEquationSystem() const override
Returns a pointer to the operator&#39;s equation system.
Steady-state problem operator with an equation system.
void RecoverEigenproblemSolution(Moose::MFEM::GridFunctions &gridfunctions, MFEMEigensolverBase *eigensolver)
std::shared_ptr< Moose::MFEM::EquationSystem > eqn_system
Steady-state eigenproblem operator with an equation system.
Utilities for converting between vector(s) of libMesh Points and MFEM Vector(s).