178 {
180
184
185
187
188
189 const size_t nb_gauss_pts = getGaussPts().size2();
190
191
194
195
196 auto t_P = getFTensor2FromMat<SPACE_DIM, SPACE_DIM>(*
firstPiolaPtr);
197 auto t_F = getFTensor2FromMat<SPACE_DIM, SPACE_DIM>(*
defGradPtr);
198 const double two_o_three = 2. / 3.;
199 const double trace_t_dk = DIM_0;
200 for (auto gg = 0; gg != nb_gauss_pts; ++gg) {
201
204 two_o_three * trace_t_dk *
t_kd(
i,
j)) +
207
208 ++t_F;
209 ++t_P;
210 }
211
213 }
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
double trace(FTensor::Tensor2< T, 2, 2 > &t_stress)
FTensor::Index< 'i', SPACE_DIM > i
FTensor::Index< 'j', 3 > j
FTensor::Index< 'k', 3 > k