11 #include "MooseMesh.h"
15 template <ComputeStage compute_stage>
23 template <ComputeStage compute_stage>
25 const InputParameters & parameters)
28 _strain_rate(declareADProperty<
RankTwoTensor>(_base_name +
"strain_rate")),
29 _strain_increment(declareADProperty<
RankTwoTensor>(_base_name +
"strain_increment")),
30 _rotation_increment(declareADProperty<
RankTwoTensor>(_base_name +
"rotation_increment")),
31 _mechanical_strain_old(getMaterialPropertyOld<
RankTwoTensor>(_base_name +
"mechanical_strain")),
32 _total_strain_old(getMaterialPropertyOld<
RankTwoTensor>(_base_name +
"total_strain")),
33 _eigenstrains_old(_eigenstrain_names.size())
39 template <ComputeStage compute_stage>
44 for (
unsigned int i = 0; i < 3; ++i)
46 if (_fe_problem.isTransient() && i < _ndisp)
47 _grad_disp_old[i] = &coupledGradientOld(
"displacements", i);
49 _grad_disp_old[i] = &_grad_zero;
53 template <ComputeStage compute_stage>
57 _mechanical_strain[_qp].zero();
58 _total_strain[_qp].zero();
61 template <ComputeStage compute_stage>
64 ADRankTwoTensor & strain)
66 for (
unsigned int i = 0; i < _eigenstrains.size(); ++i)
68 strain -= (*_eigenstrains[i])[_qp];
69 strain += (*_eigenstrains_old[i])[_qp];