19 template <
typename R2,
typename R4>
28 template <
typename R2,
typename R4>
33 _elasticity_tensor_name(_base_name +
"elasticity_tensor"),
34 _elasticity_tensor(this->template getADMaterialProperty<R4>(_elasticity_tensor_name)),
36 this->template getADMaterialPropertyByName<R2>(_base_name +
"strain_increment")),
37 _rotation_total(this->template declareADProperty<
RankTwoTensor>(_base_name +
"rotation_total")),
39 this->template getMaterialPropertyOldByName<
RankTwoTensor>(_base_name +
"rotation_total")),
40 _rotation_increment(this->template getADMaterialPropertyByName<
RankTwoTensor>(
41 _base_name +
"rotation_increment")),
42 _stress_old(this->template getMaterialPropertyOldByName<R2>(_base_name +
"stress")),
44 this->template getMaterialPropertyOldByName<R2>(_base_name +
"elastic_strain"))
48 template <
typename R2,
typename R4>
54 template <
typename R2,
typename R4>
62 template <
typename R2,
typename R4>
67 ADR2 intermediate_stress;
71 _elasticity_tensor[_qp] * (_strain_increment[_qp] + _elastic_strain_old[_qp]);
78 auto elasticity_tensor_rotated = _elasticity_tensor[_qp];
79 elasticity_tensor_rotated.rotate(_rotation_total_old[_qp]);
82 elasticity_tensor_rotated * (_elastic_strain_old[_qp] + _strain_increment[_qp]);
85 _rotation_total[_qp] = _rotation_increment[_qp] * _rotation_total_old[_qp];
88 _stress[_qp] = intermediate_stress;
89 _stress[_qp].rotate(_rotation_increment[_qp]);
92 _elastic_strain[_qp] = _mechanical_strain[_qp];
virtual void computeQpStress() override
registerMooseObject("SolidMechanicsApp", ADComputeFiniteStrainElasticStress)
virtual void initQpStatefulProperties() override
Moose::GenericType< R2, true > ADR2
virtual void initQpStatefulProperties() override
static RankTwoTensorTempl Identity()
ADComputeFiniteStrainElasticStressTempl(const InputParameters ¶meters)
void initialSetup() override
ADComputeFiniteStrainElasticStress computes the stress following elasticity theory for finite strains...
static InputParameters validParams()
ADComputeStressBaseTempl is the base class for stress tensors.
Add-on class that provides the functionality to check if guarantees for material properties are provi...
static InputParameters validParams()