1242 {
1244
1245 int nb_integration_pts = getGaussPts().size2();
1246
1248 CHKERR getPtrFE() -> mField.get_moab().tag_get_handle(
tagName.c_str(), tag);
1249 int tag_length;
1250 CHKERR getPtrFE() -> mField.get_moab().tag_get_length(tag, tag_length);
1251 if (tag_length != 9) {
1253 "Number of internal stress components should be 9 but is %d",
1254 tag_length);
1255 }
1256
1258 auto fe_ent = getNumeredEntFiniteElementPtr()->getEnt();
1259 CHKERR getPtrFE() -> mField.get_moab().tag_get_data(
1260 tag, &fe_ent, 1, &*const_stress_vec.data().begin());
1262
1263 dataAtPts->internalStressAtPts.resize(tag_length, nb_integration_pts,
false);
1265 auto t_internal_stress =
1267
1269 for (int gg = 0; gg != nb_integration_pts; ++gg) {
1270 t_internal_stress(
L) = t_const_stress(
L);
1271 ++t_internal_stress;
1272 }
1273
1275}
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
@ MOFEM_DATA_INCONSISTENCY
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define CHKERR
Inline error check.
FTensor::Tensor1< FTensor::PackPtr< T *, S >, Tensor_Dim > getFTensor1FromMat(ublas::matrix< T, L, A > &data)
Get tensor rank 1 (vector) form data matrix.
auto getFTensor1FromArray(VectorDouble &data)
Get FTensor1 from array.