31                                                                  {
   33 
   34    const int nb_dofs = data.getIndices().size();
   35 
   36    if (nb_dofs) {
   37      
   38      
   39      auto &nf = AssemblyDomainEleOp::locF;
   40      
   41      const double area = getMeasure();
   42 
   43      
   44      const int nb_integration_points = getGaussPts().size2();
   45      
   46      auto t_w = getFTensor0IntegrationWeight();
   47 
   48      
   49      auto t_base_diff = data.getFTensor1DiffN<DIM>();
   50 
   52 
   53      auto t_h = getFTensor0FromVec(*
hPtr);
 
   54      for (int gg = 0; gg != nb_integration_points; gg++) {
   55        auto t_nf = getFTensor1FromPtr<DIM>(&nf[0]);
   56 
   58 
   59        for (int rr = 0; rr != nb_dofs / DIM; rr++) {
   60          t_nf(
i) -= t_base_diff(
i) * 
a;
 
   61 
   62          
   63          ++t_base_diff; 
   64          ++t_nf;
   65        }
   66 
   67        
   68        ++t_w;
   69        ++t_h;
   70      }
   71    }
   72 
   74  }
#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()
FTensor::Index< 'i', SPACE_DIM > i