FEM new matrix solver types (PaStiX and Pardiso) (#12478)

* Update solver.py
* Update write_step_equation.py
* Update DlgSettingsFemCcx.ui
This commit is contained in:
FEA-eng
2024-02-18 03:14:32 +01:00
committed by GitHub
parent 84b7304a6e
commit 7d40503bc9
3 changed files with 16 additions and 0 deletions

View File

@@ -343,6 +343,16 @@
<string>Default</string>
</property>
</item>
<item>
<property name="text">
<string>PaStiX</string>
</property>
</item>
<item>
<property name="text">
<string>Pardiso</string>
</property>
</item>
<item>
<property name="text">
<string>Spooles</string>

View File

@@ -345,6 +345,8 @@ def add_attributes(obj, ccx_prefs):
if not hasattr(obj, "MatrixSolverType"):
known_ccx_solver_types = [
"default",
"pastix",
"pardiso",
"spooles",
"iterativescaling",
"iterativecholesky"

View File

@@ -81,6 +81,10 @@ def write_step_equation(f, ccxwriter):
# https://forum.freecad.org/viewtopic.php?f=18&t=43178
if ccxwriter.solver_obj.MatrixSolverType == "default":
pass
elif ccxwriter.solver_obj.MatrixSolverType == "pastix":
analysis_type += ", SOLVER=PASTIX"
elif ccxwriter.solver_obj.MatrixSolverType == "pardiso":
analysis_type += ", SOLVER=PARDISO"
elif ccxwriter.solver_obj.MatrixSolverType == "spooles":
analysis_type += ", SOLVER=SPOOLES"
elif ccxwriter.solver_obj.MatrixSolverType == "iterativescaling":