12 #include "libmesh/quadrature.h" 19 "Compute a strain increment and rotation increment for finite strains in 2D geometries.");
21 MooseEnum outOfPlaneDirection(
"x y z",
"z");
23 "out_of_plane_direction", outOfPlaneDirection,
"The direction of the out-of-plane strain.");
29 _out_of_plane_direction(getParam<
MooseEnum>(
"out_of_plane_direction"))
36 for (
unsigned int i = 0; i < 3; ++i)
106 mooseError(
"For 2D simulations where the out-of-plane direction is x or y the number of " 107 "supplied displacements must be three.");
109 mooseError(
"For 2D simulations where the out-of-plane direction is z the number of supplied " 110 "displacements must be two.");
FEProblemBase & _fe_problem
const QBase *const & _qrule
const unsigned int _ndisp
Coupled displacement variables.
const VariableGradient & _grad_zero
const MooseArray< ADRealVectorValue > & _ad_grad_zero
virtual void computeProperties() override
const ADVariableGradient & adCoupledGradient(const std::string &var_name, unsigned int comp=0) const
const ADVariableValue & adCoupledValue(const std::string &var_name, unsigned int comp=0) const
const MooseArray< Real > & _JxW
virtual void displacementIntegrityCheck() override
const MooseArray< DualReal > & _ad_zero
static RankTwoTensorTempl initializeFromRows(const libMesh::TypeVector< ADReal > &row0, const libMesh::TypeVector< ADReal > &row1, const libMesh::TypeVector< ADReal > &row2)
virtual Real computeOutOfPlaneGradDispOld()=0
Computes the old out-of-plane component of the displacement gradient; as a virtual function...
virtual const VariableGradient & coupledGradientOld(const std::string &var_name, unsigned int comp=0) const
std::vector< const ADVariableGradient * > _grad_disp
Gradient of displacements.
const Real & _current_elem_volume
const bool _volumetric_locking_correction
ADComputeFiniteStrain defines a strain increment and rotation increment, for finite strains...
virtual ADReal computeOutOfPlaneGradDisp()=0
Computes the current out-of-plane component of the displacement gradient; as a virtual function...
std::vector< ADRankTwoTensor > _Fhat
const unsigned int _out_of_plane_direction
static InputParameters validParams()
std::vector< const VariableGradient * > _grad_disp_old
virtual void computeQpStrain()
void mooseError(Args &&... args) const
static InputParameters validParams()
std::vector< const ADVariableValue * > _disp
Displacement variables.
ADCompute2DFiniteStrain(const InputParameters ¶meters)
virtual bool isTransient() const override
const MooseArray< Real > & _coord
void initialSetup() override