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