diff --git a/src/Mod/Fem/TestFem.py b/src/Mod/Fem/TestFem.py index de6944bf9e..064ccba881 100644 --- a/src/Mod/Fem/TestFem.py +++ b/src/Mod/Fem/TestFem.py @@ -68,6 +68,41 @@ def fcc_print(message): class FemTest(unittest.TestCase): + def setUp(self): + try: + FreeCAD.setActiveDocument("FemTest") + except: + FreeCAD.newDocument("FemTest") + finally: + FreeCAD.setActiveDocument("FemTest") + self.active_doc = FreeCAD.ActiveDocument + + def test_unv_save_load(self): + tetra10 = Fem.FemMesh() + tetra10.addNode(6, 12, 18, 1) + tetra10.addNode(0, 0, 18, 2) + tetra10.addNode(12, 0, 18, 3) + tetra10.addNode(6, 6, 0, 4) + + tetra10.addNode(3, 6, 18, 5) + tetra10.addNode(6, 0, 18, 6) + tetra10.addNode(9, 6, 18, 7) + + tetra10.addNode(6, 9, 9, 8) + tetra10.addNode(3, 3, 9, 9) + tetra10.addNode(9, 3, 9, 10) + tetra10.addVolume([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) + tetra10.write(static_save_unv_file) + newmesh = Fem.read(static_save_unv_file) + expected = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) + self.assertEqual(newmesh.getElementNodes(1), expected, "Nodes order of quadratic volume element is unexpected") + + def tearDown(self): + FreeCAD.closeDocument("FemTest") + pass + + +class FemCcxAnalysisTest(unittest.TestCase): def setUp(self): try: @@ -142,26 +177,6 @@ class FemTest(unittest.TestCase): def save_file(self, fc_file_name): self.active_doc.saveAs(fc_file_name) - def test_unv_save_load(self): - tetra10 = Fem.FemMesh() - tetra10.addNode( 6, 12, 18, 1) - tetra10.addNode( 0, 0, 18, 2) - tetra10.addNode(12, 0, 18, 3) - tetra10.addNode( 6, 6, 0, 4) - - tetra10.addNode( 3, 6, 18, 5) - tetra10.addNode( 6, 0, 18, 6) - tetra10.addNode( 9, 6, 18, 7) - - tetra10.addNode( 6, 9, 9, 8) - tetra10.addNode( 3, 3, 9, 9) - tetra10.addNode( 9, 3, 9, 10) - tetra10.addVolume([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) - tetra10.write(static_save_unv_file) - newmesh = Fem.read(static_save_unv_file) - expected = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) - self.assertEqual(newmesh.getElementNodes(1), expected, "Nodes order of quadratic volume element is unexpected") - def test_new_analysis(self): # static fcc_print('--------------- Start of FEM tests ---------------')