https://mooseframework.inl.gov
Loading...
Searching...
No Matches
MFEMEigensolverBase.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
15
16namespace Moose::MFEM
17{
22{
23public:
25
27
29 virtual void SetMassMatrix(mfem::Operator & mass) = 0;
30
32 virtual void GetEigenvalues(mfem::Array<mfem::real_t> & eigenvalues) const = 0;
33
35 virtual const mfem::HypreParVector & GetEigenvector(int index) const = 0;
36
37protected:
39 virtual void SetOperatorImpl(mfem::Operator & op) override = 0;
40
43};
44}
45
46#endif
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
Base class for eigensolvers.
virtual void SetOperatorImpl(mfem::Operator &op) override=0
Sets the operator for the eigensolver in derived classes.
virtual void SetMassMatrix(mfem::Operator &mass)=0
Sets the mass matrix for the eigensolver in derived classes.
virtual void GetEigenvalues(mfem::Array< mfem::real_t > &eigenvalues) const =0
Retrieves the computed eigenvalues.
virtual const mfem::HypreParVector & GetEigenvector(int index) const =0
Retrieves the computed eigenvector corresponding to the given index.
static InputParameters validParams()
int _num_modes
Number of eigenmodes to compute.
Base class for linear MFEM solvers and preconditioners.
Utilities for converting between vector(s) of libMesh Points and MFEM Vector(s).