diff --git a/src/UnitTests/Meshes/CMakeLists.txt b/src/UnitTests/Meshes/CMakeLists.txt index 7ffed3066870037b9bb13fb78c3613a05911c80b..c8e71e9552977a7a4898d47a1f224fc2ceceac7a 100644 --- a/src/UnitTests/Meshes/CMakeLists.txt +++ b/src/UnitTests/Meshes/CMakeLists.txt @@ -59,7 +59,7 @@ find_package( ZLIB ) find_package( tinyxml2 QUIET ) if( ZLIB_FOUND AND tinyxml2_FOUND ) - foreach( target IN ITEMS NetgenReaderTest VTKReaderTest VTUReaderTest VTIReaderTest ) + foreach( target IN ITEMS NetgenReaderTest VTKReaderTest VTUReaderTest VTIReaderTest FPMAReaderTest ) add_executable(${target} ${target}.cpp) target_compile_options(${target} PRIVATE ${CXX_TESTS_FLAGS} ) target_link_libraries(${target} ${TESTS_LIBRARIES}) diff --git a/src/UnitTests/Meshes/FPMAReaderTest.cpp b/src/UnitTests/Meshes/FPMAReaderTest.cpp new file mode 100644 index 0000000000000000000000000000000000000000..19aca53d2f8424e42bd8fcdef2e858e2ca4bd92e --- /dev/null +++ b/src/UnitTests/Meshes/FPMAReaderTest.cpp @@ -0,0 +1,51 @@ +#ifdef HAVE_GTEST +#include <gtest/gtest.h> + +#include <TNL/Meshes/Readers/FPMAReader.h> +#include <TNL/Meshes/Writers/FPMAWriter.h> +#include <TNL/Meshes/TypeResolver/resolveMeshType.h> + +#include "data/loader.h" +#include "MeshReaderTest.h" + +using namespace TNL::Meshes; + +static const char* TEST_FILE_NAME = "test_FPMAReaderTest.fpma"; + +struct MyConfigTag {}; + +namespace TNL { +namespace Meshes { +namespace BuildConfigTags { + +// disable all grids +template< int Dimension, typename Real, typename Device, typename Index > +struct GridTag< MyConfigTag, Grid< Dimension, Real, Device, Index > >{ enum { enabled = false }; }; + +// enable meshes used in the tests +template<> struct MeshCellTopologyTag< MyConfigTag, Topologies::Polyhedron > { enum { enabled = true }; }; + +} // namespace BuildConfigTags +} // namespace Meshes +} // namespace TNL + +TEST( FPMAReaderTest, polyhedrons ) +{ + using MeshType = Mesh< DefaultConfig< Topologies::Polyhedron > >; + const MeshType mesh = loadMeshFromFile< MeshType, Readers::FPMAReader >( "polyhedrons/Poly_simple_corrected.fpma" ); + + // test that the mesh was actually loaded + const auto vertices = mesh.template getEntitiesCount< 0 >(); + const auto faces = mesh.template getEntitiesCount< MeshType::getMeshDimension() - 1 >(); + const auto cells = mesh.template getEntitiesCount< MeshType::getMeshDimension() >(); + EXPECT_EQ( vertices, 22 ); + EXPECT_EQ( faces, 16 ); + EXPECT_EQ( cells, 2 ); + + test_reader< Readers::FPMAReader, Writers::FPMAWriter >( mesh, TEST_FILE_NAME ); + test_resolveAndLoadMesh< Writers::FPMAWriter, MyConfigTag >( mesh, TEST_FILE_NAME ); +} + +#endif + +#include "../main.h" diff --git a/src/UnitTests/Meshes/VTKReaderTest.cpp b/src/UnitTests/Meshes/VTKReaderTest.cpp index 5bb27c5901c3fd9fec59e6c9bb7aff65126d48ac..9d2df309bb762d2f3c0a26298165d238392f25df 100644 --- a/src/UnitTests/Meshes/VTKReaderTest.cpp +++ b/src/UnitTests/Meshes/VTKReaderTest.cpp @@ -26,6 +26,7 @@ struct GridTag< MyConfigTag, Grid< Dimension, Real, Device, Index > >{ enum { en //template<> struct MeshCellTopologyTag< MyConfigTag, Topologies::Edge > { enum { enabled = true }; }; template<> struct MeshCellTopologyTag< MyConfigTag, Topologies::Triangle > { enum { enabled = true }; }; template<> struct MeshCellTopologyTag< MyConfigTag, Topologies::Tetrahedron > { enum { enabled = true }; }; +template<> struct MeshCellTopologyTag< MyConfigTag, Topologies::Polygon > { enum { enabled = true }; }; } // namespace BuildConfigTags } // namespace Meshes @@ -123,6 +124,24 @@ TEST( VTKReaderTest, triangles_2x2x2_minimized_binary ) test_meshfunction< Readers::VTKReader, Writers::VTKWriter >( mesh, TEST_FILE_NAME, "CellData" ); } +// ASCII data, produced by TNL writer +TEST( VTKReaderTest, polygons ) +{ + using MeshType = Mesh< DefaultConfig< Topologies::Polygon > >; + const MeshType mesh = loadMeshFromFile< MeshType, Readers::VTKReader >( "polygons/unicorn.vtk" ); + + // test that the mesh was actually loaded + const auto vertices = mesh.template getEntitiesCount< 0 >(); + const auto cells = mesh.template getEntitiesCount< MeshType::getMeshDimension() >(); + EXPECT_EQ( vertices, 193 ); + EXPECT_EQ( cells, 90 ); + + test_reader< Readers::VTKReader, Writers::VTKWriter >( mesh, TEST_FILE_NAME ); + test_resolveAndLoadMesh< Writers::VTKWriter, MyConfigTag >( mesh, TEST_FILE_NAME ); + test_meshfunction< Readers::VTKReader, Writers::VTKWriter >( mesh, TEST_FILE_NAME, "PointData" ); + test_meshfunction< Readers::VTKReader, Writers::VTKWriter >( mesh, TEST_FILE_NAME, "CellData" ); +} + // TODO: test case for DataFile version 5.1: triangles_2x2x2/DataFile_version_5.1_exported_from_paraview.vtk #endif diff --git a/src/UnitTests/Meshes/VTUReaderTest.cpp b/src/UnitTests/Meshes/VTUReaderTest.cpp index d3d4391e8e40a7d1bd3e9318543366ba803d11d9..9a37f765db40706dbb3d2dc551555802fa406248 100644 --- a/src/UnitTests/Meshes/VTUReaderTest.cpp +++ b/src/UnitTests/Meshes/VTUReaderTest.cpp @@ -26,6 +26,7 @@ struct GridTag< MyConfigTag, Grid< Dimension, Real, Device, Index > >{ enum { en //template<> struct MeshCellTopologyTag< MyConfigTag, Topologies::Edge > { enum { enabled = true }; }; template<> struct MeshCellTopologyTag< MyConfigTag, Topologies::Triangle > { enum { enabled = true }; }; template<> struct MeshCellTopologyTag< MyConfigTag, Topologies::Tetrahedron > { enum { enabled = true }; }; +template<> struct MeshCellTopologyTag< MyConfigTag, Topologies::Polygon > { enum { enabled = true }; }; } // namespace BuildConfigTags } // namespace Meshes @@ -176,6 +177,24 @@ TEST( VTUReaderTest, triangles_2x2x2_minimized_compressed_paraview ) test_meshfunction< Readers::VTUReader, Writers::VTUWriter >( mesh, TEST_FILE_NAME, "CellData" ); } +// ASCII data, produced by TNL writer +TEST( VTUReaderTest, polygons ) +{ + using MeshType = Mesh< DefaultConfig< Topologies::Polygon > >; + const MeshType mesh = loadMeshFromFile< MeshType, Readers::VTUReader >( "polygons/unicorn.vtu" ); + + // test that the mesh was actually loaded + const auto vertices = mesh.template getEntitiesCount< 0 >(); + const auto cells = mesh.template getEntitiesCount< MeshType::getMeshDimension() >(); + EXPECT_EQ( vertices, 193 ); + EXPECT_EQ( cells, 90 ); + + test_reader< Readers::VTUReader, Writers::VTUWriter >( mesh, TEST_FILE_NAME ); + test_resolveAndLoadMesh< Writers::VTUWriter, MyConfigTag >( mesh, TEST_FILE_NAME ); + test_meshfunction< Readers::VTUReader, Writers::VTUWriter >( mesh, TEST_FILE_NAME, "PointData" ); + test_meshfunction< Readers::VTUReader, Writers::VTUWriter >( mesh, TEST_FILE_NAME, "CellData" ); +} + // TODO: test cases for the appended data block: minimized_appended_binary_compressed.vtu, minimized_appended_binary.vtu, minimized_appended_encoded_compressed.vtu, minimized_appended_encoded.vtu #endif diff --git a/src/UnitTests/Meshes/data/polygons/unicorn.vtk b/src/UnitTests/Meshes/data/polygons/unicorn.vtk new file mode 100644 index 0000000000000000000000000000000000000000..82753c4bcac00a78b6a8acddf945a2fd253a1422 --- /dev/null +++ b/src/UnitTests/Meshes/data/polygons/unicorn.vtk @@ -0,0 +1,384 @@ +# vtk DataFile Version 2.0 +TNL DATA +ASCII +DATASET UNSTRUCTURED_GRID +POINTS 193 float +2.11667 1.01667 0 +2.10954 1.13779 0 +13.9688 14.6094 0 +2.63345 1.45552 0 +1.26887 3.19081 0 +1.43175 3.33333 0 +2.78333 3.33333 0 +2.78333 5.55556 0 +0.836308 5.41737 0 +1.46135 1.37098 0 +1.03292 5.55556 0 +2.88673 3.21582 0 +4.43889 4.77639 0 +2.78676 3.33078 0 +5.5 4.00222 0 +6.9375 4.11262 0 +9.92633 1.33571 0 +7.875 4.3384 0 +4.43889 5.55556 0 +6.09444 5.55556 0 +7.75 4.71184 0 +7.75 5.55556 0 +6.09444 4.98306 0 +4.43889 7.77778 0 +9.40556 4.07056 0 +13.5566 11.0418 0 +2.78333 7.77778 0 +1.21022 7.75699 0 +2.78333 10 0 +1.23873 7.77778 0 +1.14063 9.49448 0 +13.6662 11.1442 0 +2.38265 10.2311 0 +4.44508 10 0 +2.74221 10.0306 0 +6.09444 10 0 +4.61042 10.7729 0 +4.43889 9.99719 0 +3.51321 11.3005 0 +7.75 7.77778 0 +7.75 10 0 +9.40556 7.77778 0 +6.30208 11.0147 0 +10.9112 5.60936 0 +7.49296 12.5661 0 +7.95556 15.3444 0 +8.02781 14.3744 0 +7.82873 12.2222 0 +5.65669 11.1113 0 +7.75 11.8421 0 +14.1641 17.2786 0 +9.40556 10 0 +6.09444 7.77778 0 +9.40556 5.55556 0 +9.74226 1.41409 0 +6.3125 4.53059 0 +10 0.5 0 +10 1.23625 0 +9.59459 3.33333 0 +10.4373 3.33333 0 +10.9243 7.77778 0 +11.1213 10 0 +10.8192 5.55556 0 +10.7976 2.0796 0 +9.40556 12.2222 0 +10.9739 7.74052 0 +5.21718 11.333 0 +4.5 4.60222 0 +13.7827 11.5364 0 +4.42606 10 0 +11.3097 10.125 0 +12.8766 12.2222 0 +12.6906 11.3882 0 +13.7995 12.2222 0 +13.8802 12.2387 0 +14.0757 12.0214 0 +10.7891 12.2222 0 +10.9064 3.56654 0 +14.1196 12.5 0 +8.13556 14.4444 0 +9.40556 14.4444 0 +11.0611 12.4546 0 +11.0611 14.4444 0 +9.14062 16.864 0 +9.40556 16.6667 0 +11.1182 17.836 0 +11.0611 17.6843 0 +3.95347 11.0661 0 +10.2946 18.0757 0 +11.0611 16.6667 0 +9.12947 16.8705 0 +12.7167 14.4444 0 +14.0437 15.8968 0 +13.8492 14.4444 0 +13.8708 18.5401 0 +12.7167 16.5369 0 +14.4058 13.75 0 +12.6586 16.6667 0 +12.7005 18.1691 0 +12.7167 16.7626 0 +14.85 19.85 0 +14.0889 18.85 0 +6.09444 10.3577 0 +14.45 18.85 0 +12.7167 18.1517 0 +12.7167 12.3744 0 +9.42605 3.16901 0 +1.05 1.25 0 +1.65 0.2 0 +1.3 0.4 0 +2.5 0.25 0 +2 0 0 +3.25 1.25 0 +3 0.5 0 +15 13.75 0 +14.75 15 0 +15 14.5 0 +14.25 16 0 +3.75 3 0 +3.5 2 0 +0.35 5.4 0 +0.6 3.05 0 +0.4 4 0 +0.8 2.1 0 +0.35 7.8 0 +0.3 6.8 0 +4.5 4 0 +4 4 0 +5.5 4 0 +6.3125 4 0 +6.9375 4 0 +7.875 4 0 +9.75 0.25 0 +9.25 1.25 0 +9.5 0.5 0 +11.025 2 0 +10.675 1 0 +8.75 3 0 +8.5 4 0 +12.65 11.25 0 +13.5625 11.0125 0 +13.5 11 0 +13.6875 11.0375 0 +0.7 9.65 0 +0.4 8.8 0 +2.15 10.9 0 +1 10.5 0 +13.875 11.075 0 +3.5125 11.3125 0 +3.3 11.3 0 +3.9375 11.3375 0 +4.575 11.375 0 +5.2125 11.4125 0 +6.85 12.65 0 +6.275 11.475 0 +6.7 11.5 0 +5.6375 11.4375 0 +11.35 3.5 0 +11.575 5.5625 0 +11.5 4.5 0 +11.725 7.6875 0 +7.15 14.55 0 +7 13.8 0 +7.65 15.65 0 +7.3 15.3 0 +9 17 0 +14.25 17.25 0 +14 16.5 0 +14.75 18.75 0 +9 2 0 +10.25 0.25 0 +10 0 0 +10.5 0.5 0 +11.2 2.5 0 +11.8 10.125 0 +11.8 8.75 0 +14.25 11.15 0 +11.8 11.5 0 +15 12.5 0 +14.75 11.6 0 +15 12 0 +14.5 11.2 0 +10.25 18.15 0 +10 18 0 +11.15 18.25 0 +10.5 18.3 0 +12.475 18.575 0 +11.8 18.2 0 +13.825 19.325 0 +14.5 19.7 0 +15.1 19.75 0 +15 19.5 0 +15.2 20 0 + + +CELLS 90 567 +6 109 108 0 1 9 107 +4 110 0 108 111 +6 112 3 1 0 110 113 +8 11 13 6 5 4 9 1 3 +5 93 2 92 95 91 +6 116 115 2 93 96 114 +4 117 92 2 115 +5 118 11 3 112 119 +6 122 121 4 5 8 120 +5 107 9 4 121 123 +5 7 10 8 5 6 +5 7 6 13 12 18 +5 26 29 27 10 7 +6 125 120 8 10 27 124 +7 126 67 12 13 11 118 127 +6 18 12 67 14 22 19 +4 128 14 67 126 +5 129 55 22 14 128 +6 55 15 20 21 19 22 +4 130 15 55 129 +5 131 17 20 15 130 +7 132 56 57 16 54 133 134 +5 135 63 16 57 136 +6 59 58 106 54 16 63 +7 137 106 58 24 17 131 138 +5 53 21 20 17 24 +4 18 23 26 7 +4 52 23 18 19 +4 52 19 21 39 +4 21 53 41 39 +5 35 33 37 23 52 +6 59 77 62 53 24 58 +6 72 25 31 68 73 71 +5 141 140 25 72 139 +4 142 31 25 140 +5 37 69 28 26 23 +6 144 124 27 29 30 143 +6 26 28 34 32 30 29 +5 87 38 34 28 69 +5 146 143 30 32 145 +4 147 68 31 142 +6 149 145 32 34 38 148 +6 102 48 66 36 33 35 +7 150 87 69 37 33 36 151 +4 39 40 35 52 +4 151 36 66 152 +4 148 38 87 150 +5 102 35 40 49 42 +4 41 51 40 39 +6 62 43 65 60 41 53 +5 64 47 49 40 51 +7 155 154 42 49 47 44 153 +5 156 48 102 42 154 +6 159 158 43 62 77 157 +4 160 65 43 158 +6 46 44 47 64 80 79 +5 162 153 44 46 161 +6 161 46 79 45 163 164 +6 80 84 83 90 45 79 +4 163 45 90 165 +4 152 66 48 156 +4 99 50 94 104 +8 167 166 50 99 97 95 92 117 +6 168 103 101 94 50 166 +4 60 61 51 41 +5 169 133 54 106 137 +4 171 170 56 132 +5 136 57 56 170 172 +6 157 77 59 63 135 173 +7 174 70 61 60 65 160 175 +5 76 64 51 61 70 +6 176 75 74 73 68 147 +9 139 72 71 105 81 76 70 174 177 +8 105 71 73 74 78 96 93 91 +6 178 78 74 75 179 180 +4 179 75 176 181 +5 82 80 64 76 81 +4 114 96 78 178 +4 89 84 80 82 +4 82 81 105 91 +5 89 86 88 83 84 +6 165 90 83 88 182 183 +6 182 88 86 85 184 185 +7 89 97 99 104 98 85 86 +5 187 184 85 98 186 +5 89 82 91 95 97 +6 186 98 104 94 101 188 +5 188 101 103 100 189 +5 191 190 100 103 168 +3 100 190 192 + + +CELL_TYPES 90 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 +7 diff --git a/src/UnitTests/Meshes/data/polygons/unicorn.vtu b/src/UnitTests/Meshes/data/polygons/unicorn.vtu new file mode 100644 index 0000000000000000000000000000000000000000..51890a98593c1415c8dbfd7b2ad0a97b426e6bfe --- /dev/null +++ b/src/UnitTests/Meshes/data/polygons/unicorn.vtu @@ -0,0 +1,23 @@ +<?xml version="1.0"?> +<VTKFile type="UnstructuredGrid" version="1.0" byte_order="LittleEndian" header_type="UInt64"> +<UnstructuredGrid> +<Piece NumberOfPoints="193" NumberOfCells="90"> +<Points> +<DataArray type="Float32" Name="Points" NumberOfComponents="3" format="binary"> +DAkAAAAAAAA=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 +</DataArray> +</Points> +<Cells> +<DataArray type="Int32" Name="connectivity" format="binary"> +dAcAAAAAAAA=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 +</DataArray> +<DataArray type="Int32" Name="offsets" format="binary"> +aAEAAAAAAAA=BgAAAAoAAAAQAAAAGAAAAB0AAAAjAAAAJwAAACwAAAAyAAAANwAAADwAAABBAAAARgAAAEwAAABTAAAAWQAAAF0AAABiAAAAaAAAAGwAAABxAAAAeAAAAH0AAACDAAAAigAAAI8AAACTAAAAlwAAAJsAAACfAAAApAAAAKoAAACwAAAAtQAAALkAAAC+AAAAxAAAAMoAAADPAAAA1AAAANgAAADeAAAA5AAAAOsAAADvAAAA8wAAAPcAAAD8AAAAAAEAAAYBAAALAQAAEgEAABcBAAAdAQAAIQEAACcBAAAsAQAAMgEAADgBAAA8AQAAQAEAAEQBAABMAQAAUgEAAFYBAABbAQAAXwEAAGQBAABqAQAAcQEAAHYBAAB8AQAAhQEAAI0BAACTAQAAlwEAAJwBAACgAQAApAEAAKgBAACtAQAAswEAALkBAADAAQAAxQEAAMoBAADQAQAA1QEAANoBAADdAQAA +</DataArray> +<DataArray type="UInt8" Name="types" format="binary"> +WgAAAAAAAAA=BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcH +</DataArray> +</Cells> +</Piece> +</UnstructuredGrid> +</VTKFile> diff --git a/src/UnitTests/Meshes/data/polyhedrons/Poly_simple_corrected.fpma b/src/UnitTests/Meshes/data/polyhedrons/Poly_simple_corrected.fpma new file mode 100644 index 0000000000000000000000000000000000000000..ccd2ad753e5fc43bfb90711d5f3500f75d951a99 --- /dev/null +++ b/src/UnitTests/Meshes/data/polyhedrons/Poly_simple_corrected.fpma @@ -0,0 +1,37 @@ +# 22: number of vertices +22 +# vertex coordinates (x,y,z)-order +-1.25 1.1665 1.203 -1.20683 1.16951 1.20537 -1.16843 1.19337 1.17878 -1.21025 1.21901 1.15383 -1.25 1.2128 1.1567 -1.20816 1.25 1.16756 -1.25 1.25 1.18056 -1.14802 1.21553 1.21165 -1.16186 1.25 1.21385 -1.20307 1.17486 1.25 -1.25 1.18056 1.25 -1.15677 1.22115 1.25 -1.18056 1.25 1.25 -1.25 1.25 1.25 -1.09277 1.20806 1.19263 -1.07219 1.22167 1.17994 -1.07215 1.25 1.18679 -1.05697 1.21124 1.19697 -1.04607 1.21508 1.22076 -1.0214 1.25 1.22293 -1.06418 1.22115 1.25 -1.04167 1.25 1.25 +# 16: number of faces +16 +# the first number means the number of vertices and the rest of numbers in the same line is vertex indicies attached to the face +5 0 1 2 3 4 +4 4 3 5 6 +5 5 3 2 7 8 +4 9 1 0 10 +5 11 7 2 1 9 +4 8 7 11 12 +5 13 12 11 9 10 +5 13 10 0 4 6 +5 13 6 5 8 12 +5 8 7 14 15 16 +5 16 15 17 18 19 +6 20 18 17 14 7 11 +3 17 15 14 +4 21 19 18 20 +4 21 20 11 12 +5 12 8 16 19 21 +# 2: number of cells +2 +# the first number means the number of faces and the rest of numbers in the same line are face indicies attached to the cell +9 0 1 2 3 4 5 6 7 8 +8 9 10 11 12 13 5 14 15 +# Additional information only, does contain topology information +# 1: The number of special selections, here there is only one selection named by boudary_face +1 +# boundary_face" is the name +boundary_face +# "3" means a boundary and "5" means 5 faces, and the last line is the face indices. You can see these faces in the figure, surrounded by green edges. +3 +5 +6 7 8 14 15