13 #include "libmesh/ignore_warnings.h" 15 #include "libmesh/restore_warnings.h" 38 inline std::shared_ptr<mfem::ParFiniteElementSpace>
getFESpace()
const 46 inline std::shared_ptr<mfem::FiniteElementCollection>
getFEC()
const 66 virtual int getVDim()
const = 0;
69 int getBasis(
const std::string & basis_name)
const;
73 void buildFEC(
const std::string & fec_name)
const;
76 mutable std::shared_ptr<mfem::FiniteElementCollection>
_fec{
nullptr};
81 mutable std::shared_ptr<mfem::ParFiniteElementSpace>
_fespace{
nullptr};
void buildFEC(const std::string &fec_name) const
Constructs the fec from the fec name.
virtual int getVDim() const =0
Get the number of degrees of freedom per basis function needed in this finite element space...
const int _ordering
Type of ordering of the vector dofs when _vdim > 1.
MFEMFESpace(const InputParameters ¶meters)
int getBasis(const std::string &basis_name) const
Get the quadrature basis enum associated with the given name.
std::shared_ptr< mfem::FiniteElementCollection > getFEC() const
Returns a shared pointer to the constructed fec.
virtual bool isScalar() const =0
static InputParameters validParams()
virtual std::string getFECName() const =0
Get the name of the desired FECollection.
std::shared_ptr< mfem::FiniteElementCollection > _fec
Stores the constructed fecollection.
mfem::ParMesh & _pmesh
Mesh FESpace is defined with respect to.
Constructs and stores an mfem::ParFiniteElementSpace object.
std::shared_ptr< mfem::ParFiniteElementSpace > _fespace
Stores the constructed fespace.
const InputParameters & parameters() const
Get the parameters of the object.
std::shared_ptr< mfem::ParFiniteElementSpace > getFESpace() const
Returns a shared pointer to the constructed fespace.
virtual bool isVector() const =0
void buildFESpace(const int vdim) const
Constructs the fespace.