10 #ifdef MOOSE_MFEM_ENABLED 22 params.
addParam<
MooseEnum>(
"fec_type", fec_types,
"Specifies the family of FE shape functions.");
23 MooseEnum basis_types(
"GaussLegendre GaussLobatto Positive OpenUniform ClosedUniform " 24 "OpenHalfUniform Serendipity ClosedGL IntegratedGLL",
29 "Specifies the basis used for scalar elements. H1 spaces require a closed basis " 30 "(GaussLobatto Positive ClosedUniform Serendipity ClosedGL)");
45 ?
"_T" + std::to_string(getParam<MooseEnum>(
"basis"))
46 :
"@" + std::string({mfem::BasisType::GetChar(getParam<MooseEnum>(
"basis"))});
49 basis = (basis ==
"@G" || basis ==
"_T0") ?
"" : basis;
registerMooseObject("MooseApp", MFEMScalarFESpace)
virtual int getVDim() const override
Get the number of degrees of freedom per basis function needed in this finite element space...
static InputParameters validParams()
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
MFEMScalarFESpace(const InputParameters ¶meters)
const int _fec_order
Order of the basis functions in the finite element collection.
virtual std::string getFECName() const override
Get the name of the desired FECollection.
static InputParameters validParams()
const std::string _fec_type
Name of the family of finite element collections to use.
int getProblemDim() const
Returns the dimension of the problem (i.e., the highest dimension of the reference elements in the me...
Class with common parameters for MFEMVectorFESpace and MFEMScalarFESpace.