23 #include "libmesh/quadrature.h" 24 #include "libmesh/enum_quadrature_type.h" 25 #include "libmesh/string_to_enum.h" 37 "An integer corresponding to the degree of freedom " 38 "this kernel acts on. (0 for disp_x, " 39 "1 for disp_y, 2 for disp_z, 3 for rot_x, 4 for rot_y)");
41 "Quadrature order in out of plane direction");
43 "large_strain",
false,
"Set to true to turn on finite strain calculations.");
44 params.
set<
bool>(
"use_displaced_mesh") =
false;
50 _component(getParam<unsigned
int>(
"component")),
51 _large_strain(getParam<bool>(
"large_strain"))
53 _t_qrule = std::make_unique<libMesh::QGauss>(
54 1, Utility::string_to_enum<Order>(getParam<std::string>(
"through_thickness_order")));
64 for (
unsigned int i = 0; i <
_t_weights.size(); ++i)
66 _stress[i] = &getADMaterialProperty<RankTwoTensor>(
"stress_t_points_" + std::to_string(i));
68 &getMaterialPropertyOldByName<RankTwoTensor>(
"stress_t_points_" + std::to_string(i));
69 _B_mat[i] = &getADMaterialProperty<DenseMatrix<Real>>(
"B_t_points_" + std::to_string(i));
71 _B_nl[i] = &getADMaterialProperty<DenseMatrix<Real>>(
"B_nl_t_points_" + std::to_string(i));
73 _J_map[i] = &getADMaterialProperty<Real>(
"J_mapping_t_points_" + std::to_string(i));
std::vector< Real > _q_weights
Qrule weights in isoparametric coordinate system.
std::vector< Real > _t_weights
Quadrature weights in the out of plane direction in isoparametric coordinate system.
static InputParameters validParams()
unsigned int _qp_z
qp index in out of plane direction
DualNumber< Real, DNDerivativeType, true > ADReal
const unsigned int _component
An integer corresponding to the direction this kernel acts in.
ADStressDivergenceShell computes the stress divergence term for shell elements.
std::vector< const ADMaterialProperty< Real > * > _J_map
std::vector< const ADMaterialProperty< DenseMatrix< Real > > * > _B_mat
virtual ADReal computeQpResidual() override
const QBase *const & _qrule
std::vector< const ADMaterialProperty< DenseMatrix< Real > > * > _B_nl
ADStressDivergenceShell(const InputParameters ¶meters)
const MooseArray< ADReal > & _ad_JxW
std::vector< const ADMaterialProperty< RankTwoTensor > * > _stress
static InputParameters validParams()
std::vector< const MaterialProperty< RankTwoTensor > * > _stress_old
registerMooseObject("SolidMechanicsApp", ADStressDivergenceShell)
void ErrorVector unsigned int
const MooseArray< ADReal > & _ad_coord
std::unique_ptr< libMesh::QGauss > _t_qrule
Quadrature rule in the out of plane direction.