19#include "libmesh/string_to_enum.h"
24 "setup_projected_properties");
37 MooseEnum(
"LAGRANGE MONOMIAL L2_LAGRANGE L2_HIERARCHIC",
"LAGRANGE"),
38 "Finite element variable family to project the material properties onto");
42 "Finite element variable order to project the material properties onto");
47 params.
addParam<std::vector<MaterialPropertyName>>(
48 "projected_props", {},
"Material properties to project for stateful storage");
55 _prop_names(getParam<
std::vector<MaterialPropertyName>>(
"projected_props")),
57 _fe_type({Utility::string_to_enum<Order>(
_order),
58 Utility::string_to_enum<FEFamily>(params.
get<
MooseEnum>(
"family"))}),
77 Moose::typeLoop<ProcessProperty>(
SupportedTypes{},
this, prop_name);
registerMooseAction("MooseApp", ProjectedStatefulMaterialStorageAction, "setup_projected_properties")
static InputParameters validParams()
static MooseEnum getAuxVariableOrders()
Returns available orders for AuxVariables.
static std::string variableType(const libMesh::FEType &fe_type, const bool is_fv=false, const bool is_array=false)
Determines a variable type.
static InputParameters validParams()
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
static InputParameters validParams()
Set up AuxKernels and AuxVariables for projected material property storage (PoMPS).
static InputParameters validParams()
static MooseEnum getTypeEnum()
get an enum with all supported types
ProjectedStatefulMaterialStorageAction(const InputParameters ¶meters)
const std::vector< MaterialPropertyName > & _prop_names
Property names for which we will do stateful material property projection.
const MooseEnum _order
Variable order to project the properties into.
virtual void addRelationshipManagers(Moose::RelationshipManagerType input_rm_type) override
Method to add a relationship manager for the objects being added to the system.
virtual void act() override
Method to add objects to the simulation or perform other setup tasks.
RelationshipManagerType
Main types of Relationship Managers.
Helper structure to hold a list of types.