19 params.
addClassDescription(
"Compute a small strain under generalized plane strain assumptions " 20 "where the out of plane strain is generally nonzero.");
21 params.
addParam<UserObjectName>(
"subblock_index_provider",
22 "SubblockIndexProvider user object name");
24 "Scalar variable for generalized plane strain");
25 params.
addCoupledVar(
"out_of_plane_strain",
"Nonlinear variable for plane stress condition");
32 _subblock_id_provider(isParamValid(
"subblock_index_provider")
35 _scalar_out_of_plane_strain_coupled(isCoupledScalar(
"scalar_out_of_plane_strain")),
36 _out_of_plane_strain_coupled(isCoupled(
"out_of_plane_strain")),
37 _out_of_plane_strain(_out_of_plane_strain_coupled ? adCoupledValue(
"out_of_plane_strain")
41 mooseError(
"Must define only one of out_of_plane_strain or scalar_out_of_plane_strain");
47 for (
unsigned int i = 0; i < nscalar_strains; ++i)
unsigned int getCurrentSubblockIndex() const
gets its subblock index for current element
ADComputePlaneSmallStrain defines small strains under generalized plane strain and plane stress assum...
virtual ADReal computeOutOfPlaneStrain()
calculates and returns the out-of-plane strain for the current quadrature point
ADCompute2DSmallStrain defines a strain tensor, assuming small strains, in 2D geometries / simulation...
static InputParameters validParams()
Abstract base class for user objects that provide an index for a given element that is independent of...
DualNumber< Real, DNDerivativeType, true > ADReal
const bool _scalar_out_of_plane_strain_coupled
Whether out-of-plane strain scalar variables are coupled.
static InputParameters validParams()
ADComputePlaneSmallStrain(const InputParameters ¶meters)
std::vector< const ADVariableValue * > _scalar_out_of_plane_strain
The out-of-plane strain scalar variables.
registerMooseObject("SolidMechanicsApp", ADComputePlaneSmallStrain)
const ADVariableValue & adCoupledScalarValue(const std::string &var_name, unsigned int comp=0) const
const ADVariableValue & _out_of_plane_strain
The out-of-plane strain variable.
const bool _out_of_plane_strain_coupled
Whether an out-of-plane strain variable is coupled.
unsigned int coupledScalarComponents(const std::string &var_name) const
void mooseError(Args &&... args) const