19 "Calculate a small strain elastic stress that is equivalent to the hyperelastic St. "
20 "Venant-Kirchhoff model if integrated using the Truesdell rate.");
22 params.
addParam<MaterialPropertyName>(
23 "elasticity_tensor",
"elasticity_tensor",
"The name of the elasticity tensor.");
32 getParam<MaterialPropertyName>(_base_name +
"elasticity_tensor"))),
33 _def_grad(getMaterialProperty<
RankTwoTensor>(_base_name +
"deformation_gradient"))
40 usingTensorIndices(i, j, k, l);
56 const Real J = F.det();
74 (dFddL.
singleProductJ((C0.tripleProductJkl(F, F, F) * dL).transpose()) +
75 dFddL.
singleProductJ(C0.tripleProductIkl(F, F, F) * dL).transposeIj() +
registerMooseObject("SolidMechanicsApp", ComputeHypoelasticStVenantKirchhoffStress)
const MaterialProperty< RankTwoTensor > & _def_grad
The deformation gradient.
virtual void computeQpSmallStress()
Implement the elastic small stress update.
static InputParameters validParams()
ComputeHypoelasticStVenantKirchhoffStress(const InputParameters ¶meters)
const MaterialProperty< RankFourTensor > & _elasticity_tensor
The elasticity tensor.
Provide the Cauchy stress via an objective integration of a small stress.
const MaterialProperty< RankTwoTensor > & _small_stress_old
We need the old value to get the increment.
static InputParameters validParams()
const MaterialProperty< RankTwoTensor > & _vorticity_increment
Provided for material models that use the vorticity increment.
MaterialProperty< RankTwoTensor > & _small_stress
The updated small stress.
const MaterialProperty< RankTwoTensor > & _strain_increment
Provided for material models that use the strain increment.
const MaterialProperty< RankFourTensor > & _d_deformation_gradient_increment_d_F
d(dL)/dF, stored by the strain calculator
MaterialProperty< RankFourTensor > & _small_jacobian
The updated small algorithmic tangent.
bool _large_kinematics
If true use large deformations.
const MaterialProperty< RankTwoTensor > & _inv_def_grad
Inverse F-bar-stabilized deformation gradient (= _F^{-1}).
FEProblemBase & _fe_problem
RankFourTensorTempl< T > singleProductL(const RankTwoTensorTempl< T > &) const
RankFourTensorTempl< T > inverse() const
RankFourTensorTempl< T > singleProductK(const RankTwoTensorTempl< T > &) const
RankFourTensorTempl< T > singleProductJ(const RankTwoTensorTempl< T > &) const
RankFourTensorTempl< T > times(const RankTwoTensorTempl< T > &b) const
RankFourTensorTempl< T > outerProduct(const RankTwoTensorTempl< T > &b) const
const bool & currentlyComputingJacobian() const