From bd1c463d801f56ec473763e699ffc3aec8e76ab5 Mon Sep 17 00:00:00 2001 From: Bernd Hahnebach Date: Fri, 21 Jul 2017 07:39:58 +0200 Subject: [PATCH] FEM: unit tests: case frd file mflow and networkpressure reading, adapt to the slightly changed frd result file --- src/Mod/Fem/TestFem.py | 166 ++++++++++++++++++++++------------------- 1 file changed, 90 insertions(+), 76 deletions(-) diff --git a/src/Mod/Fem/TestFem.py b/src/Mod/Fem/TestFem.py index 8a11171331..230dc19d00 100644 --- a/src/Mod/Fem/TestFem.py +++ b/src/Mod/Fem/TestFem.py @@ -174,8 +174,8 @@ class FemTest(unittest.TestCase): print(frd_content_len) print(sorted(frd_content.keys())) # print(frd_content) - read_mflow = frd_content['Results'][0]['mflow'] - read_npressure = frd_content['Results'][0]['npressure'] + read_mflow = frd_content['Results'][12]['mflow'] + read_npressure = frd_content['Results'][12]['npressure'] res_len = [ len(read_mflow), len(read_npressure) @@ -188,31 +188,31 @@ class FemTest(unittest.TestCase): print('\nexpected data') efc = {} # expected frd content efc['Nodes'] = { - 2: FreeCAD.Vector(0.0, -1.11022e-14, -50.0), - 3: FreeCAD.Vector(0.0, -9.54792e-13, -4300.0), - 4: FreeCAD.Vector(4950.0, -9.54792e-13, -4300.0), - 5: FreeCAD.Vector(5000.0, -9.54792e-13, -4300.0), - 6: FreeCAD.Vector(8535.53, -1.73984e-12, -7835.53), - 7: FreeCAD.Vector(8569.88, -1.74769e-12, -7870.88), - 8: FreeCAD.Vector(12105.4, -2.53273e-12, -11406.4), - 9: FreeCAD.Vector(12140.8, -2.54058e-12, -11441.8), - 10: FreeCAD.Vector(13908.5, -2.9331e-12, -13209.5), - 11: FreeCAD.Vector(13943.9, -2.94095e-12, -13244.9), - 12: FreeCAD.Vector(15047.0, -3.18589e-12, -14348.0), - 13: FreeCAD.Vector(15047.0, -1.7648e-12, -7947.97), + 2: FreeCAD.Vector(0.0, 0.0, -50.0), + 3: FreeCAD.Vector(0.0, 0.0, -4300.0), + 4: FreeCAD.Vector(4950.0, 0.0, -4300.0), + 5: FreeCAD.Vector(5000.0, 0.0, -4300.0), + 6: FreeCAD.Vector(8535.53, 0.0, -7835.53), + 7: FreeCAD.Vector(8569.88, 0.0, -7870.88), + 8: FreeCAD.Vector(12105.4, 0.0, -11406.4), + 9: FreeCAD.Vector(12140.8, 0.0, -11441.8), + 10: FreeCAD.Vector(13908.5, 0.0, -13209.5), + 11: FreeCAD.Vector(13943.9, 0.0, -13244.9), + 12: FreeCAD.Vector(15047.0, 0.0, -14348.0), + 13: FreeCAD.Vector(15047.0, 0.0, -7947.97), 15: FreeCAD.Vector(0.0, 0.0, 0.0), - 16: FreeCAD.Vector(0.0, -4.82947e-13, -2175.0), - 17: FreeCAD.Vector(2475.0, -9.54792e-13, -4300.0), - 18: FreeCAD.Vector(4975.0, -9.54792e-13, -4300.0), - 19: FreeCAD.Vector(6767.77, -1.34731e-12, -6067.77), - 20: FreeCAD.Vector(8552.71, -1.74376e-12, -7853.21), - 21: FreeCAD.Vector(10337.6, -2.14021e-12, -9638.64), - 22: FreeCAD.Vector(12123.1, -2.53666e-12, -11424.1), - 23: FreeCAD.Vector(13024.6, -2.73684e-12, -12325.6), - 24: FreeCAD.Vector(13926.2, -2.93703e-12, -13227.2), - 25: FreeCAD.Vector(14495.4, -3.06342e-12, -13796.4), - 26: FreeCAD.Vector(15047.0, -2.47535e-12, -11148.0), - 27: FreeCAD.Vector(15047.0, -1.7537e-12, -7897.97) + 16: FreeCAD.Vector(0.0, 0.0, -2175.0), + 17: FreeCAD.Vector(2475.0, 0.0, -4300.0), + 18: FreeCAD.Vector(4975.0, 0.0, -4300.0), + 19: FreeCAD.Vector(6767.77, 0.0, -6067.77), + 20: FreeCAD.Vector(8552.71, 0.0, -7853.21), + 21: FreeCAD.Vector(10337.6, 0.0, -9638.64), + 22: FreeCAD.Vector(12123.1, 0.0, -11424.1), + 23: FreeCAD.Vector(13024.6, 0.0, -12325.6), + 24: FreeCAD.Vector(13926.2, 0.0, -13227.2), + 25: FreeCAD.Vector(14495.4, 0.0, -13796.4), + 26: FreeCAD.Vector(15047.0, 0.0, -11148.0), + 27: FreeCAD.Vector(15047.0, 0.0, -7897.97) } efc['Seg2Elem'] = { 1: (15, 2), @@ -236,68 +236,82 @@ class FemTest(unittest.TestCase): ''' efc['Tria3Elem'] = efc['Tria6Elem'] = efc['Quad4Elem'] = efc['Quad8Elem'] = {} # faces efc['Tetra4Elem'] = efc['Tetra10Elem'] = efc['Hexa8Elem'] = efc['Hexa20Elem'] = efc['Penta6Elem'] = efc['Penta15Elem'] = {} # volumes - efc['Results'] = [{ + efc['Results'] = [ + {'time': 0.00390625}, + {'time': 0.0078125}, + {'time': 0.0136719}, + {'time': 0.0224609}, + {'time': 0.0356445}, + {'time': 0.0554199}, + {'time': 0.085083}, + {'time': 0.129578}, + {'time': 0.19632}, + {'time': 0.296432}, + {'time': 0.446602}, + {'time': 0.671856}, + { 'number': 0, 'time': 1.0, 'mflow': { - 1: 78.38050000000001, # added during reading because of the inout file - 2: 78.38050000000001, - 3: 78.38050000000001, - 4: 78.38050000000001, - 5: 78.38050000000001, - 6: 78.38050000000001, - 7: 78.38050000000001, - 8: 78.38050000000001, - 9: 78.38050000000001, - 10: 78.38050000000001, - 11: 78.38050000000001, - 12: 78.38050000000001, - 13: 78.38050000000001, - 15: 78.38050000000001, - 16: 78.38050000000001, - 17: 78.38050000000001, - 18: 78.38050000000001, - 19: 78.38050000000001, - 20: 78.38050000000001, - 21: 78.38050000000001, - 22: 78.38050000000001, - 23: 78.38050000000001, - 24: 78.38050000000001, - 25: 78.38050000000001, - 26: 78.38050000000001, - 27: 78.38050000000001, - 28: 78.38050000000001 # added during reading because of the inout file + 1: 78.3918, # added during reading because of the inout file + 2: 78.3918, + 3: 78.3918, + 4: 78.3918, + 5: 78.3918, + 6: 78.3918, + 7: 78.3918, + 8: 78.3918, + 9: 78.3918, + 10: 78.3918, + 11: 78.3918, + 12: 78.3918, + 13: 78.3918, + 15: 78.3918, + 16: 78.3918, + 17: 78.3918, + 18: 78.3918, + 19: 78.3918, + 20: 78.3918, + 21: 78.3918, + 22: 78.3918, + 23: 78.3918, + 24: 78.3918, + 25: 78.3918, + 26: 78.3918, + 27: 78.3918, + 28: 78.3918 # added during reading because of the inout file }, 'npressure': { 1: 0.1, # added during reading because of the inout file 2: 0.1, - 3: 0.134842, - 4: 0.128265, - 5: 0.127953, - 6: 0.155924, - 7: 0.157802, - 8: 0.191652, - 9: 0.178963, - 10: 0.180863, - 11: 0.161473, + 3: 0.134840, + 4: 0.128261, + 5: 0.127949, + 6: 0.155918, + 7: 0.157797, + 8: 0.191647, + 9: 0.178953, + 10: 0.180849, + 11: 0.161476, 12: 0.162658, 13: 0.1, 15: 0.1, - 16: 0.117421, - 17: 0.131553, - 18: 0.128109, - 19: 0.141939, - 20: 0.156863, - 21: 0.174727, - 22: 0.185308, - 23: 0.179913, - 24: 0.171168, - 25: 0.162066, + 16: 0.117420, + 17: 0.131551, + 18: 0.128105, + 19: 0.141934, + 20: 0.156857, + 21: 0.174722, + 22: 0.185300, + 23: 0.179901, + 24: 0.171162, + 25: 0.162067, 26: 0.131329, 27: 0.1, 28: 0.1 # added during reading because of the inout file } - }] + } + ] expected_frd_content = efc # do something with the expected data @@ -307,8 +321,8 @@ class FemTest(unittest.TestCase): print(expected_frd_content_len) print(sorted(expected_frd_content.keys())) # expected results - expected_mflow = expected_frd_content['Results'][0]['mflow'] - expected_npressure = expected_frd_content['Results'][0]['npressure'] + expected_mflow = expected_frd_content['Results'][12]['mflow'] + expected_npressure = expected_frd_content['Results'][12]['npressure'] expected_res_len = [ len(expected_mflow), len(expected_npressure)