diff --git a/test/test_mesh_utils/test_buildfacets/test_buildfacets_hexahedron_20.cc b/test/test_mesh_utils/test_buildfacets/test_buildfacets_hexahedron_20.cc index 6f333311e..d694a21e8 100644 --- a/test/test_mesh_utils/test_buildfacets/test_buildfacets_hexahedron_20.cc +++ b/test/test_mesh_utils/test_buildfacets/test_buildfacets_hexahedron_20.cc @@ -1,143 +1,141 @@ /** * @file test_buildfacets_hexahedron_20.cc * * @author Mauro Corrado * @author Marco Vocialta * * @date creation: Tue May 08 2012 * @date last modification: Sat Sep 19 2015 * * @brief Test to check the building of the facets. Mesh with hexahedrons * * @section LICENSE * * Copyright (©) 2010-2012, 2014, 2015 EPFL (Ecole Polytechnique Fédérale de * Lausanne) Laboratory (LSMS - Laboratoire de Simulation en Mécanique des * Solides) * * Akantu is free software: you can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License as published by the Free * Software Foundation, either version 3 of the License, or (at your option) any * later version. * * Akantu is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. * * You should have received a copy of the GNU Lesser General Public License * along with Akantu. If not, see . * */ /* -------------------------------------------------------------------------- */ #include #include #include /* -------------------------------------------------------------------------- */ #include "aka_common.hh" #include "mesh.hh" #include "mesh_utils.hh" /* -------------------------------------------------------------------------- */ using namespace akantu; int main(int argc, char *argv[]) { initialize(argc, argv); const UInt spatial_dimension = 3; const ElementType type = _hexahedron_20; Mesh mesh(spatial_dimension); mesh.read("hexahedron_20.msh"); Mesh & mesh_facets = mesh.initMeshFacets("mesh_facets"); - MeshUtils::buildAllFacets(mesh, mesh_facets); - // debug::setDebugLevel(dblDump); // std::cout << mesh << std::endl; // std::cout << mesh_facets << std::endl; const ElementType type_facet = mesh.getFacetType(type); const ElementType type_subfacet = mesh.getFacetType(type_facet); const ElementType type_subsubfacet = mesh.getFacetType(type_subfacet); /* ------------------------------------------------------------------------ */ /* Element to Subelement testing */ /* ------------------------------------------------------------------------ */ const Array< std::vector > & el_to_subel3 = mesh_facets.getElementToSubelement(type_facet); const Array< std::vector > & el_to_subel2 = mesh_facets.getElementToSubelement(type_subfacet); const Array< std::vector > & el_to_subel1 = mesh_facets.getElementToSubelement(type_subsubfacet); std::cout << "ElementToSubelement3" << std::endl; for (UInt i = 0; i < el_to_subel3.size(); ++i) { std::cout << type_facet << " " << i << " connected to "; for (UInt j = 0; j < 2; ++j){ std::cout << el_to_subel3(i)[j].type << " " << el_to_subel3(i)[j].element << ", "; } std::cout << " " << std::endl; } std::cout << "ElementToSubelement2" << std::endl; for (UInt i = 0; i < el_to_subel2.size(); ++i) { std::cout << type_subfacet << " " << i << " connected to "; for (UInt j = 0; j < el_to_subel2(i).size(); ++j){ std::cout << el_to_subel2(i)[j].type << " " << el_to_subel2(i)[j].element << ", "; } std::cout << " " << std::endl; } std::cout << "ElementToSubelement1" << std::endl; for (UInt i = 0; i < el_to_subel1.size(); ++i) { std::cout << type_subsubfacet << " " << i << " connected to "; for (UInt j = 0; j < el_to_subel1(i).size(); ++j){ std::cout << el_to_subel1(i)[j].type << " " << el_to_subel1(i)[j].element << ", "; } std::cout << " " << std::endl; } /* ------------------------------------------------------------------------ */ /* Subelement to Element testing */ /* ------------------------------------------------------------------------ */ const Array & subel_to_el3 = mesh_facets.getSubelementToElement(type); const Array & subel_to_el2 = mesh_facets.getSubelementToElement(type_facet); const Array & subel_to_el1 = mesh_facets.getSubelementToElement(type_subfacet); std::cout << " " << std::endl; std::cout << "SubelementToElement3" << std::endl; for (UInt i = 0; i < subel_to_el3.size(); ++i) { std::cout << type << " " << i << " connected to "; for (UInt j = 0; j < 6; ++j){ std::cout << subel_to_el3(i, j).type << " " << subel_to_el3(i, j).element << ", "; } std::cout << " " << std::endl; } std::cout << "SubelementToElement2" << std::endl; for (UInt i = 0; i < subel_to_el2.size(); ++i) { std::cout << type_facet << " " << i << " connected to "; for (UInt j = 0; j < 4; ++j){ std::cout << subel_to_el2(i, j).type << " " << subel_to_el2(i, j).element << ", "; } std::cout << " " << std::endl; } std::cout << "SubelementToElement1" << std::endl; for (UInt i = 0; i < subel_to_el1.size(); ++i) { std::cout << type_subfacet << " " << i << " connected to "; for (UInt j = 0; j < 2; ++j){ std::cout << subel_to_el1(i, j).type << " " << subel_to_el1(i, j).element << ", "; } std::cout << " " << std::endl; } finalize(); return EXIT_SUCCESS; } diff --git a/test/test_mesh_utils/test_buildfacets/test_buildfacets_hexahedron_20.verified b/test/test_mesh_utils/test_buildfacets/test_buildfacets_hexahedron_20.verified index 79ae07364..dc5d0a345 100644 --- a/test/test_mesh_utils/test_buildfacets/test_buildfacets_hexahedron_20.verified +++ b/test/test_mesh_utils/test_buildfacets/test_buildfacets_hexahedron_20.verified @@ -1,135 +1,135 @@ ElementToSubelement3 _quadrangle_8 0 connected to _hexahedron_20 0, _hexahedron_20 3, _quadrangle_8 1 connected to _hexahedron_20 0, _hexahedron_20 1, -_quadrangle_8 2 connected to _hexahedron_20 0, _not_defined 0, -_quadrangle_8 3 connected to _hexahedron_20 0, _not_defined 0, -_quadrangle_8 4 connected to _hexahedron_20 0, _not_defined 0, -_quadrangle_8 5 connected to _hexahedron_20 0, _not_defined 0, -_quadrangle_8 6 connected to _hexahedron_20 1, _not_defined 0, +_quadrangle_8 2 connected to _hexahedron_20 0, _not_defined 4294967295, +_quadrangle_8 3 connected to _hexahedron_20 0, _not_defined 4294967295, +_quadrangle_8 4 connected to _hexahedron_20 0, _not_defined 4294967295, +_quadrangle_8 5 connected to _hexahedron_20 0, _not_defined 4294967295, +_quadrangle_8 6 connected to _hexahedron_20 1, _not_defined 4294967295, _quadrangle_8 7 connected to _hexahedron_20 1, _hexahedron_20 2, -_quadrangle_8 8 connected to _hexahedron_20 1, _not_defined 0, -_quadrangle_8 9 connected to _hexahedron_20 1, _not_defined 0, -_quadrangle_8 10 connected to _hexahedron_20 1, _not_defined 0, -_quadrangle_8 11 connected to _hexahedron_20 2, _not_defined 0, -_quadrangle_8 12 connected to _hexahedron_20 2, _not_defined 0, -_quadrangle_8 13 connected to _hexahedron_20 2, _not_defined 0, +_quadrangle_8 8 connected to _hexahedron_20 1, _not_defined 4294967295, +_quadrangle_8 9 connected to _hexahedron_20 1, _not_defined 4294967295, +_quadrangle_8 10 connected to _hexahedron_20 1, _not_defined 4294967295, +_quadrangle_8 11 connected to _hexahedron_20 2, _not_defined 4294967295, +_quadrangle_8 12 connected to _hexahedron_20 2, _not_defined 4294967295, +_quadrangle_8 13 connected to _hexahedron_20 2, _not_defined 4294967295, _quadrangle_8 14 connected to _hexahedron_20 2, _hexahedron_20 3, -_quadrangle_8 15 connected to _hexahedron_20 2, _not_defined 0, -_quadrangle_8 16 connected to _hexahedron_20 3, _not_defined 0, -_quadrangle_8 17 connected to _hexahedron_20 3, _not_defined 0, -_quadrangle_8 18 connected to _hexahedron_20 3, _not_defined 0, -_quadrangle_8 19 connected to _hexahedron_20 3, _not_defined 0, +_quadrangle_8 15 connected to _hexahedron_20 2, _not_defined 4294967295, +_quadrangle_8 16 connected to _hexahedron_20 3, _not_defined 4294967295, +_quadrangle_8 17 connected to _hexahedron_20 3, _not_defined 4294967295, +_quadrangle_8 18 connected to _hexahedron_20 3, _not_defined 4294967295, +_quadrangle_8 19 connected to _hexahedron_20 3, _not_defined 4294967295, ElementToSubelement2 _segment_3 0 connected to _quadrangle_8 0, _quadrangle_8 4, _quadrangle_8 17, _segment_3 1 connected to _quadrangle_8 0, _quadrangle_8 1, _quadrangle_8 7, _quadrangle_8 14, _segment_3 2 connected to _quadrangle_8 0, _quadrangle_8 5, _quadrangle_8 16, _segment_3 3 connected to _quadrangle_8 0, _quadrangle_8 3, _quadrangle_8 19, _segment_3 4 connected to _quadrangle_8 1, _quadrangle_8 4, _quadrangle_8 8, _segment_3 5 connected to _quadrangle_8 1, _quadrangle_8 2, _quadrangle_8 9, _segment_3 6 connected to _quadrangle_8 1, _quadrangle_8 5, _quadrangle_8 6, _segment_3 7 connected to _quadrangle_8 2, _quadrangle_8 4, _segment_3 8 connected to _quadrangle_8 2, _quadrangle_8 3, _segment_3 9 connected to _quadrangle_8 2, _quadrangle_8 5, _segment_3 10 connected to _quadrangle_8 3, _quadrangle_8 4, _segment_3 11 connected to _quadrangle_8 3, _quadrangle_8 5, _segment_3 12 connected to _quadrangle_8 6, _quadrangle_8 7, _quadrangle_8 11, _segment_3 13 connected to _quadrangle_8 6, _quadrangle_8 10, _segment_3 14 connected to _quadrangle_8 6, _quadrangle_8 9, _segment_3 15 connected to _quadrangle_8 7, _quadrangle_8 8, _quadrangle_8 13, _segment_3 16 connected to _quadrangle_8 7, _quadrangle_8 10, _quadrangle_8 15, _segment_3 17 connected to _quadrangle_8 8, _quadrangle_8 9, _segment_3 18 connected to _quadrangle_8 8, _quadrangle_8 10, _segment_3 19 connected to _quadrangle_8 9, _quadrangle_8 10, _segment_3 20 connected to _quadrangle_8 11, _quadrangle_8 14, _quadrangle_8 16, _segment_3 21 connected to _quadrangle_8 11, _quadrangle_8 12, _segment_3 22 connected to _quadrangle_8 11, _quadrangle_8 15, _segment_3 23 connected to _quadrangle_8 12, _quadrangle_8 14, _quadrangle_8 18, _segment_3 24 connected to _quadrangle_8 12, _quadrangle_8 13, _segment_3 25 connected to _quadrangle_8 12, _quadrangle_8 15, _segment_3 26 connected to _quadrangle_8 13, _quadrangle_8 14, _quadrangle_8 17, _segment_3 27 connected to _quadrangle_8 13, _quadrangle_8 15, _segment_3 28 connected to _quadrangle_8 16, _quadrangle_8 19, _segment_3 29 connected to _quadrangle_8 16, _quadrangle_8 18, _segment_3 30 connected to _quadrangle_8 17, _quadrangle_8 18, _segment_3 31 connected to _quadrangle_8 17, _quadrangle_8 19, _segment_3 32 connected to _quadrangle_8 18, _quadrangle_8 19, ElementToSubelement1 _point_1 0 connected to _segment_3 0, _segment_3 3, _segment_3 10, _segment_3 31, _point_1 1 connected to _segment_3 0, _segment_3 1, _segment_3 4, _segment_3 15, _segment_3 26, _point_1 2 connected to _segment_3 1, _segment_3 2, _segment_3 6, _segment_3 12, _segment_3 20, _point_1 3 connected to _segment_3 2, _segment_3 3, _segment_3 11, _segment_3 28, _point_1 4 connected to _segment_3 4, _segment_3 5, _segment_3 7, _segment_3 17, _point_1 5 connected to _segment_3 5, _segment_3 6, _segment_3 9, _segment_3 14, _point_1 6 connected to _segment_3 7, _segment_3 8, _segment_3 10, _point_1 7 connected to _segment_3 8, _segment_3 9, _segment_3 11, _point_1 8 connected to _segment_3 12, _segment_3 13, _segment_3 16, _segment_3 22, _point_1 9 connected to _segment_3 13, _segment_3 14, _segment_3 19, _point_1 10 connected to _segment_3 15, _segment_3 16, _segment_3 18, _segment_3 27, _point_1 11 connected to _segment_3 17, _segment_3 18, _segment_3 19, _point_1 12 connected to _segment_3 20, _segment_3 21, _segment_3 23, _segment_3 29, _point_1 13 connected to _segment_3 21, _segment_3 22, _segment_3 25, _point_1 14 connected to _segment_3 23, _segment_3 24, _segment_3 26, _segment_3 30, _point_1 15 connected to _segment_3 24, _segment_3 25, _segment_3 27, _point_1 16 connected to _segment_3 28, _segment_3 29, _segment_3 32, _point_1 17 connected to _segment_3 30, _segment_3 31, _segment_3 32, SubelementToElement3 _hexahedron_20 0 connected to _quadrangle_8 0, _quadrangle_8 1, _quadrangle_8 2, _quadrangle_8 3, _quadrangle_8 4, _quadrangle_8 5, _hexahedron_20 1 connected to _quadrangle_8 1, _quadrangle_8 6, _quadrangle_8 7, _quadrangle_8 8, _quadrangle_8 9, _quadrangle_8 10, _hexahedron_20 2 connected to _quadrangle_8 7, _quadrangle_8 11, _quadrangle_8 12, _quadrangle_8 13, _quadrangle_8 14, _quadrangle_8 15, _hexahedron_20 3 connected to _quadrangle_8 0, _quadrangle_8 14, _quadrangle_8 16, _quadrangle_8 17, _quadrangle_8 18, _quadrangle_8 19, SubelementToElement2 _quadrangle_8 0 connected to _segment_3 0, _segment_3 1, _segment_3 2, _segment_3 3, _quadrangle_8 1 connected to _segment_3 1, _segment_3 4, _segment_3 5, _segment_3 6, _quadrangle_8 2 connected to _segment_3 5, _segment_3 7, _segment_3 8, _segment_3 9, _quadrangle_8 3 connected to _segment_3 3, _segment_3 8, _segment_3 10, _segment_3 11, _quadrangle_8 4 connected to _segment_3 0, _segment_3 4, _segment_3 7, _segment_3 10, _quadrangle_8 5 connected to _segment_3 2, _segment_3 6, _segment_3 9, _segment_3 11, _quadrangle_8 6 connected to _segment_3 6, _segment_3 12, _segment_3 13, _segment_3 14, _quadrangle_8 7 connected to _segment_3 1, _segment_3 12, _segment_3 15, _segment_3 16, _quadrangle_8 8 connected to _segment_3 4, _segment_3 15, _segment_3 17, _segment_3 18, _quadrangle_8 9 connected to _segment_3 5, _segment_3 14, _segment_3 17, _segment_3 19, _quadrangle_8 10 connected to _segment_3 13, _segment_3 16, _segment_3 18, _segment_3 19, _quadrangle_8 11 connected to _segment_3 12, _segment_3 20, _segment_3 21, _segment_3 22, _quadrangle_8 12 connected to _segment_3 21, _segment_3 23, _segment_3 24, _segment_3 25, _quadrangle_8 13 connected to _segment_3 15, _segment_3 24, _segment_3 26, _segment_3 27, _quadrangle_8 14 connected to _segment_3 1, _segment_3 20, _segment_3 23, _segment_3 26, _quadrangle_8 15 connected to _segment_3 16, _segment_3 22, _segment_3 25, _segment_3 27, _quadrangle_8 16 connected to _segment_3 2, _segment_3 20, _segment_3 28, _segment_3 29, _quadrangle_8 17 connected to _segment_3 0, _segment_3 26, _segment_3 30, _segment_3 31, _quadrangle_8 18 connected to _segment_3 23, _segment_3 29, _segment_3 30, _segment_3 32, _quadrangle_8 19 connected to _segment_3 3, _segment_3 28, _segment_3 31, _segment_3 32, SubelementToElement1 _segment_3 0 connected to _point_1 0, _point_1 1, _segment_3 1 connected to _point_1 1, _point_1 2, _segment_3 2 connected to _point_1 2, _point_1 3, _segment_3 3 connected to _point_1 0, _point_1 3, _segment_3 4 connected to _point_1 1, _point_1 4, _segment_3 5 connected to _point_1 4, _point_1 5, _segment_3 6 connected to _point_1 2, _point_1 5, _segment_3 7 connected to _point_1 4, _point_1 6, _segment_3 8 connected to _point_1 6, _point_1 7, _segment_3 9 connected to _point_1 5, _point_1 7, _segment_3 10 connected to _point_1 0, _point_1 6, _segment_3 11 connected to _point_1 3, _point_1 7, _segment_3 12 connected to _point_1 2, _point_1 8, _segment_3 13 connected to _point_1 8, _point_1 9, _segment_3 14 connected to _point_1 5, _point_1 9, _segment_3 15 connected to _point_1 1, _point_1 10, _segment_3 16 connected to _point_1 8, _point_1 10, _segment_3 17 connected to _point_1 4, _point_1 11, _segment_3 18 connected to _point_1 10, _point_1 11, _segment_3 19 connected to _point_1 9, _point_1 11, _segment_3 20 connected to _point_1 2, _point_1 12, _segment_3 21 connected to _point_1 12, _point_1 13, _segment_3 22 connected to _point_1 8, _point_1 13, _segment_3 23 connected to _point_1 12, _point_1 14, _segment_3 24 connected to _point_1 14, _point_1 15, _segment_3 25 connected to _point_1 13, _point_1 15, _segment_3 26 connected to _point_1 1, _point_1 14, _segment_3 27 connected to _point_1 10, _point_1 15, _segment_3 28 connected to _point_1 3, _point_1 16, _segment_3 29 connected to _point_1 12, _point_1 16, _segment_3 30 connected to _point_1 14, _point_1 17, _segment_3 31 connected to _point_1 0, _point_1 17, _segment_3 32 connected to _point_1 16, _point_1 17, diff --git a/test/test_mesh_utils/test_buildfacets/test_buildfacets_hexahedron_8.cc b/test/test_mesh_utils/test_buildfacets/test_buildfacets_hexahedron_8.cc index f2f522c5d..d567d9fb2 100644 --- a/test/test_mesh_utils/test_buildfacets/test_buildfacets_hexahedron_8.cc +++ b/test/test_mesh_utils/test_buildfacets/test_buildfacets_hexahedron_8.cc @@ -1,144 +1,142 @@ /** * @file test_buildfacets_hexahedron_8.cc * * @author Mauro Corrado * @author Marco Vocialta * * @date creation: Tue May 08 2012 * @date last modification: Sat Sep 19 2015 * * @brief Test to check the building of the facets. Mesh with hexahedrons * * @section LICENSE * * Copyright (©) 2010-2012, 2014, 2015 EPFL (Ecole Polytechnique Fédérale de * Lausanne) Laboratory (LSMS - Laboratoire de Simulation en Mécanique des * Solides) * * Akantu is free software: you can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License as published by the Free * Software Foundation, either version 3 of the License, or (at your option) any * later version. * * Akantu is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. * * You should have received a copy of the GNU Lesser General Public License * along with Akantu. If not, see . * */ /* -------------------------------------------------------------------------- */ #include #include #include /* -------------------------------------------------------------------------- */ #include "aka_common.hh" #include "mesh.hh" #include "mesh_utils.hh" /* -------------------------------------------------------------------------- */ using namespace akantu; int main(int argc, char *argv[]) { initialize(argc, argv); const UInt spatial_dimension = 3; const ElementType type = _hexahedron_8; Mesh mesh(spatial_dimension); mesh.read("hexahedron_8.msh"); Mesh & mesh_facets = mesh.initMeshFacets("mesh_facets"); - MeshUtils::buildAllFacets(mesh, mesh_facets); - // debug::setDebugLevel(dblDump); // std::cout << mesh << std::endl; // std::cout << mesh_facets << std::endl; const ElementType type_facet = mesh.getFacetType(type); const ElementType type_subfacet = mesh.getFacetType(type_facet); const ElementType type_subsubfacet = mesh.getFacetType(type_subfacet); /* ------------------------------------------------------------------------ */ /* Element to Subelement testing */ /* ------------------------------------------------------------------------ */ const Array< std::vector > & el_to_subel3 = mesh_facets.getElementToSubelement(type_facet); const Array< std::vector > & el_to_subel2 = mesh_facets.getElementToSubelement(type_subfacet); const Array< std::vector > & el_to_subel1 = mesh_facets.getElementToSubelement(type_subsubfacet); std::cout << "ElementToSubelement3" << std::endl; for (UInt i = 0; i < el_to_subel3.size(); ++i) { std::cout << type_facet << " " << i << " connected to "; for (UInt j = 0; j < 2; ++j){ std::cout << el_to_subel3(i)[j].type << " " << el_to_subel3(i)[j].element << ", "; } std::cout << " " << std::endl; } std::cout << "ElementToSubelement2" << std::endl; for (UInt i = 0; i < el_to_subel2.size(); ++i) { std::cout << type_subfacet << " " << i << " connected to "; for (UInt j = 0; j < el_to_subel2(i).size(); ++j){ std::cout << el_to_subel2(i)[j].type << " " << el_to_subel2(i)[j].element << ", "; } std::cout << " " << std::endl; } std::cout << "ElementToSubelement1" << std::endl; for (UInt i = 0; i < el_to_subel1.size(); ++i) { std::cout << type_subsubfacet << " " << i << " connected to "; for (UInt j = 0; j < el_to_subel1(i).size(); ++j){ std::cout << el_to_subel1(i)[j].type << " " << el_to_subel1(i)[j].element << ", "; } std::cout << " " << std::endl; } /* ------------------------------------------------------------------------ */ /* Subelement to Element testing */ /* ------------------------------------------------------------------------ */ const Array & subel_to_el3 = mesh_facets.getSubelementToElement(type); const Array & subel_to_el2 = mesh_facets.getSubelementToElement(type_facet); const Array & subel_to_el1 = mesh_facets.getSubelementToElement(type_subfacet); std::cout << " " << std::endl; std::cout << "SubelementToElement3" << std::endl; for (UInt i = 0; i < subel_to_el3.size(); ++i) { std::cout << type << " " << i << " connected to "; for (UInt j = 0; j < 6; ++j){ std::cout << subel_to_el3(i, j).type << " " << subel_to_el3(i, j).element << ", "; } std::cout << " " << std::endl; } std::cout << "SubelementToElement2" << std::endl; for (UInt i = 0; i < subel_to_el2.size(); ++i) { std::cout << type_facet << " " << i << " connected to "; for (UInt j = 0; j < 4; ++j){ std::cout << subel_to_el2(i, j).type << " " << subel_to_el2(i, j).element << ", "; } std::cout << " " << std::endl; } std::cout << "SubelementToElement1" << std::endl; for (UInt i = 0; i < subel_to_el1.size(); ++i) { std::cout << type_subfacet << " " << i << " connected to "; for (UInt j = 0; j < 2; ++j){ std::cout << subel_to_el1(i, j).type << " " << subel_to_el1(i, j).element << ", "; } std::cout << " " << std::endl; } finalize(); return EXIT_SUCCESS; } diff --git a/test/test_mesh_utils/test_buildfacets/test_buildfacets_hexahedron_8.verified b/test/test_mesh_utils/test_buildfacets/test_buildfacets_hexahedron_8.verified index 1119f846b..d60c11099 100644 --- a/test/test_mesh_utils/test_buildfacets/test_buildfacets_hexahedron_8.verified +++ b/test/test_mesh_utils/test_buildfacets/test_buildfacets_hexahedron_8.verified @@ -1,135 +1,135 @@ ElementToSubelement3 -_quadrangle_4 0 connected to _hexahedron_8 0, _not_defined 0, +_quadrangle_4 0 connected to _hexahedron_8 0, _not_defined 4294967295, _quadrangle_4 1 connected to _hexahedron_8 0, _hexahedron_8 3, _quadrangle_4 2 connected to _hexahedron_8 0, _hexahedron_8 1, -_quadrangle_4 3 connected to _hexahedron_8 0, _not_defined 0, -_quadrangle_4 4 connected to _hexahedron_8 0, _not_defined 0, -_quadrangle_4 5 connected to _hexahedron_8 0, _not_defined 0, -_quadrangle_4 6 connected to _hexahedron_8 1, _not_defined 0, +_quadrangle_4 3 connected to _hexahedron_8 0, _not_defined 4294967295, +_quadrangle_4 4 connected to _hexahedron_8 0, _not_defined 4294967295, +_quadrangle_4 5 connected to _hexahedron_8 0, _not_defined 4294967295, +_quadrangle_4 6 connected to _hexahedron_8 1, _not_defined 4294967295, _quadrangle_4 7 connected to _hexahedron_8 1, _hexahedron_8 2, -_quadrangle_4 8 connected to _hexahedron_8 1, _not_defined 0, -_quadrangle_4 9 connected to _hexahedron_8 1, _not_defined 0, -_quadrangle_4 10 connected to _hexahedron_8 1, _not_defined 0, +_quadrangle_4 8 connected to _hexahedron_8 1, _not_defined 4294967295, +_quadrangle_4 9 connected to _hexahedron_8 1, _not_defined 4294967295, +_quadrangle_4 10 connected to _hexahedron_8 1, _not_defined 4294967295, _quadrangle_4 11 connected to _hexahedron_8 2, _hexahedron_8 3, -_quadrangle_4 12 connected to _hexahedron_8 2, _not_defined 0, -_quadrangle_4 13 connected to _hexahedron_8 2, _not_defined 0, -_quadrangle_4 14 connected to _hexahedron_8 2, _not_defined 0, -_quadrangle_4 15 connected to _hexahedron_8 2, _not_defined 0, -_quadrangle_4 16 connected to _hexahedron_8 3, _not_defined 0, -_quadrangle_4 17 connected to _hexahedron_8 3, _not_defined 0, -_quadrangle_4 18 connected to _hexahedron_8 3, _not_defined 0, -_quadrangle_4 19 connected to _hexahedron_8 3, _not_defined 0, +_quadrangle_4 12 connected to _hexahedron_8 2, _not_defined 4294967295, +_quadrangle_4 13 connected to _hexahedron_8 2, _not_defined 4294967295, +_quadrangle_4 14 connected to _hexahedron_8 2, _not_defined 4294967295, +_quadrangle_4 15 connected to _hexahedron_8 2, _not_defined 4294967295, +_quadrangle_4 16 connected to _hexahedron_8 3, _not_defined 4294967295, +_quadrangle_4 17 connected to _hexahedron_8 3, _not_defined 4294967295, +_quadrangle_4 18 connected to _hexahedron_8 3, _not_defined 4294967295, +_quadrangle_4 19 connected to _hexahedron_8 3, _not_defined 4294967295, ElementToSubelement2 _segment_2 0 connected to _quadrangle_4 0, _quadrangle_4 4, _segment_2 1 connected to _quadrangle_4 0, _quadrangle_4 3, _segment_2 2 connected to _quadrangle_4 0, _quadrangle_4 2, _quadrangle_4 8, _segment_2 3 connected to _quadrangle_4 0, _quadrangle_4 1, _quadrangle_4 17, _segment_2 4 connected to _quadrangle_4 1, _quadrangle_4 2, _quadrangle_4 7, _quadrangle_4 11, _segment_2 5 connected to _quadrangle_4 1, _quadrangle_4 5, _quadrangle_4 16, _segment_2 6 connected to _quadrangle_4 1, _quadrangle_4 4, _quadrangle_4 19, _segment_2 7 connected to _quadrangle_4 2, _quadrangle_4 3, _quadrangle_4 9, _segment_2 8 connected to _quadrangle_4 2, _quadrangle_4 5, _quadrangle_4 6, _segment_2 9 connected to _quadrangle_4 3, _quadrangle_4 4, _segment_2 10 connected to _quadrangle_4 3, _quadrangle_4 5, _segment_2 11 connected to _quadrangle_4 4, _quadrangle_4 5, _segment_2 12 connected to _quadrangle_4 6, _quadrangle_4 7, _quadrangle_4 12, _segment_2 13 connected to _quadrangle_4 6, _quadrangle_4 10, _segment_2 14 connected to _quadrangle_4 6, _quadrangle_4 9, _segment_2 15 connected to _quadrangle_4 7, _quadrangle_4 8, _quadrangle_4 14, _segment_2 16 connected to _quadrangle_4 7, _quadrangle_4 10, _quadrangle_4 15, _segment_2 17 connected to _quadrangle_4 8, _quadrangle_4 9, _segment_2 18 connected to _quadrangle_4 8, _quadrangle_4 10, _segment_2 19 connected to _quadrangle_4 9, _quadrangle_4 10, _segment_2 20 connected to _quadrangle_4 11, _quadrangle_4 14, _quadrangle_4 17, _segment_2 21 connected to _quadrangle_4 11, _quadrangle_4 13, _quadrangle_4 18, _segment_2 22 connected to _quadrangle_4 11, _quadrangle_4 12, _quadrangle_4 16, _segment_2 23 connected to _quadrangle_4 12, _quadrangle_4 13, _segment_2 24 connected to _quadrangle_4 12, _quadrangle_4 15, _segment_2 25 connected to _quadrangle_4 13, _quadrangle_4 14, _segment_2 26 connected to _quadrangle_4 13, _quadrangle_4 15, _segment_2 27 connected to _quadrangle_4 14, _quadrangle_4 15, _segment_2 28 connected to _quadrangle_4 16, _quadrangle_4 19, _segment_2 29 connected to _quadrangle_4 16, _quadrangle_4 18, _segment_2 30 connected to _quadrangle_4 17, _quadrangle_4 18, _segment_2 31 connected to _quadrangle_4 17, _quadrangle_4 19, _segment_2 32 connected to _quadrangle_4 18, _quadrangle_4 19, ElementToSubelement1 _point_1 0 connected to _segment_2 0, _segment_2 3, _segment_2 6, _segment_2 31, _point_1 1 connected to _segment_2 0, _segment_2 1, _segment_2 9, _point_1 2 connected to _segment_2 1, _segment_2 2, _segment_2 7, _segment_2 17, _point_1 3 connected to _segment_2 2, _segment_2 3, _segment_2 4, _segment_2 15, _segment_2 20, _point_1 4 connected to _segment_2 4, _segment_2 5, _segment_2 8, _segment_2 12, _segment_2 22, _point_1 5 connected to _segment_2 5, _segment_2 6, _segment_2 11, _segment_2 28, _point_1 6 connected to _segment_2 7, _segment_2 8, _segment_2 10, _segment_2 14, _point_1 7 connected to _segment_2 9, _segment_2 10, _segment_2 11, _point_1 8 connected to _segment_2 12, _segment_2 13, _segment_2 16, _segment_2 24, _point_1 9 connected to _segment_2 13, _segment_2 14, _segment_2 19, _point_1 10 connected to _segment_2 15, _segment_2 16, _segment_2 18, _segment_2 27, _point_1 11 connected to _segment_2 17, _segment_2 18, _segment_2 19, _point_1 12 connected to _segment_2 20, _segment_2 21, _segment_2 25, _segment_2 30, _point_1 13 connected to _segment_2 21, _segment_2 22, _segment_2 23, _segment_2 29, _point_1 14 connected to _segment_2 23, _segment_2 24, _segment_2 26, _point_1 15 connected to _segment_2 25, _segment_2 26, _segment_2 27, _point_1 16 connected to _segment_2 28, _segment_2 29, _segment_2 32, _point_1 17 connected to _segment_2 30, _segment_2 31, _segment_2 32, SubelementToElement3 _hexahedron_8 0 connected to _quadrangle_4 0, _quadrangle_4 1, _quadrangle_4 2, _quadrangle_4 3, _quadrangle_4 4, _quadrangle_4 5, _hexahedron_8 1 connected to _quadrangle_4 2, _quadrangle_4 6, _quadrangle_4 7, _quadrangle_4 8, _quadrangle_4 9, _quadrangle_4 10, _hexahedron_8 2 connected to _quadrangle_4 7, _quadrangle_4 11, _quadrangle_4 12, _quadrangle_4 13, _quadrangle_4 14, _quadrangle_4 15, _hexahedron_8 3 connected to _quadrangle_4 1, _quadrangle_4 11, _quadrangle_4 16, _quadrangle_4 17, _quadrangle_4 18, _quadrangle_4 19, SubelementToElement2 _quadrangle_4 0 connected to _segment_2 0, _segment_2 1, _segment_2 2, _segment_2 3, _quadrangle_4 1 connected to _segment_2 3, _segment_2 4, _segment_2 5, _segment_2 6, _quadrangle_4 2 connected to _segment_2 2, _segment_2 4, _segment_2 7, _segment_2 8, _quadrangle_4 3 connected to _segment_2 1, _segment_2 7, _segment_2 9, _segment_2 10, _quadrangle_4 4 connected to _segment_2 0, _segment_2 6, _segment_2 9, _segment_2 11, _quadrangle_4 5 connected to _segment_2 5, _segment_2 8, _segment_2 10, _segment_2 11, _quadrangle_4 6 connected to _segment_2 8, _segment_2 12, _segment_2 13, _segment_2 14, _quadrangle_4 7 connected to _segment_2 4, _segment_2 12, _segment_2 15, _segment_2 16, _quadrangle_4 8 connected to _segment_2 2, _segment_2 15, _segment_2 17, _segment_2 18, _quadrangle_4 9 connected to _segment_2 7, _segment_2 14, _segment_2 17, _segment_2 19, _quadrangle_4 10 connected to _segment_2 13, _segment_2 16, _segment_2 18, _segment_2 19, _quadrangle_4 11 connected to _segment_2 4, _segment_2 20, _segment_2 21, _segment_2 22, _quadrangle_4 12 connected to _segment_2 12, _segment_2 22, _segment_2 23, _segment_2 24, _quadrangle_4 13 connected to _segment_2 21, _segment_2 23, _segment_2 25, _segment_2 26, _quadrangle_4 14 connected to _segment_2 15, _segment_2 20, _segment_2 25, _segment_2 27, _quadrangle_4 15 connected to _segment_2 16, _segment_2 24, _segment_2 26, _segment_2 27, _quadrangle_4 16 connected to _segment_2 5, _segment_2 22, _segment_2 28, _segment_2 29, _quadrangle_4 17 connected to _segment_2 3, _segment_2 20, _segment_2 30, _segment_2 31, _quadrangle_4 18 connected to _segment_2 21, _segment_2 29, _segment_2 30, _segment_2 32, _quadrangle_4 19 connected to _segment_2 6, _segment_2 28, _segment_2 31, _segment_2 32, SubelementToElement1 _segment_2 0 connected to _point_1 0, _point_1 1, _segment_2 1 connected to _point_1 1, _point_1 2, _segment_2 2 connected to _point_1 2, _point_1 3, _segment_2 3 connected to _point_1 0, _point_1 3, _segment_2 4 connected to _point_1 3, _point_1 4, _segment_2 5 connected to _point_1 4, _point_1 5, _segment_2 6 connected to _point_1 0, _point_1 5, _segment_2 7 connected to _point_1 2, _point_1 6, _segment_2 8 connected to _point_1 4, _point_1 6, _segment_2 9 connected to _point_1 1, _point_1 7, _segment_2 10 connected to _point_1 6, _point_1 7, _segment_2 11 connected to _point_1 5, _point_1 7, _segment_2 12 connected to _point_1 4, _point_1 8, _segment_2 13 connected to _point_1 8, _point_1 9, _segment_2 14 connected to _point_1 6, _point_1 9, _segment_2 15 connected to _point_1 3, _point_1 10, _segment_2 16 connected to _point_1 8, _point_1 10, _segment_2 17 connected to _point_1 2, _point_1 11, _segment_2 18 connected to _point_1 10, _point_1 11, _segment_2 19 connected to _point_1 9, _point_1 11, _segment_2 20 connected to _point_1 3, _point_1 12, _segment_2 21 connected to _point_1 12, _point_1 13, _segment_2 22 connected to _point_1 4, _point_1 13, _segment_2 23 connected to _point_1 13, _point_1 14, _segment_2 24 connected to _point_1 8, _point_1 14, _segment_2 25 connected to _point_1 12, _point_1 15, _segment_2 26 connected to _point_1 14, _point_1 15, _segment_2 27 connected to _point_1 10, _point_1 15, _segment_2 28 connected to _point_1 5, _point_1 16, _segment_2 29 connected to _point_1 13, _point_1 16, _segment_2 30 connected to _point_1 12, _point_1 17, _segment_2 31 connected to _point_1 0, _point_1 17, _segment_2 32 connected to _point_1 16, _point_1 17, diff --git a/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed2d_linear.cc b/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed2d_linear.cc index 53d66cd95..7ff2e033b 100644 --- a/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed2d_linear.cc +++ b/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed2d_linear.cc @@ -1,128 +1,126 @@ /** * @file test_buildfacets_mixed2d_linear.cc * * @author Mauro Corrado * * @date creation: Fri Sep 18 2015 * @date last modification: Sat Sep 19 2015 * * @brief Test to check the building of the facets. Mesh with quadrangles * and triangles * * @section LICENSE * * Copyright (©) 2015 EPFL (Ecole Polytechnique Fédérale de Lausanne) Laboratory * (LSMS - Laboratoire de Simulation en Mécanique des Solides) * * Akantu is free software: you can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License as published by the Free * Software Foundation, either version 3 of the License, or (at your option) any * later version. * * Akantu is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. * * You should have received a copy of the GNU Lesser General Public License * along with Akantu. If not, see . * */ /* -------------------------------------------------------------------------- */ #include #include #include /* -------------------------------------------------------------------------- */ #include "aka_common.hh" #include "mesh.hh" #include "mesh_utils.hh" /* -------------------------------------------------------------------------- */ using namespace akantu; int main(int argc, char *argv[]) { initialize(argc, argv); const UInt spatial_dimension = 2; const ElementType type1 = _quadrangle_4; const ElementType type2 = _triangle_3; Mesh mesh(spatial_dimension); mesh.read("mixed2d_linear.msh"); Mesh & mesh_facets = mesh.initMeshFacets("mesh_facets"); - MeshUtils::buildAllFacets(mesh, mesh_facets); - const ElementType type_facet = mesh.getFacetType(type1); const ElementType type_subfacet = mesh.getFacetType(type_facet); /* ------------------------------------------------------------------------ */ /* Element to Subelement testing */ /* ------------------------------------------------------------------------ */ const Array< std::vector > & el_to_subel2 = mesh_facets.getElementToSubelement(type_facet); const Array< std::vector > & el_to_subel1 = mesh_facets.getElementToSubelement(type_subfacet); std::cout << "ElementToSubelement2" << std::endl; for (UInt i = 0; i < el_to_subel2.size(); ++i) { std::cout << type_facet << " " << i << " connected to "; for (UInt j = 0; j < 2; ++j){ std::cout << el_to_subel2(i)[j].type << " " << el_to_subel2(i)[j].element << ", "; } std::cout << " " << std::endl; } std::cout << "ElementToSubelement1" << std::endl; for (UInt i = 0; i < el_to_subel1.size(); ++i) { std::cout << type_subfacet << " " << i << " connected to "; for (UInt j = 0; j < el_to_subel1(i).size(); ++j){ std::cout << el_to_subel1(i)[j].type << " " << el_to_subel1(i)[j].element << ", "; } std::cout << " " << std::endl; } /* ------------------------------------------------------------------------ */ /* Subelement to Element testing */ /* ------------------------------------------------------------------------ */ const Array & subel_to_el2_1 = mesh_facets.getSubelementToElement(type1); const Array & subel_to_el2_2 = mesh_facets.getSubelementToElement(type2); const Array & subel_to_el1 = mesh_facets.getSubelementToElement(type_facet); std::cout << " " << std::endl; std::cout << "SubelementToElement2" << std::endl; for (UInt i = 0; i < subel_to_el2_1.size(); ++i) { std::cout << type1 << " " << i << " connected to "; for (UInt j = 0; j < 4; ++j){ std::cout << subel_to_el2_1(i, j).type << " " << subel_to_el2_1(i, j).element << ", "; } std::cout << " " << std::endl; } for (UInt i = 0; i < subel_to_el2_2.size(); ++i) { std::cout << type2 << " " << i << " connected to "; for (UInt j = 0; j < 3; ++j){ std::cout << subel_to_el2_2(i, j).type << " " << subel_to_el2_2(i, j).element << ", "; } std::cout << " " << std::endl; } std::cout << "SubelementToElement1" << std::endl; for (UInt i = 0; i < subel_to_el1.size(); ++i) { std::cout << type_facet << " " << i << " connected to "; for (UInt j = 0; j < 2; ++j){ std::cout << subel_to_el1(i, j).type << " " << subel_to_el1(i, j).element << ", "; } std::cout << " " << std::endl; } finalize(); return EXIT_SUCCESS; } diff --git a/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed2d_linear.verified b/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed2d_linear.verified index cae7bf393..4ad4ee085 100644 --- a/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed2d_linear.verified +++ b/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed2d_linear.verified @@ -1,48 +1,48 @@ ElementToSubelement2 _segment_2 0 connected to _triangle_3 0, _quadrangle_4 0, _segment_2 1 connected to _triangle_3 0, _triangle_3 2, -_segment_2 2 connected to _triangle_3 0, _not_defined 0, +_segment_2 2 connected to _triangle_3 0, _not_defined 4294967295, _segment_2 3 connected to _triangle_3 1, _quadrangle_4 1, _segment_2 4 connected to _triangle_3 1, _triangle_3 3, _segment_2 5 connected to _triangle_3 1, _triangle_3 2, -_segment_2 6 connected to _triangle_3 2, _not_defined 0, -_segment_2 7 connected to _triangle_3 3, _not_defined 0, -_segment_2 8 connected to _triangle_3 3, _not_defined 0, -_segment_2 9 connected to _quadrangle_4 0, _not_defined 0, +_segment_2 6 connected to _triangle_3 2, _not_defined 4294967295, +_segment_2 7 connected to _triangle_3 3, _not_defined 4294967295, +_segment_2 8 connected to _triangle_3 3, _not_defined 4294967295, +_segment_2 9 connected to _quadrangle_4 0, _not_defined 4294967295, _segment_2 10 connected to _quadrangle_4 0, _quadrangle_4 1, -_segment_2 11 connected to _quadrangle_4 0, _not_defined 0, -_segment_2 12 connected to _quadrangle_4 1, _not_defined 0, -_segment_2 13 connected to _quadrangle_4 1, _not_defined 0, +_segment_2 11 connected to _quadrangle_4 0, _not_defined 4294967295, +_segment_2 12 connected to _quadrangle_4 1, _not_defined 4294967295, +_segment_2 13 connected to _quadrangle_4 1, _not_defined 4294967295, ElementToSubelement1 _point_1 0 connected to _segment_2 0, _segment_2 2, _segment_2 11, _point_1 1 connected to _segment_2 0, _segment_2 1, _segment_2 3, _segment_2 5, _segment_2 10, _point_1 2 connected to _segment_2 1, _segment_2 2, _segment_2 6, _point_1 3 connected to _segment_2 3, _segment_2 4, _segment_2 8, _segment_2 13, _point_1 4 connected to _segment_2 4, _segment_2 5, _segment_2 6, _segment_2 7, _point_1 5 connected to _segment_2 7, _segment_2 8, _point_1 6 connected to _segment_2 9, _segment_2 11, _point_1 7 connected to _segment_2 9, _segment_2 10, _segment_2 12, _point_1 8 connected to _segment_2 12, _segment_2 13, SubelementToElement2 _quadrangle_4 0 connected to _segment_2 0, _segment_2 9, _segment_2 10, _segment_2 11, _quadrangle_4 1 connected to _segment_2 3, _segment_2 10, _segment_2 12, _segment_2 13, _triangle_3 0 connected to _segment_2 0, _segment_2 1, _segment_2 2, _triangle_3 1 connected to _segment_2 3, _segment_2 4, _segment_2 5, _triangle_3 2 connected to _segment_2 1, _segment_2 5, _segment_2 6, _triangle_3 3 connected to _segment_2 4, _segment_2 7, _segment_2 8, SubelementToElement1 _segment_2 0 connected to _point_1 0, _point_1 1, _segment_2 1 connected to _point_1 1, _point_1 2, _segment_2 2 connected to _point_1 0, _point_1 2, _segment_2 3 connected to _point_1 1, _point_1 3, _segment_2 4 connected to _point_1 3, _point_1 4, _segment_2 5 connected to _point_1 1, _point_1 4, _segment_2 6 connected to _point_1 2, _point_1 4, _segment_2 7 connected to _point_1 4, _point_1 5, _segment_2 8 connected to _point_1 3, _point_1 5, _segment_2 9 connected to _point_1 6, _point_1 7, _segment_2 10 connected to _point_1 1, _point_1 7, _segment_2 11 connected to _point_1 0, _point_1 6, _segment_2 12 connected to _point_1 7, _point_1 8, _segment_2 13 connected to _point_1 3, _point_1 8, diff --git a/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed2d_quadratic.cc b/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed2d_quadratic.cc index ab9dbc264..f46165131 100644 --- a/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed2d_quadratic.cc +++ b/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed2d_quadratic.cc @@ -1,128 +1,126 @@ /** * @file test_buildfacets_mixed2d_quadratic.cc * * @author Mauro Corrado * * @date creation: Fri Sep 18 2015 * @date last modification: Sat Sep 19 2015 * * @brief Test to check the building of the facets. Mesh with quadrangles * and triangles * * @section LICENSE * * Copyright (©) 2015 EPFL (Ecole Polytechnique Fédérale de Lausanne) Laboratory * (LSMS - Laboratoire de Simulation en Mécanique des Solides) * * Akantu is free software: you can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License as published by the Free * Software Foundation, either version 3 of the License, or (at your option) any * later version. * * Akantu is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. * * You should have received a copy of the GNU Lesser General Public License * along with Akantu. If not, see . * */ /* -------------------------------------------------------------------------- */ #include #include #include /* -------------------------------------------------------------------------- */ #include "aka_common.hh" #include "mesh.hh" #include "mesh_utils.hh" /* -------------------------------------------------------------------------- */ using namespace akantu; int main(int argc, char *argv[]) { initialize(argc, argv); const UInt spatial_dimension = 2; const ElementType type1 = _quadrangle_8; const ElementType type2 = _triangle_6; Mesh mesh(spatial_dimension); mesh.read("mixed2d_quadratic.msh"); Mesh & mesh_facets = mesh.initMeshFacets("mesh_facets"); - MeshUtils::buildAllFacets(mesh, mesh_facets); - const ElementType type_facet = mesh.getFacetType(type1); const ElementType type_subfacet = mesh.getFacetType(type_facet); /* ------------------------------------------------------------------------ */ /* Element to Subelement testing */ /* ------------------------------------------------------------------------ */ const Array< std::vector > & el_to_subel2 = mesh_facets.getElementToSubelement(type_facet); const Array< std::vector > & el_to_subel1 = mesh_facets.getElementToSubelement(type_subfacet); std::cout << "ElementToSubelement2" << std::endl; for (UInt i = 0; i < el_to_subel2.size(); ++i) { std::cout << type_facet << " " << i << " connected to "; for (UInt j = 0; j < 2; ++j){ std::cout << el_to_subel2(i)[j].type << " " << el_to_subel2(i)[j].element << ", "; } std::cout << " " << std::endl; } std::cout << "ElementToSubelement1" << std::endl; for (UInt i = 0; i < el_to_subel1.size(); ++i) { std::cout << type_subfacet << " " << i << " connected to "; for (UInt j = 0; j < el_to_subel1(i).size(); ++j){ std::cout << el_to_subel1(i)[j].type << " " << el_to_subel1(i)[j].element << ", "; } std::cout << " " << std::endl; } /* ------------------------------------------------------------------------ */ /* Subelement to Element testing */ /* ------------------------------------------------------------------------ */ const Array & subel_to_el2_1 = mesh_facets.getSubelementToElement(type1); const Array & subel_to_el2_2 = mesh_facets.getSubelementToElement(type2); const Array & subel_to_el1 = mesh_facets.getSubelementToElement(type_facet); std::cout << " " << std::endl; std::cout << "SubelementToElement2" << std::endl; for (UInt i = 0; i < subel_to_el2_1.size(); ++i) { std::cout << type1 << " " << i << " connected to "; for (UInt j = 0; j < 4; ++j){ std::cout << subel_to_el2_1(i, j).type << " " << subel_to_el2_1(i, j).element << ", "; } std::cout << " " << std::endl; } for (UInt i = 0; i < subel_to_el2_2.size(); ++i) { std::cout << type2 << " " << i << " connected to "; for (UInt j = 0; j < 3; ++j){ std::cout << subel_to_el2_2(i, j).type << " " << subel_to_el2_2(i, j).element << ", "; } std::cout << " " << std::endl; } std::cout << "SubelementToElement1" << std::endl; for (UInt i = 0; i < subel_to_el1.size(); ++i) { std::cout << type_facet << " " << i << " connected to "; for (UInt j = 0; j < 2; ++j){ std::cout << subel_to_el1(i, j).type << " " << subel_to_el1(i, j).element << ", "; } std::cout << " " << std::endl; } finalize(); return EXIT_SUCCESS; } diff --git a/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed2d_quadratic.verified b/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed2d_quadratic.verified index ad6ea85ca..4380ea0ac 100644 --- a/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed2d_quadratic.verified +++ b/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed2d_quadratic.verified @@ -1,48 +1,48 @@ ElementToSubelement2 _segment_3 0 connected to _triangle_6 0, _quadrangle_8 0, _segment_3 1 connected to _triangle_6 0, _triangle_6 2, -_segment_3 2 connected to _triangle_6 0, _not_defined 0, +_segment_3 2 connected to _triangle_6 0, _not_defined 4294967295, _segment_3 3 connected to _triangle_6 1, _quadrangle_8 1, _segment_3 4 connected to _triangle_6 1, _triangle_6 3, _segment_3 5 connected to _triangle_6 1, _triangle_6 2, -_segment_3 6 connected to _triangle_6 2, _not_defined 0, -_segment_3 7 connected to _triangle_6 3, _not_defined 0, -_segment_3 8 connected to _triangle_6 3, _not_defined 0, -_segment_3 9 connected to _quadrangle_8 0, _not_defined 0, +_segment_3 6 connected to _triangle_6 2, _not_defined 4294967295, +_segment_3 7 connected to _triangle_6 3, _not_defined 4294967295, +_segment_3 8 connected to _triangle_6 3, _not_defined 4294967295, +_segment_3 9 connected to _quadrangle_8 0, _not_defined 4294967295, _segment_3 10 connected to _quadrangle_8 0, _quadrangle_8 1, -_segment_3 11 connected to _quadrangle_8 0, _not_defined 0, -_segment_3 12 connected to _quadrangle_8 1, _not_defined 0, -_segment_3 13 connected to _quadrangle_8 1, _not_defined 0, +_segment_3 11 connected to _quadrangle_8 0, _not_defined 4294967295, +_segment_3 12 connected to _quadrangle_8 1, _not_defined 4294967295, +_segment_3 13 connected to _quadrangle_8 1, _not_defined 4294967295, ElementToSubelement1 _point_1 0 connected to _segment_3 0, _segment_3 2, _segment_3 11, _point_1 1 connected to _segment_3 0, _segment_3 1, _segment_3 3, _segment_3 5, _segment_3 10, _point_1 2 connected to _segment_3 1, _segment_3 2, _segment_3 6, _point_1 3 connected to _segment_3 3, _segment_3 4, _segment_3 8, _segment_3 13, _point_1 4 connected to _segment_3 4, _segment_3 5, _segment_3 6, _segment_3 7, _point_1 5 connected to _segment_3 7, _segment_3 8, _point_1 6 connected to _segment_3 9, _segment_3 11, _point_1 7 connected to _segment_3 9, _segment_3 10, _segment_3 12, _point_1 8 connected to _segment_3 12, _segment_3 13, SubelementToElement2 _quadrangle_8 0 connected to _segment_3 0, _segment_3 9, _segment_3 10, _segment_3 11, _quadrangle_8 1 connected to _segment_3 3, _segment_3 10, _segment_3 12, _segment_3 13, _triangle_6 0 connected to _segment_3 0, _segment_3 1, _segment_3 2, _triangle_6 1 connected to _segment_3 3, _segment_3 4, _segment_3 5, _triangle_6 2 connected to _segment_3 1, _segment_3 5, _segment_3 6, _triangle_6 3 connected to _segment_3 4, _segment_3 7, _segment_3 8, SubelementToElement1 _segment_3 0 connected to _point_1 0, _point_1 1, _segment_3 1 connected to _point_1 1, _point_1 2, _segment_3 2 connected to _point_1 0, _point_1 2, _segment_3 3 connected to _point_1 1, _point_1 3, _segment_3 4 connected to _point_1 3, _point_1 4, _segment_3 5 connected to _point_1 1, _point_1 4, _segment_3 6 connected to _point_1 2, _point_1 4, _segment_3 7 connected to _point_1 4, _point_1 5, _segment_3 8 connected to _point_1 3, _point_1 5, _segment_3 9 connected to _point_1 6, _point_1 7, _segment_3 10 connected to _point_1 1, _point_1 7, _segment_3 11 connected to _point_1 0, _point_1 6, _segment_3 12 connected to _point_1 7, _point_1 8, _segment_3 13 connected to _point_1 3, _point_1 8, diff --git a/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed3d_linear.cc b/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed3d_linear.cc index 7e4b17574..12f095e29 100644 --- a/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed3d_linear.cc +++ b/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed3d_linear.cc @@ -1,167 +1,165 @@ /** * @file test_buildfacets_mixed3d_linear.cc * * @author Mauro Corrado * * @date creation: Tue May 08 2012 * @date last modification: Sat Sep 19 2015 * * @brief Test to check the building of the facets. Mesh with hexahedrons * and pentahedrons * * @section LICENSE * * Copyright (©) 2010-2012, 2014, 2015 EPFL (Ecole Polytechnique Fédérale de * Lausanne) Laboratory (LSMS - Laboratoire de Simulation en Mécanique des * Solides) * * Akantu is free software: you can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License as published by the Free * Software Foundation, either version 3 of the License, or (at your option) any * later version. * * Akantu is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. * * You should have received a copy of the GNU Lesser General Public License * along with Akantu. If not, see . * */ /* -------------------------------------------------------------------------- */ #include #include #include /* -------------------------------------------------------------------------- */ #include "aka_common.hh" #include "mesh.hh" #include "mesh_utils.hh" /* -------------------------------------------------------------------------- */ using namespace akantu; int main(int argc, char *argv[]) { initialize(argc, argv); const UInt spatial_dimension = 3; const ElementType type1 = _hexahedron_8; const ElementType type2 = _pentahedron_6; Mesh mesh(spatial_dimension); mesh.read("mixed3d_linear.msh"); Mesh & mesh_facets = mesh.initMeshFacets("mesh_facets"); - MeshUtils::buildAllFacets(mesh, mesh_facets); - const ElementType type_facet1 = mesh.getFacetType(type1); const ElementType type_facet2 = mesh.getFacetType(type2); const ElementType type_subfacet = mesh.getFacetType(type_facet1); const ElementType type_subsubfacet = mesh.getFacetType(type_subfacet); /* ------------------------------------------------------------------------ */ /* Element to Subelement testing */ /* ------------------------------------------------------------------------ */ const Array< std::vector > & el_to_subel3_1 = mesh_facets.getElementToSubelement(type_facet1); const Array< std::vector > & el_to_subel3_2 = mesh_facets.getElementToSubelement(type_facet2); const Array< std::vector > & el_to_subel2 = mesh_facets.getElementToSubelement(type_subfacet); const Array< std::vector > & el_to_subel1 = mesh_facets.getElementToSubelement(type_subsubfacet); std::cout << "ElementToSubelement3" << std::endl; for (UInt i = 0; i < el_to_subel3_1.size(); ++i) { std::cout << type_facet1 << " " << i << " connected to "; for (UInt j = 0; j < 2; ++j){ std::cout << el_to_subel3_1(i)[j].type << " " << el_to_subel3_1(i)[j].element << ", "; } std::cout << " " << std::endl; } for (UInt i = 0; i < el_to_subel3_2.size(); ++i) { std::cout << type_facet2 << " " << i << " connected to "; for (UInt j = 0; j < 2; ++j){ std::cout << el_to_subel3_2(i)[j].type << " " << el_to_subel3_2(i)[j].element << ", "; } std::cout << " " << std::endl; } std::cout << "ElementToSubelement2" << std::endl; for (UInt i = 0; i < el_to_subel2.size(); ++i) { std::cout << type_subfacet << " " << i << " connected to "; for (UInt j = 0; j < el_to_subel2(i).size(); ++j){ std::cout << el_to_subel2(i)[j].type << " " << el_to_subel2(i)[j].element << ", "; } std::cout << " " << std::endl; } std::cout << "ElementToSubelement1" << std::endl; for (UInt i = 0; i < el_to_subel1.size(); ++i) { std::cout << type_subsubfacet << " " << i << " connected to "; for (UInt j = 0; j < el_to_subel1(i).size(); ++j){ std::cout << el_to_subel1(i)[j].type << " " << el_to_subel1(i)[j].element << ", "; } std::cout << " " << std::endl; } /* ------------------------------------------------------------------------ */ /* Subelement to Element testing */ /* ------------------------------------------------------------------------ */ const Array & subel_to_el3_1 = mesh_facets.getSubelementToElement(type1); const Array & subel_to_el3_2 = mesh_facets.getSubelementToElement(type2); const Array & subel_to_el2_1 = mesh_facets.getSubelementToElement(type_facet1); const Array & subel_to_el2_2 = mesh_facets.getSubelementToElement(type_facet2); const Array & subel_to_el1 = mesh_facets.getSubelementToElement(type_subfacet); std::cout << " " << std::endl; std::cout << "SubelementToElement3" << std::endl; for (UInt i = 0; i < subel_to_el3_1.size(); ++i) { std::cout << type1 << " " << i << " connected to "; for (UInt j = 0; j < 6; ++j){ std::cout << subel_to_el3_1(i, j).type << " " << subel_to_el3_1(i, j).element << ", "; } std::cout << " " << std::endl; } for (UInt i = 0; i < subel_to_el3_2.size(); ++i) { std::cout << type2 << " " << i << " connected to "; for (UInt j = 0; j < 5; ++j){ std::cout << subel_to_el3_2(i, j).type << " " << subel_to_el3_2(i, j).element << ", "; } std::cout << " " << std::endl; } std::cout << "SubelementToElement2" << std::endl; for (UInt i = 0; i < subel_to_el2_1.size(); ++i) { std::cout << type_facet1 << " " << i << " connected to "; for (UInt j = 0; j < 4; ++j){ std::cout << subel_to_el2_1(i, j).type << " " << subel_to_el2_1(i, j).element << ", "; } std::cout << " " << std::endl; } for (UInt i = 0; i < subel_to_el2_2.size(); ++i) { std::cout << type_facet2 << " " << i << " connected to "; for (UInt j = 0; j < 3; ++j){ std::cout << subel_to_el2_2(i, j).type << " " << subel_to_el2_2(i, j).element << ", "; } std::cout << " " << std::endl; } std::cout << "SubelementToElement1" << std::endl; for (UInt i = 0; i < subel_to_el1.size(); ++i) { std::cout << type_subfacet << " " << i << " connected to "; for (UInt j = 0; j < 2; ++j){ std::cout << subel_to_el1(i, j).type << " " << subel_to_el1(i, j).element << ", "; } std::cout << " " << std::endl; } finalize(); return EXIT_SUCCESS; } diff --git a/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed3d_linear.verified b/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed3d_linear.verified index d89918c84..af8630db1 100644 --- a/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed3d_linear.verified +++ b/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed3d_linear.verified @@ -1,157 +1,157 @@ ElementToSubelement3 _quadrangle_4 0 connected to _pentahedron_6 0, _pentahedron_6 2, -_quadrangle_4 1 connected to _pentahedron_6 0, _not_defined 0, +_quadrangle_4 1 connected to _pentahedron_6 0, _not_defined 4294967295, _quadrangle_4 2 connected to _pentahedron_6 0, _hexahedron_8 0, _quadrangle_4 3 connected to _pentahedron_6 1, _pentahedron_6 3, _quadrangle_4 4 connected to _pentahedron_6 1, _pentahedron_6 2, _quadrangle_4 5 connected to _pentahedron_6 1, _hexahedron_8 1, -_quadrangle_4 6 connected to _pentahedron_6 2, _not_defined 0, -_quadrangle_4 7 connected to _pentahedron_6 3, _not_defined 0, -_quadrangle_4 8 connected to _pentahedron_6 3, _not_defined 0, -_quadrangle_4 9 connected to _hexahedron_8 0, _not_defined 0, -_quadrangle_4 10 connected to _hexahedron_8 0, _not_defined 0, +_quadrangle_4 6 connected to _pentahedron_6 2, _not_defined 4294967295, +_quadrangle_4 7 connected to _pentahedron_6 3, _not_defined 4294967295, +_quadrangle_4 8 connected to _pentahedron_6 3, _not_defined 4294967295, +_quadrangle_4 9 connected to _hexahedron_8 0, _not_defined 4294967295, +_quadrangle_4 10 connected to _hexahedron_8 0, _not_defined 4294967295, _quadrangle_4 11 connected to _hexahedron_8 0, _hexahedron_8 1, -_quadrangle_4 12 connected to _hexahedron_8 0, _not_defined 0, -_quadrangle_4 13 connected to _hexahedron_8 0, _not_defined 0, -_quadrangle_4 14 connected to _hexahedron_8 1, _not_defined 0, -_quadrangle_4 15 connected to _hexahedron_8 1, _not_defined 0, -_quadrangle_4 16 connected to _hexahedron_8 1, _not_defined 0, -_quadrangle_4 17 connected to _hexahedron_8 1, _not_defined 0, -_triangle_3 0 connected to _pentahedron_6 0, _not_defined 0, -_triangle_3 1 connected to _pentahedron_6 0, _not_defined 0, -_triangle_3 2 connected to _pentahedron_6 1, _not_defined 0, -_triangle_3 3 connected to _pentahedron_6 1, _not_defined 0, -_triangle_3 4 connected to _pentahedron_6 2, _not_defined 0, -_triangle_3 5 connected to _pentahedron_6 2, _not_defined 0, -_triangle_3 6 connected to _pentahedron_6 3, _not_defined 0, -_triangle_3 7 connected to _pentahedron_6 3, _not_defined 0, +_quadrangle_4 12 connected to _hexahedron_8 0, _not_defined 4294967295, +_quadrangle_4 13 connected to _hexahedron_8 0, _not_defined 4294967295, +_quadrangle_4 14 connected to _hexahedron_8 1, _not_defined 4294967295, +_quadrangle_4 15 connected to _hexahedron_8 1, _not_defined 4294967295, +_quadrangle_4 16 connected to _hexahedron_8 1, _not_defined 4294967295, +_quadrangle_4 17 connected to _hexahedron_8 1, _not_defined 4294967295, +_triangle_3 0 connected to _pentahedron_6 0, _not_defined 4294967295, +_triangle_3 1 connected to _pentahedron_6 0, _not_defined 4294967295, +_triangle_3 2 connected to _pentahedron_6 1, _not_defined 4294967295, +_triangle_3 3 connected to _pentahedron_6 1, _not_defined 4294967295, +_triangle_3 4 connected to _pentahedron_6 2, _not_defined 4294967295, +_triangle_3 5 connected to _pentahedron_6 2, _not_defined 4294967295, +_triangle_3 6 connected to _pentahedron_6 3, _not_defined 4294967295, +_triangle_3 7 connected to _pentahedron_6 3, _not_defined 4294967295, ElementToSubelement2 _segment_2 0 connected to _triangle_3 0, _quadrangle_4 1, _segment_2 1 connected to _triangle_3 0, _quadrangle_4 2, _quadrangle_4 9, _segment_2 2 connected to _triangle_3 0, _triangle_3 4, _quadrangle_4 0, _segment_2 3 connected to _triangle_3 1, _triangle_3 5, _quadrangle_4 0, _segment_2 4 connected to _triangle_3 1, _quadrangle_4 2, _quadrangle_4 13, _segment_2 5 connected to _triangle_3 1, _quadrangle_4 1, _segment_2 6 connected to _triangle_3 2, _triangle_3 4, _quadrangle_4 4, _segment_2 7 connected to _triangle_3 2, _quadrangle_4 5, _quadrangle_4 14, _segment_2 8 connected to _triangle_3 2, _triangle_3 6, _quadrangle_4 3, _segment_2 9 connected to _triangle_3 3, _triangle_3 7, _quadrangle_4 3, _segment_2 10 connected to _triangle_3 3, _quadrangle_4 5, _quadrangle_4 17, _segment_2 11 connected to _triangle_3 3, _triangle_3 5, _quadrangle_4 4, _segment_2 12 connected to _triangle_3 4, _quadrangle_4 6, _segment_2 13 connected to _triangle_3 5, _quadrangle_4 6, _segment_2 14 connected to _triangle_3 6, _quadrangle_4 7, _segment_2 15 connected to _triangle_3 6, _quadrangle_4 8, _segment_2 16 connected to _triangle_3 7, _quadrangle_4 8, _segment_2 17 connected to _triangle_3 7, _quadrangle_4 7, _segment_2 18 connected to _quadrangle_4 0, _quadrangle_4 2, _quadrangle_4 4, _quadrangle_4 5, _quadrangle_4 11, _segment_2 19 connected to _quadrangle_4 0, _quadrangle_4 1, _quadrangle_4 6, _segment_2 20 connected to _quadrangle_4 1, _quadrangle_4 2, _quadrangle_4 10, _segment_2 21 connected to _quadrangle_4 3, _quadrangle_4 5, _quadrangle_4 7, _quadrangle_4 15, _segment_2 22 connected to _quadrangle_4 3, _quadrangle_4 4, _quadrangle_4 6, _quadrangle_4 8, _segment_2 23 connected to _quadrangle_4 7, _quadrangle_4 8, _segment_2 24 connected to _quadrangle_4 9, _quadrangle_4 12, _segment_2 25 connected to _quadrangle_4 9, _quadrangle_4 11, _quadrangle_4 14, _segment_2 26 connected to _quadrangle_4 9, _quadrangle_4 10, _segment_2 27 connected to _quadrangle_4 10, _quadrangle_4 13, _segment_2 28 connected to _quadrangle_4 10, _quadrangle_4 12, _segment_2 29 connected to _quadrangle_4 11, _quadrangle_4 12, _quadrangle_4 16, _segment_2 30 connected to _quadrangle_4 11, _quadrangle_4 13, _quadrangle_4 17, _segment_2 31 connected to _quadrangle_4 12, _quadrangle_4 13, _segment_2 32 connected to _quadrangle_4 14, _quadrangle_4 16, _segment_2 33 connected to _quadrangle_4 14, _quadrangle_4 15, _segment_2 34 connected to _quadrangle_4 15, _quadrangle_4 16, _segment_2 35 connected to _quadrangle_4 15, _quadrangle_4 17, _segment_2 36 connected to _quadrangle_4 16, _quadrangle_4 17, ElementToSubelement1 _point_1 0 connected to _segment_2 0, _segment_2 2, _segment_2 12, _segment_2 19, _point_1 1 connected to _segment_2 0, _segment_2 1, _segment_2 20, _segment_2 26, _point_1 2 connected to _segment_2 1, _segment_2 2, _segment_2 6, _segment_2 7, _segment_2 18, _segment_2 25, _point_1 3 connected to _segment_2 3, _segment_2 5, _segment_2 13, _segment_2 19, _point_1 4 connected to _segment_2 3, _segment_2 4, _segment_2 10, _segment_2 11, _segment_2 18, _segment_2 30, _point_1 5 connected to _segment_2 4, _segment_2 5, _segment_2 20, _segment_2 27, _point_1 6 connected to _segment_2 6, _segment_2 8, _segment_2 12, _segment_2 15, _segment_2 22, _point_1 7 connected to _segment_2 7, _segment_2 8, _segment_2 14, _segment_2 21, _segment_2 33, _point_1 8 connected to _segment_2 9, _segment_2 11, _segment_2 13, _segment_2 16, _segment_2 22, _point_1 9 connected to _segment_2 9, _segment_2 10, _segment_2 17, _segment_2 21, _segment_2 35, _point_1 10 connected to _segment_2 14, _segment_2 15, _segment_2 23, _point_1 11 connected to _segment_2 16, _segment_2 17, _segment_2 23, _point_1 12 connected to _segment_2 24, _segment_2 26, _segment_2 28, _point_1 13 connected to _segment_2 24, _segment_2 25, _segment_2 29, _segment_2 32, _point_1 14 connected to _segment_2 27, _segment_2 28, _segment_2 31, _point_1 15 connected to _segment_2 29, _segment_2 30, _segment_2 31, _segment_2 36, _point_1 16 connected to _segment_2 32, _segment_2 33, _segment_2 34, _point_1 17 connected to _segment_2 34, _segment_2 35, _segment_2 36, SubelementToElement3 _hexahedron_8 0 connected to _quadrangle_4 2, _quadrangle_4 9, _quadrangle_4 10, _quadrangle_4 11, _quadrangle_4 12, _quadrangle_4 13, _hexahedron_8 1 connected to _quadrangle_4 5, _quadrangle_4 11, _quadrangle_4 14, _quadrangle_4 15, _quadrangle_4 16, _quadrangle_4 17, _pentahedron_6 0 connected to _triangle_3 0, _triangle_3 1, _quadrangle_4 0, _quadrangle_4 1, _quadrangle_4 2, _pentahedron_6 1 connected to _triangle_3 2, _triangle_3 3, _quadrangle_4 3, _quadrangle_4 4, _quadrangle_4 5, _pentahedron_6 2 connected to _triangle_3 4, _triangle_3 5, _quadrangle_4 0, _quadrangle_4 4, _quadrangle_4 6, _pentahedron_6 3 connected to _triangle_3 6, _triangle_3 7, _quadrangle_4 3, _quadrangle_4 7, _quadrangle_4 8, SubelementToElement2 _quadrangle_4 0 connected to _segment_2 2, _segment_2 3, _segment_2 18, _segment_2 19, _quadrangle_4 1 connected to _segment_2 0, _segment_2 5, _segment_2 19, _segment_2 20, _quadrangle_4 2 connected to _segment_2 1, _segment_2 4, _segment_2 18, _segment_2 20, _quadrangle_4 3 connected to _segment_2 8, _segment_2 9, _segment_2 21, _segment_2 22, _quadrangle_4 4 connected to _segment_2 6, _segment_2 11, _segment_2 18, _segment_2 22, _quadrangle_4 5 connected to _segment_2 7, _segment_2 10, _segment_2 18, _segment_2 21, _quadrangle_4 6 connected to _segment_2 12, _segment_2 13, _segment_2 19, _segment_2 22, _quadrangle_4 7 connected to _segment_2 14, _segment_2 17, _segment_2 21, _segment_2 23, _quadrangle_4 8 connected to _segment_2 15, _segment_2 16, _segment_2 22, _segment_2 23, _quadrangle_4 9 connected to _segment_2 1, _segment_2 24, _segment_2 25, _segment_2 26, _quadrangle_4 10 connected to _segment_2 20, _segment_2 26, _segment_2 27, _segment_2 28, _quadrangle_4 11 connected to _segment_2 18, _segment_2 25, _segment_2 29, _segment_2 30, _quadrangle_4 12 connected to _segment_2 24, _segment_2 28, _segment_2 29, _segment_2 31, _quadrangle_4 13 connected to _segment_2 4, _segment_2 27, _segment_2 30, _segment_2 31, _quadrangle_4 14 connected to _segment_2 7, _segment_2 25, _segment_2 32, _segment_2 33, _quadrangle_4 15 connected to _segment_2 21, _segment_2 33, _segment_2 34, _segment_2 35, _quadrangle_4 16 connected to _segment_2 29, _segment_2 32, _segment_2 34, _segment_2 36, _quadrangle_4 17 connected to _segment_2 10, _segment_2 30, _segment_2 35, _segment_2 36, _triangle_3 0 connected to _segment_2 0, _segment_2 1, _segment_2 2, _triangle_3 1 connected to _segment_2 3, _segment_2 4, _segment_2 5, _triangle_3 2 connected to _segment_2 6, _segment_2 7, _segment_2 8, _triangle_3 3 connected to _segment_2 9, _segment_2 10, _segment_2 11, _triangle_3 4 connected to _segment_2 2, _segment_2 6, _segment_2 12, _triangle_3 5 connected to _segment_2 3, _segment_2 11, _segment_2 13, _triangle_3 6 connected to _segment_2 8, _segment_2 14, _segment_2 15, _triangle_3 7 connected to _segment_2 9, _segment_2 16, _segment_2 17, SubelementToElement1 _segment_2 0 connected to _point_1 0, _point_1 1, _segment_2 1 connected to _point_1 1, _point_1 2, _segment_2 2 connected to _point_1 0, _point_1 2, _segment_2 3 connected to _point_1 3, _point_1 4, _segment_2 4 connected to _point_1 4, _point_1 5, _segment_2 5 connected to _point_1 3, _point_1 5, _segment_2 6 connected to _point_1 2, _point_1 6, _segment_2 7 connected to _point_1 2, _point_1 7, _segment_2 8 connected to _point_1 6, _point_1 7, _segment_2 9 connected to _point_1 8, _point_1 9, _segment_2 10 connected to _point_1 4, _point_1 9, _segment_2 11 connected to _point_1 4, _point_1 8, _segment_2 12 connected to _point_1 0, _point_1 6, _segment_2 13 connected to _point_1 3, _point_1 8, _segment_2 14 connected to _point_1 7, _point_1 10, _segment_2 15 connected to _point_1 6, _point_1 10, _segment_2 16 connected to _point_1 8, _point_1 11, _segment_2 17 connected to _point_1 9, _point_1 11, _segment_2 18 connected to _point_1 2, _point_1 4, _segment_2 19 connected to _point_1 0, _point_1 3, _segment_2 20 connected to _point_1 1, _point_1 5, _segment_2 21 connected to _point_1 7, _point_1 9, _segment_2 22 connected to _point_1 6, _point_1 8, _segment_2 23 connected to _point_1 10, _point_1 11, _segment_2 24 connected to _point_1 12, _point_1 13, _segment_2 25 connected to _point_1 2, _point_1 13, _segment_2 26 connected to _point_1 1, _point_1 12, _segment_2 27 connected to _point_1 5, _point_1 14, _segment_2 28 connected to _point_1 12, _point_1 14, _segment_2 29 connected to _point_1 13, _point_1 15, _segment_2 30 connected to _point_1 4, _point_1 15, _segment_2 31 connected to _point_1 14, _point_1 15, _segment_2 32 connected to _point_1 13, _point_1 16, _segment_2 33 connected to _point_1 7, _point_1 16, _segment_2 34 connected to _point_1 16, _point_1 17, _segment_2 35 connected to _point_1 9, _point_1 17, _segment_2 36 connected to _point_1 15, _point_1 17, diff --git a/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed3d_quadratic.cc b/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed3d_quadratic.cc index 6218e2332..da7cecee2 100644 --- a/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed3d_quadratic.cc +++ b/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed3d_quadratic.cc @@ -1,169 +1,167 @@ /** * @file test_buildfacets_mixed3d_quadratic.cc * * @author Mauro Corrado * * @date creation: Tue May 08 2012 * @date last modification: Sat Sep 19 2015 * * @brief Test to check the building of the facets. Mesh with hexahedrons * and pentahedrons * * @section LICENSE * * Copyright (©) 2010-2012, 2014, 2015 EPFL (Ecole Polytechnique Fédérale de * Lausanne) Laboratory (LSMS - Laboratoire de Simulation en Mécanique des * Solides) * * Akantu is free software: you can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License as published by the Free * Software Foundation, either version 3 of the License, or (at your option) any * later version. * * Akantu is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. * * You should have received a copy of the GNU Lesser General Public License * along with Akantu. If not, see . * */ /* -------------------------------------------------------------------------- */ #include #include #include /* -------------------------------------------------------------------------- */ #include "aka_common.hh" #include "mesh.hh" #include "mesh_utils.hh" /* -------------------------------------------------------------------------- */ using namespace akantu; int main(int argc, char *argv[]) { initialize(argc, argv); const UInt spatial_dimension = 3; const ElementType type1 = _hexahedron_20; const ElementType type2 = _pentahedron_15; Mesh mesh(spatial_dimension); mesh.read("mixed3d_quadratic.msh"); Mesh & mesh_facets = mesh.initMeshFacets("mesh_facets"); - MeshUtils::buildAllFacets(mesh, mesh_facets); - const ElementType type_facet1 = mesh.getFacetType(type1); const ElementType type_facet2 = mesh.getFacetType(type2); const ElementType type_subfacet = mesh.getFacetType(type_facet1); const ElementType type_subsubfacet = mesh.getFacetType(type_subfacet); /* ------------------------------------------------------------------------ */ /* Element to Subelement testing */ /* ------------------------------------------------------------------------ */ const Array< std::vector > & el_to_subel3_1 = mesh_facets.getElementToSubelement(type_facet1); const Array< std::vector > & el_to_subel3_2 = mesh_facets.getElementToSubelement(type_facet2); const Array< std::vector > & el_to_subel2 = mesh_facets.getElementToSubelement(type_subfacet); const Array< std::vector > & el_to_subel1 = mesh_facets.getElementToSubelement(type_subsubfacet); std::cout << "ElementToSubelement3" << std::endl; for (UInt i = 0; i < el_to_subel3_1.size(); ++i) { std::cout << type_facet1 << " " << i << " connected to "; for (UInt j = 0; j < 2; ++j){ std::cout << el_to_subel3_1(i)[j].type << " " << el_to_subel3_1(i)[j].element << ", "; } std::cout << " " << std::endl; } for (UInt i = 0; i < el_to_subel3_2.size(); ++i) { std::cout << type_facet2 << " " << i << " connected to "; for (UInt j = 0; j < 2; ++j){ std::cout << el_to_subel3_2(i)[j].type << " " << el_to_subel3_2(i)[j].element << ", "; } std::cout << " " << std::endl; } std::cout << "ElementToSubelement2" << std::endl; for (UInt i = 0; i < el_to_subel2.size(); ++i) { std::cout << type_subfacet << " " << i << " connected to "; for (UInt j = 0; j < el_to_subel2(i).size(); ++j){ std::cout << el_to_subel2(i)[j].type << " " << el_to_subel2(i)[j].element << ", "; } std::cout << " " << std::endl; } std::cout << "ElementToSubelement1" << std::endl; for (UInt i = 0; i < el_to_subel1.size(); ++i) { std::cout << type_subsubfacet << " " << i << " connected to "; for (UInt j = 0; j < el_to_subel1(i).size(); ++j){ std::cout << el_to_subel1(i)[j].type << " " << el_to_subel1(i)[j].element << ", "; } std::cout << " " << std::endl; } /* ------------------------------------------------------------------------ */ /* Subelement to Element testing */ /* ------------------------------------------------------------------------ */ const Array & subel_to_el3_1 = mesh_facets.getSubelementToElement(type1); const Array & subel_to_el3_2 = mesh_facets.getSubelementToElement(type2); const Array & subel_to_el2_1 = mesh_facets.getSubelementToElement(type_facet1); const Array & subel_to_el2_2 = mesh_facets.getSubelementToElement(type_facet2); const Array & subel_to_el1 = mesh_facets.getSubelementToElement(type_subfacet); std::cout << " " << std::endl; std::cout << "SubelementToElement3" << std::endl; for (UInt i = 0; i < subel_to_el3_1.size(); ++i) { std::cout << type1 << " " << i << " connected to "; for (UInt j = 0; j < 6; ++j){ std::cout << subel_to_el3_1(i, j).type << " " << subel_to_el3_1(i, j).element << ", "; } std::cout << " " << std::endl; } for (UInt i = 0; i < subel_to_el3_2.size(); ++i) { std::cout << type2 << " " << i << " connected to "; for (UInt j = 0; j < 5; ++j){ std::cout << subel_to_el3_2(i, j).type << " " << subel_to_el3_2(i, j).element << ", "; } std::cout << " " << std::endl; } std::cout << "SubelementToElement2" << std::endl; for (UInt i = 0; i < subel_to_el2_1.size(); ++i) { std::cout << type_facet1 << " " << i << " connected to "; for (UInt j = 0; j < 4; ++j){ std::cout << subel_to_el2_1(i, j).type << " " << subel_to_el2_1(i, j).element << ", "; } std::cout << " " << std::endl; } std::cout << "SubelementToElement2" << std::endl; for (UInt i = 0; i < subel_to_el2_2.size(); ++i) { std::cout << type_facet2 << " " << i << " connected to "; for (UInt j = 0; j < 3; ++j){ std::cout << subel_to_el2_2(i, j).type << " " << subel_to_el2_2(i, j).element << ", "; } std::cout << " " << std::endl; } std::cout << "SubelementToElement1" << std::endl; for (UInt i = 0; i < subel_to_el1.size(); ++i) { std::cout << type_subfacet << " " << i << " connected to "; for (UInt j = 0; j < 2; ++j){ std::cout << subel_to_el1(i, j).type << " " << subel_to_el1(i, j).element << ", "; } std::cout << " " << std::endl; } finalize(); return EXIT_SUCCESS; } diff --git a/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed3d_quadratic.verified b/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed3d_quadratic.verified index 36b30be5d..b2bf25403 100644 --- a/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed3d_quadratic.verified +++ b/test/test_mesh_utils/test_buildfacets/test_buildfacets_mixed3d_quadratic.verified @@ -1,158 +1,158 @@ ElementToSubelement3 _quadrangle_8 0 connected to _pentahedron_15 0, _pentahedron_15 2, -_quadrangle_8 1 connected to _pentahedron_15 0, _not_defined 0, +_quadrangle_8 1 connected to _pentahedron_15 0, _not_defined 4294967295, _quadrangle_8 2 connected to _pentahedron_15 0, _hexahedron_20 0, _quadrangle_8 3 connected to _pentahedron_15 1, _pentahedron_15 3, _quadrangle_8 4 connected to _pentahedron_15 1, _pentahedron_15 2, _quadrangle_8 5 connected to _pentahedron_15 1, _hexahedron_20 1, -_quadrangle_8 6 connected to _pentahedron_15 2, _not_defined 0, -_quadrangle_8 7 connected to _pentahedron_15 3, _not_defined 0, -_quadrangle_8 8 connected to _pentahedron_15 3, _not_defined 0, -_quadrangle_8 9 connected to _hexahedron_20 0, _not_defined 0, +_quadrangle_8 6 connected to _pentahedron_15 2, _not_defined 4294967295, +_quadrangle_8 7 connected to _pentahedron_15 3, _not_defined 4294967295, +_quadrangle_8 8 connected to _pentahedron_15 3, _not_defined 4294967295, +_quadrangle_8 9 connected to _hexahedron_20 0, _not_defined 4294967295, _quadrangle_8 10 connected to _hexahedron_20 0, _hexahedron_20 1, -_quadrangle_8 11 connected to _hexahedron_20 0, _not_defined 0, -_quadrangle_8 12 connected to _hexahedron_20 0, _not_defined 0, -_quadrangle_8 13 connected to _hexahedron_20 0, _not_defined 0, -_quadrangle_8 14 connected to _hexahedron_20 1, _not_defined 0, -_quadrangle_8 15 connected to _hexahedron_20 1, _not_defined 0, -_quadrangle_8 16 connected to _hexahedron_20 1, _not_defined 0, -_quadrangle_8 17 connected to _hexahedron_20 1, _not_defined 0, -_triangle_6 0 connected to _pentahedron_15 0, _not_defined 0, -_triangle_6 1 connected to _pentahedron_15 0, _not_defined 0, -_triangle_6 2 connected to _pentahedron_15 1, _not_defined 0, -_triangle_6 3 connected to _pentahedron_15 1, _not_defined 0, -_triangle_6 4 connected to _pentahedron_15 2, _not_defined 0, -_triangle_6 5 connected to _pentahedron_15 2, _not_defined 0, -_triangle_6 6 connected to _pentahedron_15 3, _not_defined 0, -_triangle_6 7 connected to _pentahedron_15 3, _not_defined 0, +_quadrangle_8 11 connected to _hexahedron_20 0, _not_defined 4294967295, +_quadrangle_8 12 connected to _hexahedron_20 0, _not_defined 4294967295, +_quadrangle_8 13 connected to _hexahedron_20 0, _not_defined 4294967295, +_quadrangle_8 14 connected to _hexahedron_20 1, _not_defined 4294967295, +_quadrangle_8 15 connected to _hexahedron_20 1, _not_defined 4294967295, +_quadrangle_8 16 connected to _hexahedron_20 1, _not_defined 4294967295, +_quadrangle_8 17 connected to _hexahedron_20 1, _not_defined 4294967295, +_triangle_6 0 connected to _pentahedron_15 0, _not_defined 4294967295, +_triangle_6 1 connected to _pentahedron_15 0, _not_defined 4294967295, +_triangle_6 2 connected to _pentahedron_15 1, _not_defined 4294967295, +_triangle_6 3 connected to _pentahedron_15 1, _not_defined 4294967295, +_triangle_6 4 connected to _pentahedron_15 2, _not_defined 4294967295, +_triangle_6 5 connected to _pentahedron_15 2, _not_defined 4294967295, +_triangle_6 6 connected to _pentahedron_15 3, _not_defined 4294967295, +_triangle_6 7 connected to _pentahedron_15 3, _not_defined 4294967295, ElementToSubelement2 _segment_3 0 connected to _triangle_6 0, _quadrangle_8 1, _segment_3 1 connected to _triangle_6 0, _quadrangle_8 2, _quadrangle_8 12, _segment_3 2 connected to _triangle_6 0, _triangle_6 4, _quadrangle_8 0, _segment_3 3 connected to _triangle_6 1, _triangle_6 5, _quadrangle_8 0, _segment_3 4 connected to _triangle_6 1, _quadrangle_8 2, _quadrangle_8 13, _segment_3 5 connected to _triangle_6 1, _quadrangle_8 1, _segment_3 6 connected to _triangle_6 2, _triangle_6 4, _quadrangle_8 4, _segment_3 7 connected to _triangle_6 2, _quadrangle_8 5, _quadrangle_8 16, _segment_3 8 connected to _triangle_6 2, _triangle_6 6, _quadrangle_8 3, _segment_3 9 connected to _triangle_6 3, _triangle_6 7, _quadrangle_8 3, _segment_3 10 connected to _triangle_6 3, _quadrangle_8 5, _quadrangle_8 17, _segment_3 11 connected to _triangle_6 3, _triangle_6 5, _quadrangle_8 4, _segment_3 12 connected to _triangle_6 4, _quadrangle_8 6, _segment_3 13 connected to _triangle_6 5, _quadrangle_8 6, _segment_3 14 connected to _triangle_6 6, _quadrangle_8 7, _segment_3 15 connected to _triangle_6 6, _quadrangle_8 8, _segment_3 16 connected to _triangle_6 7, _quadrangle_8 8, _segment_3 17 connected to _triangle_6 7, _quadrangle_8 7, _segment_3 18 connected to _quadrangle_8 0, _quadrangle_8 2, _quadrangle_8 4, _quadrangle_8 5, _quadrangle_8 10, _segment_3 19 connected to _quadrangle_8 0, _quadrangle_8 1, _quadrangle_8 6, _segment_3 20 connected to _quadrangle_8 1, _quadrangle_8 2, _quadrangle_8 9, _segment_3 21 connected to _quadrangle_8 3, _quadrangle_8 5, _quadrangle_8 7, _quadrangle_8 14, _segment_3 22 connected to _quadrangle_8 3, _quadrangle_8 4, _quadrangle_8 6, _quadrangle_8 8, _segment_3 23 connected to _quadrangle_8 7, _quadrangle_8 8, _segment_3 24 connected to _quadrangle_8 9, _quadrangle_8 12, _segment_3 25 connected to _quadrangle_8 9, _quadrangle_8 13, _segment_3 26 connected to _quadrangle_8 9, _quadrangle_8 11, _segment_3 27 connected to _quadrangle_8 10, _quadrangle_8 12, _quadrangle_8 16, _segment_3 28 connected to _quadrangle_8 10, _quadrangle_8 11, _quadrangle_8 15, _segment_3 29 connected to _quadrangle_8 10, _quadrangle_8 13, _quadrangle_8 17, _segment_3 30 connected to _quadrangle_8 11, _quadrangle_8 12, _segment_3 31 connected to _quadrangle_8 11, _quadrangle_8 13, _segment_3 32 connected to _quadrangle_8 14, _quadrangle_8 16, _segment_3 33 connected to _quadrangle_8 14, _quadrangle_8 15, _segment_3 34 connected to _quadrangle_8 14, _quadrangle_8 17, _segment_3 35 connected to _quadrangle_8 15, _quadrangle_8 16, _segment_3 36 connected to _quadrangle_8 15, _quadrangle_8 17, ElementToSubelement1 _point_1 0 connected to _segment_3 0, _segment_3 2, _segment_3 12, _segment_3 19, _point_1 1 connected to _segment_3 0, _segment_3 1, _segment_3 20, _segment_3 24, _point_1 2 connected to _segment_3 1, _segment_3 2, _segment_3 6, _segment_3 7, _segment_3 18, _segment_3 27, _point_1 3 connected to _segment_3 3, _segment_3 5, _segment_3 13, _segment_3 19, _point_1 4 connected to _segment_3 3, _segment_3 4, _segment_3 10, _segment_3 11, _segment_3 18, _segment_3 29, _point_1 5 connected to _segment_3 4, _segment_3 5, _segment_3 20, _segment_3 25, _point_1 6 connected to _segment_3 6, _segment_3 8, _segment_3 12, _segment_3 15, _segment_3 22, _point_1 7 connected to _segment_3 7, _segment_3 8, _segment_3 14, _segment_3 21, _segment_3 32, _point_1 8 connected to _segment_3 9, _segment_3 11, _segment_3 13, _segment_3 16, _segment_3 22, _point_1 9 connected to _segment_3 9, _segment_3 10, _segment_3 17, _segment_3 21, _segment_3 34, _point_1 10 connected to _segment_3 14, _segment_3 15, _segment_3 23, _point_1 11 connected to _segment_3 16, _segment_3 17, _segment_3 23, _point_1 12 connected to _segment_3 24, _segment_3 26, _segment_3 30, _point_1 13 connected to _segment_3 25, _segment_3 26, _segment_3 31, _point_1 14 connected to _segment_3 27, _segment_3 28, _segment_3 30, _segment_3 35, _point_1 15 connected to _segment_3 28, _segment_3 29, _segment_3 31, _segment_3 36, _point_1 16 connected to _segment_3 32, _segment_3 33, _segment_3 35, _point_1 17 connected to _segment_3 33, _segment_3 34, _segment_3 36, SubelementToElement3 _hexahedron_20 0 connected to _quadrangle_8 2, _quadrangle_8 9, _quadrangle_8 10, _quadrangle_8 11, _quadrangle_8 12, _quadrangle_8 13, _hexahedron_20 1 connected to _quadrangle_8 5, _quadrangle_8 10, _quadrangle_8 14, _quadrangle_8 15, _quadrangle_8 16, _quadrangle_8 17, _pentahedron_15 0 connected to _triangle_6 0, _triangle_6 1, _quadrangle_8 0, _quadrangle_8 1, _quadrangle_8 2, _pentahedron_15 1 connected to _triangle_6 2, _triangle_6 3, _quadrangle_8 3, _quadrangle_8 4, _quadrangle_8 5, _pentahedron_15 2 connected to _triangle_6 4, _triangle_6 5, _quadrangle_8 0, _quadrangle_8 4, _quadrangle_8 6, _pentahedron_15 3 connected to _triangle_6 6, _triangle_6 7, _quadrangle_8 3, _quadrangle_8 7, _quadrangle_8 8, SubelementToElement2 _quadrangle_8 0 connected to _segment_3 2, _segment_3 3, _segment_3 18, _segment_3 19, _quadrangle_8 1 connected to _segment_3 0, _segment_3 5, _segment_3 19, _segment_3 20, _quadrangle_8 2 connected to _segment_3 1, _segment_3 4, _segment_3 18, _segment_3 20, _quadrangle_8 3 connected to _segment_3 8, _segment_3 9, _segment_3 21, _segment_3 22, _quadrangle_8 4 connected to _segment_3 6, _segment_3 11, _segment_3 18, _segment_3 22, _quadrangle_8 5 connected to _segment_3 7, _segment_3 10, _segment_3 18, _segment_3 21, _quadrangle_8 6 connected to _segment_3 12, _segment_3 13, _segment_3 19, _segment_3 22, _quadrangle_8 7 connected to _segment_3 14, _segment_3 17, _segment_3 21, _segment_3 23, _quadrangle_8 8 connected to _segment_3 15, _segment_3 16, _segment_3 22, _segment_3 23, _quadrangle_8 9 connected to _segment_3 20, _segment_3 24, _segment_3 25, _segment_3 26, _quadrangle_8 10 connected to _segment_3 18, _segment_3 27, _segment_3 28, _segment_3 29, _quadrangle_8 11 connected to _segment_3 26, _segment_3 28, _segment_3 30, _segment_3 31, _quadrangle_8 12 connected to _segment_3 1, _segment_3 24, _segment_3 27, _segment_3 30, _quadrangle_8 13 connected to _segment_3 4, _segment_3 25, _segment_3 29, _segment_3 31, _quadrangle_8 14 connected to _segment_3 21, _segment_3 32, _segment_3 33, _segment_3 34, _quadrangle_8 15 connected to _segment_3 28, _segment_3 33, _segment_3 35, _segment_3 36, _quadrangle_8 16 connected to _segment_3 7, _segment_3 27, _segment_3 32, _segment_3 35, _quadrangle_8 17 connected to _segment_3 10, _segment_3 29, _segment_3 34, _segment_3 36, SubelementToElement2 _triangle_6 0 connected to _segment_3 0, _segment_3 1, _segment_3 2, _triangle_6 1 connected to _segment_3 3, _segment_3 4, _segment_3 5, _triangle_6 2 connected to _segment_3 6, _segment_3 7, _segment_3 8, _triangle_6 3 connected to _segment_3 9, _segment_3 10, _segment_3 11, _triangle_6 4 connected to _segment_3 2, _segment_3 6, _segment_3 12, _triangle_6 5 connected to _segment_3 3, _segment_3 11, _segment_3 13, _triangle_6 6 connected to _segment_3 8, _segment_3 14, _segment_3 15, _triangle_6 7 connected to _segment_3 9, _segment_3 16, _segment_3 17, SubelementToElement1 _segment_3 0 connected to _point_1 0, _point_1 1, _segment_3 1 connected to _point_1 1, _point_1 2, _segment_3 2 connected to _point_1 0, _point_1 2, _segment_3 3 connected to _point_1 3, _point_1 4, _segment_3 4 connected to _point_1 4, _point_1 5, _segment_3 5 connected to _point_1 3, _point_1 5, _segment_3 6 connected to _point_1 2, _point_1 6, _segment_3 7 connected to _point_1 2, _point_1 7, _segment_3 8 connected to _point_1 6, _point_1 7, _segment_3 9 connected to _point_1 8, _point_1 9, _segment_3 10 connected to _point_1 4, _point_1 9, _segment_3 11 connected to _point_1 4, _point_1 8, _segment_3 12 connected to _point_1 0, _point_1 6, _segment_3 13 connected to _point_1 3, _point_1 8, _segment_3 14 connected to _point_1 7, _point_1 10, _segment_3 15 connected to _point_1 6, _point_1 10, _segment_3 16 connected to _point_1 8, _point_1 11, _segment_3 17 connected to _point_1 9, _point_1 11, _segment_3 18 connected to _point_1 2, _point_1 4, _segment_3 19 connected to _point_1 0, _point_1 3, _segment_3 20 connected to _point_1 1, _point_1 5, _segment_3 21 connected to _point_1 7, _point_1 9, _segment_3 22 connected to _point_1 6, _point_1 8, _segment_3 23 connected to _point_1 10, _point_1 11, _segment_3 24 connected to _point_1 1, _point_1 12, _segment_3 25 connected to _point_1 5, _point_1 13, _segment_3 26 connected to _point_1 12, _point_1 13, _segment_3 27 connected to _point_1 2, _point_1 14, _segment_3 28 connected to _point_1 14, _point_1 15, _segment_3 29 connected to _point_1 4, _point_1 15, _segment_3 30 connected to _point_1 12, _point_1 14, _segment_3 31 connected to _point_1 13, _point_1 15, _segment_3 32 connected to _point_1 7, _point_1 16, _segment_3 33 connected to _point_1 16, _point_1 17, _segment_3 34 connected to _point_1 9, _point_1 17, _segment_3 35 connected to _point_1 14, _point_1 16, _segment_3 36 connected to _point_1 15, _point_1 17, diff --git a/test/test_mesh_utils/test_buildfacets/test_buildfacets_pentahedron_15.cc b/test/test_mesh_utils/test_buildfacets/test_buildfacets_pentahedron_15.cc index edbc6368a..3b458d7de 100644 --- a/test/test_mesh_utils/test_buildfacets/test_buildfacets_pentahedron_15.cc +++ b/test/test_mesh_utils/test_buildfacets/test_buildfacets_pentahedron_15.cc @@ -1,148 +1,146 @@ /** * @file test_buildfacets_pentahedron_15.cc * * @author Mauro Corrado * * @date creation: Tue May 08 2012 * @date last modification: Mon Sep 28 2015 * * @brief Test for cohesive elements * * @section LICENSE * * Copyright (©) 2010-2012, 2014, 2015 EPFL (Ecole Polytechnique Fédérale de * Lausanne) Laboratory (LSMS - Laboratoire de Simulation en Mécanique des * Solides) * * Akantu is free software: you can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License as published by the Free * Software Foundation, either version 3 of the License, or (at your option) any * later version. * * Akantu is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. * * You should have received a copy of the GNU Lesser General Public License * along with Akantu. If not, see . * */ /* -------------------------------------------------------------------------- */ #include #include #include /* -------------------------------------------------------------------------- */ #include "aka_common.hh" #include "mesh.hh" #include "mesh_utils.hh" /* -------------------------------------------------------------------------- */ using namespace akantu; int main(int argc, char *argv[]) { initialize(argc, argv); const UInt spatial_dimension = 3; const ElementType type = _pentahedron_15; Mesh mesh(spatial_dimension); mesh.read("pentahedron_15.msh"); Mesh & mesh_facets = mesh.initMeshFacets("mesh_facets"); - MeshUtils::buildAllFacets(mesh, mesh_facets); - Vector types_facet = mesh.getAllFacetTypes(type); const ElementType type_subfacet = mesh.getFacetType(types_facet(0)); const ElementType type_subsubfacet = mesh.getFacetType(type_subfacet); /* ------------------------------------------------------------------------ */ /* Element to Subelement testing */ /* ------------------------------------------------------------------------ */ for (UInt ft = 0; ft < types_facet.size(); ++ft) { ElementType type_facet = types_facet(ft); Array< std::vector > & el_to_subel3 = mesh_facets.getElementToSubelement(type_facet); std::cout << "ElementToSubelement3" << std::endl; for (UInt i = 0; i < el_to_subel3.size(); ++i) { std::cout << type_facet << " " << i << " connected to "; for (UInt j = 0; j < 2; ++j){ std::cout << el_to_subel3(i)[j].type << " " << el_to_subel3(i)[j].element << ", "; } std::cout << " " << std::endl; } } const Array< std::vector > & el_to_subel2 = mesh_facets.getElementToSubelement(type_subfacet); const Array< std::vector > & el_to_subel1 = mesh_facets.getElementToSubelement(type_subsubfacet); std::cout << "ElementToSubelement2" << std::endl; for (UInt i = 0; i < el_to_subel2.size(); ++i) { std::cout << type_subfacet << " " << i << " connected to "; for (UInt j = 0; j < el_to_subel2(i).size(); ++j){ std::cout << el_to_subel2(i)[j].type << " " << el_to_subel2(i)[j].element << ", "; } std::cout << " " << std::endl; } std::cout << "ElementToSubelement1" << std::endl; for (UInt i = 0; i < el_to_subel1.size(); ++i) { std::cout << type_subsubfacet << " " << i << " connected to "; for (UInt j = 0; j < el_to_subel1(i).size(); ++j){ std::cout << el_to_subel1(i)[j].type << " " << el_to_subel1(i)[j].element << ", "; } std::cout << " " << std::endl; } /* ------------------------------------------------------------------------ */ /* Subelement to Element testing */ /* ------------------------------------------------------------------------ */ const Array & subel_to_el3 = mesh_facets.getSubelementToElement(type); std::cout << " " << std::endl; std::cout << "SubelementToElement3" << std::endl; for (UInt i = 0; i < subel_to_el3.size(); ++i) { std::cout << type << " " << i << " connected to "; for (UInt j = 0; j < subel_to_el3.getNbComponent(); ++j){ std::cout << subel_to_el3(i, j).type << " " << subel_to_el3(i, j).element << ", "; } std::cout << " " << std::endl; } for (UInt ft = 0; ft < types_facet.size(); ++ft) { ElementType type_facet = types_facet(ft); Array & subel_to_el2 = mesh_facets.getSubelementToElement(type_facet); std::cout << "SubelementToElement2" << std::endl; for (UInt i = 0; i < subel_to_el2.size(); ++i) { std::cout << type_facet << " " << i << " connected to "; for (UInt j = 0; j < subel_to_el2.getNbComponent(); ++j){ std::cout << subel_to_el2(i, j).type << " " << subel_to_el2(i, j).element << ", "; } std::cout << " " << std::endl; } } const Array & subel_to_el1 = mesh_facets.getSubelementToElement(type_subfacet); std::cout << "SubelementToElement1" << std::endl; for (UInt i = 0; i < subel_to_el1.size(); ++i) { std::cout << type_subfacet << " " << i << " connected to "; for (UInt j = 0; j < subel_to_el1.getNbComponent(); ++j){ std::cout << subel_to_el1(i, j).type << " " << subel_to_el1(i, j).element << ", "; } std::cout << " " << std::endl; } finalize(); return EXIT_SUCCESS; } diff --git a/test/test_mesh_utils/test_buildfacets/test_buildfacets_pentahedron_15.verified b/test/test_mesh_utils/test_buildfacets/test_buildfacets_pentahedron_15.verified index 28e18d18d..779f7afa5 100644 --- a/test/test_mesh_utils/test_buildfacets/test_buildfacets_pentahedron_15.verified +++ b/test/test_mesh_utils/test_buildfacets/test_buildfacets_pentahedron_15.verified @@ -1,103 +1,103 @@ ElementToSubelement3 -_triangle_6 0 connected to _pentahedron_15 0, _not_defined 0, +_triangle_6 0 connected to _pentahedron_15 0, _not_defined 4294967295, _triangle_6 1 connected to _pentahedron_15 0, _pentahedron_15 2, -_triangle_6 2 connected to _pentahedron_15 1, _not_defined 0, +_triangle_6 2 connected to _pentahedron_15 1, _not_defined 4294967295, _triangle_6 3 connected to _pentahedron_15 1, _pentahedron_15 3, -_triangle_6 4 connected to _pentahedron_15 2, _not_defined 0, -_triangle_6 5 connected to _pentahedron_15 3, _not_defined 0, +_triangle_6 4 connected to _pentahedron_15 2, _not_defined 4294967295, +_triangle_6 5 connected to _pentahedron_15 3, _not_defined 4294967295, ElementToSubelement3 _quadrangle_8 0 connected to _pentahedron_15 0, _pentahedron_15 1, -_quadrangle_8 1 connected to _pentahedron_15 0, _not_defined 0, -_quadrangle_8 2 connected to _pentahedron_15 0, _not_defined 0, -_quadrangle_8 3 connected to _pentahedron_15 1, _not_defined 0, -_quadrangle_8 4 connected to _pentahedron_15 1, _not_defined 0, +_quadrangle_8 1 connected to _pentahedron_15 0, _not_defined 4294967295, +_quadrangle_8 2 connected to _pentahedron_15 0, _not_defined 4294967295, +_quadrangle_8 3 connected to _pentahedron_15 1, _not_defined 4294967295, +_quadrangle_8 4 connected to _pentahedron_15 1, _not_defined 4294967295, _quadrangle_8 5 connected to _pentahedron_15 2, _pentahedron_15 3, -_quadrangle_8 6 connected to _pentahedron_15 2, _not_defined 0, -_quadrangle_8 7 connected to _pentahedron_15 2, _not_defined 0, -_quadrangle_8 8 connected to _pentahedron_15 3, _not_defined 0, -_quadrangle_8 9 connected to _pentahedron_15 3, _not_defined 0, +_quadrangle_8 6 connected to _pentahedron_15 2, _not_defined 4294967295, +_quadrangle_8 7 connected to _pentahedron_15 2, _not_defined 4294967295, +_quadrangle_8 8 connected to _pentahedron_15 3, _not_defined 4294967295, +_quadrangle_8 9 connected to _pentahedron_15 3, _not_defined 4294967295, ElementToSubelement2 _segment_3 0 connected to _triangle_6 0, _quadrangle_8 1, _segment_3 1 connected to _triangle_6 0, _quadrangle_8 2, _segment_3 2 connected to _triangle_6 0, _triangle_6 2, _quadrangle_8 0, _segment_3 3 connected to _triangle_6 1, _triangle_6 3, _quadrangle_8 0, _quadrangle_8 5, _segment_3 4 connected to _triangle_6 1, _quadrangle_8 2, _quadrangle_8 7, _segment_3 5 connected to _triangle_6 1, _quadrangle_8 1, _quadrangle_8 6, _segment_3 6 connected to _triangle_6 2, _quadrangle_8 4, _segment_3 7 connected to _triangle_6 2, _quadrangle_8 3, _segment_3 8 connected to _triangle_6 3, _quadrangle_8 3, _quadrangle_8 8, _segment_3 9 connected to _triangle_6 3, _quadrangle_8 4, _quadrangle_8 9, _segment_3 10 connected to _triangle_6 4, _triangle_6 5, _quadrangle_8 5, _segment_3 11 connected to _triangle_6 4, _quadrangle_8 7, _segment_3 12 connected to _triangle_6 4, _quadrangle_8 6, _segment_3 13 connected to _triangle_6 5, _quadrangle_8 8, _segment_3 14 connected to _triangle_6 5, _quadrangle_8 9, _segment_3 15 connected to _quadrangle_8 0, _quadrangle_8 2, _quadrangle_8 3, _segment_3 16 connected to _quadrangle_8 0, _quadrangle_8 1, _quadrangle_8 4, _segment_3 17 connected to _quadrangle_8 1, _quadrangle_8 2, _segment_3 18 connected to _quadrangle_8 3, _quadrangle_8 4, _segment_3 19 connected to _quadrangle_8 5, _quadrangle_8 7, _quadrangle_8 8, _segment_3 20 connected to _quadrangle_8 5, _quadrangle_8 6, _quadrangle_8 9, _segment_3 21 connected to _quadrangle_8 6, _quadrangle_8 7, _segment_3 22 connected to _quadrangle_8 8, _quadrangle_8 9, ElementToSubelement1 _point_1 0 connected to _segment_3 0, _segment_3 2, _segment_3 6, _segment_3 16, _point_1 1 connected to _segment_3 0, _segment_3 1, _segment_3 17, _point_1 2 connected to _segment_3 1, _segment_3 2, _segment_3 7, _segment_3 15, _point_1 3 connected to _segment_3 3, _segment_3 5, _segment_3 9, _segment_3 16, _segment_3 20, _point_1 4 connected to _segment_3 3, _segment_3 4, _segment_3 8, _segment_3 15, _segment_3 19, _point_1 5 connected to _segment_3 4, _segment_3 5, _segment_3 17, _segment_3 21, _point_1 6 connected to _segment_3 6, _segment_3 7, _segment_3 18, _point_1 7 connected to _segment_3 8, _segment_3 9, _segment_3 18, _segment_3 22, _point_1 8 connected to _segment_3 10, _segment_3 12, _segment_3 14, _segment_3 20, _point_1 9 connected to _segment_3 10, _segment_3 11, _segment_3 13, _segment_3 19, _point_1 10 connected to _segment_3 11, _segment_3 12, _segment_3 21, _point_1 11 connected to _segment_3 13, _segment_3 14, _segment_3 22, SubelementToElement3 _pentahedron_15 0 connected to _triangle_6 0, _triangle_6 1, _quadrangle_8 0, _quadrangle_8 1, _quadrangle_8 2, _pentahedron_15 1 connected to _triangle_6 2, _triangle_6 3, _quadrangle_8 0, _quadrangle_8 3, _quadrangle_8 4, _pentahedron_15 2 connected to _triangle_6 1, _triangle_6 4, _quadrangle_8 5, _quadrangle_8 6, _quadrangle_8 7, _pentahedron_15 3 connected to _triangle_6 3, _triangle_6 5, _quadrangle_8 5, _quadrangle_8 8, _quadrangle_8 9, SubelementToElement2 _triangle_6 0 connected to _segment_3 0, _segment_3 1, _segment_3 2, _triangle_6 1 connected to _segment_3 3, _segment_3 4, _segment_3 5, _triangle_6 2 connected to _segment_3 2, _segment_3 6, _segment_3 7, _triangle_6 3 connected to _segment_3 3, _segment_3 8, _segment_3 9, _triangle_6 4 connected to _segment_3 10, _segment_3 11, _segment_3 12, _triangle_6 5 connected to _segment_3 10, _segment_3 13, _segment_3 14, SubelementToElement2 _quadrangle_8 0 connected to _segment_3 2, _segment_3 3, _segment_3 15, _segment_3 16, _quadrangle_8 1 connected to _segment_3 0, _segment_3 5, _segment_3 16, _segment_3 17, _quadrangle_8 2 connected to _segment_3 1, _segment_3 4, _segment_3 15, _segment_3 17, _quadrangle_8 3 connected to _segment_3 7, _segment_3 8, _segment_3 15, _segment_3 18, _quadrangle_8 4 connected to _segment_3 6, _segment_3 9, _segment_3 16, _segment_3 18, _quadrangle_8 5 connected to _segment_3 3, _segment_3 10, _segment_3 19, _segment_3 20, _quadrangle_8 6 connected to _segment_3 5, _segment_3 12, _segment_3 20, _segment_3 21, _quadrangle_8 7 connected to _segment_3 4, _segment_3 11, _segment_3 19, _segment_3 21, _quadrangle_8 8 connected to _segment_3 8, _segment_3 13, _segment_3 19, _segment_3 22, _quadrangle_8 9 connected to _segment_3 9, _segment_3 14, _segment_3 20, _segment_3 22, SubelementToElement1 _segment_3 0 connected to _point_1 0, _point_1 1, _segment_3 1 connected to _point_1 1, _point_1 2, _segment_3 2 connected to _point_1 0, _point_1 2, _segment_3 3 connected to _point_1 3, _point_1 4, _segment_3 4 connected to _point_1 4, _point_1 5, _segment_3 5 connected to _point_1 3, _point_1 5, _segment_3 6 connected to _point_1 0, _point_1 6, _segment_3 7 connected to _point_1 2, _point_1 6, _segment_3 8 connected to _point_1 4, _point_1 7, _segment_3 9 connected to _point_1 3, _point_1 7, _segment_3 10 connected to _point_1 8, _point_1 9, _segment_3 11 connected to _point_1 9, _point_1 10, _segment_3 12 connected to _point_1 8, _point_1 10, _segment_3 13 connected to _point_1 9, _point_1 11, _segment_3 14 connected to _point_1 8, _point_1 11, _segment_3 15 connected to _point_1 2, _point_1 4, _segment_3 16 connected to _point_1 0, _point_1 3, _segment_3 17 connected to _point_1 1, _point_1 5, _segment_3 18 connected to _point_1 6, _point_1 7, _segment_3 19 connected to _point_1 4, _point_1 9, _segment_3 20 connected to _point_1 3, _point_1 8, _segment_3 21 connected to _point_1 5, _point_1 10, _segment_3 22 connected to _point_1 7, _point_1 11, diff --git a/test/test_mesh_utils/test_buildfacets/test_buildfacets_pentahedron_6.cc b/test/test_mesh_utils/test_buildfacets/test_buildfacets_pentahedron_6.cc index c42d32ad9..44f720cbe 100644 --- a/test/test_mesh_utils/test_buildfacets/test_buildfacets_pentahedron_6.cc +++ b/test/test_mesh_utils/test_buildfacets/test_buildfacets_pentahedron_6.cc @@ -1,148 +1,146 @@ /** * @file test_buildfacets_pentahedron_6.cc * * @author Mauro Corrado * * @date creation: Tue May 08 2012 * @date last modification: Mon Sep 28 2015 * * @brief Test for cohesive elements * * @section LICENSE * * Copyright (©) 2010-2012, 2014, 2015 EPFL (Ecole Polytechnique Fédérale de * Lausanne) Laboratory (LSMS - Laboratoire de Simulation en Mécanique des * Solides) * * Akantu is free software: you can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License as published by the Free * Software Foundation, either version 3 of the License, or (at your option) any * later version. * * Akantu is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. * * You should have received a copy of the GNU Lesser General Public License * along with Akantu. If not, see . * */ /* -------------------------------------------------------------------------- */ #include #include #include /* -------------------------------------------------------------------------- */ #include "aka_common.hh" #include "mesh.hh" #include "mesh_utils.hh" /* -------------------------------------------------------------------------- */ using namespace akantu; int main(int argc, char *argv[]) { initialize(argc, argv); const UInt spatial_dimension = 3; const ElementType type = _pentahedron_6; Mesh mesh(spatial_dimension); mesh.read("pentahedron_6.msh"); Mesh & mesh_facets = mesh.initMeshFacets("mesh_facets"); - MeshUtils::buildAllFacets(mesh, mesh_facets); - Vector types_facet = mesh.getAllFacetTypes(type); const ElementType type_subfacet = mesh.getFacetType(types_facet(0)); const ElementType type_subsubfacet = mesh.getFacetType(type_subfacet); /* ------------------------------------------------------------------------ */ /* Element to Subelement testing */ /* ------------------------------------------------------------------------ */ for (UInt ft = 0; ft < types_facet.size(); ++ft) { ElementType type_facet = types_facet(ft); Array< std::vector > & el_to_subel3 = mesh_facets.getElementToSubelement(type_facet); std::cout << "ElementToSubelement3" << std::endl; for (UInt i = 0; i < el_to_subel3.size(); ++i) { std::cout << type_facet << " " << i << " connected to "; for (UInt j = 0; j < 2; ++j){ std::cout << el_to_subel3(i)[j].type << " " << el_to_subel3(i)[j].element << ", "; } std::cout << " " << std::endl; } } const Array< std::vector > & el_to_subel2 = mesh_facets.getElementToSubelement(type_subfacet); const Array< std::vector > & el_to_subel1 = mesh_facets.getElementToSubelement(type_subsubfacet); std::cout << "ElementToSubelement2" << std::endl; for (UInt i = 0; i < el_to_subel2.size(); ++i) { std::cout << type_subfacet << " " << i << " connected to "; for (UInt j = 0; j < el_to_subel2(i).size(); ++j){ std::cout << el_to_subel2(i)[j].type << " " << el_to_subel2(i)[j].element << ", "; } std::cout << " " << std::endl; } std::cout << "ElementToSubelement1" << std::endl; for (UInt i = 0; i < el_to_subel1.size(); ++i) { std::cout << type_subsubfacet << " " << i << " connected to "; for (UInt j = 0; j < el_to_subel1(i).size(); ++j){ std::cout << el_to_subel1(i)[j].type << " " << el_to_subel1(i)[j].element << ", "; } std::cout << " " << std::endl; } /* ------------------------------------------------------------------------ */ /* Subelement to Element testing */ /* ------------------------------------------------------------------------ */ const Array & subel_to_el3 = mesh_facets.getSubelementToElement(type); std::cout << " " << std::endl; std::cout << "SubelementToElement3" << std::endl; for (UInt i = 0; i < subel_to_el3.size(); ++i) { std::cout << type << " " << i << " connected to "; for (UInt j = 0; j < subel_to_el3.getNbComponent(); ++j){ std::cout << subel_to_el3(i, j).type << " " << subel_to_el3(i, j).element << ", "; } std::cout << " " << std::endl; } for (UInt ft = 0; ft < types_facet.size(); ++ft) { ElementType type_facet = types_facet(ft); Array & subel_to_el2 = mesh_facets.getSubelementToElement(type_facet); std::cout << "SubelementToElement2" << std::endl; for (UInt i = 0; i < subel_to_el2.size(); ++i) { std::cout << type_facet << " " << i << " connected to "; for (UInt j = 0; j < subel_to_el2.getNbComponent(); ++j){ std::cout << subel_to_el2(i, j).type << " " << subel_to_el2(i, j).element << ", "; } std::cout << " " << std::endl; } } const Array & subel_to_el1 = mesh_facets.getSubelementToElement(type_subfacet); std::cout << "SubelementToElement1" << std::endl; for (UInt i = 0; i < subel_to_el1.size(); ++i) { std::cout << type_subfacet << " " << i << " connected to "; for (UInt j = 0; j < subel_to_el1.getNbComponent(); ++j){ std::cout << subel_to_el1(i, j).type << " " << subel_to_el1(i, j).element << ", "; } std::cout << " " << std::endl; } finalize(); return EXIT_SUCCESS; } diff --git a/test/test_mesh_utils/test_buildfacets/test_buildfacets_pentahedron_6.verified b/test/test_mesh_utils/test_buildfacets/test_buildfacets_pentahedron_6.verified index 58f6b341d..2c6f8fcef 100644 --- a/test/test_mesh_utils/test_buildfacets/test_buildfacets_pentahedron_6.verified +++ b/test/test_mesh_utils/test_buildfacets/test_buildfacets_pentahedron_6.verified @@ -1,103 +1,103 @@ ElementToSubelement3 -_triangle_3 0 connected to _pentahedron_6 0, _not_defined 0, +_triangle_3 0 connected to _pentahedron_6 0, _not_defined 4294967295, _triangle_3 1 connected to _pentahedron_6 0, _pentahedron_6 2, -_triangle_3 2 connected to _pentahedron_6 1, _not_defined 0, +_triangle_3 2 connected to _pentahedron_6 1, _not_defined 4294967295, _triangle_3 3 connected to _pentahedron_6 1, _pentahedron_6 3, -_triangle_3 4 connected to _pentahedron_6 2, _not_defined 0, -_triangle_3 5 connected to _pentahedron_6 3, _not_defined 0, +_triangle_3 4 connected to _pentahedron_6 2, _not_defined 4294967295, +_triangle_3 5 connected to _pentahedron_6 3, _not_defined 4294967295, ElementToSubelement3 _quadrangle_4 0 connected to _pentahedron_6 0, _pentahedron_6 1, -_quadrangle_4 1 connected to _pentahedron_6 0, _not_defined 0, -_quadrangle_4 2 connected to _pentahedron_6 0, _not_defined 0, -_quadrangle_4 3 connected to _pentahedron_6 1, _not_defined 0, -_quadrangle_4 4 connected to _pentahedron_6 1, _not_defined 0, +_quadrangle_4 1 connected to _pentahedron_6 0, _not_defined 4294967295, +_quadrangle_4 2 connected to _pentahedron_6 0, _not_defined 4294967295, +_quadrangle_4 3 connected to _pentahedron_6 1, _not_defined 4294967295, +_quadrangle_4 4 connected to _pentahedron_6 1, _not_defined 4294967295, _quadrangle_4 5 connected to _pentahedron_6 2, _pentahedron_6 3, -_quadrangle_4 6 connected to _pentahedron_6 2, _not_defined 0, -_quadrangle_4 7 connected to _pentahedron_6 2, _not_defined 0, -_quadrangle_4 8 connected to _pentahedron_6 3, _not_defined 0, -_quadrangle_4 9 connected to _pentahedron_6 3, _not_defined 0, +_quadrangle_4 6 connected to _pentahedron_6 2, _not_defined 4294967295, +_quadrangle_4 7 connected to _pentahedron_6 2, _not_defined 4294967295, +_quadrangle_4 8 connected to _pentahedron_6 3, _not_defined 4294967295, +_quadrangle_4 9 connected to _pentahedron_6 3, _not_defined 4294967295, ElementToSubelement2 _segment_2 0 connected to _triangle_3 0, _quadrangle_4 1, _segment_2 1 connected to _triangle_3 0, _quadrangle_4 2, _segment_2 2 connected to _triangle_3 0, _triangle_3 2, _quadrangle_4 0, _segment_2 3 connected to _triangle_3 1, _triangle_3 3, _quadrangle_4 0, _quadrangle_4 5, _segment_2 4 connected to _triangle_3 1, _quadrangle_4 2, _quadrangle_4 7, _segment_2 5 connected to _triangle_3 1, _quadrangle_4 1, _quadrangle_4 6, _segment_2 6 connected to _triangle_3 2, _quadrangle_4 4, _segment_2 7 connected to _triangle_3 2, _quadrangle_4 3, _segment_2 8 connected to _triangle_3 3, _quadrangle_4 3, _quadrangle_4 8, _segment_2 9 connected to _triangle_3 3, _quadrangle_4 4, _quadrangle_4 9, _segment_2 10 connected to _triangle_3 4, _triangle_3 5, _quadrangle_4 5, _segment_2 11 connected to _triangle_3 4, _quadrangle_4 7, _segment_2 12 connected to _triangle_3 4, _quadrangle_4 6, _segment_2 13 connected to _triangle_3 5, _quadrangle_4 8, _segment_2 14 connected to _triangle_3 5, _quadrangle_4 9, _segment_2 15 connected to _quadrangle_4 0, _quadrangle_4 2, _quadrangle_4 3, _segment_2 16 connected to _quadrangle_4 0, _quadrangle_4 1, _quadrangle_4 4, _segment_2 17 connected to _quadrangle_4 1, _quadrangle_4 2, _segment_2 18 connected to _quadrangle_4 3, _quadrangle_4 4, _segment_2 19 connected to _quadrangle_4 5, _quadrangle_4 7, _quadrangle_4 8, _segment_2 20 connected to _quadrangle_4 5, _quadrangle_4 6, _quadrangle_4 9, _segment_2 21 connected to _quadrangle_4 6, _quadrangle_4 7, _segment_2 22 connected to _quadrangle_4 8, _quadrangle_4 9, ElementToSubelement1 _point_1 0 connected to _segment_2 0, _segment_2 2, _segment_2 6, _segment_2 16, _point_1 1 connected to _segment_2 0, _segment_2 1, _segment_2 17, _point_1 2 connected to _segment_2 1, _segment_2 2, _segment_2 7, _segment_2 15, _point_1 3 connected to _segment_2 3, _segment_2 5, _segment_2 9, _segment_2 16, _segment_2 20, _point_1 4 connected to _segment_2 3, _segment_2 4, _segment_2 8, _segment_2 15, _segment_2 19, _point_1 5 connected to _segment_2 4, _segment_2 5, _segment_2 17, _segment_2 21, _point_1 6 connected to _segment_2 6, _segment_2 7, _segment_2 18, _point_1 7 connected to _segment_2 8, _segment_2 9, _segment_2 18, _segment_2 22, _point_1 8 connected to _segment_2 10, _segment_2 12, _segment_2 14, _segment_2 20, _point_1 9 connected to _segment_2 10, _segment_2 11, _segment_2 13, _segment_2 19, _point_1 10 connected to _segment_2 11, _segment_2 12, _segment_2 21, _point_1 11 connected to _segment_2 13, _segment_2 14, _segment_2 22, SubelementToElement3 _pentahedron_6 0 connected to _triangle_3 0, _triangle_3 1, _quadrangle_4 0, _quadrangle_4 1, _quadrangle_4 2, _pentahedron_6 1 connected to _triangle_3 2, _triangle_3 3, _quadrangle_4 0, _quadrangle_4 3, _quadrangle_4 4, _pentahedron_6 2 connected to _triangle_3 1, _triangle_3 4, _quadrangle_4 5, _quadrangle_4 6, _quadrangle_4 7, _pentahedron_6 3 connected to _triangle_3 3, _triangle_3 5, _quadrangle_4 5, _quadrangle_4 8, _quadrangle_4 9, SubelementToElement2 _triangle_3 0 connected to _segment_2 0, _segment_2 1, _segment_2 2, _triangle_3 1 connected to _segment_2 3, _segment_2 4, _segment_2 5, _triangle_3 2 connected to _segment_2 2, _segment_2 6, _segment_2 7, _triangle_3 3 connected to _segment_2 3, _segment_2 8, _segment_2 9, _triangle_3 4 connected to _segment_2 10, _segment_2 11, _segment_2 12, _triangle_3 5 connected to _segment_2 10, _segment_2 13, _segment_2 14, SubelementToElement2 _quadrangle_4 0 connected to _segment_2 2, _segment_2 3, _segment_2 15, _segment_2 16, _quadrangle_4 1 connected to _segment_2 0, _segment_2 5, _segment_2 16, _segment_2 17, _quadrangle_4 2 connected to _segment_2 1, _segment_2 4, _segment_2 15, _segment_2 17, _quadrangle_4 3 connected to _segment_2 7, _segment_2 8, _segment_2 15, _segment_2 18, _quadrangle_4 4 connected to _segment_2 6, _segment_2 9, _segment_2 16, _segment_2 18, _quadrangle_4 5 connected to _segment_2 3, _segment_2 10, _segment_2 19, _segment_2 20, _quadrangle_4 6 connected to _segment_2 5, _segment_2 12, _segment_2 20, _segment_2 21, _quadrangle_4 7 connected to _segment_2 4, _segment_2 11, _segment_2 19, _segment_2 21, _quadrangle_4 8 connected to _segment_2 8, _segment_2 13, _segment_2 19, _segment_2 22, _quadrangle_4 9 connected to _segment_2 9, _segment_2 14, _segment_2 20, _segment_2 22, SubelementToElement1 _segment_2 0 connected to _point_1 0, _point_1 1, _segment_2 1 connected to _point_1 1, _point_1 2, _segment_2 2 connected to _point_1 0, _point_1 2, _segment_2 3 connected to _point_1 3, _point_1 4, _segment_2 4 connected to _point_1 4, _point_1 5, _segment_2 5 connected to _point_1 3, _point_1 5, _segment_2 6 connected to _point_1 0, _point_1 6, _segment_2 7 connected to _point_1 2, _point_1 6, _segment_2 8 connected to _point_1 4, _point_1 7, _segment_2 9 connected to _point_1 3, _point_1 7, _segment_2 10 connected to _point_1 8, _point_1 9, _segment_2 11 connected to _point_1 9, _point_1 10, _segment_2 12 connected to _point_1 8, _point_1 10, _segment_2 13 connected to _point_1 9, _point_1 11, _segment_2 14 connected to _point_1 8, _point_1 11, _segment_2 15 connected to _point_1 2, _point_1 4, _segment_2 16 connected to _point_1 0, _point_1 3, _segment_2 17 connected to _point_1 1, _point_1 5, _segment_2 18 connected to _point_1 6, _point_1 7, _segment_2 19 connected to _point_1 4, _point_1 9, _segment_2 20 connected to _point_1 3, _point_1 8, _segment_2 21 connected to _point_1 5, _point_1 10, _segment_2 22 connected to _point_1 7, _point_1 11, diff --git a/test/test_mesh_utils/test_buildfacets/test_buildfacets_quadrangle_4.cc b/test/test_mesh_utils/test_buildfacets/test_buildfacets_quadrangle_4.cc index c1eac301f..9f49a22f7 100644 --- a/test/test_mesh_utils/test_buildfacets/test_buildfacets_quadrangle_4.cc +++ b/test/test_mesh_utils/test_buildfacets/test_buildfacets_quadrangle_4.cc @@ -1,116 +1,114 @@ /** * @file test_buildfacets_quadrangle_4.cc * * @author Mauro Corrado * * @date creation: Fri Sep 18 2015 * @date last modification: Sat Sep 19 2015 * * @brief Test to check the building of the facets. Mesh with quadrangles * * @section LICENSE * * Copyright (©) 2015 EPFL (Ecole Polytechnique Fédérale de Lausanne) Laboratory * (LSMS - Laboratoire de Simulation en Mécanique des Solides) * * Akantu is free software: you can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License as published by the Free * Software Foundation, either version 3 of the License, or (at your option) any * later version. * * Akantu is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. * * You should have received a copy of the GNU Lesser General Public License * along with Akantu. If not, see . * */ /* -------------------------------------------------------------------------- */ #include #include #include /* -------------------------------------------------------------------------- */ #include "aka_common.hh" #include "mesh.hh" #include "mesh_utils.hh" /* -------------------------------------------------------------------------- */ using namespace akantu; int main(int argc, char *argv[]) { initialize(argc, argv); const UInt spatial_dimension = 2; const ElementType type = _quadrangle_4; Mesh mesh(spatial_dimension); mesh.read("quadrangle_4.msh"); Mesh & mesh_facets = mesh.initMeshFacets("mesh_facets"); - MeshUtils::buildAllFacets(mesh, mesh_facets); - const ElementType type_facet = mesh.getFacetType(type); const ElementType type_subfacet = mesh.getFacetType(type_facet); /* ------------------------------------------------------------------------ */ /* Element to Subelement testing */ /* ------------------------------------------------------------------------ */ const Array< std::vector > & el_to_subel2 = mesh_facets.getElementToSubelement(type_facet); const Array< std::vector > & el_to_subel1 = mesh_facets.getElementToSubelement(type_subfacet); std::cout << "ElementToSubelement2" << std::endl; for (UInt i = 0; i < el_to_subel2.size(); ++i) { std::cout << type_facet << " " << i << " connected to "; for (UInt j = 0; j < 2; ++j){ std::cout << el_to_subel2(i)[j].type << " " << el_to_subel2(i)[j].element << ", "; } std::cout << " " << std::endl; } std::cout << "ElementToSubelement1" << std::endl; for (UInt i = 0; i < el_to_subel1.size(); ++i) { std::cout << type_subfacet << " " << i << " connected to "; for (UInt j = 0; j < el_to_subel1(i).size(); ++j){ std::cout << el_to_subel1(i)[j].type << " " << el_to_subel1(i)[j].element << ", "; } std::cout << " " << std::endl; } /* ------------------------------------------------------------------------ */ /* Subelement to Element testing */ /* ------------------------------------------------------------------------ */ const Array & subel_to_el2 = mesh_facets.getSubelementToElement(type); const Array & subel_to_el1 = mesh_facets.getSubelementToElement(type_facet); std::cout << " " << std::endl; std::cout << "SubelementToElement2" << std::endl; for (UInt i = 0; i < subel_to_el2.size(); ++i) { std::cout << type << " " << i << " connected to "; for (UInt j = 0; j < 4; ++j){ std::cout << subel_to_el2(i, j).type << " " << subel_to_el2(i, j).element << ", "; } std::cout << " " << std::endl; } std::cout << "SubelementToElement1" << std::endl; for (UInt i = 0; i < subel_to_el1.size(); ++i) { std::cout << type_facet << " " << i << " connected to "; for (UInt j = 0; j < 2; ++j){ std::cout << subel_to_el1(i, j).type << " " << subel_to_el1(i, j).element << ", "; } std::cout << " " << std::endl; } finalize(); return EXIT_SUCCESS; } diff --git a/test/test_mesh_utils/test_buildfacets/test_buildfacets_quadrangle_4.verified b/test/test_mesh_utils/test_buildfacets/test_buildfacets_quadrangle_4.verified index 70cbcee51..0b9d1d061 100644 --- a/test/test_mesh_utils/test_buildfacets/test_buildfacets_quadrangle_4.verified +++ b/test/test_mesh_utils/test_buildfacets/test_buildfacets_quadrangle_4.verified @@ -1,42 +1,42 @@ ElementToSubelement2 -_segment_2 0 connected to _quadrangle_4 0, _not_defined 0, +_segment_2 0 connected to _quadrangle_4 0, _not_defined 4294967295, _segment_2 1 connected to _quadrangle_4 0, _quadrangle_4 2, _segment_2 2 connected to _quadrangle_4 0, _quadrangle_4 1, -_segment_2 3 connected to _quadrangle_4 0, _not_defined 0, +_segment_2 3 connected to _quadrangle_4 0, _not_defined 4294967295, _segment_2 4 connected to _quadrangle_4 1, _quadrangle_4 3, -_segment_2 5 connected to _quadrangle_4 1, _not_defined 0, -_segment_2 6 connected to _quadrangle_4 1, _not_defined 0, -_segment_2 7 connected to _quadrangle_4 2, _not_defined 0, -_segment_2 8 connected to _quadrangle_4 2, _not_defined 0, +_segment_2 5 connected to _quadrangle_4 1, _not_defined 4294967295, +_segment_2 6 connected to _quadrangle_4 1, _not_defined 4294967295, +_segment_2 7 connected to _quadrangle_4 2, _not_defined 4294967295, +_segment_2 8 connected to _quadrangle_4 2, _not_defined 4294967295, _segment_2 9 connected to _quadrangle_4 2, _quadrangle_4 3, -_segment_2 10 connected to _quadrangle_4 3, _not_defined 0, -_segment_2 11 connected to _quadrangle_4 3, _not_defined 0, +_segment_2 10 connected to _quadrangle_4 3, _not_defined 4294967295, +_segment_2 11 connected to _quadrangle_4 3, _not_defined 4294967295, ElementToSubelement1 _point_1 0 connected to _segment_2 0, _segment_2 3, _point_1 1 connected to _segment_2 0, _segment_2 1, _segment_2 7, _point_1 2 connected to _segment_2 1, _segment_2 2, _segment_2 4, _segment_2 9, _point_1 3 connected to _segment_2 2, _segment_2 3, _segment_2 6, _point_1 4 connected to _segment_2 4, _segment_2 5, _segment_2 11, _point_1 5 connected to _segment_2 5, _segment_2 6, _point_1 6 connected to _segment_2 7, _segment_2 8, _point_1 7 connected to _segment_2 8, _segment_2 9, _segment_2 10, _point_1 8 connected to _segment_2 10, _segment_2 11, SubelementToElement2 _quadrangle_4 0 connected to _segment_2 0, _segment_2 1, _segment_2 2, _segment_2 3, _quadrangle_4 1 connected to _segment_2 2, _segment_2 4, _segment_2 5, _segment_2 6, _quadrangle_4 2 connected to _segment_2 1, _segment_2 7, _segment_2 8, _segment_2 9, _quadrangle_4 3 connected to _segment_2 4, _segment_2 9, _segment_2 10, _segment_2 11, SubelementToElement1 _segment_2 0 connected to _point_1 0, _point_1 1, _segment_2 1 connected to _point_1 1, _point_1 2, _segment_2 2 connected to _point_1 2, _point_1 3, _segment_2 3 connected to _point_1 0, _point_1 3, _segment_2 4 connected to _point_1 2, _point_1 4, _segment_2 5 connected to _point_1 4, _point_1 5, _segment_2 6 connected to _point_1 3, _point_1 5, _segment_2 7 connected to _point_1 1, _point_1 6, _segment_2 8 connected to _point_1 6, _point_1 7, _segment_2 9 connected to _point_1 2, _point_1 7, _segment_2 10 connected to _point_1 7, _point_1 8, _segment_2 11 connected to _point_1 4, _point_1 8, diff --git a/test/test_mesh_utils/test_buildfacets/test_buildfacets_quadrangle_8.cc b/test/test_mesh_utils/test_buildfacets/test_buildfacets_quadrangle_8.cc index 2d46360bc..a9f1fbe3a 100644 --- a/test/test_mesh_utils/test_buildfacets/test_buildfacets_quadrangle_8.cc +++ b/test/test_mesh_utils/test_buildfacets/test_buildfacets_quadrangle_8.cc @@ -1,116 +1,114 @@ /** * @file test_buildfacets_quadrangle_8.cc * * @author Mauro Corrado * * @date creation: Fri Sep 18 2015 * @date last modification: Sat Sep 19 2015 * * @brief Test to check the building of the facets. Mesh with quadrangles * * @section LICENSE * * Copyright (©) 2015 EPFL (Ecole Polytechnique Fédérale de Lausanne) Laboratory * (LSMS - Laboratoire de Simulation en Mécanique des Solides) * * Akantu is free software: you can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License as published by the Free * Software Foundation, either version 3 of the License, or (at your option) any * later version. * * Akantu is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. * * You should have received a copy of the GNU Lesser General Public License * along with Akantu. If not, see . * */ /* -------------------------------------------------------------------------- */ #include #include #include /* -------------------------------------------------------------------------- */ #include "aka_common.hh" #include "mesh.hh" #include "mesh_utils.hh" /* -------------------------------------------------------------------------- */ using namespace akantu; int main(int argc, char *argv[]) { initialize(argc, argv); const UInt spatial_dimension = 2; const ElementType type = _quadrangle_8; Mesh mesh(spatial_dimension); mesh.read("quadrangle_8.msh"); Mesh & mesh_facets = mesh.initMeshFacets("mesh_facets"); - MeshUtils::buildAllFacets(mesh, mesh_facets); - const ElementType type_facet = mesh.getFacetType(type); const ElementType type_subfacet = mesh.getFacetType(type_facet); /* ------------------------------------------------------------------------ */ /* Element to Subelement testing */ /* ------------------------------------------------------------------------ */ const Array< std::vector > & el_to_subel2 = mesh_facets.getElementToSubelement(type_facet); const Array< std::vector > & el_to_subel1 = mesh_facets.getElementToSubelement(type_subfacet); std::cout << "ElementToSubelement2" << std::endl; for (UInt i = 0; i < el_to_subel2.size(); ++i) { std::cout << type_facet << " " << i << " connected to "; for (UInt j = 0; j < 2; ++j){ std::cout << el_to_subel2(i)[j].type << " " << el_to_subel2(i)[j].element << ", "; } std::cout << " " << std::endl; } std::cout << "ElementToSubelement1" << std::endl; for (UInt i = 0; i < el_to_subel1.size(); ++i) { std::cout << type_subfacet << " " << i << " connected to "; for (UInt j = 0; j < el_to_subel1(i).size(); ++j){ std::cout << el_to_subel1(i)[j].type << " " << el_to_subel1(i)[j].element << ", "; } std::cout << " " << std::endl; } /* ------------------------------------------------------------------------ */ /* Subelement to Element testing */ /* ------------------------------------------------------------------------ */ const Array & subel_to_el2 = mesh_facets.getSubelementToElement(type); const Array & subel_to_el1 = mesh_facets.getSubelementToElement(type_facet); std::cout << " " << std::endl; std::cout << "SubelementToElement2" << std::endl; for (UInt i = 0; i < subel_to_el2.size(); ++i) { std::cout << type << " " << i << " connected to "; for (UInt j = 0; j < 4; ++j){ std::cout << subel_to_el2(i, j).type << " " << subel_to_el2(i, j).element << ", "; } std::cout << " " << std::endl; } std::cout << "SubelementToElement1" << std::endl; for (UInt i = 0; i < subel_to_el1.size(); ++i) { std::cout << type_facet << " " << i << " connected to "; for (UInt j = 0; j < 2; ++j){ std::cout << subel_to_el1(i, j).type << " " << subel_to_el1(i, j).element << ", "; } std::cout << " " << std::endl; } finalize(); return EXIT_SUCCESS; } diff --git a/test/test_mesh_utils/test_buildfacets/test_buildfacets_quadrangle_8.verified b/test/test_mesh_utils/test_buildfacets/test_buildfacets_quadrangle_8.verified index d70084859..c2ab8a8b2 100644 --- a/test/test_mesh_utils/test_buildfacets/test_buildfacets_quadrangle_8.verified +++ b/test/test_mesh_utils/test_buildfacets/test_buildfacets_quadrangle_8.verified @@ -1,42 +1,42 @@ ElementToSubelement2 -_segment_3 0 connected to _quadrangle_8 0, _not_defined 0, +_segment_3 0 connected to _quadrangle_8 0, _not_defined 4294967295, _segment_3 1 connected to _quadrangle_8 0, _quadrangle_8 2, _segment_3 2 connected to _quadrangle_8 0, _quadrangle_8 1, -_segment_3 3 connected to _quadrangle_8 0, _not_defined 0, +_segment_3 3 connected to _quadrangle_8 0, _not_defined 4294967295, _segment_3 4 connected to _quadrangle_8 1, _quadrangle_8 3, -_segment_3 5 connected to _quadrangle_8 1, _not_defined 0, -_segment_3 6 connected to _quadrangle_8 1, _not_defined 0, -_segment_3 7 connected to _quadrangle_8 2, _not_defined 0, -_segment_3 8 connected to _quadrangle_8 2, _not_defined 0, +_segment_3 5 connected to _quadrangle_8 1, _not_defined 4294967295, +_segment_3 6 connected to _quadrangle_8 1, _not_defined 4294967295, +_segment_3 7 connected to _quadrangle_8 2, _not_defined 4294967295, +_segment_3 8 connected to _quadrangle_8 2, _not_defined 4294967295, _segment_3 9 connected to _quadrangle_8 2, _quadrangle_8 3, -_segment_3 10 connected to _quadrangle_8 3, _not_defined 0, -_segment_3 11 connected to _quadrangle_8 3, _not_defined 0, +_segment_3 10 connected to _quadrangle_8 3, _not_defined 4294967295, +_segment_3 11 connected to _quadrangle_8 3, _not_defined 4294967295, ElementToSubelement1 _point_1 0 connected to _segment_3 0, _segment_3 3, _point_1 1 connected to _segment_3 0, _segment_3 1, _segment_3 7, _point_1 2 connected to _segment_3 1, _segment_3 2, _segment_3 4, _segment_3 9, _point_1 3 connected to _segment_3 2, _segment_3 3, _segment_3 6, _point_1 4 connected to _segment_3 4, _segment_3 5, _segment_3 11, _point_1 5 connected to _segment_3 5, _segment_3 6, _point_1 6 connected to _segment_3 7, _segment_3 8, _point_1 7 connected to _segment_3 8, _segment_3 9, _segment_3 10, _point_1 8 connected to _segment_3 10, _segment_3 11, SubelementToElement2 _quadrangle_8 0 connected to _segment_3 0, _segment_3 1, _segment_3 2, _segment_3 3, _quadrangle_8 1 connected to _segment_3 2, _segment_3 4, _segment_3 5, _segment_3 6, _quadrangle_8 2 connected to _segment_3 1, _segment_3 7, _segment_3 8, _segment_3 9, _quadrangle_8 3 connected to _segment_3 4, _segment_3 9, _segment_3 10, _segment_3 11, SubelementToElement1 _segment_3 0 connected to _point_1 0, _point_1 1, _segment_3 1 connected to _point_1 1, _point_1 2, _segment_3 2 connected to _point_1 2, _point_1 3, _segment_3 3 connected to _point_1 0, _point_1 3, _segment_3 4 connected to _point_1 2, _point_1 4, _segment_3 5 connected to _point_1 4, _point_1 5, _segment_3 6 connected to _point_1 3, _point_1 5, _segment_3 7 connected to _point_1 1, _point_1 6, _segment_3 8 connected to _point_1 6, _point_1 7, _segment_3 9 connected to _point_1 2, _point_1 7, _segment_3 10 connected to _point_1 7, _point_1 8, _segment_3 11 connected to _point_1 4, _point_1 8, diff --git a/test/test_mesh_utils/test_buildfacets/test_buildfacets_tetrahedron_10.cc b/test/test_mesh_utils/test_buildfacets/test_buildfacets_tetrahedron_10.cc index cb4f19930..3fb20448e 100644 --- a/test/test_mesh_utils/test_buildfacets/test_buildfacets_tetrahedron_10.cc +++ b/test/test_mesh_utils/test_buildfacets/test_buildfacets_tetrahedron_10.cc @@ -1,143 +1,141 @@ /** * @file test_buildfacets_tetrahedron_10.cc * * @author Marco Vocialta * * @date creation: Tue May 08 2012 * @date last modification: Sat Sep 19 2015 * * @brief Test for cohesive elements * * @section LICENSE * * Copyright (©) 2010-2012, 2014, 2015 EPFL (Ecole Polytechnique Fédérale de * Lausanne) Laboratory (LSMS - Laboratoire de Simulation en Mécanique des * Solides) * * Akantu is free software: you can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License as published by the Free * Software Foundation, either version 3 of the License, or (at your option) any * later version. * * Akantu is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. * * You should have received a copy of the GNU Lesser General Public License * along with Akantu. If not, see . * */ /* -------------------------------------------------------------------------- */ #include #include #include /* -------------------------------------------------------------------------- */ #include "aka_common.hh" #include "mesh.hh" #include "mesh_utils.hh" /* -------------------------------------------------------------------------- */ using namespace akantu; int main(int argc, char *argv[]) { initialize(argc, argv); const UInt spatial_dimension = 3; const ElementType type = _tetrahedron_10; Mesh mesh(spatial_dimension); mesh.read("tetrahedron_10.msh"); Mesh & mesh_facets = mesh.initMeshFacets("mesh_facets"); - MeshUtils::buildAllFacets(mesh, mesh_facets); - // debug::setDebugLevel(dblDump); // std::cout << mesh << std::endl; // std::cout << mesh_facets << std::endl; const ElementType type_facet = mesh.getFacetType(type); const ElementType type_subfacet = mesh.getFacetType(type_facet); const ElementType type_subsubfacet = mesh.getFacetType(type_subfacet); /* ------------------------------------------------------------------------ */ /* Element to Subelement testing */ /* ------------------------------------------------------------------------ */ const Array< std::vector > & el_to_subel3 = mesh_facets.getElementToSubelement(type_facet); const Array< std::vector > & el_to_subel2 = mesh_facets.getElementToSubelement(type_subfacet); const Array< std::vector > & el_to_subel1 = mesh_facets.getElementToSubelement(type_subsubfacet); std::cout << "ElementToSubelement3" << std::endl; for (UInt i = 0; i < el_to_subel3.size(); ++i) { std::cout << type_facet << " " << i << " connected to "; for (UInt j = 0; j < 2; ++j){ std::cout << el_to_subel3(i)[j].type << " " << el_to_subel3(i)[j].element << ", "; } std::cout << " " << std::endl; } std::cout << "ElementToSubelement2" << std::endl; for (UInt i = 0; i < el_to_subel2.size(); ++i) { std::cout << type_subfacet << " " << i << " connected to "; for (UInt j = 0; j < el_to_subel2(i).size(); ++j){ std::cout << el_to_subel2(i)[j].type << " " << el_to_subel2(i)[j].element << ", "; } std::cout << " " << std::endl; } std::cout << "ElementToSubelement1" << std::endl; for (UInt i = 0; i < el_to_subel1.size(); ++i) { std::cout << type_subsubfacet << " " << i << " connected to "; for (UInt j = 0; j < el_to_subel1(i).size(); ++j){ std::cout << el_to_subel1(i)[j].type << " " << el_to_subel1(i)[j].element << ", "; } std::cout << " " << std::endl; } /* ------------------------------------------------------------------------ */ /* Subelement to Element testing */ /* ------------------------------------------------------------------------ */ const Array & subel_to_el3 = mesh_facets.getSubelementToElement(type); const Array & subel_to_el2 = mesh_facets.getSubelementToElement(type_facet); const Array & subel_to_el1 = mesh_facets.getSubelementToElement(type_subfacet); std::cout << " " << std::endl; std::cout << "SubelementToElement3" << std::endl; for (UInt i = 0; i < subel_to_el3.size(); ++i) { std::cout << type << " " << i << " connected to "; for (UInt j = 0; j < 4; ++j){ std::cout << subel_to_el3(i, j).type << " " << subel_to_el3(i, j).element << ", "; } std::cout << " " << std::endl; } std::cout << "SubelementToElement2" << std::endl; for (UInt i = 0; i < subel_to_el2.size(); ++i) { std::cout << type_facet << " " << i << " connected to "; for (UInt j = 0; j < 3; ++j){ std::cout << subel_to_el2(i, j).type << " " << subel_to_el2(i, j).element << ", "; } std::cout << " " << std::endl; } std::cout << "SubelementToElement1" << std::endl; for (UInt i = 0; i < subel_to_el1.size(); ++i) { std::cout << type_subfacet << " " << i << " connected to "; for (UInt j = 0; j < 2; ++j){ std::cout << subel_to_el1(i, j).type << " " << subel_to_el1(i, j).element << ", "; } std::cout << " " << std::endl; } finalize(); return EXIT_SUCCESS; } diff --git a/test/test_mesh_utils/test_buildfacets/test_buildfacets_tetrahedron_10.verified b/test/test_mesh_utils/test_buildfacets/test_buildfacets_tetrahedron_10.verified index a6b2fbc95..4ab908f44 100644 --- a/test/test_mesh_utils/test_buildfacets/test_buildfacets_tetrahedron_10.verified +++ b/test/test_mesh_utils/test_buildfacets/test_buildfacets_tetrahedron_10.verified @@ -1,207 +1,207 @@ ElementToSubelement3 _triangle_6 0 connected to _tetrahedron_10 0, _tetrahedron_10 11, _triangle_6 1 connected to _tetrahedron_10 0, _tetrahedron_10 12, _triangle_6 2 connected to _tetrahedron_10 0, _tetrahedron_10 6, -_triangle_6 3 connected to _tetrahedron_10 0, _not_defined 0, +_triangle_6 3 connected to _tetrahedron_10 0, _not_defined 4294967295, _triangle_6 4 connected to _tetrahedron_10 1, _tetrahedron_10 11, _triangle_6 5 connected to _tetrahedron_10 1, _tetrahedron_10 15, -_triangle_6 6 connected to _tetrahedron_10 1, _not_defined 0, +_triangle_6 6 connected to _tetrahedron_10 1, _not_defined 4294967295, _triangle_6 7 connected to _tetrahedron_10 1, _tetrahedron_10 13, -_triangle_6 8 connected to _tetrahedron_10 2, _not_defined 0, +_triangle_6 8 connected to _tetrahedron_10 2, _not_defined 4294967295, _triangle_6 9 connected to _tetrahedron_10 2, _tetrahedron_10 12, -_triangle_6 10 connected to _tetrahedron_10 2, _not_defined 0, +_triangle_6 10 connected to _tetrahedron_10 2, _not_defined 4294967295, _triangle_6 11 connected to _tetrahedron_10 2, _tetrahedron_10 6, _triangle_6 12 connected to _tetrahedron_10 3, _tetrahedron_10 5, -_triangle_6 13 connected to _tetrahedron_10 3, _not_defined 0, -_triangle_6 14 connected to _tetrahedron_10 3, _not_defined 0, +_triangle_6 13 connected to _tetrahedron_10 3, _not_defined 4294967295, +_triangle_6 14 connected to _tetrahedron_10 3, _not_defined 4294967295, _triangle_6 15 connected to _tetrahedron_10 3, _tetrahedron_10 8, _triangle_6 16 connected to _tetrahedron_10 4, _tetrahedron_10 8, -_triangle_6 17 connected to _tetrahedron_10 4, _not_defined 0, +_triangle_6 17 connected to _tetrahedron_10 4, _not_defined 4294967295, _triangle_6 18 connected to _tetrahedron_10 4, _tetrahedron_10 6, _triangle_6 19 connected to _tetrahedron_10 4, _tetrahedron_10 5, -_triangle_6 20 connected to _tetrahedron_10 5, _not_defined 0, -_triangle_6 21 connected to _tetrahedron_10 5, _not_defined 0, -_triangle_6 22 connected to _tetrahedron_10 6, _not_defined 0, +_triangle_6 20 connected to _tetrahedron_10 5, _not_defined 4294967295, +_triangle_6 21 connected to _tetrahedron_10 5, _not_defined 4294967295, +_triangle_6 22 connected to _tetrahedron_10 6, _not_defined 4294967295, _triangle_6 23 connected to _tetrahedron_10 7, _tetrahedron_10 9, _triangle_6 24 connected to _tetrahedron_10 7, _tetrahedron_10 8, -_triangle_6 25 connected to _tetrahedron_10 7, _not_defined 0, +_triangle_6 25 connected to _tetrahedron_10 7, _not_defined 4294967295, _triangle_6 26 connected to _tetrahedron_10 7, _tetrahedron_10 13, -_triangle_6 27 connected to _tetrahedron_10 8, _not_defined 0, -_triangle_6 28 connected to _tetrahedron_10 9, _not_defined 0, -_triangle_6 29 connected to _tetrahedron_10 9, _not_defined 0, +_triangle_6 27 connected to _tetrahedron_10 8, _not_defined 4294967295, +_triangle_6 28 connected to _tetrahedron_10 9, _not_defined 4294967295, +_triangle_6 29 connected to _tetrahedron_10 9, _not_defined 4294967295, _triangle_6 30 connected to _tetrahedron_10 9, _tetrahedron_10 14, _triangle_6 31 connected to _tetrahedron_10 10, _tetrahedron_10 15, _triangle_6 32 connected to _tetrahedron_10 10, _tetrahedron_10 11, -_triangle_6 33 connected to _tetrahedron_10 10, _not_defined 0, -_triangle_6 34 connected to _tetrahedron_10 10, _not_defined 0, -_triangle_6 35 connected to _tetrahedron_10 11, _not_defined 0, -_triangle_6 36 connected to _tetrahedron_10 12, _not_defined 0, -_triangle_6 37 connected to _tetrahedron_10 12, _not_defined 0, -_triangle_6 38 connected to _tetrahedron_10 13, _not_defined 0, +_triangle_6 33 connected to _tetrahedron_10 10, _not_defined 4294967295, +_triangle_6 34 connected to _tetrahedron_10 10, _not_defined 4294967295, +_triangle_6 35 connected to _tetrahedron_10 11, _not_defined 4294967295, +_triangle_6 36 connected to _tetrahedron_10 12, _not_defined 4294967295, +_triangle_6 37 connected to _tetrahedron_10 12, _not_defined 4294967295, +_triangle_6 38 connected to _tetrahedron_10 13, _not_defined 4294967295, _triangle_6 39 connected to _tetrahedron_10 13, _tetrahedron_10 14, -_triangle_6 40 connected to _tetrahedron_10 14, _not_defined 0, -_triangle_6 41 connected to _tetrahedron_10 14, _not_defined 0, -_triangle_6 42 connected to _tetrahedron_10 15, _not_defined 0, -_triangle_6 43 connected to _tetrahedron_10 15, _not_defined 0, +_triangle_6 40 connected to _tetrahedron_10 14, _not_defined 4294967295, +_triangle_6 41 connected to _tetrahedron_10 14, _not_defined 4294967295, +_triangle_6 42 connected to _tetrahedron_10 15, _not_defined 4294967295, +_triangle_6 43 connected to _tetrahedron_10 15, _not_defined 4294967295, ElementToSubelement2 _segment_3 0 connected to _triangle_6 0, _triangle_6 2, _triangle_6 4, _triangle_6 7, _triangle_6 16, _triangle_6 18, _triangle_6 24, _triangle_6 26, _segment_3 1 connected to _triangle_6 0, _triangle_6 1, _triangle_6 32, _triangle_6 34, _triangle_6 37, _segment_3 2 connected to _triangle_6 0, _triangle_6 3, _triangle_6 35, _segment_3 3 connected to _triangle_6 1, _triangle_6 2, _triangle_6 9, _triangle_6 11, _segment_3 4 connected to _triangle_6 1, _triangle_6 3, _triangle_6 36, _segment_3 5 connected to _triangle_6 2, _triangle_6 3, _triangle_6 22, _segment_3 6 connected to _triangle_6 4, _triangle_6 6, _triangle_6 35, _segment_3 7 connected to _triangle_6 4, _triangle_6 5, _triangle_6 31, _triangle_6 32, _segment_3 8 connected to _triangle_6 5, _triangle_6 6, _triangle_6 42, _segment_3 9 connected to _triangle_6 5, _triangle_6 7, _triangle_6 39, _triangle_6 40, _triangle_6 43, _segment_3 10 connected to _triangle_6 6, _triangle_6 7, _triangle_6 38, _segment_3 11 connected to _triangle_6 8, _triangle_6 10, _segment_3 12 connected to _triangle_6 8, _triangle_6 9, _triangle_6 37, _segment_3 13 connected to _triangle_6 8, _triangle_6 11, _triangle_6 18, _triangle_6 19, _triangle_6 20, _segment_3 14 connected to _triangle_6 9, _triangle_6 10, _triangle_6 36, _segment_3 15 connected to _triangle_6 10, _triangle_6 11, _triangle_6 22, _segment_3 16 connected to _triangle_6 12, _triangle_6 14, _triangle_6 20, _segment_3 17 connected to _triangle_6 12, _triangle_6 13, _triangle_6 21, _segment_3 18 connected to _triangle_6 12, _triangle_6 15, _triangle_6 16, _triangle_6 19, _segment_3 19 connected to _triangle_6 13, _triangle_6 14, _segment_3 20 connected to _triangle_6 13, _triangle_6 15, _triangle_6 27, _segment_3 21 connected to _triangle_6 14, _triangle_6 15, _triangle_6 23, _triangle_6 24, _triangle_6 29, _segment_3 22 connected to _triangle_6 16, _triangle_6 17, _triangle_6 27, _segment_3 23 connected to _triangle_6 17, _triangle_6 18, _triangle_6 22, _segment_3 24 connected to _triangle_6 17, _triangle_6 19, _triangle_6 21, _segment_3 25 connected to _triangle_6 20, _triangle_6 21, _segment_3 26 connected to _triangle_6 23, _triangle_6 25, _triangle_6 28, _segment_3 27 connected to _triangle_6 23, _triangle_6 26, _triangle_6 30, _triangle_6 39, _segment_3 28 connected to _triangle_6 24, _triangle_6 25, _triangle_6 27, _segment_3 29 connected to _triangle_6 25, _triangle_6 26, _triangle_6 38, _segment_3 30 connected to _triangle_6 28, _triangle_6 29, _segment_3 31 connected to _triangle_6 28, _triangle_6 30, _triangle_6 41, _segment_3 32 connected to _triangle_6 29, _triangle_6 30, _triangle_6 40, _segment_3 33 connected to _triangle_6 31, _triangle_6 33, _triangle_6 42, _segment_3 34 connected to _triangle_6 31, _triangle_6 34, _triangle_6 43, _segment_3 35 connected to _triangle_6 32, _triangle_6 33, _triangle_6 35, _segment_3 36 connected to _triangle_6 33, _triangle_6 34, _segment_3 37 connected to _triangle_6 36, _triangle_6 37, _segment_3 38 connected to _triangle_6 38, _triangle_6 39, _triangle_6 41, _segment_3 39 connected to _triangle_6 40, _triangle_6 41, _segment_3 40 connected to _triangle_6 42, _triangle_6 43, ElementToSubelement1 _point_1 0 connected to _segment_3 0, _segment_3 2, _segment_3 5, _segment_3 6, _segment_3 10, _segment_3 22, _segment_3 23, _segment_3 28, _segment_3 29, _point_1 1 connected to _segment_3 0, _segment_3 1, _segment_3 3, _segment_3 7, _segment_3 9, _segment_3 12, _segment_3 13, _segment_3 16, _segment_3 18, _segment_3 21, _segment_3 27, _segment_3 32, _segment_3 34, _point_1 2 connected to _segment_3 1, _segment_3 2, _segment_3 4, _segment_3 35, _segment_3 36, _segment_3 37, _point_1 3 connected to _segment_3 3, _segment_3 4, _segment_3 5, _segment_3 14, _segment_3 15, _point_1 4 connected to _segment_3 6, _segment_3 7, _segment_3 8, _segment_3 33, _segment_3 35, _point_1 5 connected to _segment_3 8, _segment_3 9, _segment_3 10, _segment_3 38, _segment_3 39, _segment_3 40, _point_1 6 connected to _segment_3 11, _segment_3 13, _segment_3 15, _segment_3 23, _segment_3 24, _segment_3 25, _point_1 7 connected to _segment_3 11, _segment_3 12, _segment_3 14, _segment_3 37, _point_1 8 connected to _segment_3 16, _segment_3 17, _segment_3 19, _segment_3 25, _point_1 9 connected to _segment_3 17, _segment_3 18, _segment_3 20, _segment_3 22, _segment_3 24, _point_1 10 connected to _segment_3 19, _segment_3 20, _segment_3 21, _segment_3 26, _segment_3 28, _segment_3 30, _point_1 11 connected to _segment_3 26, _segment_3 27, _segment_3 29, _segment_3 31, _segment_3 38, _point_1 12 connected to _segment_3 30, _segment_3 31, _segment_3 32, _segment_3 39, _point_1 13 connected to _segment_3 33, _segment_3 34, _segment_3 36, _segment_3 40, SubelementToElement3 _tetrahedron_10 0 connected to _triangle_6 0, _triangle_6 1, _triangle_6 2, _triangle_6 3, _tetrahedron_10 1 connected to _triangle_6 4, _triangle_6 5, _triangle_6 6, _triangle_6 7, _tetrahedron_10 2 connected to _triangle_6 8, _triangle_6 9, _triangle_6 10, _triangle_6 11, _tetrahedron_10 3 connected to _triangle_6 12, _triangle_6 13, _triangle_6 14, _triangle_6 15, _tetrahedron_10 4 connected to _triangle_6 16, _triangle_6 17, _triangle_6 18, _triangle_6 19, _tetrahedron_10 5 connected to _triangle_6 12, _triangle_6 19, _triangle_6 20, _triangle_6 21, _tetrahedron_10 6 connected to _triangle_6 2, _triangle_6 11, _triangle_6 18, _triangle_6 22, _tetrahedron_10 7 connected to _triangle_6 23, _triangle_6 24, _triangle_6 25, _triangle_6 26, _tetrahedron_10 8 connected to _triangle_6 15, _triangle_6 16, _triangle_6 24, _triangle_6 27, _tetrahedron_10 9 connected to _triangle_6 23, _triangle_6 28, _triangle_6 29, _triangle_6 30, _tetrahedron_10 10 connected to _triangle_6 31, _triangle_6 32, _triangle_6 33, _triangle_6 34, _tetrahedron_10 11 connected to _triangle_6 0, _triangle_6 4, _triangle_6 32, _triangle_6 35, _tetrahedron_10 12 connected to _triangle_6 1, _triangle_6 9, _triangle_6 36, _triangle_6 37, _tetrahedron_10 13 connected to _triangle_6 7, _triangle_6 26, _triangle_6 38, _triangle_6 39, _tetrahedron_10 14 connected to _triangle_6 30, _triangle_6 39, _triangle_6 40, _triangle_6 41, _tetrahedron_10 15 connected to _triangle_6 5, _triangle_6 31, _triangle_6 42, _triangle_6 43, SubelementToElement2 _triangle_6 0 connected to _segment_3 0, _segment_3 1, _segment_3 2, _triangle_6 1 connected to _segment_3 1, _segment_3 3, _segment_3 4, _triangle_6 2 connected to _segment_3 0, _segment_3 3, _segment_3 5, _triangle_6 3 connected to _segment_3 2, _segment_3 4, _segment_3 5, _triangle_6 4 connected to _segment_3 0, _segment_3 6, _segment_3 7, _triangle_6 5 connected to _segment_3 7, _segment_3 8, _segment_3 9, _triangle_6 6 connected to _segment_3 6, _segment_3 8, _segment_3 10, _triangle_6 7 connected to _segment_3 0, _segment_3 9, _segment_3 10, _triangle_6 8 connected to _segment_3 11, _segment_3 12, _segment_3 13, _triangle_6 9 connected to _segment_3 3, _segment_3 12, _segment_3 14, _triangle_6 10 connected to _segment_3 11, _segment_3 14, _segment_3 15, _triangle_6 11 connected to _segment_3 3, _segment_3 13, _segment_3 15, _triangle_6 12 connected to _segment_3 16, _segment_3 17, _segment_3 18, _triangle_6 13 connected to _segment_3 17, _segment_3 19, _segment_3 20, _triangle_6 14 connected to _segment_3 16, _segment_3 19, _segment_3 21, _triangle_6 15 connected to _segment_3 18, _segment_3 20, _segment_3 21, _triangle_6 16 connected to _segment_3 0, _segment_3 18, _segment_3 22, _triangle_6 17 connected to _segment_3 22, _segment_3 23, _segment_3 24, _triangle_6 18 connected to _segment_3 0, _segment_3 13, _segment_3 23, _triangle_6 19 connected to _segment_3 13, _segment_3 18, _segment_3 24, _triangle_6 20 connected to _segment_3 13, _segment_3 16, _segment_3 25, _triangle_6 21 connected to _segment_3 17, _segment_3 24, _segment_3 25, _triangle_6 22 connected to _segment_3 5, _segment_3 15, _segment_3 23, _triangle_6 23 connected to _segment_3 21, _segment_3 26, _segment_3 27, _triangle_6 24 connected to _segment_3 0, _segment_3 21, _segment_3 28, _triangle_6 25 connected to _segment_3 26, _segment_3 28, _segment_3 29, _triangle_6 26 connected to _segment_3 0, _segment_3 27, _segment_3 29, _triangle_6 27 connected to _segment_3 20, _segment_3 22, _segment_3 28, _triangle_6 28 connected to _segment_3 26, _segment_3 30, _segment_3 31, _triangle_6 29 connected to _segment_3 21, _segment_3 30, _segment_3 32, _triangle_6 30 connected to _segment_3 27, _segment_3 31, _segment_3 32, _triangle_6 31 connected to _segment_3 7, _segment_3 33, _segment_3 34, _triangle_6 32 connected to _segment_3 1, _segment_3 7, _segment_3 35, _triangle_6 33 connected to _segment_3 33, _segment_3 35, _segment_3 36, _triangle_6 34 connected to _segment_3 1, _segment_3 34, _segment_3 36, _triangle_6 35 connected to _segment_3 2, _segment_3 6, _segment_3 35, _triangle_6 36 connected to _segment_3 4, _segment_3 14, _segment_3 37, _triangle_6 37 connected to _segment_3 1, _segment_3 12, _segment_3 37, _triangle_6 38 connected to _segment_3 10, _segment_3 29, _segment_3 38, _triangle_6 39 connected to _segment_3 9, _segment_3 27, _segment_3 38, _triangle_6 40 connected to _segment_3 9, _segment_3 32, _segment_3 39, _triangle_6 41 connected to _segment_3 31, _segment_3 38, _segment_3 39, _triangle_6 42 connected to _segment_3 8, _segment_3 33, _segment_3 40, _triangle_6 43 connected to _segment_3 9, _segment_3 34, _segment_3 40, SubelementToElement1 _segment_3 0 connected to _point_1 0, _point_1 1, _segment_3 1 connected to _point_1 1, _point_1 2, _segment_3 2 connected to _point_1 0, _point_1 2, _segment_3 3 connected to _point_1 1, _point_1 3, _segment_3 4 connected to _point_1 2, _point_1 3, _segment_3 5 connected to _point_1 0, _point_1 3, _segment_3 6 connected to _point_1 0, _point_1 4, _segment_3 7 connected to _point_1 1, _point_1 4, _segment_3 8 connected to _point_1 4, _point_1 5, _segment_3 9 connected to _point_1 1, _point_1 5, _segment_3 10 connected to _point_1 0, _point_1 5, _segment_3 11 connected to _point_1 6, _point_1 7, _segment_3 12 connected to _point_1 1, _point_1 7, _segment_3 13 connected to _point_1 1, _point_1 6, _segment_3 14 connected to _point_1 3, _point_1 7, _segment_3 15 connected to _point_1 3, _point_1 6, _segment_3 16 connected to _point_1 1, _point_1 8, _segment_3 17 connected to _point_1 8, _point_1 9, _segment_3 18 connected to _point_1 1, _point_1 9, _segment_3 19 connected to _point_1 8, _point_1 10, _segment_3 20 connected to _point_1 9, _point_1 10, _segment_3 21 connected to _point_1 1, _point_1 10, _segment_3 22 connected to _point_1 0, _point_1 9, _segment_3 23 connected to _point_1 0, _point_1 6, _segment_3 24 connected to _point_1 6, _point_1 9, _segment_3 25 connected to _point_1 6, _point_1 8, _segment_3 26 connected to _point_1 10, _point_1 11, _segment_3 27 connected to _point_1 1, _point_1 11, _segment_3 28 connected to _point_1 0, _point_1 10, _segment_3 29 connected to _point_1 0, _point_1 11, _segment_3 30 connected to _point_1 10, _point_1 12, _segment_3 31 connected to _point_1 11, _point_1 12, _segment_3 32 connected to _point_1 1, _point_1 12, _segment_3 33 connected to _point_1 4, _point_1 13, _segment_3 34 connected to _point_1 1, _point_1 13, _segment_3 35 connected to _point_1 2, _point_1 4, _segment_3 36 connected to _point_1 2, _point_1 13, _segment_3 37 connected to _point_1 2, _point_1 7, _segment_3 38 connected to _point_1 5, _point_1 11, _segment_3 39 connected to _point_1 5, _point_1 12, _segment_3 40 connected to _point_1 5, _point_1 13, diff --git a/test/test_mesh_utils/test_buildfacets/test_buildfacets_triangle_3.verified b/test/test_mesh_utils/test_buildfacets/test_buildfacets_triangle_3.verified index 55854cf53..1d2923916 100644 --- a/test/test_mesh_utils/test_buildfacets/test_buildfacets_triangle_3.verified +++ b/test/test_mesh_utils/test_buildfacets/test_buildfacets_triangle_3.verified @@ -1,54 +1,54 @@ ElementToSubelement2 -_segment_2 0 connected to _triangle_3 0, _not_defined 0, +_segment_2 0 connected to _triangle_3 0, _not_defined 4294967295, _segment_2 1 connected to _triangle_3 0, _triangle_3 1, -_segment_2 2 connected to _triangle_3 0, _not_defined 0, +_segment_2 2 connected to _triangle_3 0, _not_defined 4294967295, _segment_2 3 connected to _triangle_3 1, _triangle_3 4, _segment_2 4 connected to _triangle_3 1, _triangle_3 2, _segment_2 5 connected to _triangle_3 2, _triangle_3 3, -_segment_2 6 connected to _triangle_3 2, _not_defined 0, +_segment_2 6 connected to _triangle_3 2, _not_defined 4294967295, _segment_2 7 connected to _triangle_3 3, _triangle_3 6, -_segment_2 8 connected to _triangle_3 3, _not_defined 0, -_segment_2 9 connected to _triangle_3 4, _not_defined 0, +_segment_2 8 connected to _triangle_3 3, _not_defined 4294967295, +_segment_2 9 connected to _triangle_3 4, _not_defined 4294967295, _segment_2 10 connected to _triangle_3 4, _triangle_3 5, -_segment_2 11 connected to _triangle_3 5, _not_defined 0, +_segment_2 11 connected to _triangle_3 5, _not_defined 4294967295, _segment_2 12 connected to _triangle_3 5, _triangle_3 6, _segment_2 13 connected to _triangle_3 6, _triangle_3 7, -_segment_2 14 connected to _triangle_3 7, _not_defined 0, -_segment_2 15 connected to _triangle_3 7, _not_defined 0, +_segment_2 14 connected to _triangle_3 7, _not_defined 4294967295, +_segment_2 15 connected to _triangle_3 7, _not_defined 4294967295, ElementToSubelement1 _point_1 0 connected to _segment_2 0, _segment_2 2, _point_1 1 connected to _segment_2 0, _segment_2 1, _segment_2 3, _segment_2 9, _point_1 2 connected to _segment_2 1, _segment_2 2, _segment_2 4, _segment_2 6, _point_1 3 connected to _segment_2 3, _segment_2 4, _segment_2 5, _segment_2 7, _segment_2 10, _segment_2 12, _point_1 4 connected to _segment_2 5, _segment_2 6, _segment_2 8, _point_1 5 connected to _segment_2 7, _segment_2 8, _segment_2 13, _segment_2 15, _point_1 6 connected to _segment_2 9, _segment_2 10, _segment_2 11, _point_1 7 connected to _segment_2 11, _segment_2 12, _segment_2 13, _segment_2 14, _point_1 8 connected to _segment_2 14, _segment_2 15, SubelementToElement2 _triangle_3 0 connected to _segment_2 0, _segment_2 1, _segment_2 2, _triangle_3 1 connected to _segment_2 1, _segment_2 3, _segment_2 4, _triangle_3 2 connected to _segment_2 4, _segment_2 5, _segment_2 6, _triangle_3 3 connected to _segment_2 5, _segment_2 7, _segment_2 8, _triangle_3 4 connected to _segment_2 3, _segment_2 9, _segment_2 10, _triangle_3 5 connected to _segment_2 10, _segment_2 11, _segment_2 12, _triangle_3 6 connected to _segment_2 7, _segment_2 12, _segment_2 13, _triangle_3 7 connected to _segment_2 13, _segment_2 14, _segment_2 15, SubelementToElement1 _segment_2 0 connected to _point_1 0, _point_1 1, _segment_2 1 connected to _point_1 1, _point_1 2, _segment_2 2 connected to _point_1 0, _point_1 2, _segment_2 3 connected to _point_1 1, _point_1 3, _segment_2 4 connected to _point_1 2, _point_1 3, _segment_2 5 connected to _point_1 3, _point_1 4, _segment_2 6 connected to _point_1 2, _point_1 4, _segment_2 7 connected to _point_1 3, _point_1 5, _segment_2 8 connected to _point_1 4, _point_1 5, _segment_2 9 connected to _point_1 1, _point_1 6, _segment_2 10 connected to _point_1 3, _point_1 6, _segment_2 11 connected to _point_1 6, _point_1 7, _segment_2 12 connected to _point_1 3, _point_1 7, _segment_2 13 connected to _point_1 5, _point_1 7, _segment_2 14 connected to _point_1 7, _point_1 8, _segment_2 15 connected to _point_1 5, _point_1 8, diff --git a/test/test_mesh_utils/test_buildfacets/test_buildfacets_triangle_6.cc b/test/test_mesh_utils/test_buildfacets/test_buildfacets_triangle_6.cc index ed5fe2ea1..a2bd35184 100644 --- a/test/test_mesh_utils/test_buildfacets/test_buildfacets_triangle_6.cc +++ b/test/test_mesh_utils/test_buildfacets/test_buildfacets_triangle_6.cc @@ -1,116 +1,114 @@ /** * @file test_buildfacets_triangle_6.cc * * @author Mauro Corrado * * @date creation: Fri Sep 18 2015 * @date last modification: Sat Sep 19 2015 * * @brief Test to check the building of the facets. Mesh with triangles * * @section LICENSE * * Copyright (©) 2015 EPFL (Ecole Polytechnique Fédérale de Lausanne) Laboratory * (LSMS - Laboratoire de Simulation en Mécanique des Solides) * * Akantu is free software: you can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License as published by the Free * Software Foundation, either version 3 of the License, or (at your option) any * later version. * * Akantu is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. * * You should have received a copy of the GNU Lesser General Public License * along with Akantu. If not, see . * */ /* -------------------------------------------------------------------------- */ #include #include #include /* -------------------------------------------------------------------------- */ #include "aka_common.hh" #include "mesh.hh" #include "mesh_utils.hh" /* -------------------------------------------------------------------------- */ using namespace akantu; int main(int argc, char *argv[]) { initialize(argc, argv); const UInt spatial_dimension = 2; const ElementType type = _triangle_6; Mesh mesh(spatial_dimension); mesh.read("triangle_6.msh"); Mesh & mesh_facets = mesh.initMeshFacets("mesh_facets"); - MeshUtils::buildAllFacets(mesh, mesh_facets); - const ElementType type_facet = mesh.getFacetType(type); const ElementType type_subfacet = mesh.getFacetType(type_facet); /* ------------------------------------------------------------------------ */ /* Element to Subelement testing */ /* ------------------------------------------------------------------------ */ const Array< std::vector > & el_to_subel2 = mesh_facets.getElementToSubelement(type_facet); const Array< std::vector > & el_to_subel1 = mesh_facets.getElementToSubelement(type_subfacet); std::cout << "ElementToSubelement2" << std::endl; for (UInt i = 0; i < el_to_subel2.size(); ++i) { std::cout << type_facet << " " << i << " connected to "; for (UInt j = 0; j < 2; ++j){ std::cout << el_to_subel2(i)[j].type << " " << el_to_subel2(i)[j].element << ", "; } std::cout << " " << std::endl; } std::cout << "ElementToSubelement1" << std::endl; for (UInt i = 0; i < el_to_subel1.size(); ++i) { std::cout << type_subfacet << " " << i << " connected to "; for (UInt j = 0; j < el_to_subel1(i).size(); ++j){ std::cout << el_to_subel1(i)[j].type << " " << el_to_subel1(i)[j].element << ", "; } std::cout << " " << std::endl; } /* ------------------------------------------------------------------------ */ /* Subelement to Element testing */ /* ------------------------------------------------------------------------ */ const Array & subel_to_el2 = mesh_facets.getSubelementToElement(type); const Array & subel_to_el1 = mesh_facets.getSubelementToElement(type_facet); std::cout << " " << std::endl; std::cout << "SubelementToElement2" << std::endl; for (UInt i = 0; i < subel_to_el2.size(); ++i) { std::cout << type << " " << i << " connected to "; for (UInt j = 0; j < 3; ++j){ std::cout << subel_to_el2(i, j).type << " " << subel_to_el2(i, j).element << ", "; } std::cout << " " << std::endl; } std::cout << "SubelementToElement1" << std::endl; for (UInt i = 0; i < subel_to_el1.size(); ++i) { std::cout << type_facet << " " << i << " connected to "; for (UInt j = 0; j < 2; ++j){ std::cout << subel_to_el1(i, j).type << " " << subel_to_el1(i, j).element << ", "; } std::cout << " " << std::endl; } finalize(); return EXIT_SUCCESS; } diff --git a/test/test_mesh_utils/test_buildfacets/test_buildfacets_triangle_6.verified b/test/test_mesh_utils/test_buildfacets/test_buildfacets_triangle_6.verified index 95aa76a93..3afe9e109 100644 --- a/test/test_mesh_utils/test_buildfacets/test_buildfacets_triangle_6.verified +++ b/test/test_mesh_utils/test_buildfacets/test_buildfacets_triangle_6.verified @@ -1,54 +1,54 @@ ElementToSubelement2 -_segment_3 0 connected to _triangle_6 0, _not_defined 0, +_segment_3 0 connected to _triangle_6 0, _not_defined 4294967295, _segment_3 1 connected to _triangle_6 0, _triangle_6 1, -_segment_3 2 connected to _triangle_6 0, _not_defined 0, +_segment_3 2 connected to _triangle_6 0, _not_defined 4294967295, _segment_3 3 connected to _triangle_6 1, _triangle_6 4, _segment_3 4 connected to _triangle_6 1, _triangle_6 2, _segment_3 5 connected to _triangle_6 2, _triangle_6 3, -_segment_3 6 connected to _triangle_6 2, _not_defined 0, +_segment_3 6 connected to _triangle_6 2, _not_defined 4294967295, _segment_3 7 connected to _triangle_6 3, _triangle_6 6, -_segment_3 8 connected to _triangle_6 3, _not_defined 0, -_segment_3 9 connected to _triangle_6 4, _not_defined 0, +_segment_3 8 connected to _triangle_6 3, _not_defined 4294967295, +_segment_3 9 connected to _triangle_6 4, _not_defined 4294967295, _segment_3 10 connected to _triangle_6 4, _triangle_6 5, -_segment_3 11 connected to _triangle_6 5, _not_defined 0, +_segment_3 11 connected to _triangle_6 5, _not_defined 4294967295, _segment_3 12 connected to _triangle_6 5, _triangle_6 6, _segment_3 13 connected to _triangle_6 6, _triangle_6 7, -_segment_3 14 connected to _triangle_6 7, _not_defined 0, -_segment_3 15 connected to _triangle_6 7, _not_defined 0, +_segment_3 14 connected to _triangle_6 7, _not_defined 4294967295, +_segment_3 15 connected to _triangle_6 7, _not_defined 4294967295, ElementToSubelement1 _point_1 0 connected to _segment_3 0, _segment_3 2, _point_1 1 connected to _segment_3 0, _segment_3 1, _segment_3 3, _segment_3 9, _point_1 2 connected to _segment_3 1, _segment_3 2, _segment_3 4, _segment_3 6, _point_1 3 connected to _segment_3 3, _segment_3 4, _segment_3 5, _segment_3 7, _segment_3 10, _segment_3 12, _point_1 4 connected to _segment_3 5, _segment_3 6, _segment_3 8, _point_1 5 connected to _segment_3 7, _segment_3 8, _segment_3 13, _segment_3 15, _point_1 6 connected to _segment_3 9, _segment_3 10, _segment_3 11, _point_1 7 connected to _segment_3 11, _segment_3 12, _segment_3 13, _segment_3 14, _point_1 8 connected to _segment_3 14, _segment_3 15, SubelementToElement2 _triangle_6 0 connected to _segment_3 0, _segment_3 1, _segment_3 2, _triangle_6 1 connected to _segment_3 1, _segment_3 3, _segment_3 4, _triangle_6 2 connected to _segment_3 4, _segment_3 5, _segment_3 6, _triangle_6 3 connected to _segment_3 5, _segment_3 7, _segment_3 8, _triangle_6 4 connected to _segment_3 3, _segment_3 9, _segment_3 10, _triangle_6 5 connected to _segment_3 10, _segment_3 11, _segment_3 12, _triangle_6 6 connected to _segment_3 7, _segment_3 12, _segment_3 13, _triangle_6 7 connected to _segment_3 13, _segment_3 14, _segment_3 15, SubelementToElement1 _segment_3 0 connected to _point_1 0, _point_1 1, _segment_3 1 connected to _point_1 1, _point_1 2, _segment_3 2 connected to _point_1 0, _point_1 2, _segment_3 3 connected to _point_1 1, _point_1 3, _segment_3 4 connected to _point_1 2, _point_1 3, _segment_3 5 connected to _point_1 3, _point_1 4, _segment_3 6 connected to _point_1 2, _point_1 4, _segment_3 7 connected to _point_1 3, _point_1 5, _segment_3 8 connected to _point_1 4, _point_1 5, _segment_3 9 connected to _point_1 1, _point_1 6, _segment_3 10 connected to _point_1 3, _point_1 6, _segment_3 11 connected to _point_1 6, _point_1 7, _segment_3 12 connected to _point_1 3, _point_1 7, _segment_3 13 connected to _point_1 5, _point_1 7, _segment_3 14 connected to _point_1 7, _point_1 8, _segment_3 15 connected to _point_1 5, _point_1 8,