22 "FunctorMaterial object for declaring properties that are populated by evaluation of "
23 "time derivatives of Functors objects. (such as variables, constants, postprocessors). "
24 "The time derivative is only returned if the 'dot' functor routine is implemented.");
25 params.
addParam<std::vector<std::string>>(
"prop_names",
26 "The names of the properties this material will have");
28 params.
addParam<std::vector<MooseFunctorName>>(
"prop_values",
29 "The corresponding names of the "
30 "functors which gradient are going to provide "
31 "the values for the variables");
39 _prop_names(getParam<
std::vector<
std::string>>(
"prop_names")),
40 _prop_values(getParam<
std::vector<MooseFunctorName>>(
"prop_values")),
41 _num_props(_prop_names.size())
46 mooseError(
"Number of prop_names must match the number of prop_values for a "
47 "GenericFunctorTimeDerivativeMaterial!");
51 for (
const auto j : make_range(num_values))
54 "prop_names should not be the same as any of the prop_values. They"
55 " can both be functors, and functors may not have the same name.");
62 paramError(
"prop_names",
"Postprocessors should not be used in this functor material");
registerMooseObject("MooseApp", GenericFunctorTimeDerivativeMaterial)
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application.
Moose::GenericType< Real, is_ad > GenericReal
const ExecFlagType EXEC_ALWAYS
A MultiMooseEnum object to hold "execute_on" flags.
bool hasPostprocessor(const std::string &name) const
Deprecated.
FunctorMaterials compute functor material properties.
const Moose::FunctorBase< T > & addFunctorProperty(const std::string &name, PolymorphicLambda my_lammy, const std::set< ExecFlagType > &clearance_schedule={EXEC_ALWAYS})
Declare a functor material property.
static InputParameters validParams()
This material automatically declares as functor material properties whatever is passed to it through ...
std::vector< const Moose::Functor< GenericReal< is_ad > > * > _functors
Vector of the functors.
static InputParameters validParams()
std::vector< MooseFunctorName > _prop_values
Names of the functors to evaluate for those properties.
GenericFunctorTimeDerivativeMaterialTempl(const InputParameters ¶meters)
std::vector< std::string > _prop_names
Names of the functor material properties to define.
const unsigned int _num_props
Number of properties to define.
FEProblemBase & _fe_problem
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 ...
MooseEnumIterator end() const
MooseEnumIterator begin() const
Returns a begin/end iterator to all of the set values in the enum.
const ExecFlagEnum & _execute_enum
Execute settings for this object.