FEM: concrete, rho calculation unit test

This commit is contained in:
Bernd Hahnebach
2019-06-16 18:26:19 +02:00
parent 7cd6ea884b
commit 99bca23ba1
2 changed files with 81 additions and 0 deletions

View File

@@ -128,6 +128,7 @@ gf()
./bin/FreeCADCmd --run-test "femtest.testresult.TestResult.test_stress_von_mises"
./bin/FreeCADCmd --run-test "femtest.testresult.TestResult.test_stress_principal_std"
./bin/FreeCADCmd --run-test "femtest.testresult.TestResult.test_stress_principal_reinforced"
./bin/FreeCADCmd --run-test "femtest.testresult.TestResult.test_rho"
./bin/FreeCADCmd --run-test "femtest.testresult.TestResult.test_disp_abs"
./bin/FreeCADCmd --run-test "femtest.testsolverframework.TestSolverFrameWork.test_solver_framework"
@@ -220,6 +221,9 @@ unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName("femtest.t
import unittest
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName("femtest.testresult.TestResult.test_stress_principal_reinforced"))
import unittest
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName("femtest.testresult.TestResult.test_rho"))
import unittest
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName("femtest.testresult.TestResult.test_disp_abs"))

View File

@@ -351,6 +351,83 @@ class TestResult(unittest.TestCase):
"Calculated principal reinforced stresses are not the expected values."
)
# ********************************************************************************************
def test_rho(
self
):
data = (
(
# Case1: Governing Eq.14
(2.000, -2.000, 5.000, 6.000, -4.000, 2.000),
(0.02400, 0.00400, 0.01400)
),
(
# Case2: Governing Eq.10+
(-3.000, -7.000, 0.000, 6.000, -4.000, 2.000),
(0.00886, 0.00000, 0.00571),
),
(
# Case3: Governing Eq.5
(-1.000, -7.000, 10.000, 0.000, 0.000, 5.000),
(0.00000, 0.00000, 0.02714)
),
(
# Case4: Governing Eq.13
(3.000, 0.000, 10.000, 0.000, 5.000, 0.000),
(0.01600, 0.00000, 0.03000)
),
(
# Case5: Governing Eq.11-
(10.000, 7.000, -3.000, 3.000, 1.000, -2.000),
(0.02533, 0.02133, 0.00000)
),
(
# Case6: Governing Eq.14
(4.000, -7.000, 3.000, 7.000, 0.000, -5.000),
(0.02200, 0.01000, 0.01600)
),
(
# Case7: Governing Eq.14
(8.000, -14.000, 6.000, 14.000, 0.000, -10.000),
(0.04400, 0.02000, 0.03200)
),
(
# Case8: Governing Eq.17
(1.000, 0.000, 3.000, 10.000, -8.000, 7.000),
(0.02486, 0.01750, 0.01720)
),
(
# Case9: Governing Eq.13
(0.000, 0.000, 0.000, 10.000, 8.000, 7.000),
(0.03600, 0.03400, 0.03000)
),
(
# Case10: Governing Eq.13
(15.000, 0.000, 0.000, 0.000, 0.000, 0.000),
(0.03000, 0.00000, 0.00000)
),
(
# Case11: Governing Eq.13
(0.000, 0.000, 0.000, 5.000, 0.000, 0.000),
(0.01000, 0.01000, 0.00000)
)
)
from femresult.resulttools import calculate_rho as calrho
for i, case in enumerate(data):
res = calrho(case[0], 500)
rhores = (
round(res[0], 5),
round(res[1], 5),
round(res[2], 5)
)
# fcc_print('Case{}: {}'.format(i + 1 , rhores))
self.assertEqual(
rhores, case[1],
"Calculated rho are not the expected Case{}."
.format(i + 1)
)
# ********************************************************************************************
def test_disp_abs(
self