13 #include "metaphysicl/raw_type.h" 23 params.
addClassDescription(
"Calculate elastic constants from an isotropic elasticity tensor");
24 params.
addParam<MaterialPropertyName>(
25 "elasticity_tensor",
"elasticity_tensor",
"The name of the elasticity tensor.");
26 params.
addParam<std::string>(
"base_name",
27 "Optional parameter that allows the user to define " 28 "multiple mechanics material systems on the same " 29 "block, i.e. for multiple phases");
39 _base_name(isParamValid(
"base_name") ? getParam<
std::string>(
"base_name") +
"_" :
""),
40 _youngs_modulus(this->template declareGenericProperty<
Real, is_ad>(
41 _base_name +
"youngs_modulus_from_tensor")),
42 _poissons_ratio(this->template declareGenericProperty<
Real, is_ad>(
43 _base_name +
"poissons_ratio_from_tensor")),
44 _shear_modulus(this->template declareGenericProperty<
Real, is_ad>(_base_name +
45 "shear_modulus_from_tensor")),
46 _bulk_modulus(this->template declareGenericProperty<
Real, is_ad>(_base_name +
47 "bulk_modulus_from_tensor")),
48 _elasticity_tensor_name(getParam<MaterialPropertyName>(
"elasticity_tensor")),
49 _elasticity_tensor(this->template getGenericMaterialPropertyByName<
RankFourTensor, is_ad>(
50 _base_name + _elasticity_tensor_name))
59 mooseError(
"ConstantsFromElasticityTensor requires that the elasticity tensor be " 60 "guaranteed isotropic");
void mooseError(Args &&... args)
This material computes the elastic constants such as Young's modulus from the elasticity tensor...
static InputParameters validParams()
Real elasticity_tensor(unsigned int i, unsigned int j, unsigned int k, unsigned int l)
static InputParameters validParams()
void initialSetup() override
registerMooseObject("SolidMechanicsApp", ConstantsFromElasticityTensor)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void computeQpProperties() override
Add-on class that provides the functionality to check if guarantees for material properties are provi...
ConstantsFromElasticityTensorTempl(const InputParameters ¶meters)