1221 { ++t_res_flow; };
1222
1223 auto t_w = AssemblyDomainEleOp::getFTensor0IntegrationWeight();
1224 auto t_base = data.getFTensor0N();
1225 auto &nf = AssemblyDomainEleOp::locF;
1226 for (size_t gg = 0; gg != nb_integration_pts; ++gg) {
1227 double alpha = AssemblyDomainEleOp::getMeasure() * t_w;
1228 ++t_w;
1229
1231 t_rhs(L) = alpha * (t_res_flow(
i,
j) * t_L(
i,
j, L));
1232 next();
1233
1234 auto t_nf = getFTensor1FromArray<size_symm, size_symm>(nf);
1235 size_t bb = 0;
1236 for (; bb != AssemblyDomainEleOp::nbRows /
size_symm; ++bb) {
1237 t_nf(L) += t_base * t_rhs(L);
1238 ++t_base;
1239 ++t_nf;
1240 }
1241 for (; bb < nb_base_functions; ++bb)
1242 ++t_base;
1243 }
1244
1246}
1247
1248template <typename AssemblyDomainEleOp>
1251 OpCalculateConstraintsRhsImpl(
const std::string
field_name,
1252 boost::shared_ptr<CommonData> common_data_ptr,
1253 boost::shared_ptr<MatrixDouble> m_D_ptr);
1255
1256private:
1257 boost::shared_ptr<CommonData> commonDataPtr;
1258 boost::shared_ptr<MatrixDouble> mDPtr;
1259};
1260
1261template <typename AssemblyDomainEleOp>
1262OpCalculateConstraintsRhsImpl<GAUSS, AssemblyDomainEleOp>::
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
FTensor::Index< 'i', SPACE_DIM > i
FTensor::Index< 'j', 3 > j
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
constexpr auto field_name