20 "Compute strain increment for small strain 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 ? coupledValue(
"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)
std::vector< const VariableValue * > _scalar_out_of_plane_strain
{@ Current and old values of the out-of-plane strain scalar variable
virtual Real computeOutOfPlaneGradDisp() override
Computes the current out-of-plane component of the displacement gradient; as a virtual function...
virtual Real computeOutOfPlaneGradDispOld() override
Computes the old out-of-plane component of the displacement gradient; as a virtual function...
const VariableValue & _out_of_plane_strain
{@ Current and old values of the out-of-plane strain variable
const VariableValue & coupledScalarValueOld(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...
static InputParameters validParams()
const bool _scalar_out_of_plane_strain_coupled
Whether out-of-plane strain scalar variables are coupled.
ComputePlaneIncrementalStrain defines strain increment for small strains in a 2D planar simulation...
static InputParameters validParams()
const VariableValue & coupledScalarValue(const std::string &var_name, unsigned int comp=0) const
Compute2DIncrementalStrain defines a strain increment only for incremental strains in 2D geometries...
registerMooseObject("SolidMechanicsApp", ComputePlaneIncrementalStrain)
ComputePlaneIncrementalStrain(const InputParameters ¶meters)
const bool _out_of_plane_strain_coupled
Whether an out-of-plane strain variable is coupled.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
unsigned int coupledScalarComponents(const std::string &var_name) const
void mooseError(Args &&... args) const
unsigned int getCurrentSubblockIndex() const
gets its subblock index for current element
const VariableValue & _out_of_plane_strain_old
std::vector< const VariableValue * > _scalar_out_of_plane_strain_old