From e99ee08514faa819dc2881163232ec2f3bfc78e7 Mon Sep 17 00:00:00 2001
From: lyphrowny <79705170+lyphrowny@users.noreply.github.com>
Date: Mon, 1 Apr 2024 15:51:23 +0000
Subject: [PATCH] FEM: Fix cxx typo and remove calculix from solvers tab in
examples (#12876)
* FEM: remove calculix from solvers
* FEM: remove calculix from joint with ccxtools if branches
* FEM: remove calculix from its if
* FEM: fix cxx typo in translations
* FEM: fix cxx typo in classes name
* FEM: fix ccx typo in shortcuts
* FEM: convert FEM_*CcxTools to CamelCase
* FEM: remove tests related to calculix
* FEM: remove test_solver_calculix.py from Fem/CMakeLists.txt
* FEM: convert all 'CalculiXccxTools' to 'CalculiXCcxTools'
* FEM: revert changes in all *_*.ts files
* FEM: convert 'SolverCcxtools' to 'SolverCcxTools'
* FEM: convert remaining 'Ccxtools' to 'CcxTools'
---
src/Gui/PreferencePackTemplates/Shortcuts.cfg | 2 +-
src/Mod/Fem/CMakeLists.txt | 1 -
src/Mod/Fem/Gui/Resources/translations/Fem.ts | 2 +-
src/Mod/Fem/Gui/Workbench.cpp | 4 +-
src/Mod/Fem/ObjectsFem.py | 4 +-
src/Mod/Fem/TestFemApp.py | 2 -
src/Mod/Fem/femcommands/commands.py | 16 +-
.../Fem/femexamples/boxanalysis_frequency.py | 10 +-
src/Mod/Fem/femexamples/boxanalysis_static.py | 10 +-
.../buckling_lateraltorsionalbuckling.py | 10 +-
.../Fem/femexamples/buckling_platebuckling.py | 10 +-
.../ccx_buckling_flexuralbuckling.py | 10 +-
.../femexamples/ccx_cantilever_base_edge.py | 8 +-
.../femexamples/ccx_cantilever_base_face.py | 8 +-
.../femexamples/ccx_cantilever_base_solid.py | 8 +-
.../femexamples/ccx_cantilever_beam_circle.py | 2 +-
.../femexamples/ccx_cantilever_beam_pipe.py | 2 +-
.../femexamples/ccx_cantilever_beam_rect.py | 2 +-
.../femexamples/ccx_cantilever_ele_hexa20.py | 2 +-
.../femexamples/ccx_cantilever_ele_quad4.py | 2 +-
.../femexamples/ccx_cantilever_ele_quad8.py | 2 +-
.../femexamples/ccx_cantilever_ele_seg2.py | 2 +-
.../femexamples/ccx_cantilever_ele_seg3.py | 2 +-
.../femexamples/ccx_cantilever_ele_tetra4.py | 2 +-
.../femexamples/ccx_cantilever_ele_tria3.py | 2 +-
.../femexamples/ccx_cantilever_ele_tria6.py | 2 +-
.../femexamples/ccx_cantilever_faceload.py | 2 +-
.../femexamples/ccx_cantilever_nodeload.py | 2 +-
.../ccx_cantilever_prescribeddisplacement.py | 2 +-
src/Mod/Fem/femexamples/constraint_centrif.py | 10 +-
.../constraint_contact_shell_shell.py | 10 +-
.../constraint_contact_solid_solid.py | 10 +-
.../femexamples/constraint_section_print.py | 10 +-
.../constraint_selfweight_cantilever.py | 10 +-
src/Mod/Fem/femexamples/constraint_tie.py | 10 +-
.../constraint_transform_beam_hinged.py | 10 +-
.../constraint_transform_torque.py | 10 +-
...uitutorial01_eigenvalue_of_elastic_beam.py | 10 +-
.../Fem/femexamples/frequency_beamsimple.py | 10 +-
...material_multiple_bendingbeam_fiveboxes.py | 10 +-
...material_multiple_bendingbeam_fivefaces.py | 10 +-
.../material_multiple_tensionrod_twoboxes.py | 10 +-
.../femexamples/material_nl_platewithhole.py | 10 +-
src/Mod/Fem/femexamples/mystran_plate.py | 10 +-
src/Mod/Fem/femexamples/rc_wall_2d.py | 10 +-
.../square_pipe_end_twisted_edgeforces.py | 10 +-
.../square_pipe_end_twisted_nodeforces.py | 10 +-
.../Fem/femexamples/thermomech_bimetall.py | 10 +-
.../truss_3d_cs_circle_ele_seg3.py | 10 +-
src/Mod/Fem/femsolver/settings.py | 2 +-
src/Mod/Fem/femtest/app/test_ccxtools.py | 4 +-
src/Mod/Fem/femtest/app/test_object.py | 10 +-
.../Fem/femtest/app/test_solver_calculix.py | 384 ------------------
53 files changed, 145 insertions(+), 588 deletions(-)
delete mode 100644 src/Mod/Fem/femtest/app/test_solver_calculix.py
diff --git a/src/Gui/PreferencePackTemplates/Shortcuts.cfg b/src/Gui/PreferencePackTemplates/Shortcuts.cfg
index c82e3fd307..666df29c14 100644
--- a/src/Gui/PreferencePackTemplates/Shortcuts.cfg
+++ b/src/Gui/PreferencePackTemplates/Shortcuts.cfg
@@ -220,7 +220,7 @@
R, S
R, P
S, C
- S, X
+ S, X
S, T
S, E
S, M
diff --git a/src/Mod/Fem/CMakeLists.txt b/src/Mod/Fem/CMakeLists.txt
index 6c4b446bf9..726bc1b55e 100755
--- a/src/Mod/Fem/CMakeLists.txt
+++ b/src/Mod/Fem/CMakeLists.txt
@@ -321,7 +321,6 @@ SET(FemTestsApp_SRCS
femtest/app/test_object.py
femtest/app/test_open.py
femtest/app/test_result.py
- femtest/app/test_solver_calculix.py
femtest/app/test_solver_elmer.py
femtest/app/test_solver_mystran.py
femtest/app/test_solver_z88.py
diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem.ts b/src/Mod/Fem/Gui/Resources/translations/Fem.ts
index c7381e16bc..42ca68f2bb 100644
--- a/src/Mod/Fem/Gui/Resources/translations/Fem.ts
+++ b/src/Mod/Fem/Gui/Resources/translations/Fem.ts
@@ -5659,7 +5659,7 @@ used for the Elmer solver
- FEM_SolverCalculixCxxtools
+ FEM_SolverCalculiXCcxTools
Solver CalculiX Standard
diff --git a/src/Mod/Fem/Gui/Workbench.cpp b/src/Mod/Fem/Gui/Workbench.cpp
index 227a743c04..eccc5ed9e7 100644
--- a/src/Mod/Fem/Gui/Workbench.cpp
+++ b/src/Mod/Fem/Gui/Workbench.cpp
@@ -166,7 +166,7 @@ Gui::ToolBarItem* Workbench::setupToolBars() const
Gui::ToolBarItem* solve = new Gui::ToolBarItem(root);
solve->setCommand("Solve");
if (!Fem::Tools::checkIfBinaryExists("CCX", "ccx", "ccx").empty()) {
- *solve << "FEM_SolverCalculixCxxtools";
+ *solve << "FEM_SolverCalculiXCcxTools";
}
if (!Fem::Tools::checkIfBinaryExists("Elmer", "elmer", "ElmerSolver").empty()) {
*solve << "FEM_SolverElmer";
@@ -323,7 +323,7 @@ Gui::MenuItem* Workbench::setupMenuBar() const
Gui::MenuItem* solve = new Gui::MenuItem;
root->insertItem(item, solve);
solve->setCommand("&Solve");
- *solve << "FEM_SolverCalculixCxxtools"
+ *solve << "FEM_SolverCalculiXCcxTools"
<< "FEM_SolverElmer"
<< "FEM_SolverMystran"
<< "FEM_SolverZ88"
diff --git a/src/Mod/Fem/ObjectsFem.py b/src/Mod/Fem/ObjectsFem.py
index bae375407e..a85dd8e27e 100644
--- a/src/Mod/Fem/ObjectsFem.py
+++ b/src/Mod/Fem/ObjectsFem.py
@@ -879,11 +879,11 @@ def makeEquationMagnetodynamic2D(
return obj
-def makeSolverCalculixCcxTools(
+def makeSolverCalculiXCcxTools(
doc,
name="SolverCcxTools"
):
- """makeSolverCalculixCcxTools(document, [name]):
+ """makeSolverCalculiXCcxTools(document, [name]):
makes a Calculix solver object for the ccx tools module"""
obj = doc.addObject("Fem::FemSolverObjectPython", name)
from femobjects import solver_ccxtools
diff --git a/src/Mod/Fem/TestFemApp.py b/src/Mod/Fem/TestFemApp.py
index 211cd365bf..64f188240a 100644
--- a/src/Mod/Fem/TestFemApp.py
+++ b/src/Mod/Fem/TestFemApp.py
@@ -35,7 +35,6 @@ from femtest.app.test_mesh import TestMeshEleTetra10 as FemTest08
from femtest.app.test_mesh import TestMeshGroups as FemTest09
from femtest.app.test_result import TestResult as FemTest10
from femtest.app.test_ccxtools import TestCcxTools as FemTest11
-from femtest.app.test_solver_calculix import TestSolverCalculix as FemTest12
from femtest.app.test_solver_elmer import TestSolverElmer as FemTest13
from femtest.app.test_solver_z88 import TestSolverZ88 as FemTest14
@@ -51,6 +50,5 @@ False if FemTest08.__name__ else True
False if FemTest09.__name__ else True
False if FemTest10.__name__ else True
False if FemTest11.__name__ else True
-False if FemTest12.__name__ else True
False if FemTest13.__name__ else True
False if FemTest14.__name__ else True
diff --git a/src/Mod/Fem/femcommands/commands.py b/src/Mod/Fem/femcommands/commands.py
index d35c82970c..cb99d6c051 100644
--- a/src/Mod/Fem/femcommands/commands.py
+++ b/src/Mod/Fem/femcommands/commands.py
@@ -1045,19 +1045,19 @@ class _ResultsPurge(CommandManager):
resulttools.purge_results(self.active_analysis)
-class _SolverCxxtools(CommandManager):
+class _SolverCcxTools(CommandManager):
"The FEM_SolverCalculix ccx tools command definition"
def __init__(self):
- super(_SolverCxxtools, self).__init__()
+ super(_SolverCcxTools, self).__init__()
self.pixmap = "FEM_SolverStandard"
self.menutext = Qt.QT_TRANSLATE_NOOP(
- "FEM_SolverCalculixCxxtools",
+ "FEM_SolverCalculiXCcxTools",
"Solver CalculiX Standard"
)
self.accel = "S, X"
self.tooltip = Qt.QT_TRANSLATE_NOOP(
- "FEM_SolverCalculixCxxtools",
+ "FEM_SolverCalculiXCcxTools",
"Creates a standard FEM solver CalculiX with ccx tools"
)
self.is_active = "with_analysis"
@@ -1072,7 +1072,7 @@ class _SolverCxxtools(CommandManager):
FreeCADGui.addModule("FemGui")
if has_nonlinear_material_obj:
FreeCADGui.doCommand(
- "solver = ObjectsFem.makeSolverCalculixCcxTools(FreeCAD.ActiveDocument)"
+ "solver = ObjectsFem.makeSolverCalculiXCcxTools(FreeCAD.ActiveDocument)"
)
FreeCADGui.doCommand("solver.GeometricalNonlinearity = 'nonlinear'")
FreeCADGui.doCommand("solver.MaterialNonlinearity = 'nonlinear'")
@@ -1080,7 +1080,7 @@ class _SolverCxxtools(CommandManager):
else:
FreeCADGui.doCommand(
"FemGui.getActiveAnalysis().addObject(ObjectsFem."
- "makeSolverCalculixCcxTools(FreeCAD.ActiveDocument))"
+ "makeSolverCalculiXCcxTools(FreeCAD.ActiveDocument))"
)
FreeCAD.ActiveDocument.commitTransaction()
# expand analysis object in tree view
@@ -1366,8 +1366,8 @@ FreeCADGui.addCommand(
_ResultsPurge()
)
FreeCADGui.addCommand(
- "FEM_SolverCalculixCxxtools",
- _SolverCxxtools()
+ "FEM_SolverCalculiXCcxTools",
+ _SolverCcxTools()
)
FreeCADGui.addCommand(
"FEM_SolverCalculiX",
diff --git a/src/Mod/Fem/femexamples/boxanalysis_frequency.py b/src/Mod/Fem/femexamples/boxanalysis_frequency.py
index 0e8ee1c924..2c6918a15c 100644
--- a/src/Mod/Fem/femexamples/boxanalysis_frequency.py
+++ b/src/Mod/Fem/femexamples/boxanalysis_frequency.py
@@ -35,7 +35,7 @@ def get_information():
"meshtype": "solid",
"meshelement": "Tet10",
"constraints": [],
- "solvers": ["calculix", "ccxtools"],
+ "solvers": ["ccxtools"],
"material": "solid",
"equations": ["frequency"]
}
@@ -70,12 +70,10 @@ def setup(doc=None, solvertype="ccxtools"):
analysis = doc.Analysis
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.AnalysisType = "frequency"
solver_obj.GeometricalNonlinearity = "linear"
solver_obj.ThermoMechSteadyState = False
diff --git a/src/Mod/Fem/femexamples/boxanalysis_static.py b/src/Mod/Fem/femexamples/boxanalysis_static.py
index 9131bd3068..8e44bac59e 100644
--- a/src/Mod/Fem/femexamples/boxanalysis_static.py
+++ b/src/Mod/Fem/femexamples/boxanalysis_static.py
@@ -37,7 +37,7 @@ def get_information():
"meshtype": "solid",
"meshelement": "Tet10",
"constraints": ["fixed", "force", "pressure"],
- "solvers": ["calculix", "ccxtools", "elmer"],
+ "solvers": ["ccxtools", "elmer"],
"material": "solid",
"equations": ["mechanical"]
}
@@ -73,10 +73,8 @@ def setup(doc=None, solvertype="ccxtools"):
analysis = doc.Analysis
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
elif solvertype == "elmer":
solver_obj = ObjectsFem.makeSolverElmer(doc, "SolverElmer")
@@ -86,7 +84,7 @@ def setup(doc=None, solvertype="ccxtools"):
"Unknown or unsupported solver type: {}. "
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.SplitInputWriter = False
solver_obj.AnalysisType = "static"
solver_obj.GeometricalNonlinearity = "linear"
diff --git a/src/Mod/Fem/femexamples/buckling_lateraltorsionalbuckling.py b/src/Mod/Fem/femexamples/buckling_lateraltorsionalbuckling.py
index 3099b749e3..b4886c3141 100644
--- a/src/Mod/Fem/femexamples/buckling_lateraltorsionalbuckling.py
+++ b/src/Mod/Fem/femexamples/buckling_lateraltorsionalbuckling.py
@@ -37,7 +37,7 @@ def get_information():
"meshtype": "face",
"meshelement": "Tria6",
"constraints": ["displacement", "force"],
- "solvers": ["calculix", "ccxtools"],
+ "solvers": ["ccxtools"],
"material": "solid",
"equations": ["buckling"]
}
@@ -106,17 +106,15 @@ def setup(doc=None, solvertype="ccxtools"):
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
else:
FreeCAD.Console.PrintWarning(
"Unknown or unsupported solver type: {}. "
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.SplitInputWriter = False
solver_obj.AnalysisType = "buckling"
solver_obj.GeometricalNonlinearity = "linear"
diff --git a/src/Mod/Fem/femexamples/buckling_platebuckling.py b/src/Mod/Fem/femexamples/buckling_platebuckling.py
index fed4499959..bee21be01a 100644
--- a/src/Mod/Fem/femexamples/buckling_platebuckling.py
+++ b/src/Mod/Fem/femexamples/buckling_platebuckling.py
@@ -37,7 +37,7 @@ def get_information():
"meshtype": "face",
"meshelement": "Tria6",
"constraints": ["displacement", "force"],
- "solvers": ["calculix", "ccxtools"],
+ "solvers": ["ccxtools"],
"material": "solid",
"equations": ["buckling"]
}
@@ -80,17 +80,15 @@ def setup(doc=None, solvertype="ccxtools"):
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
else:
FreeCAD.Console.PrintWarning(
"Unknown or unsupported solver type: {}. "
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.SplitInputWriter = False
solver_obj.AnalysisType = "buckling"
solver_obj.BucklingFactors = 10
diff --git a/src/Mod/Fem/femexamples/ccx_buckling_flexuralbuckling.py b/src/Mod/Fem/femexamples/ccx_buckling_flexuralbuckling.py
index 61cf636023..40ec0b7038 100644
--- a/src/Mod/Fem/femexamples/ccx_buckling_flexuralbuckling.py
+++ b/src/Mod/Fem/femexamples/ccx_buckling_flexuralbuckling.py
@@ -38,7 +38,7 @@ def get_information():
"meshtype": "solid",
"meshelement": "Hexa8",
"constraints": ["fixed", "force"],
- "solvers": ["calculix", "ccxtools"],
+ "solvers": ["ccxtools"],
"material": "solid",
"equations": ["buckling"]
}
@@ -85,17 +85,15 @@ def setup(doc=None, solvertype="ccxtools"):
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
# solver,
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
else:
FreeCAD.Console.PrintWarning(
"Unknown or unsupported solver type: {}. "
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.SplitInputWriter = False
solver_obj.AnalysisType = "buckling"
solver_obj.BucklingFactors = 10
diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_base_edge.py b/src/Mod/Fem/femexamples/ccx_cantilever_base_edge.py
index 5c2b2f91a7..8633ad959d 100644
--- a/src/Mod/Fem/femexamples/ccx_cantilever_base_edge.py
+++ b/src/Mod/Fem/femexamples/ccx_cantilever_base_edge.py
@@ -67,10 +67,8 @@ def setup_cantilever_base_edge(doc=None, solvertype="ccxtools"):
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
elif solvertype == "mystran":
solver_obj = ObjectsFem.makeSolverMystran(doc, "SolverMystran")
@@ -79,7 +77,7 @@ def setup_cantilever_base_edge(doc=None, solvertype="ccxtools"):
"Unknown or unsupported solver type: {}. "
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.AnalysisType = "static"
solver_obj.GeometricalNonlinearity = "linear"
solver_obj.ThermoMechSteadyState = False
diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_base_face.py b/src/Mod/Fem/femexamples/ccx_cantilever_base_face.py
index d4e9fd4256..4eaca443f2 100644
--- a/src/Mod/Fem/femexamples/ccx_cantilever_base_face.py
+++ b/src/Mod/Fem/femexamples/ccx_cantilever_base_face.py
@@ -56,10 +56,8 @@ def setup_cantilever_base_face(doc=None, solvertype="ccxtools"):
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
elif solvertype == "mystran":
solver_obj = ObjectsFem.makeSolverMystran(doc, "SolverMystran")
@@ -70,7 +68,7 @@ def setup_cantilever_base_face(doc=None, solvertype="ccxtools"):
"Unknown or unsupported solver type: {}. "
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.AnalysisType = "static"
solver_obj.GeometricalNonlinearity = "linear"
solver_obj.ThermoMechSteadyState = False
diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_base_solid.py b/src/Mod/Fem/femexamples/ccx_cantilever_base_solid.py
index b5c8d5a5d7..160d6dbf2f 100644
--- a/src/Mod/Fem/femexamples/ccx_cantilever_base_solid.py
+++ b/src/Mod/Fem/femexamples/ccx_cantilever_base_solid.py
@@ -52,10 +52,8 @@ def setup_cantilever_base_solid(doc=None, solvertype="ccxtools"):
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
elif solvertype == "elmer":
solver_obj = ObjectsFem.makeSolverElmer(doc, "SolverElmer")
@@ -69,7 +67,7 @@ def setup_cantilever_base_solid(doc=None, solvertype="ccxtools"):
"Unknown or unsupported solver type: {}. "
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.SplitInputWriter = False
solver_obj.AnalysisType = "static"
solver_obj.GeometricalNonlinearity = "linear"
diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_beam_circle.py b/src/Mod/Fem/femexamples/ccx_cantilever_beam_circle.py
index 2fbdd4d4b9..fc1c4e50cd 100644
--- a/src/Mod/Fem/femexamples/ccx_cantilever_beam_circle.py
+++ b/src/Mod/Fem/femexamples/ccx_cantilever_beam_circle.py
@@ -34,7 +34,7 @@ def get_information():
"meshtype": "edge",
"meshelement": "Seg3",
"constraints": ["fixed", "force"],
- "solvers": ["calculix", "ccxtools"],
+ "solvers": ["ccxtools"],
"material": "solid",
"equations": ["mechanical"]
}
diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_beam_pipe.py b/src/Mod/Fem/femexamples/ccx_cantilever_beam_pipe.py
index ee6d626cd9..7855db288f 100644
--- a/src/Mod/Fem/femexamples/ccx_cantilever_beam_pipe.py
+++ b/src/Mod/Fem/femexamples/ccx_cantilever_beam_pipe.py
@@ -34,7 +34,7 @@ def get_information():
"meshtype": "edge",
"meshelement": "Seg3",
"constraints": ["fixed", "force"],
- "solvers": ["calculix", "ccxtools"],
+ "solvers": ["ccxtools"],
"material": "solid",
"equations": ["mechanical"]
}
diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_beam_rect.py b/src/Mod/Fem/femexamples/ccx_cantilever_beam_rect.py
index 2b7cbfbc76..70daab17bd 100644
--- a/src/Mod/Fem/femexamples/ccx_cantilever_beam_rect.py
+++ b/src/Mod/Fem/femexamples/ccx_cantilever_beam_rect.py
@@ -34,7 +34,7 @@ def get_information():
"meshtype": "edge",
"meshelement": "Seg3",
"constraints": ["fixed", "force"],
- "solvers": ["calculix", "ccxtools"],
+ "solvers": ["ccxtools"],
"material": "solid",
"equations": ["mechanical"]
}
diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_ele_hexa20.py b/src/Mod/Fem/femexamples/ccx_cantilever_ele_hexa20.py
index 96ef4929e2..88a08009c7 100644
--- a/src/Mod/Fem/femexamples/ccx_cantilever_ele_hexa20.py
+++ b/src/Mod/Fem/femexamples/ccx_cantilever_ele_hexa20.py
@@ -38,7 +38,7 @@ def get_information():
"meshtype": "solid",
"meshelement": "Hexa20",
"constraints": ["fixed", "force"],
- "solvers": ["calculix", "ccxtools", "elmer", "z88"],
+ "solvers": ["ccxtools", "elmer", "z88"],
"material": "solid",
"equations": ["mechanical"]
}
diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_ele_quad4.py b/src/Mod/Fem/femexamples/ccx_cantilever_ele_quad4.py
index 6052f11a94..984aba1db1 100644
--- a/src/Mod/Fem/femexamples/ccx_cantilever_ele_quad4.py
+++ b/src/Mod/Fem/femexamples/ccx_cantilever_ele_quad4.py
@@ -37,7 +37,7 @@ def get_information():
"meshtype": "face",
"meshelement": "Quad4",
"constraints": ["fixed", "force"],
- "solvers": ["calculix", "ccxtools", "mystran"],
+ "solvers": ["ccxtools", "mystran"],
"material": "solid",
"equations": ["mechanical"]
}
diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_ele_quad8.py b/src/Mod/Fem/femexamples/ccx_cantilever_ele_quad8.py
index 3e9fe96b90..b7497246eb 100644
--- a/src/Mod/Fem/femexamples/ccx_cantilever_ele_quad8.py
+++ b/src/Mod/Fem/femexamples/ccx_cantilever_ele_quad8.py
@@ -37,7 +37,7 @@ def get_information():
"meshtype": "face",
"meshelement": "Quad8",
"constraints": ["fixed", "force"],
- "solvers": ["calculix", "ccxtools"],
+ "solvers": ["ccxtools"],
"material": "solid",
"equations": ["mechanical"]
}
diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_ele_seg2.py b/src/Mod/Fem/femexamples/ccx_cantilever_ele_seg2.py
index c5bc2b3694..4b59d49954 100644
--- a/src/Mod/Fem/femexamples/ccx_cantilever_ele_seg2.py
+++ b/src/Mod/Fem/femexamples/ccx_cantilever_ele_seg2.py
@@ -37,7 +37,7 @@ def get_information():
"meshtype": "edge",
"meshelement": "Seg2",
"constraints": ["fixed", "force"],
- "solvers": ["calculix", "ccxtools", "mystran"],
+ "solvers": ["ccxtools", "mystran"],
"material": "solid",
"equations": ["mechanical"]
}
diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_ele_seg3.py b/src/Mod/Fem/femexamples/ccx_cantilever_ele_seg3.py
index 1427773e73..1736e1fc59 100644
--- a/src/Mod/Fem/femexamples/ccx_cantilever_ele_seg3.py
+++ b/src/Mod/Fem/femexamples/ccx_cantilever_ele_seg3.py
@@ -32,7 +32,7 @@ def get_information():
"meshtype": "edge",
"meshelement": "Seg3",
"constraints": ["fixed", "force"],
- "solvers": ["calculix", "ccxtools"],
+ "solvers": ["ccxtools"],
"material": "solid",
"equations": ["mechanical"]
}
diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_ele_tetra4.py b/src/Mod/Fem/femexamples/ccx_cantilever_ele_tetra4.py
index 217a67f567..e6bbc8016b 100644
--- a/src/Mod/Fem/femexamples/ccx_cantilever_ele_tetra4.py
+++ b/src/Mod/Fem/femexamples/ccx_cantilever_ele_tetra4.py
@@ -36,7 +36,7 @@ def get_information():
"meshtype": "solid",
"meshelement": "Tetra4",
"constraints": ["fixed", "force"],
- "solvers": ["calculix", "ccxtools", "elmer", "mystran", "z88"],
+ "solvers": ["ccxtools", "elmer", "mystran", "z88"],
"material": "solid",
"equations": ["mechanical"]
}
diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_ele_tria3.py b/src/Mod/Fem/femexamples/ccx_cantilever_ele_tria3.py
index c943ec14de..f5f406ce28 100644
--- a/src/Mod/Fem/femexamples/ccx_cantilever_ele_tria3.py
+++ b/src/Mod/Fem/femexamples/ccx_cantilever_ele_tria3.py
@@ -37,7 +37,7 @@ def get_information():
"meshtype": "face",
"meshelement": "Tria3",
"constraints": ["fixed", "force"],
- "solvers": ["calculix", "ccxtools", "mystran"],
+ "solvers": ["ccxtools", "mystran"],
"material": "solid",
"equations": ["mechanical"]
}
diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_ele_tria6.py b/src/Mod/Fem/femexamples/ccx_cantilever_ele_tria6.py
index 5f92f28251..aad7e19531 100644
--- a/src/Mod/Fem/femexamples/ccx_cantilever_ele_tria6.py
+++ b/src/Mod/Fem/femexamples/ccx_cantilever_ele_tria6.py
@@ -32,7 +32,7 @@ def get_information():
"meshtype": "face",
"meshelement": "Tria6",
"constraints": ["fixed", "force"],
- "solvers": ["calculix", "ccxtools", "z88"],
+ "solvers": ["ccxtools", "z88"],
"material": "solid",
"equations": ["mechanical"]
}
diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_faceload.py b/src/Mod/Fem/femexamples/ccx_cantilever_faceload.py
index 8733aa6989..b84a83c34b 100644
--- a/src/Mod/Fem/femexamples/ccx_cantilever_faceload.py
+++ b/src/Mod/Fem/femexamples/ccx_cantilever_faceload.py
@@ -35,7 +35,7 @@ def get_information():
"meshtype": "solid",
"meshelement": "Tet10",
"constraints": ["fixed", "force"],
- "solvers": ["calculix", "ccxtools", "elmer", "mystran", "z88"],
+ "solvers": ["ccxtools", "elmer", "mystran", "z88"],
"material": "solid",
"equations": ["mechanical"]
}
diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_nodeload.py b/src/Mod/Fem/femexamples/ccx_cantilever_nodeload.py
index bd87936c4c..1e73a7495e 100644
--- a/src/Mod/Fem/femexamples/ccx_cantilever_nodeload.py
+++ b/src/Mod/Fem/femexamples/ccx_cantilever_nodeload.py
@@ -35,7 +35,7 @@ def get_information():
"meshtype": "solid",
"meshelement": "Tet10",
"constraints": ["fixed", "force"],
- "solvers": ["calculix", "ccxtools", "elmer", "mystran", "z88"],
+ "solvers": ["ccxtools", "elmer", "mystran", "z88"],
"material": "solid",
"equations": ["mechanical"]
}
diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_prescribeddisplacement.py b/src/Mod/Fem/femexamples/ccx_cantilever_prescribeddisplacement.py
index 0d6e5a18d4..91b4b441a7 100644
--- a/src/Mod/Fem/femexamples/ccx_cantilever_prescribeddisplacement.py
+++ b/src/Mod/Fem/femexamples/ccx_cantilever_prescribeddisplacement.py
@@ -35,7 +35,7 @@ def get_information():
"meshtype": "solid",
"meshelement": "Tet10",
"constraints": ["fixed", "displacement"],
- "solvers": ["calculix", "ccxtools", "elmer"],
+ "solvers": ["ccxtools", "elmer"],
"material": "solid",
"equations": ["mechanical"]
}
diff --git a/src/Mod/Fem/femexamples/constraint_centrif.py b/src/Mod/Fem/femexamples/constraint_centrif.py
index 2abf35c9e9..c48107789c 100644
--- a/src/Mod/Fem/femexamples/constraint_centrif.py
+++ b/src/Mod/Fem/femexamples/constraint_centrif.py
@@ -42,7 +42,7 @@ def get_information():
"meshtype": "solid",
"meshelement": "Tet10",
"constraints": ["centrif", "fixed"],
- "solvers": ["calculix", "ccxtools"],
+ "solvers": ["ccxtools"],
"material": "multimaterial",
"equations": ["mechanical"]
}
@@ -127,17 +127,15 @@ def setup(doc=None, solvertype="ccxtools"):
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
else:
FreeCAD.Console.PrintWarning(
"Unknown or unsupported solver type: {}. "
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.AnalysisType = "static"
solver_obj.GeometricalNonlinearity = "linear"
solver_obj.ThermoMechSteadyState = False
diff --git a/src/Mod/Fem/femexamples/constraint_contact_shell_shell.py b/src/Mod/Fem/femexamples/constraint_contact_shell_shell.py
index 2d2b42af80..69df808077 100644
--- a/src/Mod/Fem/femexamples/constraint_contact_shell_shell.py
+++ b/src/Mod/Fem/femexamples/constraint_contact_shell_shell.py
@@ -41,7 +41,7 @@ def get_information():
"meshtype": "face",
"meshelement": "Tria3",
"constraints": ["fixed", "force", "contact"],
- "solvers": ["calculix", "ccxtools"],
+ "solvers": ["ccxtools"],
"material": "solid",
"equations": ["mechanical"]
}
@@ -136,17 +136,15 @@ def setup(doc=None, solvertype="ccxtools"):
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
else:
FreeCAD.Console.PrintWarning(
"Unknown or unsupported solver type: {}. "
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.AnalysisType = "static"
solver_obj.BeamShellResultOutput3D = True
solver_obj.GeometricalNonlinearity = "linear" # really?
diff --git a/src/Mod/Fem/femexamples/constraint_contact_solid_solid.py b/src/Mod/Fem/femexamples/constraint_contact_solid_solid.py
index d2392d1d2a..6b17ba4203 100644
--- a/src/Mod/Fem/femexamples/constraint_contact_solid_solid.py
+++ b/src/Mod/Fem/femexamples/constraint_contact_solid_solid.py
@@ -42,7 +42,7 @@ def get_information():
"meshtype": "solid",
"meshelement": "Tet10",
"constraints": ["fixed", "pressure", "contact"],
- "solvers": ["calculix", "ccxtools"],
+ "solvers": ["ccxtools"],
"material": "solid",
"equations": ["mechanical"]
}
@@ -116,17 +116,15 @@ def setup(doc=None, solvertype="ccxtools"):
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
else:
FreeCAD.Console.PrintWarning(
"Unknown or unsupported solver type: {}. "
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.AnalysisType = "static"
solver_obj.GeometricalNonlinearity = "linear"
solver_obj.ThermoMechSteadyState = False
diff --git a/src/Mod/Fem/femexamples/constraint_section_print.py b/src/Mod/Fem/femexamples/constraint_section_print.py
index 4ccf5da6e9..5eacb9555a 100644
--- a/src/Mod/Fem/femexamples/constraint_section_print.py
+++ b/src/Mod/Fem/femexamples/constraint_section_print.py
@@ -48,7 +48,7 @@ def get_information():
"meshtype": "solid",
"meshelement": "Tet10",
"constraints": ["section_print", "fixed", "pressure"],
- "solvers": ["calculix", "ccxtools"],
+ "solvers": ["ccxtools"],
"material": "solid",
"equations": ["mechanical"]
}
@@ -221,17 +221,15 @@ def setup(doc=None, solvertype="ccxtools"):
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
else:
FreeCAD.Console.PrintWarning(
"Unknown or unsupported solver type: {}. "
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.SplitInputWriter = False
solver_obj.AnalysisType = "static"
solver_obj.GeometricalNonlinearity = "linear"
diff --git a/src/Mod/Fem/femexamples/constraint_selfweight_cantilever.py b/src/Mod/Fem/femexamples/constraint_selfweight_cantilever.py
index 6473c0b959..68e5a6c0b0 100644
--- a/src/Mod/Fem/femexamples/constraint_selfweight_cantilever.py
+++ b/src/Mod/Fem/femexamples/constraint_selfweight_cantilever.py
@@ -37,7 +37,7 @@ def get_information():
"meshtype": "solid",
"meshelement": "Tet10",
"constraints": ["fixed", "self weight"],
- "solvers": ["calculix", "ccxtools", "elmer"],
+ "solvers": ["ccxtools", "elmer"],
"material": "solid",
"equations": ["mechanical"]
}
@@ -84,10 +84,8 @@ def setup(doc=None, solvertype="ccxtools"):
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
elif solvertype == "elmer":
solver_obj = ObjectsFem.makeSolverElmer(doc, "SolverElmer")
@@ -98,7 +96,7 @@ def setup(doc=None, solvertype="ccxtools"):
"Unknown or unsupported solver type: {}. "
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.SplitInputWriter = False
solver_obj.AnalysisType = "static"
solver_obj.GeometricalNonlinearity = "linear"
diff --git a/src/Mod/Fem/femexamples/constraint_tie.py b/src/Mod/Fem/femexamples/constraint_tie.py
index d2c58c1956..0abc42c927 100644
--- a/src/Mod/Fem/femexamples/constraint_tie.py
+++ b/src/Mod/Fem/femexamples/constraint_tie.py
@@ -42,7 +42,7 @@ def get_information():
"meshtype": "solid",
"meshelement": "Tet10",
"constraints": ["fixed", "force", "tie"],
- "solvers": ["calculix", "ccxtools"],
+ "solvers": ["ccxtools"],
"material": "solid",
"equations": ["mechanical"]
}
@@ -106,17 +106,15 @@ def setup(doc=None, solvertype="ccxtools"):
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
else:
FreeCAD.Console.PrintWarning(
"Unknown or unsupported solver type: {}. "
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.AnalysisType = "static"
solver_obj.GeometricalNonlinearity = "linear"
solver_obj.ThermoMechSteadyState = False
diff --git a/src/Mod/Fem/femexamples/constraint_transform_beam_hinged.py b/src/Mod/Fem/femexamples/constraint_transform_beam_hinged.py
index 22c9d136b8..04fcbac1ad 100644
--- a/src/Mod/Fem/femexamples/constraint_transform_beam_hinged.py
+++ b/src/Mod/Fem/femexamples/constraint_transform_beam_hinged.py
@@ -42,7 +42,7 @@ def get_information():
"meshtype": "solid",
"meshelement": "Tet10",
"constraints": ["pressure", "displacement", "transform"],
- "solvers": ["calculix", "ccxtools"],
+ "solvers": ["ccxtools"],
"material": "solid",
"equations": ["mechanical"]
}
@@ -116,17 +116,15 @@ def setup(doc=None, solvertype="ccxtools"):
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
else:
FreeCAD.Console.PrintWarning(
"Unknown or unsupported solver type: {}. "
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.SplitInputWriter = False
solver_obj.AnalysisType = "static"
solver_obj.GeometricalNonlinearity = "linear"
diff --git a/src/Mod/Fem/femexamples/constraint_transform_torque.py b/src/Mod/Fem/femexamples/constraint_transform_torque.py
index d192ea5892..209d34f973 100644
--- a/src/Mod/Fem/femexamples/constraint_transform_torque.py
+++ b/src/Mod/Fem/femexamples/constraint_transform_torque.py
@@ -50,7 +50,7 @@ def get_information():
"meshtype": "solid",
"meshelement": "Tet10",
"constraints": ["fixed", "force", "transform"],
- "solvers": ["calculix", "ccxtools"],
+ "solvers": ["ccxtools"],
"material": "solid",
"equations": ["mechanical"]
}
@@ -113,17 +113,15 @@ def setup(doc=None, solvertype="ccxtools"):
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
else:
FreeCAD.Console.PrintWarning(
"Unknown or unsupported solver type: {}. "
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.AnalysisType = "static"
solver_obj.GeometricalNonlinearity = "linear"
solver_obj.ThermoMechSteadyState = False
diff --git a/src/Mod/Fem/femexamples/elmer_nonguitutorial01_eigenvalue_of_elastic_beam.py b/src/Mod/Fem/femexamples/elmer_nonguitutorial01_eigenvalue_of_elastic_beam.py
index d3494a53b0..71b2fe7faf 100644
--- a/src/Mod/Fem/femexamples/elmer_nonguitutorial01_eigenvalue_of_elastic_beam.py
+++ b/src/Mod/Fem/femexamples/elmer_nonguitutorial01_eigenvalue_of_elastic_beam.py
@@ -37,7 +37,7 @@ def get_information():
"meshtype": "solid",
"meshelement": "Tet10",
"constraints": [],
- "solvers": ["calculix", "ccxtools", "elmer"],
+ "solvers": ["ccxtools", "elmer"],
"material": "solid",
"equations": ["elasticity"] # "frequency", but list not allowed here
}
@@ -81,10 +81,8 @@ def setup(doc=None, solvertype="elmer"):
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
elif solvertype == "elmer":
solver_obj = ObjectsFem.makeSolverElmer(doc, "SolverElmer")
@@ -97,7 +95,7 @@ def setup(doc=None, solvertype="elmer"):
"Unknown or unsupported solver type: {}. "
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.AnalysisType = "frequency"
solver_obj.GeometricalNonlinearity = "linear"
solver_obj.ThermoMechSteadyState = False
diff --git a/src/Mod/Fem/femexamples/frequency_beamsimple.py b/src/Mod/Fem/femexamples/frequency_beamsimple.py
index f24b3048c2..1e55b0e06d 100644
--- a/src/Mod/Fem/femexamples/frequency_beamsimple.py
+++ b/src/Mod/Fem/femexamples/frequency_beamsimple.py
@@ -37,7 +37,7 @@ def get_information():
"meshtype": "solid",
"meshelement": "Tet10",
"constraints": ["fixed"],
- "solvers": ["calculix", "ccxtools"],
+ "solvers": ["ccxtools"],
"material": "solid",
"equations": ["frequency"]
}
@@ -83,17 +83,15 @@ def setup(doc=None, solvertype="ccxtools"):
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
else:
FreeCAD.Console.PrintWarning(
"Unknown or unsupported solver type: {}. "
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.SplitInputWriter = False
solver_obj.AnalysisType = "frequency"
solver_obj.GeometricalNonlinearity = "linear"
diff --git a/src/Mod/Fem/femexamples/material_multiple_bendingbeam_fiveboxes.py b/src/Mod/Fem/femexamples/material_multiple_bendingbeam_fiveboxes.py
index cef122878a..aac5eff947 100644
--- a/src/Mod/Fem/femexamples/material_multiple_bendingbeam_fiveboxes.py
+++ b/src/Mod/Fem/femexamples/material_multiple_bendingbeam_fiveboxes.py
@@ -40,7 +40,7 @@ def get_information():
"meshtype": "solid",
"meshelement": "Tet10",
"constraints": ["fixed", "force"],
- "solvers": ["calculix", "ccxtools"],
+ "solvers": ["ccxtools"],
"material": "multimaterial",
"equations": ["mechanical"]
}
@@ -122,17 +122,15 @@ def setup(doc=None, solvertype="ccxtools"):
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
else:
FreeCAD.Console.PrintWarning(
"Unknown or unsupported solver type: {}. "
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.SplitInputWriter = False
solver_obj.AnalysisType = "static"
solver_obj.GeometricalNonlinearity = "linear"
diff --git a/src/Mod/Fem/femexamples/material_multiple_bendingbeam_fivefaces.py b/src/Mod/Fem/femexamples/material_multiple_bendingbeam_fivefaces.py
index af45ed3eab..f054e2256b 100644
--- a/src/Mod/Fem/femexamples/material_multiple_bendingbeam_fivefaces.py
+++ b/src/Mod/Fem/femexamples/material_multiple_bendingbeam_fivefaces.py
@@ -38,7 +38,7 @@ def get_information():
"meshtype": "face",
"meshelement": "Tria6",
"constraints": ["fixed", "force"],
- "solvers": ["calculix", "ccxtools"],
+ "solvers": ["ccxtools"],
"material": "multimaterial",
"equations": ["mechanical"]
}
@@ -111,17 +111,15 @@ def setup(doc=None, solvertype="ccxtools"):
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
else:
FreeCAD.Console.PrintWarning(
"Unknown or unsupported solver type: {}. "
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.SplitInputWriter = False
solver_obj.AnalysisType = "static"
solver_obj.GeometricalNonlinearity = "linear"
diff --git a/src/Mod/Fem/femexamples/material_multiple_tensionrod_twoboxes.py b/src/Mod/Fem/femexamples/material_multiple_tensionrod_twoboxes.py
index d0a252f49e..15bd83f6a4 100644
--- a/src/Mod/Fem/femexamples/material_multiple_tensionrod_twoboxes.py
+++ b/src/Mod/Fem/femexamples/material_multiple_tensionrod_twoboxes.py
@@ -41,7 +41,7 @@ def get_information():
"meshtype": "solid",
"meshelement": "Tet10",
"constraints": ["fixed", "pressure"],
- "solvers": ["calculix", "ccxtools"],
+ "solvers": ["ccxtools"],
"material": "multimaterial",
"equations": ["mechanical"]
}
@@ -107,17 +107,15 @@ def setup(doc=None, solvertype="ccxtools"):
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
else:
FreeCAD.Console.PrintWarning(
"Unknown or unsupported solver type: {}. "
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.SplitInputWriter = False
solver_obj.AnalysisType = "static"
solver_obj.GeometricalNonlinearity = "linear"
diff --git a/src/Mod/Fem/femexamples/material_nl_platewithhole.py b/src/Mod/Fem/femexamples/material_nl_platewithhole.py
index 1546539b74..b03340773c 100644
--- a/src/Mod/Fem/femexamples/material_nl_platewithhole.py
+++ b/src/Mod/Fem/femexamples/material_nl_platewithhole.py
@@ -49,7 +49,7 @@ def get_information():
"meshtype": "solid",
"meshelement": "Tet10",
"constraints": ["fixed", "force"],
- "solvers": ["calculix", "ccxtools"],
+ "solvers": ["ccxtools"],
"material": "nonlinear",
"equations": ["mechanical"]
}
@@ -116,17 +116,15 @@ def setup(doc=None, solvertype="ccxtools"):
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
else:
FreeCAD.Console.PrintWarning(
"Unknown or unsupported solver type: {}. "
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.SplitInputWriter = False
solver_obj.AnalysisType = "static"
solver_obj.GeometricalNonlinearity = "linear"
diff --git a/src/Mod/Fem/femexamples/mystran_plate.py b/src/Mod/Fem/femexamples/mystran_plate.py
index debadc30af..54abe7ee62 100644
--- a/src/Mod/Fem/femexamples/mystran_plate.py
+++ b/src/Mod/Fem/femexamples/mystran_plate.py
@@ -39,7 +39,7 @@ def get_information():
"meshtype": "face",
"meshelement": "Quad4",
"constraints": ["fixed", "force"],
- "solvers": ["calculix", "ccxtools", "elmer", "mystran"],
+ "solvers": ["ccxtools", "elmer", "mystran"],
"material": "solid",
"equations": ["mechanical"]
}
@@ -115,10 +115,8 @@ def setup(doc=None, solvertype="ccxtools"):
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
elif solvertype == "elmer":
solver_obj = ObjectsFem.makeSolverElmer(doc, "SolverElmer")
@@ -133,7 +131,7 @@ def setup(doc=None, solvertype="ccxtools"):
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.SplitInputWriter = False
solver_obj.AnalysisType = "static"
solver_obj.GeometricalNonlinearity = "linear"
diff --git a/src/Mod/Fem/femexamples/rc_wall_2d.py b/src/Mod/Fem/femexamples/rc_wall_2d.py
index bc93bffa08..6d263d7776 100644
--- a/src/Mod/Fem/femexamples/rc_wall_2d.py
+++ b/src/Mod/Fem/femexamples/rc_wall_2d.py
@@ -42,7 +42,7 @@ def get_information():
"meshtype": "face",
"meshelement": "Tria6",
"constraints": ["fixed", "force", "displacement"],
- "solvers": ["calculix", "ccxtools"],
+ "solvers": ["ccxtools"],
"material": "reinforced",
"equations": ["mechanical"]
}
@@ -102,17 +102,15 @@ def setup(doc=None, solvertype="ccxtools"):
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
else:
FreeCAD.Console.PrintWarning(
"Unknown or unsupported solver type: {}. "
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.SplitInputWriter = False
solver_obj.AnalysisType = "static"
solver_obj.GeometricalNonlinearity = "linear"
diff --git a/src/Mod/Fem/femexamples/square_pipe_end_twisted_edgeforces.py b/src/Mod/Fem/femexamples/square_pipe_end_twisted_edgeforces.py
index c8d698bd93..2d42f47256 100644
--- a/src/Mod/Fem/femexamples/square_pipe_end_twisted_edgeforces.py
+++ b/src/Mod/Fem/femexamples/square_pipe_end_twisted_edgeforces.py
@@ -41,7 +41,7 @@ def get_information():
"meshtype": "face",
"meshelement": "Tria6",
"constraints": ["force", "fixed"],
- "solvers": ["calculix", "ccxtools"],
+ "solvers": ["ccxtools"],
"material": "solid",
"equations": ["mechanical"]
}
@@ -91,17 +91,15 @@ def setup(doc=None, solvertype="ccxtools"):
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
else:
FreeCAD.Console.PrintWarning(
"Unknown or unsupported solver type: {}. "
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.SplitInputWriter = False
solver_obj.AnalysisType = "static"
solver_obj.GeometricalNonlinearity = "linear"
diff --git a/src/Mod/Fem/femexamples/square_pipe_end_twisted_nodeforces.py b/src/Mod/Fem/femexamples/square_pipe_end_twisted_nodeforces.py
index 4567a51f41..2138ff095f 100644
--- a/src/Mod/Fem/femexamples/square_pipe_end_twisted_nodeforces.py
+++ b/src/Mod/Fem/femexamples/square_pipe_end_twisted_nodeforces.py
@@ -41,7 +41,7 @@ def get_information():
"meshtype": "face",
"meshelement": "Tria6",
"constraints": ["force", "fixed"],
- "solvers": ["calculix", "ccxtools"],
+ "solvers": ["ccxtools"],
"material": "solid",
"equations": ["mechanical"]
}
@@ -201,17 +201,15 @@ def setup(doc=None, solvertype="ccxtools"):
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
else:
FreeCAD.Console.PrintWarning(
"Unknown or unsupported solver type: {}. "
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.SplitInputWriter = False
solver_obj.AnalysisType = "static"
solver_obj.GeometricalNonlinearity = "linear"
diff --git a/src/Mod/Fem/femexamples/thermomech_bimetall.py b/src/Mod/Fem/femexamples/thermomech_bimetall.py
index 8368eb703a..42f68c99ce 100644
--- a/src/Mod/Fem/femexamples/thermomech_bimetall.py
+++ b/src/Mod/Fem/femexamples/thermomech_bimetall.py
@@ -49,7 +49,7 @@ def get_information():
"meshtype": "solid",
"meshelement": "Tet10",
"constraints": ["fixed", "initial temperature", "temperature"],
- "solvers": ["calculix", "ccxtools", "elmer"],
+ "solvers": ["ccxtools", "elmer"],
"material": "multimaterial",
"equations": ["thermomechanical"]
}
@@ -120,10 +120,8 @@ def setup(doc=None, solvertype="ccxtools"):
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
elif solvertype == "elmer":
solver_obj = analysis.addObject(ObjectsFem.makeSolverElmer(doc, "SolverElmer"))[0]
@@ -138,7 +136,7 @@ def setup(doc=None, solvertype="ccxtools"):
"Unknown or unsupported solver type: {}. "
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.AnalysisType = "thermomech"
solver_obj.GeometricalNonlinearity = "linear"
solver_obj.ThermoMechSteadyState = True
diff --git a/src/Mod/Fem/femexamples/truss_3d_cs_circle_ele_seg3.py b/src/Mod/Fem/femexamples/truss_3d_cs_circle_ele_seg3.py
index 1a6db1d409..97af0dd82d 100644
--- a/src/Mod/Fem/femexamples/truss_3d_cs_circle_ele_seg3.py
+++ b/src/Mod/Fem/femexamples/truss_3d_cs_circle_ele_seg3.py
@@ -41,7 +41,7 @@ def get_information():
"meshtype": "edge",
"meshelement": "Seg3",
"constraints": ["fixed", "force"],
- "solvers": ["calculix", "ccxtools"],
+ "solvers": ["ccxtools"],
"material": "solid",
"equations": ["mechanical"]
}
@@ -399,10 +399,8 @@ def setup(doc=None, solvertype="ccxtools"):
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
# solver
- if solvertype == "calculix":
- solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
- elif solvertype == "ccxtools":
- solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
+ if solvertype == "ccxtools":
+ solver_obj = ObjectsFem.makeSolverCalculiXCcxTools(doc, "CalculiXCcxTools")
solver_obj.WorkingDir = u""
elif solvertype == "z88":
solver_obj = ObjectsFem.makeSolverZ88(doc, "SolverZ88")
@@ -411,7 +409,7 @@ def setup(doc=None, solvertype="ccxtools"):
"Unknown or unsupported solver type: {}. "
"No solver object was created.\n".format(solvertype)
)
- if solvertype == "calculix" or solvertype == "ccxtools":
+ if solvertype == "ccxtools":
solver_obj.SplitInputWriter = False
solver_obj.AnalysisType = "static"
solver_obj.GeometricalNonlinearity = "linear"
diff --git a/src/Mod/Fem/femsolver/settings.py b/src/Mod/Fem/femsolver/settings.py
index b8a0df8c55..028c338575 100644
--- a/src/Mod/Fem/femsolver/settings.py
+++ b/src/Mod/Fem/femsolver/settings.py
@@ -173,7 +173,7 @@ def get_default_solver():
"""
solver_map = {0: "None"}
if get_binary("Calculix", True):
- solver_map[1] = "CalculixCcxTools"
+ solver_map[1] = "CalculiXCcxTools"
if get_binary("ElmerSolver", True):
solver_map[len(solver_map)] = "Elmer"
if get_binary("Mystran", True):
diff --git a/src/Mod/Fem/femtest/app/test_ccxtools.py b/src/Mod/Fem/femtest/app/test_ccxtools.py
index f0f4478df4..a62a4c8ba1 100644
--- a/src/Mod/Fem/femtest/app/test_ccxtools.py
+++ b/src/Mod/Fem/femtest/app/test_ccxtools.py
@@ -22,7 +22,7 @@
# * *
# ***************************************************************************
-__title__ = "Ccxtools FEM unit tests"
+__title__ = "CcxTools FEM unit tests"
__author__ = "Bernd Hahnebach"
__url__ = "https://www.freecad.org"
@@ -153,7 +153,7 @@ class TestCcxTools(unittest.TestCase):
if analysis_dir is None:
analysis_dir = testtools.get_fem_test_tmp_dir(self.pre_dir_name + base_name)
analysis = self.document.Analysis
- solver_object = self.document.CalculiXccxTools
+ solver_object = self.document.CalculiXCcxTools
fea = ccxtools.FemToolsCcx(analysis, solver_object, test_mode=True)
fea.update_objects()
diff --git a/src/Mod/Fem/femtest/app/test_object.py b/src/Mod/Fem/femtest/app/test_object.py
index 9e83965d9d..a435674e4b 100644
--- a/src/Mod/Fem/femtest/app/test_object.py
+++ b/src/Mod/Fem/femtest/app/test_object.py
@@ -328,7 +328,7 @@ class TestObjectType(unittest.TestCase):
solverelmer = ObjectsFem.makeSolverElmer(doc)
self.assertEqual(
"Fem::SolverCcxTools",
- type_of_obj(ObjectsFem.makeSolverCalculixCcxTools(doc))
+ type_of_obj(ObjectsFem.makeSolverCalculiXCcxTools(doc))
)
self.assertEqual(
"Fem::SolverCalculix",
@@ -574,7 +574,7 @@ class TestObjectType(unittest.TestCase):
))
solverelmer = ObjectsFem.makeSolverElmer(doc)
self.assertTrue(is_of_type(
- ObjectsFem.makeSolverCalculixCcxTools(doc),
+ ObjectsFem.makeSolverCalculiXCcxTools(doc),
"Fem::SolverCcxTools"
))
self.assertTrue(is_of_type(
@@ -1285,7 +1285,7 @@ class TestObjectType(unittest.TestCase):
))
# SolverCcxTools
- solver_ccxtools = ObjectsFem.makeSolverCalculixCcxTools(doc)
+ solver_ccxtools = ObjectsFem.makeSolverCalculiXCcxTools(doc)
self.assertTrue(is_derived_from(
solver_ccxtools,
"App::DocumentObject"
@@ -1745,7 +1745,7 @@ class TestObjectType(unittest.TestCase):
)
solverelmer = ObjectsFem.makeSolverElmer(doc)
self.assertTrue(
- ObjectsFem.makeSolverCalculixCcxTools(
+ ObjectsFem.makeSolverCalculiXCcxTools(
doc
).isDerivedFrom("Fem::FemSolverObjectPython")
)
@@ -1891,7 +1891,7 @@ def create_all_fem_objects_doc(
ObjectsFem.makePostVtkFilterCutFunction(doc, vres)
ObjectsFem.makePostVtkFilterWarp(doc, vres)
- analysis.addObject(ObjectsFem.makeSolverCalculixCcxTools(doc))
+ analysis.addObject(ObjectsFem.makeSolverCalculiXCcxTools(doc))
analysis.addObject(ObjectsFem.makeSolverCalculix(doc))
sol = analysis.addObject(ObjectsFem.makeSolverElmer(doc))[0]
analysis.addObject(ObjectsFem.makeSolverMystran(doc))
diff --git a/src/Mod/Fem/femtest/app/test_solver_calculix.py b/src/Mod/Fem/femtest/app/test_solver_calculix.py
deleted file mode 100644
index 184ad52d65..0000000000
--- a/src/Mod/Fem/femtest/app/test_solver_calculix.py
+++ /dev/null
@@ -1,384 +0,0 @@
-# ***************************************************************************
-# * Copyright (c) 2018 Bernd Hahnebach *
-# * *
-# * This file is part of the FreeCAD CAx development system. *
-# * *
-# * This program is free software; you can redistribute it and/or modify *
-# * it under the terms of the GNU Lesser General Public License (LGPL) *
-# * as published by the Free Software Foundation; either version 2 of *
-# * the License, or (at your option) any later version. *
-# * for detail see the LICENCE text file. *
-# * *
-# * This program is distributed in the hope that it will be useful, *
-# * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-# * GNU Library General Public License for more details. *
-# * *
-# * You should have received a copy of the GNU Library General Public *
-# * License along with this program; if not, write to the Free Software *
-# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *
-# * USA *
-# * *
-# ***************************************************************************
-
-__title__ = "Solver calculix FEM unit tests"
-__author__ = "Bernd Hahnebach"
-__url__ = "https://www.freecad.org"
-
-import unittest
-from os.path import join
-
-import FreeCAD
-
-import femsolver.run
-from . import support_utils as testtools
-from .support_utils import fcc_print
-from .support_utils import get_namefromdef
-
-
-class TestSolverCalculix(unittest.TestCase):
- fcc_print("import TestSolverCalculix")
-
- # ********************************************************************************************
- def setUp(
- self
- ):
- # setUp is executed before every test
-
- # new document
- self.document = FreeCAD.newDocument(self.__class__.__name__)
-
- # more inits
- self.pre_dir_name = "solver_calculix_"
- self.ending = ".inp"
- self.infilename = "Mesh"
- self.test_file_dir = join(
- testtools.get_fem_test_home_dir(),
- "calculix"
- )
-
- # ********************************************************************************************
- def tearDown(
- self
- ):
- # tearDown is executed after every test
- FreeCAD.closeDocument(self.document.Name)
-
- # ********************************************************************************************
- def test_00print(
- self
- ):
- # since method name starts with 00 this will be run first
- # this test just prints a line with stars
-
- fcc_print("\n{0}\n{1} run FEM TestSolverCalculix tests {2}\n{0}".format(
- 100 * "*",
- 10 * "*",
- 55 * "*"
- ))
-
- # ********************************************************************************************
- def test_box_frequency(
- self
- ):
- fcc_print("")
- from femexamples.boxanalysis_frequency import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_box_static(
- self
- ):
- fcc_print("")
- from femexamples.boxanalysis_static import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_ccx_buckling_flexuralbuckling(
- self
- ):
- from femexamples.ccx_buckling_flexuralbuckling import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_ccx_cantilever_beam_circle(
- self
- ):
- from femexamples.ccx_cantilever_beam_circle import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_ccx_cantilever_beam_pipe(
- self
- ):
- from femexamples.ccx_cantilever_beam_pipe import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_ccx_cantilever_beam_rect(
- self
- ):
- from femexamples.ccx_cantilever_beam_rect import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_ccx_cantilever_ele_hexa20(
- self
- ):
- from femexamples.ccx_cantilever_ele_hexa20 import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_ccx_cantilever_ele_quad4(
- self
- ):
- from femexamples.ccx_cantilever_ele_quad4 import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_ccx_cantilever_ele_quad8(
- self
- ):
- from femexamples.ccx_cantilever_ele_quad8 import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_ccx_cantilever_ele_seg2(
- self
- ):
- from femexamples.ccx_cantilever_ele_seg2 import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_ccx_cantilever_ele_seg3(
- self
- ):
- from femexamples.ccx_cantilever_ele_seg3 import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_ccx_cantilever_ele_tria3(
- self
- ):
- from femexamples.ccx_cantilever_ele_tria3 import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_ccx_cantilever_ele_tria6(
- self
- ):
- from femexamples.ccx_cantilever_ele_tria6 import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_ccx_cantilever_faceload(
- self
- ):
- from femexamples.ccx_cantilever_faceload import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_ccx_cantilever_nodeload(
- self
- ):
- from femexamples.ccx_cantilever_nodeload import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_ccx_cantilever_prescribeddisplacement(
- self
- ):
- from femexamples.ccx_cantilever_prescribeddisplacement import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_constraint_centrif(
- self
- ):
- # TODO does pass on my local machine, but not on ci
- return
-
- from femexamples.constraint_centrif import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_constraint_contact_shell_shell(
- self
- ):
- from femexamples.constraint_contact_shell_shell import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_constraint_contact_solid_solid(
- self
- ):
- # TODO does pass on my local machine, but not on ci
- return
-
- from femexamples.constraint_contact_solid_solid import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_constraint_sectionprint(
- self
- ):
- from femexamples.constraint_section_print import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_constraint_selfweight_cantilever(
- self
- ):
- from femexamples.constraint_selfweight_cantilever import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_constraint_tie(
- self
- ):
- from femexamples.constraint_tie import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_constraint_transform_beam_hinged(
- self
- ):
- from femexamples.constraint_transform_beam_hinged import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_constraint_transform_torque(
- self
- ):
- from femexamples.constraint_transform_torque import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_frequency_beamsimple(
- self
- ):
- from femexamples.frequency_beamsimple import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_material_multiple_bendingbeam_fiveboxes(
- self
- ):
- from femexamples.material_multiple_bendingbeam_fiveboxes import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_material_multiple_bendingbeam_fivefaces(
- self
- ):
- from femexamples.material_multiple_bendingbeam_fivefaces import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_material_multiple_tensionrod_twoboxes(
- self
- ):
- from femexamples.material_multiple_tensionrod_twoboxes import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_material_nonlinear(
- self
- ):
- from femexamples.material_nl_platewithhole import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_square_pipe_end_twisted_edgeforces(
- self
- ):
- from femexamples.square_pipe_end_twisted_edgeforces import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_square_pipe_end_twisted_nodeforces(
- self
- ):
- from femexamples.square_pipe_end_twisted_nodeforces import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def test_thermomech_bimetall(
- self
- ):
- from femexamples.thermomech_bimetall import setup
- setup(self.document, "calculix")
- self.input_file_writing_test(get_namefromdef("test_"))
-
- # ********************************************************************************************
- def input_file_writing_test(
- self,
- base_name
- ):
- self.document.recompute()
-
- # get analysis working directory and save FreeCAD file
- working_dir = testtools.get_fem_test_tmp_dir(self.pre_dir_name + base_name)
- save_fc_file = join(working_dir, base_name + ".FCStd")
- # fcc_print("Save FreeCAD file to {} ...".format(save_fc_file))
- self.document.saveAs(save_fc_file)
-
- # write input file
- machine = self.document.SolverCalculiX.Proxy.createMachine(
- self.document.SolverCalculiX,
- working_dir,
- True # set testmode to True
- )
- machine.target = femsolver.run.PREPARE
- machine.start()
- machine.join() # wait for the machine to finish
-
- # compare input file with the given one
- inpfile_given = join(
- self.test_file_dir,
- base_name + self.ending
- )
- inpfile_totest = join(
- working_dir,
- self.infilename + self.ending
- )
- # fcc_print("Comparing {} to {}".format(inpfile_given, inpfile_totest))
- ret = testtools.compare_inp_files(
- inpfile_given,
- inpfile_totest
- )
- self.assertFalse(
- ret,
- "CalculiX write_inp_file for {0} test failed.\n{1}".format(base_name, ret)
- )