19 params.
addClassDescription(
"Compute strain increment and rotation increment for finite strain "
20 "under 2D planar assumptions.");
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")
39 _out_of_plane_strain_old(_out_of_plane_strain_coupled ? coupledValueOld(
"out_of_plane_strain")
43 mooseError(
"Must define only one of out_of_plane_strain or scalar_out_of_plane_strain");
50 for (
unsigned int i = 0; i < nscalar_strains; ++i)
registerMooseObject("SolidMechanicsApp", ADComputePlaneFiniteStrain)
DualNumber< Real, DNDerivativeType, true > ADReal
ADCompute2DFiniteStrain defines a strain increment and a rotation increment for finite strains in 2D ...
static InputParameters validParams()
ADComputePlaneFiniteStrain defines strain increment and rotation increment for finite strain under 2D...
const VariableValue & _out_of_plane_strain_old
const bool _scalar_out_of_plane_strain_coupled
Whether out-of-plane strain scalar variables are coupled.
static InputParameters validParams()
virtual Real computeOutOfPlaneGradDispOld() override
Computes the old out-of-plane component of the displacement gradient; as a virtual function,...
std::vector< const VariableValue * > _scalar_out_of_plane_strain_old
unsigned int getCurrentSubblockIndex() const
gets its subblock index for current element
virtual ADReal computeOutOfPlaneGradDisp() override
Computes the current out-of-plane component of the displacement gradient; as a virtual function,...
const bool _out_of_plane_strain_coupled
Whether out-of-plane strain variables are coupled.
const ADVariableValue & _out_of_plane_strain
Current and old values of the out-of-plane strain variable.
std::vector< const ADVariableValue * > _scalar_out_of_plane_strain
Current and old values of the out-of-plane strain scalar variable.
ADComputePlaneFiniteStrain(const InputParameters ¶meters)
void mooseError(Args &&... args) const
unsigned int coupledScalarComponents(const std::string &var_name) const
const VariableValue & coupledScalarValueOld(const std::string &var_name, unsigned int comp=0) const
const ADVariableValue & adCoupledScalarValue(const std::string &var_name, unsigned int comp=0) const
Abstract base class for user objects that provide an index for a given element that is independent of...