1318 {
1320
1321 const double vol = getMeasure();
1322 auto t_h = getFTensor0FromVec(*
hPtr);
1323
1324 auto t_row_diff_base = row_data.getFTensor1DiffN<
SPACE_DIM>();
1325 auto t_w = getFTensor0IntegrationWeight();
1326 auto t_coords = getFTensor1CoordsAtGaussPts();
1327
1328 for (int gg = 0; gg != nbIntegrationPts; gg++) {
1329
1330 const double r = t_coords(0);
1332
1333 double set_h;
1335 set_h =
init_h(t_coords(0), t_coords(1), t_coords(2));
1336 else
1337 set_h = t_h;
1338
1339 auto m =
get_M(set_h) * alpha;
1340
1341 int rr = 0;
1342 for (; rr != nbRows; ++rr) {
1343 auto t_col_diff_base = col_data.getFTensor1DiffN<
SPACE_DIM>(gg, 0);
1344
1345 for (int cc = 0; cc != nbCols; ++cc) {
1346 locMat(rr, cc) += (t_row_diff_base(
i) * t_col_diff_base(
i)) *
m;
1347
1348 ++t_col_diff_base;
1349 }
1350
1351 ++t_row_diff_base;
1352 }
1353
1354 for (; rr < nbRowBaseFunctions; ++rr) {
1355 ++t_row_diff_base;
1356 }
1357
1358 ++t_h;
1359 ++t_w;
1360 ++t_coords;
1361 }
1362
1364 }
#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]
auto init_h
Initialisation function.
FTensor::Index< 'i', SPACE_DIM > i
constexpr IntegrationType I
FTensor::Index< 'm', 3 > m