1129 {
1131
1132 const double vol = getMeasure();
1133 auto t_h = getFTensor0FromVec(*
hPtr);
1134
1135 auto t_row_diff_base = row_data.getFTensor1DiffN<
SPACE_DIM>();
1136 auto t_w = getFTensor0IntegrationWeight();
1137 auto t_coords = getFTensor1CoordsAtGaussPts();
1138
1139 for (int gg = 0; gg != nbIntegrationPts; gg++) {
1140
1141 const double r = t_coords(0);
1143
1144 double set_h;
1146 set_h =
init_h(t_coords(0), t_coords(1), t_coords(2));
1147 else
1148 set_h = t_h;
1149
1150 auto m =
get_M(set_h) * alpha;
1151
1152 int rr = 0;
1153 for (; rr != nbRows; ++rr) {
1154 auto t_col_diff_base = col_data.getFTensor1DiffN<
SPACE_DIM>(gg, 0);
1155
1156 for (int cc = 0; cc != nbCols; ++cc) {
1157 locMat(rr, cc) += (t_row_diff_base(
i) * t_col_diff_base(
i)) *
m;
1158
1159 ++t_col_diff_base;
1160 }
1161
1162 ++t_row_diff_base;
1163 }
1164
1165 for (; rr < nbRowBaseFunctions; ++rr) {
1166 ++t_row_diff_base;
1167 }
1168
1169 ++t_h;
1170 ++t_w;
1171 ++t_coords;
1172 }
1173
1175 }
#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 init_h
Initialisation function.
FTensor::Index< 'i', SPACE_DIM > i
constexpr IntegrationType I
FTensor::Index< 'm', 3 > m