13 #include "metaphysicl/raw_type.h" 25 "The rank two material tensor name");
27 "property_name",
"Name of the material property computed by this model");
29 "VonMisesStress EffectiveStrain Hydrostatic L2norm VolumetricStrain FirstInvariant " 30 "SecondInvariant ThirdInvariant TriaxialityStress MaxShear StressIntensity MaxPrincipal " 31 "MidPrincipal MinPrincipal");
33 params.
addParam<
MooseEnum>(
"invariant", mixedInvariants,
"Type of invariant output");
44 _tensor(getGenericMaterialProperty<
RankTwoTensor, is_ad>(
"rank_two_tensor")),
45 _tensor_old(_stateful ? &getMaterialPropertyOld<
RankTwoTensor>(
"rank_two_tensor") : nullptr),
46 _property(declareGenericProperty<
Real, is_ad>(
"property_name")),
47 _property_old(_stateful ? &getMaterialPropertyOld<
Real>(
"property_name") : nullptr)
68 Point dummy_direction;
92 mooseAssert(_tensor_old,
"The selected invariant requires the input material to be stateful");
93 mooseAssert(_property_old,
94 "The selected invariant requires the output material to be stateful");
102 mooseError(
"Not a recognized invariant for RankTwoInvariant");
void mooseError(Args &&... args)
registerMooseObject("SolidMechanicsApp", RankTwoInvariant)
static InputParameters validParams()
virtual void initQpStatefulProperties() override
static InputParameters validParams()
RankTwoInvariantTempl(const InputParameters ¶meters)
RankTwoInvariant computes invariant scalar values from Rank-2 tensors.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void computeQpProperties() override