1101 {
1103
1104 const double vol = getMeasure();
1105 auto t_grad_h = getFTensor1FromMat<SPACE_DIM>(*
gradHPtr);
1106 auto t_coords = getFTensor1CoordsAtGaussPts();
1107
1108 auto t_row_base = row_data.getFTensor0N();
1109 auto t_w = getFTensor0IntegrationWeight();
1110
1111 for (int gg = 0; gg != nbIntegrationPts; gg++) {
1112
1113 const auto r = t_coords(0);
1115 auto t_mat = getFTensor1FromPtr<U_FIELD_DIM>(&locMat(0, 0));
1117
1118 int rr = 0;
1119 for (; rr != nbRows; ++rr) {
1120 t_row(
i) = (alpha * t_row_base) * t_grad_h(
i);
1121 auto t_col_base = col_data.getFTensor0N(gg, 0);
1122 for (
int cc = 0; cc != nbCols /
U_FIELD_DIM; ++cc) {
1123 t_mat(
i) += t_row(
i) * t_col_base;
1124 ++t_mat;
1125 ++t_col_base;
1126 }
1127 ++t_row_base;
1128 }
1129
1130 for (; rr < nbRowBaseFunctions; ++rr)
1131 ++t_row_base;
1132
1133 ++t_grad_h;
1134 ++t_w;
1135 ++t_coords;
1136 }
1137
1139 }
#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()
auto cylindrical
[cylindrical]
constexpr int U_FIELD_DIM
FTensor::Index< 'i', SPACE_DIM > i