929 {
931
932 const double vol = getMeasure();
933 auto t_h = getFTensor0FromVec(*
hPtr);
934
935 auto t_row_diff_base = row_data.getFTensor1DiffN<
SPACE_DIM>();
936 auto t_w = getFTensor0IntegrationWeight();
937 auto t_coords = getFTensor1CoordsAtGaussPts();
938
939 for (int gg = 0; gg != nbIntegrationPts; gg++) {
940
941 const double r = t_coords(0);
943
944 double set_h;
946 set_h =
init_h(t_coords(0), t_coords(1), t_coords(2));
947 else
948 set_h = t_h;
949
951
952 int rr = 0;
953 for (; rr != nbRows; ++rr) {
954 auto t_col_diff_base = col_data.getFTensor1DiffN<
SPACE_DIM>(gg, 0);
955
956 for (int cc = 0; cc != nbCols; ++cc) {
957 locMat(rr, cc) += (t_row_diff_base(
i) * t_col_diff_base(
i)) *
m;
958
959 ++t_col_diff_base;
960 }
961
962 ++t_row_diff_base;
963 }
964
965 for (; rr < nbRowBaseFunctions; ++rr) {
966 ++t_row_diff_base;
967 }
968
969 ++t_h;
970 ++t_w;
971 ++t_coords;
972 }
973
975 }
#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< 'm', SPACE_DIM > m
FTensor::Index< 'i', SPACE_DIM > i
constexpr IntegrationType I