https://mooseframework.inl.gov
EigenproblemEquationSystem.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 
14 #include "EquationSystem.h"
15 
16 namespace Moose::MFEM
17 {
18 class EigensolverBase;
19 
22 {
23 public:
24  EigenproblemEquationSystem() = default;
25  ~EigenproblemEquationSystem() override = default;
26 
28  void BuildEigenproblemJacobian(mfem::BlockVector & trueX);
29 
31  void PrepareEigensolver(EigensolverBase & solver);
32 
33 protected:
35  virtual void ApplyEssentialBCs() override;
36 
39 
41  void FormMassMatrix();
42 
43 private:
45 
46  mfem::Array<int> _global_ess_markers;
48  mfem::OperatorHandle _mass_rhs;
49 };
50 
51 } // namespace Moose::MFEM
52 
53 #endif
Class to store weak form components (bilinear and linear forms, and optionally mixed and nonlinear fo...
Equation system specialization for eigenproblems.
mfem::OperatorHandle _mass_rhs
The mass operator (e.g. the RHS operator for a generalized eigenproblem)
void FormMassMatrix()
Form mass matrix for the eigensolver with Dirichlet BC elimination.
void PrepareEigensolver(EigensolverBase &solver)
Prepare the provided eigensolver.
void FormEigenproblemMatrix()
Form HypreParMatrix matrix operator for the eigensolver with Dirichlet BC elimination.
Steady-state eigenproblem operator with an equation system.
Utilities for converting between vector(s) of libMesh Points and MFEM Vector(s).
~EigenproblemEquationSystem() override=default
virtual void ApplyEssentialBCs() override
Mark external boundaries as essential for eigenproblem BC elimination.
Base class for eigensolvers.
void BuildEigenproblemJacobian(mfem::BlockVector &trueX)
Build eigenproblem system, with essential boundary conditions accounted for.