23 "FunctorMaterial object for declaring properties that are populated by evaluation of "
24 "gradients of Functors (a constant, variable, function or functor material property) "
26 params.
addParam<std::vector<std::string>>(
"prop_names",
27 "The names of the properties this material will have");
29 params.
addParam<std::vector<MooseFunctorName>>(
"prop_values",
30 "The corresponding names of the "
31 "functors which gradient are going to provide "
32 "the values for the variables");
40 _prop_names(getParam<
std::vector<
std::string>>(
"prop_names")),
41 _prop_values(getParam<
std::vector<MooseFunctorName>>(
"prop_values"))
46 if (num_names != num_values)
47 mooseError(
"Number of prop_names must match the number of prop_values for a "
48 "GenericFunctorGradientMaterial!");
51 for (
const auto i : make_range(num_names))
52 for (
const auto j : make_range(num_values))
55 "prop_names should not be the same as any of the prop_values. They"
56 " can both be functors, and functors may not have the same name.");
69 {
return (*
_functors[i]).gradient(r, t); },
registerMooseObject("MooseApp", GenericFunctorGradientMaterial)
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application.
Moose::GenericType< Real, is_ad > GenericReal
Moose::GenericType< RealVectorValue, is_ad > GenericRealVectorValue
const ExecFlagType EXEC_ALWAYS
A MultiMooseEnum object to hold "execute_on" flags.
const Moose::Functor< T > & getFunctor(const std::string &name)
Retrieves a functor from the subproblem.
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< std::string > _prop_names
Names of the functor material properties to define.
static InputParameters validParams()
GenericFunctorGradientMaterialTempl(const InputParameters ¶meters)
std::vector< const Moose::Functor< GenericReal< is_ad > > * > _functors
Vector of the functors.
unsigned int _num_props
Number of properties to define.
std::vector< MooseFunctorName > _prop_values
Names of the functors to evaluate for those properties.
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.