1103 {
1107 if (!nb_col)
1109 double *base_ptr =
const_cast<double *
>(&col_data.
getN(gg)[0]);
1114 const int u = 3;
1125 0) {
1126
1127 for (
int dd = 0;
dd < nb_col / 3;
dd++) {
1128 t_jac(
i,
j) += t_mass1(
i,
j) * base * getFEMethod()->ts_a;
1129 ++base_ptr;
1130 ++t_jac;
1131 }
1132 } else {
1133 double *diff_ptr =
1134 const_cast<double *
>(&(col_data.
getDiffN(gg, nb_col / 3)(0, 0)));
1136 const int s = 3 + 3;
1138
1139
1140
1141
1142
1143
1144
1145
1146
1161 for (
int dd = 0;
dd < nb_col / 3;
dd++) {
1162 t_jac(
i,
j) += t_mass1(
i,
j) * base * getFEMethod()->ts_a;
1163 t_jac(
i,
j) += t_mass3(
i,
j,
k) * diff(
k);
1164 ++base_ptr;
1165 ++diff_ptr;
1166 ++t_jac;
1167 }
1168 }
1170}
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
FTensor::Index< 'i', SPACE_DIM > i
FTensor::Index< 'j', 3 > j
const Tensor2_symmetric_Expr< const ddTensor0< T, Dim, i, j >, typename promote< T, double >::V, Dim, i, j > dd(const Tensor0< T * > &a, const Index< i, Dim > index1, const Index< j, Dim > index2, const Tensor1< int, Dim > &d_ijk, const Tensor1< double, Dim > &d_xyz)
std::map< std::string, std::vector< VectorDouble > > dataAtGaussPts
std::vector< MatrixDouble > jacVel
MatrixDouble & getDiffN(const FieldApproximationBase base)
get derivatives of base functions
MatrixDouble & getN(const FieldApproximationBase base)
get base functions this return matrix (nb. of rows is equal to nb. of Gauss pts, nb....
const VectorInt & getIndices() const
Get global indices of degrees of freedom on entity.