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"))
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];