25 template <
typename T,
bool is_ad>
30 params.addClassDescription(
31 "Picks a component of an indexable material property to get projected on an elemental " 32 "Auxvariable. For use by ProjectedStatefulMaterialStorageAction.");
33 params.addRequiredParam<MaterialPropertyName>(
34 "prop",
"material property to project onto an elemental aux variable");
35 params.addRequiredParam<
unsigned int>(
"component",
"scalar component of the property to fetch");
39 template <
typename T,
bool is_ad>
43 _current_subdomain_id(_assembly.currentSubdomainID()),
44 _prop(getGenericMaterialProperty<T, is_ad>(
"prop")),
45 _component(getParam<unsigned
int>(
"component"))
49 template <
typename T,
bool is_ad>
54 _required_materials = buildRequiredMaterials();
57 template <
typename T,
bool is_ad>
62 for (
const auto & mat : _required_materials[_current_subdomain_id])
63 mat->initStatefulProperties(_qrule->size());
virtual void initialSetup() override
Gets called at the beginning of the simulation before this object is asked to do its job...
static InputParameters validParams()
ProjectedStatefulMaterialAuxTempl(const InputParameters ¶meters)
virtual Real computeValue() override
Compute and return the value of the aux variable.
SerialAccessRange< T > serialAccess(T &obj)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static InputParameters validParams()
Base class for creating new auxiliary kernels and auxiliary boundary conditions.
void ErrorVector unsigned int
registerMooseObject("MooseApp", ProjectedStatefulMaterialRealAux)