10#ifdef MOOSE_MFEM_ENABLED
43 std::vector<T> result;
44 bool in_literal =
false;
46 for (
const auto & item : input)
50 if (item.front() ==
'{')
51 mooseError(
"Nested numeric values are not permitted in ",
type(),
" prop_values.");
52 else if (item.back() ==
'}')
55 literal +=
" " + item.substr(0, item.size() - 1);
56 result.push_back(literal);
59 literal +=
" " + item;
61 else if (item.front() ==
'{')
63 if (item.back() ==
'}')
64 result.push_back(item.substr(1, item.size() - 2));
68 literal = item.substr(1);
72 result.push_back(item);
75 mooseError(
"No closing curly brace for value in ",
type(),
" prop_values: '{", literal,
"'");
Base class for construction of an object that is restricted to a subset of subdomains of the problem ...
Base class for construction of an object that is restricted to a subset of boundaries of the problem ...
std::vector< T > processLiterals(const std::vector< T > &input)
Group numerical literal values, which should each be enclosed in curly braces, into single entries of...
Moose::MFEM::CoefficientManager & _properties
static InputParameters validParams()
virtual ~MFEMFunctorMaterial()
Thin base for MFEM objects backed directly by MooseObject instead of UserObject.
const InputParameters & parameters() const
Get the parameters of the object.
const std::string & type() const
Get the type of this class.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
Front-end class for creating and storing MFEM coefficients.