https://mooseframework.inl.gov
MFEMComplexVariable.h
Go to the documentation of this file.
1 #ifdef MOOSE_MFEM_ENABLED
2 
3 #pragma once
4 
5 #include "MFEMFESpace.h"
6 #include "MFEMObject.h"
7 
12 {
13 public:
15 
17 
19  inline std::shared_ptr<mfem::ParComplexGridFunction> getComplexGridFunction() const
20  {
21  return _cmplx_gridfunction;
22  }
23 
25  inline const MFEMFESpace & getFESpace() const { return _fespace; }
26 
27  // Declare default coefficients associated with this complex gridfunction.
28  void declareCoefficients();
29 
30 protected:
32 
33 private:
35  const std::shared_ptr<mfem::ParComplexGridFunction> buildComplexGridFunction();
36 
38  const std::shared_ptr<mfem::ParComplexGridFunction> _cmplx_gridfunction{nullptr};
39 };
40 
41 #endif
Thin base for MFEM objects backed directly by MooseObject instead of UserObject.
Definition: MFEMObject.h:25
Constructs and stores an mfem::ParComplexGridFunction object.
std::shared_ptr< mfem::ParComplexGridFunction > getComplexGridFunction() const
Returns a shared pointer to the constructed gridfunction.
static InputParameters validParams()
MFEMComplexVariable(const InputParameters &parameters)
const MFEMFESpace & getFESpace() const
Returns a reference to the fespace used by the gridfunction.
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseBase.h:131
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
const std::shared_ptr< mfem::ParComplexGridFunction > _cmplx_gridfunction
Stores the constructed gridfunction.
const std::shared_ptr< mfem::ParComplexGridFunction > buildComplexGridFunction()
Constructs the gridfunction.
Constructs and stores an mfem::ParFiniteElementSpace object.
Definition: MFEMFESpace.h:20
const MFEMFESpace & _fespace