From 8bb994dff89ad9b7aad5bcb59c7a3424064fa7b1 Mon Sep 17 00:00:00 2001 From: Bernd Hahnebach Date: Tue, 11 Dec 2018 13:55:07 +0100 Subject: [PATCH] FEM: unit tests, z88 tetra10 read write test --- src/Mod/Fem/CMakeLists.txt | 1 + src/Mod/Fem/femtest/testfiles/mesh/tetra10_mesh.z88 | 13 +++++++++++++ src/Mod/Fem/femtest/testmesh.py | 10 ++++++++++ 3 files changed, 24 insertions(+) create mode 100644 src/Mod/Fem/femtest/testfiles/mesh/tetra10_mesh.z88 diff --git a/src/Mod/Fem/CMakeLists.txt b/src/Mod/Fem/CMakeLists.txt index f52eaf671b..9a2436f1e4 100755 --- a/src/Mod/Fem/CMakeLists.txt +++ b/src/Mod/Fem/CMakeLists.txt @@ -167,6 +167,7 @@ SET(FemTestsMesh_SRCS femtest/testfiles/mesh/__init__.py femtest/testfiles/mesh/tetra10_mesh.inp femtest/testfiles/mesh/tetra10_mesh.unv + femtest/testfiles/mesh/tetra10_mesh.z88 ) SET(FemTools_SRCS diff --git a/src/Mod/Fem/femtest/testfiles/mesh/tetra10_mesh.z88 b/src/Mod/Fem/femtest/testfiles/mesh/tetra10_mesh.z88 new file mode 100644 index 0000000000..371297170c --- /dev/null +++ b/src/Mod/Fem/femtest/testfiles/mesh/tetra10_mesh.z88 @@ -0,0 +1,13 @@ +3 10 1 30 0 written by FreeCAD +1 3 6.000000 12.000000 18.000000 +2 3 0.000000 0.000000 18.000000 +3 3 12.000000 0.000000 18.000000 +4 3 6.000000 6.000000 0.000000 +5 3 3.000000 6.000000 18.000000 +6 3 6.000000 0.000000 18.000000 +7 3 9.000000 6.000000 18.000000 +8 3 6.000000 9.000000 9.000000 +9 3 3.000000 3.000000 9.000000 +10 3 9.000000 3.000000 9.000000 +1 16 +1 2 4 3 5 9 8 6 10 7 diff --git a/src/Mod/Fem/femtest/testmesh.py b/src/Mod/Fem/femtest/testmesh.py index 8ad10c72d6..5dd40fb4ef 100644 --- a/src/Mod/Fem/femtest/testmesh.py +++ b/src/Mod/Fem/femtest/testmesh.py @@ -152,6 +152,16 @@ class FemMeshTest(unittest.TestCase): self.assertEqual(femmesh_outfile.Nodes, femmesh_testfile.Nodes, "Test writing " + elem + " mesh to " + filetyp + " file failed. Nodes are different.\n") self.assertEqual(femmesh_outfile.Volumes, femmesh_testfile.Volumes, "Test writing " + elem + " mesh to " + filetyp + " file failed. Volumes are different.\n") + filetyp = 'z88' + outfile = base_outfile + filetyp + testfile = base_testfile + filetyp + femmesh.write(outfile) + import feminout.importZ88Mesh + femmesh_outfile = feminout.importZ88Mesh.read(testfile) + femmesh_testfile = feminout.importZ88Mesh.read(outfile) + self.assertEqual(femmesh_outfile.Nodes, femmesh_testfile.Nodes, "Test writing " + elem + " mesh to " + filetyp + " file failed. Nodes are different.\n") + self.assertEqual(femmesh_outfile.Volumes, femmesh_testfile.Volumes, "Test writing " + elem + " mesh to " + filetyp + " file failed. Volumes are different.\n") + def test_unv_save_load(self): tetra10 = Fem.FemMesh() tetra10.addNode(6, 12, 18, 1)