15 #include "libmesh/quadrature.h" 16 #include "libmesh/utility.h" 17 #include "libmesh/enum_quadrature_type.h" 18 #include "libmesh/fe_type.h" 19 #include "libmesh/string_to_enum.h" 20 #include "libmesh/quadrature_gauss.h" 30 "Quadrature order in out of plane direction");
38 std::unique_ptr<libMesh::QGauss> t_qrule = std::make_unique<libMesh::QGauss>(
39 1, Utility::string_to_enum<Order>(getParam<std::string>(
"through_thickness_order")));
49 for (
unsigned int t = 0; t <
_t_points.size(); ++t)
52 &getADMaterialProperty<RankFourTensor>(
"elasticity_tensor_t_points_" + std::to_string(t));
53 _stress[t] = &declareADProperty<RankTwoTensor>(
"stress_t_points_" + std::to_string(t));
55 &getMaterialPropertyOldByName<RankTwoTensor>(
"stress_t_points_" + std::to_string(t));
57 &getADMaterialProperty<RankTwoTensor>(
"strain_increment_t_points_" + std::to_string(t));
60 &getMaterialProperty<RankTwoTensor>(
"local_transformation_t_points_" + std::to_string(t));
62 "covariant_transformation_t_points_" + std::to_string(t));
64 &declareProperty<RankTwoTensor>(
"global_stress_t_points_" + std::to_string(t));
66 &declareProperty<RankTwoTensor>(
"local_stress_t_points_" + std::to_string(t));
74 for (
unsigned int i = 0; i <
_t_points.size(); ++i)
81 for (
unsigned int i = 0; i <
_t_points.size(); ++i)
86 for (
unsigned int ii = 0; ii < 3; ++ii)
87 for (
unsigned int jj = 0; jj < 3; ++jj)
std::vector< const ADMaterialProperty< RankTwoTensor > * > _strain_increment
Material property for strain increment.
std::vector< const MaterialProperty< RankTwoTensor > * > _covariant_transformation_matrix
Covariant base vector matrix material property to transform stress.
std::vector< Point > _t_points
Quadrature points along thickness.
std::vector< const ADMaterialProperty< RankFourTensor > * > _elasticity_tensor
Material property for elasticity tensor.
std::vector< MaterialProperty< RankTwoTensor > * > _local_stress
local stress tensor material property
ADComputeShellStress(const InputParameters ¶meters)
std::vector< const MaterialProperty< RankTwoTensor > * > _stress_old
Material property for old stress.
std::vector< const MaterialProperty< RankTwoTensor > * > _local_transformation_matrix
Transformation matrix to map the global stress to the element's local coordinate. ...
static InputParameters validParams()
virtual void initQpStatefulProperties() override
static InputParameters validParams()
RankTwoTensorTempl< Real > transpose() const
registerMooseObject("SolidMechanicsApp", ADComputeShellStress)
virtual void computeQpProperties() override
RankTwoTensor _unrotated_stress
Real value of stress in the local coordinate system.
std::vector< MaterialProperty< RankTwoTensor > * > _global_stress
Global stress tensor material property.
std::vector< ADMaterialProperty< RankTwoTensor > * > _stress
Material property for current stress.