Go to the documentation of this file.
20 params.addClassDescription(
"Compute a small strain in an Axisymmetric 1D problem");
21 params.addParam<UserObjectName>(
"subblock_index_provider",
22 "SubblockIndexProvider user object name");
23 params.addCoupledVar(
"scalar_out_of_plane_strain",
"Scalar variable for axisymmetric 1D problem");
24 params.addCoupledVar(
"out_of_plane_strain",
"Nonlinear variable for axisymmetric 1D problem");
30 const InputParameters & parameters)
32 _subblock_id_provider(isParamValid(
"subblock_index_provider")
35 _has_out_of_plane_strain(isParamValid(
"out_of_plane_strain")),
36 _out_of_plane_strain(_has_out_of_plane_strain ? coupledValue(
"out_of_plane_strain") : _zero),
37 _has_scalar_out_of_plane_strain(isParamValid(
"scalar_out_of_plane_strain")),
38 _nscalar_strains(coupledScalarComponents(
"scalar_out_of_plane_strain"))
41 mooseError(
"Must define only one of out_of_plane_strain or scalar_out_of_plane_strain");
56 if (getBlockCoordSystem() != Moose::COORD_RZ)
57 mooseError(
"The coordinate system must be set to RZ for Axisymmetric geometries.");
72 if (!MooseUtils::absoluteFuzzyEqual(_q_point[_qp](0), 0.0))
73 return (*
_disp[0])[_qp] / _q_point[_qp](0);
ComputeAxisymmetric1DSmallStrain defines small strains in an Axisymmetric 1D problem.
registerMooseObject("TensorMechanicsApp", ComputeAxisymmetric1DSmallStrain)
Abstract base class for user objects that provide an index for a given element that is independent of...
std::vector< const VariableValue * > _disp
unsigned int getCurrentSubblockIndex() const
gets its subblock index for current element
std::vector< const VariableValue * > _scalar_out_of_plane_strain
const bool _has_scalar_out_of_plane_strain
static InputParameters validParams()
void initialSetup() override
Compute1DSmallStrain defines a strain tensor, assuming small strains, in 1D problems,...
const bool _has_out_of_plane_strain
defineLegacyParams(ComputeAxisymmetric1DSmallStrain)
static InputParameters validParams()
void initialSetup() override
const VariableValue & _out_of_plane_strain
Real computeStrainYY() override
Computes the strain_yy for axisymmetric problems.
Real computeStrainZZ() override
Computes the strain_zz for axisymmetric problems, where .
unsigned int _nscalar_strains
ComputeAxisymmetric1DSmallStrain(const InputParameters ¶meters)