Skip to content

Commit

Permalink
FEM: unit tests, solver framework, separate tests for each solver
Browse files Browse the repository at this point in the history
  • Loading branch information
berndhahnebach committed Sep 27, 2019
1 parent af2e97d commit 506ab24
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 9 deletions.
8 changes: 6 additions & 2 deletions src/Mod/Fem/TestFem.py
Expand Up @@ -153,7 +153,8 @@
./bin/FreeCADCmd --run-test "femtest.app.test_result.TestResult.test_stress_principal_reinforced"
./bin/FreeCADCmd --run-test "femtest.app.test_result.TestResult.test_rho"
./bin/FreeCADCmd --run-test "femtest.app.test_result.TestResult.test_disp_abs"
./bin/FreeCADCmd --run-test "femtest.app.test_solverframework.TestSolverFrameWork.test_solver_framework"
./bin/FreeCADCmd --run-test "femtest.app.test_solverframework.TestSolverFrameWork.test_solver_calculix"
./bin/FreeCADCmd --run-test "femtest.app.test_solverframework.TestSolverFrameWork.test_solver_elmer"
# to get all command to start FreeCAD from build dir on Linux
Expand Down Expand Up @@ -252,7 +253,10 @@
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName("femtest.app.test_result.TestResult.test_disp_abs"))
import unittest
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName("femtest.app.test_solverframework.TestSolverFrameWork.test_solver_framework"))
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName("femtest.app.test_solverframework.TestSolverFrameWork.test_solver_calculix"))
import unittest
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName("femtest.app.test_solverframework.TestSolverFrameWork.test_solver_elmer"))
# open files from FEM test suite source code
Expand Down
24 changes: 17 additions & 7 deletions src/Mod/Fem/femtest/app/test_solverframework.py
Expand Up @@ -65,10 +65,10 @@ def test_00print(
))

# ********************************************************************************************
def test_solver_framework(
def test_solver_calculix(
self
):
fcc_print("\n--------------- Start of FEM tests solver frame work ---------------")
fcc_print("\n--------------- Start of FEM tests solver framework solver CalculiX ------")

# set up the static analysis example
from femexamples import boxanalysis as box
Expand Down Expand Up @@ -106,6 +106,20 @@ def test_solver_framework(
ret = testtools.compare_inp_files(infile_given, inpfile_totest)
self.assertFalse(ret, "ccxtools write_inp_file test failed.\n{}".format(ret))

save_fc_file = solverframework_analysis_dir + static_base_name + ".FCStd"
fcc_print("Save FreeCAD file for static2 analysis to {}...".format(save_fc_file))
self.active_doc.saveAs(save_fc_file)

fcc_print("\n--------------- End of FEM tests solver framework solver CalculiX --------")

# ********************************************************************************************
def test_solver_elmer(
self
):
fcc_print("\n--------------- Start of FEM tests solver framework solver Elmer ------")

# TODO set up example

'''
# use solver frame work elmer solver
# elmer solver object
Expand Down Expand Up @@ -174,11 +188,7 @@ def test_solver_framework(
self.assertFalse(ret, "GMSH geo write file test failed.\n{}".format(ret))
'''

save_fc_file = solverframework_analysis_dir + static_base_name + ".FCStd"
fcc_print("Save FreeCAD file for static2 analysis to {}...".format(save_fc_file))
self.active_doc.saveAs(save_fc_file)

fcc_print("--------------- End of FEM tests solver frame work ---------------")
fcc_print("\n--------------- End of FEM tests solver framework solver Elmer --------")

# ********************************************************************************************
def tearDown(
Expand Down

0 comments on commit 506ab24

Please sign in to comment.