10#ifdef MOOSE_MFEM_ENABLED
21 params.
addClassDescription(
"Declares material matrix properties based on names and coefficients "
22 "prescribed by input parameters.");
24 "prop_names",
"The names of the properties this material will have");
27 "The corresponding names of coefficients associated with the named properties");
35 _prop_names(getParam<
std::vector<
std::string>>(
"prop_names")),
36 _prop_values(processLiterals(getParam<
std::vector<MFEMMatrixCoefficientName>>(
"prop_values")))
39 paramError(
"prop_names",
"Must match the size of prop_values");
registerMooseObject("MooseApp", MFEMGenericFunctorMatrixMaterial)
std::vector< std::string > subdomainsToStrings()
std::vector< std::string > boundariesToStrings()
bool isBoundaryRestricted() const
Returns a bool indicating if the object is restricted to a subset of boundaries.
Moose::MFEM::CoefficientManager & _properties
static InputParameters validParams()
Declares constant matrix material properties based on names and values prescribed by input parameters...
MFEMGenericFunctorMatrixMaterial(const InputParameters ¶meters)
const std::vector< std::string > & _prop_names
static InputParameters validParams()
virtual ~MFEMGenericFunctorMatrixMaterial()
const std::vector< MFEMMatrixCoefficientName > _prop_values
void paramError(const std::string ¶m, Args... args) const
Emits an error prefixed with the file and line number of the given param (from the input file) along ...
mfem::MatrixCoefficient & declareMatrixProperty(const std::string &name, const std::vector< std::string > &blocks, const std::string &existing_coef)
Use an existing matrix coefficient for a property on some blocks of the mesh.