20 "f_name",
"Name of the parsed material property",
"f_name is deprecated, use property_name");
22 params.
addParam<std::string>(
"property_name",
"F",
"Name of the parsed material property");
29 _F_name(getRenamedParam<
std::string>(
"f_name",
"property_name")),
30 _prop_F(&declareGenericProperty<
Real, is_ad>(_F_name))
47 const auto &
vars = it->second;
56 mooseAssert(
vars[comp],
"Null variable");
57 const auto & var_name =
vars[comp]->name();
60 mooseError(
"A nonlinear variable can only be coupled in once.");
63 const auto number =
coupled(var_param, comp);
91 return coupledValue(var_name, comp);
98 return adCoupledValue(var_name, comp);
virtual unsigned int coupled(const std::string &var_name, unsigned int comp=0) const
Returns the index for a coupled variable by name.
const InputParameters & _pars
The object's parameters.
std::unordered_map< std::string, std::vector< MooseVariableFieldBase * > > _coupled_vars
Coupled vars whose values we provide.
std::vector< unsigned int > _arg_numbers
Vector of all argument MOOSE variable numbers.
Material base class, central to all Materials that provide a Function as a material property value...
const GenericVariableValue< is_ad > & coupledGenericValue(const std::string &var_name, unsigned int comp=0)
helper function for coupling ad/regular variable values
std::vector< int > _arg_param_numbers
bool _mapping_is_unique
Flag that indicates if exactly one linear variable is coupled per input file coupling parameter...
std::vector< std::string > _arg_names
String vector of all argument names.
static InputParameters validParams()
static InputParameters validParams()
Moose::GenericType< VariableValue, is_ad > GenericVariableValue
std::vector< std::string > _arg_constant_defaults
coupled variables with default values
FunctionMaterialBase(const InputParameters ¶meters)
std::vector< std::string > _arg_param_names
String vector of the input file coupling parameter name for each argument.
std::vector< unsigned int > _arg_index
Vector to look up the internal coupled variable index into arg* through the libMesh variable number...
Materials compute MaterialProperties.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Interface class ("Veneer") to provide generator methods for derivative material property names...
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...
unsigned int _nargs
Number of coupled arguments.
unsigned int libMeshVarNumberRemap(unsigned int var) const
map the variable numbers to an even/odd interspersed pattern
std::vector< const GenericVariableValue< is_ad > * > _args
Coupled variables for function arguments.
auto index_range(const T &sizable)