From 22a585fba34dd7fc57371165460907c95f459631 Mon Sep 17 00:00:00 2001 From: Bernd Hahnebach Date: Thu, 21 May 2020 15:04:18 +0200 Subject: [PATCH] FEM: solver ccxtools, change object type --- src/Mod/Fem/femcommands/commands.py | 2 +- src/Mod/Fem/femexamples/manager.py | 2 +- src/Mod/Fem/femobjects/_FemSolverCalculix.py | 2 +- src/Mod/Fem/femsolver/run.py | 2 +- src/Mod/Fem/femtest/app/test_object.py | 6 +++--- src/Mod/Fem/femtools/ccxtools.py | 2 +- src/Mod/Fem/femtools/checksanalysis.py | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Mod/Fem/femcommands/commands.py b/src/Mod/Fem/femcommands/commands.py index 22a9cd5f82..6d2b9eb58d 100644 --- a/src/Mod/Fem/femcommands/commands.py +++ b/src/Mod/Fem/femcommands/commands.py @@ -384,7 +384,7 @@ class _MaterialMechanicalNonlinear(CommandManager): # set solver attribute for nonlinearity for ccxtools # CalculiX solver or new frame work CalculiX solver if solver_object and ( - is_of_type(solver_object, "Fem::FemSolverCalculixCcxTools") + is_of_type(solver_object, "Fem::SolverCcxTools") or is_of_type(solver_object, "Fem::FemSolverObjectCalculix") ): FreeCAD.Console.PrintMessage( diff --git a/src/Mod/Fem/femexamples/manager.py b/src/Mod/Fem/femexamples/manager.py index 21ca3f2204..74d0504ed3 100644 --- a/src/Mod/Fem/femexamples/manager.py +++ b/src/Mod/Fem/femexamples/manager.py @@ -78,7 +78,7 @@ def run_analysis(doc, base_name, filepath=""): from femtools.femutils import is_derived_from if ( is_derived_from(m, "Fem::FemSolverObjectPython") - and m.Proxy.Type != "Fem::FemSolverCalculixCcxTools" + and m.Proxy.Type != "Fem::SolverCcxTools" ): solver = m break diff --git a/src/Mod/Fem/femobjects/_FemSolverCalculix.py b/src/Mod/Fem/femobjects/_FemSolverCalculix.py index fd669f17e4..63ac356dbc 100644 --- a/src/Mod/Fem/femobjects/_FemSolverCalculix.py +++ b/src/Mod/Fem/femobjects/_FemSolverCalculix.py @@ -39,7 +39,7 @@ class _FemSolverCalculix(FemConstraint.Proxy): """The Fem::FemSolver's Proxy python type, add solver specific properties """ - Type = "Fem::FemSolverCalculixCcxTools" + Type = "Fem::SolverCcxTools" def __init__(self, obj): super(_FemSolverCalculix, self).__init__(obj) diff --git a/src/Mod/Fem/femsolver/run.py b/src/Mod/Fem/femsolver/run.py index 5c0a279aec..8fd314627c 100644 --- a/src/Mod/Fem/femsolver/run.py +++ b/src/Mod/Fem/femsolver/run.py @@ -99,7 +99,7 @@ def run_fem_solver(solver, working_dir=None): :class:`Machine`. """ - if solver.Proxy.Type == "Fem::FemSolverCalculixCcxTools": + if solver.Proxy.Type == "Fem::SolverCcxTools": App.Console.PrintMessage("CalxuliX ccx tools solver!\n") from femtools.ccxtools import CcxTools as ccx fea = ccx(solver) diff --git a/src/Mod/Fem/femtest/app/test_object.py b/src/Mod/Fem/femtest/app/test_object.py index 660763d9a2..42b3a1f9c6 100644 --- a/src/Mod/Fem/femtest/app/test_object.py +++ b/src/Mod/Fem/femtest/app/test_object.py @@ -342,7 +342,7 @@ class TestObjectType(unittest.TestCase): ) solverelmer = ObjectsFem.makeSolverElmer(doc) self.assertEqual( - "Fem::FemSolverCalculixCcxTools", + "Fem::SolverCcxTools", type_of_obj(ObjectsFem.makeSolverCalculixCcxTools(doc)) ) self.assertEqual( @@ -542,7 +542,7 @@ class TestObjectType(unittest.TestCase): solverelmer = ObjectsFem.makeSolverElmer(doc) self.assertTrue(is_of_type( ObjectsFem.makeSolverCalculixCcxTools(doc), - "Fem::FemSolverCalculixCcxTools" + "Fem::SolverCcxTools" )) self.assertTrue(is_of_type( ObjectsFem.makeSolverCalculix(doc), @@ -1142,7 +1142,7 @@ class TestObjectType(unittest.TestCase): )) self.assertTrue(is_derived_from( solver_ccxtools, - "Fem::FemSolverCalculixCcxTools" + "Fem::SolverCcxTools" )) # FemSolverObjectCalculix diff --git a/src/Mod/Fem/femtools/ccxtools.py b/src/Mod/Fem/femtools/ccxtools.py index f611c76206..92ecce1d9b 100644 --- a/src/Mod/Fem/femtools/ccxtools.py +++ b/src/Mod/Fem/femtools/ccxtools.py @@ -203,7 +203,7 @@ class FemToolsCcx(QtCore.QRunnable, QtCore.QObject): def find_solver(self): found_solver_for_use = False for m in self.analysis.Group: - if femutils.is_of_type(m, "Fem::FemSolverCalculixCcxTools"): + if femutils.is_of_type(m, "Fem::SolverCcxTools"): # we are going to explicitly check for the ccx tools solver type only, # thus it is possible to have lots of framework solvers inside the analysis anyway # for some methods no solver is needed (purge_results) --> solver could be none diff --git a/src/Mod/Fem/femtools/checksanalysis.py b/src/Mod/Fem/femtools/checksanalysis.py index 43f2f341b0..911b0c0e07 100644 --- a/src/Mod/Fem/femtools/checksanalysis.py +++ b/src/Mod/Fem/femtools/checksanalysis.py @@ -60,7 +60,7 @@ def check_analysismember(analysis, solver, mesh, member): "Solver is set to nonlinear materials, " "but there is no nonlinear material in the analysis.\n" ) - if solver.Proxy.Type == "Fem::FemSolverCalculixCcxTools" \ + if solver.Proxy.Type == "Fem::SolverCcxTools" \ and solver.GeometricalNonlinearity != "nonlinear": # nonlinear geometry --> should be set # https://forum.freecadweb.org/viewtopic.php?f=18&t=23101&p=180489#p180489