...
 
Commits (2)
......@@ -71,12 +71,13 @@ list(APPEND EXTERNAL_INCLUDES
)
list(APPEND EXTERNAL_LIBRARIES
Tlselementbased
TLSElementBased
${xTLS_LIBRARIES}
${XCUT_LIBRARIES}
${XEXT_LIBRARIES}
${xDoubleCut_LIBRARIES}
${xExt_LIBRARIES}
${xGeom_LIBRARIES}
${xFEM_LIBRARIES}
${xExport_LIBRARIES}
${Trellis_LIBRARIES}
${xSolverBase_LIBRARIES}
${xInterfaceLapack_LIBRARIES}
......
......@@ -66,49 +66,52 @@ public:
template<typename ITER>
void exportOnSpace(const std::string export_name, const int step, const xfem::xEval<double>& eval,
const xfem::xIntegrationRule& integration_rule, ITER begin, ITER end) {
const xfem::xIntegrationRule& integration_rule, ITER begin, ITER end,
xfem::xEntityToEntity integ2appro = xtool::xIdentity < AOMD::mEntity * >()) {
if(export_manager.toExport(export_name, step, "")) {
exportOnSpace(export_name, eval, integration_rule, begin, end);
exportOnSpace(export_name, eval, integration_rule, begin, end, integ2appro);
}
}
template<typename ITER>
void exportOnSpace(const std::string export_name, const int step, const xfem::xEval<xtensor::xVector>& eval,
const xfem::xIntegrationRule& integration_rule, ITER begin, ITER end) {
const xfem::xIntegrationRule& integration_rule, ITER begin, ITER end,
xfem::xEntityToEntity integ2appro = xtool::xIdentity < AOMD::mEntity * >()) {
if(export_manager.toExport(export_name, step, "")) {
exportOnSpace(export_name, eval, integration_rule, begin, end);
exportOnSpace(export_name, eval, integration_rule, begin, end), integ2appro;
}
for(int i=0; i<3; ++i) {
if(export_manager.toExport(export_name+"_"+std::to_string(i+1), step, "")) {
xtensor::xExtractCompVector extract(i);
xfem::xEvalUnary<xtensor::xExtractCompVector> evalex(extract, eval);
exportOnSpace(export_name, evalex, integration_rule, begin, end);
exportOnSpace(export_name, evalex, integration_rule, begin, end, integ2appro);
}
}
}
template<typename ITER>
void exportOnSpace(const std::string export_name, const int step, const xfem::xEval<xtensor::xTensor2>& eval,
const xfem::xIntegrationRule& integration_rule, ITER begin, ITER end) {
const xfem::xIntegrationRule& integration_rule, ITER begin, ITER end,
xfem::xEntityToEntity integ2appro = xtool::xIdentity < AOMD::mEntity * >()) {
if(export_manager.toExport(export_name, step, "")) {
exportOnSpace(export_name, eval, integration_rule, begin, end);
exportOnSpace(export_name, eval, integration_rule, begin, end, integ2appro);
}
for(int i=0; i<3; ++i) {
for(int j=0; j<3; ++j) {
if(export_manager.toExport(export_name+"_"+std::to_string(i+1)+std::to_string(j+1), step, "")) {
xtensor::xExtractCompTensor extract(i,j);
xfem::xEvalUnary<xtensor::xExtractCompTensor> evalex(extract, eval);
exportOnSpace(export_name, evalex, integration_rule, begin, end);
exportOnSpace(export_name, evalex, integration_rule, begin, end, integ2appro);
}
}
}
if(export_manager.toExport(export_name+"_tr", step, "")) {
xfem::xEvalUnary<xtensor::xTrace> evaltr(eval);
exportOnSpace(export_name, evaltr, integration_rule, begin, end);
exportOnSpace(export_name, evaltr, integration_rule, begin, end, integ2appro);
}
if(export_manager.toExport(export_name+"_dev", step, "")) {
xfem::xEvalUnary<xtensor::xDeviatoric> evaldev(eval);
exportOnSpace(export_name, evaldev, integration_rule, begin, end);
exportOnSpace(export_name, evaldev, integration_rule, begin, end, integ2appro);
}
}
......@@ -159,10 +162,11 @@ public:
void archiveSave(int step);
private:
template<typename EVAL, typename ITER>
void exportOnSpace(const std::string& export_name, const EVAL& eval, const xfem::xIntegrationRule& integration_rule, ITER begin, ITER end) {
void exportOnSpace(const std::string& export_name, const EVAL& eval, const xfem::xIntegrationRule& integration_rule, ITER begin, ITER end,
xfem::xEntityToEntity integ2appro = xtool::xIdentity < AOMD::mEntity * >()) {
pexport.openFile(export_manager.getFileName());
xfem::xFilteredRegion<ITER, xfem::xEntityFilter> fr(begin, end, filter);
Export(eval, pexport, export_name, integration_rule, fr.begin(), fr.end());
Export(eval, pexport, export_name, integration_rule, fr.begin(), fr.end(),integ2appro);
pexport.closeFile();
}
......
......@@ -5,7 +5,7 @@ enable_testing()
# Please, sort test cases so that it is easier to maintain
if(TLSDUCTILE_TEST_DAM)
if(TLSELEMENTBASED_TEST_DAM)
list(APPEND LISTTEST
# dam_3holes
# dam_3pt_bending
......@@ -19,7 +19,7 @@ list(APPEND LISTTEST
)
endif()
if(TLSDUCTILE_TEST_DYN)
if(TLSELEMENTBASED_TEST_DYN)
list(APPEND LISTTEST
# dyn_branching
# dyn_edge_on_impact
......@@ -28,7 +28,7 @@ list(APPEND LISTTEST
)
endif()
if(TLSDUCTILE_TEST_PLAST)
if(TLSELEMENTBASED_TEST_PLAST)
list(APPEND LISTTEST
# plast_flounder_eyes
# plast_full_beam
......@@ -37,13 +37,13 @@ list(APPEND LISTTEST
)
endif()
if(TLSDUCTILE_TEST_ANIMESH_DAM)
if(TLSELEMENTBASED_TEST_ANIMESH_DAM)
list(APPEND LISTTEST
# animesh_dam_notch
)
endif()
if(TLSDUCTILE_TEST_INFINITE_DAM)
if(TLSELEMENTBASED_TEST_INFINITE_DAM)
list(APPEND LISTTEST
# infinite_dam_homogeneous
# infinite_dam_notch
......