FEM: unit test, tests for seg2 and seg3 python mesh API

This commit is contained in:
Bernd Hahnebach
2017-07-17 17:24:45 +01:00
committed by Yorik van Havre
parent 84c702926a
commit 7b455342dd

View File

@@ -76,6 +76,38 @@ class FemTest(unittest.TestCase):
FreeCAD.setActiveDocument("FemTest")
self.active_doc = FreeCAD.ActiveDocument
def test_mesh_seg2_python(self):
seg2 = Fem.FemMesh()
seg2.addNode(0, 0, 0, 1)
seg2.addNode(2, 0, 0, 2)
seg2.addNode(4, 0, 0, 3)
seg2.addEdge([1, 2])
seg2.addEdge([2, 3], 2)
node_data = [seg2.NodeCount, seg2.Nodes]
edge_data = [seg2.EdgeCount, seg2.Edges[0], seg2.getElementNodes(seg2.Edges[0]), seg2.Edges[1], seg2.getElementNodes(seg2.Edges[1])]
expected_nodes = [3, {1: FreeCAD.Vector(0.0, 0.0, 0.0), 2: FreeCAD.Vector(2.0, 0.0, 0.0), 3: FreeCAD.Vector(4.0, 0.0, 0.0)}]
expected_edges = [2, 1, (1, 2), 2, (2, 3)]
self.assertEqual(node_data, expected_nodes, "Nodes of Python created seg2 element are unexpected")
self.assertEqual(edge_data, expected_edges, "Edges of Python created seg2 element are unexpected")
def test_mesh_seg3_python(self):
seg3 = Fem.FemMesh()
seg3.addNode(0, 0, 0, 1)
seg3.addNode(1, 0, 0, 2)
seg3.addNode(2, 0, 0, 3)
seg3.addNode(3, 0, 0, 4)
seg3.addNode(4, 0, 0, 5)
seg3.addEdge([1, 3, 2])
seg3.addEdge([3, 5, 4], 2)
node_data = [seg3.NodeCount, seg3.Nodes]
edge_data = [seg3.EdgeCount, seg3.Edges[0], seg3.getElementNodes(seg3.Edges[0]), seg3.Edges[1], seg3.getElementNodes(seg3.Edges[1])]
expected_nodes = [5, {1: FreeCAD.Vector(0.0, 0.0, 0.0), 2: FreeCAD.Vector(1.0, 0.0, 0.0), 3: FreeCAD.Vector(2.0, 0.0, 0.0), 4: FreeCAD.Vector(3.0, 0.0, 0.0), 5: FreeCAD.Vector(4.0, 0.0, 0.0)}]
expected_edges = [2, 1, (1, 3, 2), 2, (3, 5, 4)]
self.assertEqual(node_data, expected_nodes, "Nodes of Python created seg3 element are unexpected")
self.assertEqual(edge_data, expected_edges, "Edges of Python created seg3 element are unexpected")
def test_unv_save_load(self):
tetra10 = Fem.FemMesh()
tetra10.addNode(6, 12, 18, 1)