[FEM] Elmer: use direct solving as default for stresses

- direct solving is sometimes even 10 times faster (as fast as CCX) and as accurate as CCX
This commit is contained in:
Uwe
2022-08-04 03:22:07 +02:00
parent 6af8a84a3c
commit ba858175fe
6 changed files with 14 additions and 25 deletions

View File

@@ -83,6 +83,10 @@ class Proxy(linear.Proxy, equationbase.ElasticityProxy):
obj.EigenmodesCount = 5
obj.Priority = 10
obj.CalculatePrincipal = True
# according to the Elmer tutorial and forum, for stresses direct solving
# is recommended -> test showed 10 times faster and even more accurate
obj.LinearSolverType = "Direct"
obj.LinearDirectMethod = "Umfpack"
class ViewProxy(linear.ViewProxy, equationbase.ElasticityViewProxy):

View File

@@ -15,13 +15,10 @@ Solver 1
Equation = String "Stress Solver"
Exec Solver = String "Always"
Linear System Abort Not Converged = Logical False
Linear System Convergence Tolerance = Real 1e-08
Linear System Iterative Method = String "BiCGStab"
Linear System Max Iterations = Integer 500
Linear System Direct Method = String "Umfpack"
Linear System Precondition Recompute = Integer 1
Linear System Preconditioning = String "ILU0"
Linear System Residual Output = Integer 1
Linear System Solver = String "Iterative"
Linear System Solver = String "Direct"
Optimize Bandwidth = Logical True
Procedure = File "StressSolve" "StressSolver"
Steady State Convergence Tolerance = Real 1e-05

View File

@@ -15,13 +15,10 @@ Solver 1
Equation = String "Stress Solver"
Exec Solver = String "Always"
Linear System Abort Not Converged = Logical False
Linear System Convergence Tolerance = Real 1e-08
Linear System Iterative Method = String "BiCGStab"
Linear System Max Iterations = Integer 500
Linear System Direct Method = String "Umfpack"
Linear System Precondition Recompute = Integer 1
Linear System Preconditioning = String "ILU0"
Linear System Residual Output = Integer 1
Linear System Solver = String "Iterative"
Linear System Solver = String "Direct"
Optimize Bandwidth = Logical True
Procedure = File "StressSolve" "StressSolver"
Steady State Convergence Tolerance = Real 1e-05

View File

@@ -15,13 +15,10 @@ Solver 1
Equation = String "Stress Solver"
Exec Solver = String "Always"
Linear System Abort Not Converged = Logical False
Linear System Convergence Tolerance = Real 1e-08
Linear System Iterative Method = String "BiCGStab"
Linear System Max Iterations = Integer 500
Linear System Direct Method = String "Umfpack"
Linear System Precondition Recompute = Integer 1
Linear System Preconditioning = String "ILU0"
Linear System Residual Output = Integer 1
Linear System Solver = String "Iterative"
Linear System Solver = String "Direct"
Optimize Bandwidth = Logical True
Procedure = File "StressSolve" "StressSolver"
Steady State Convergence Tolerance = Real 1e-05

View File

@@ -15,13 +15,10 @@ Solver 1
Equation = String "Stress Solver"
Exec Solver = String "Always"
Linear System Abort Not Converged = Logical False
Linear System Convergence Tolerance = Real 1e-08
Linear System Iterative Method = String "BiCGStab"
Linear System Max Iterations = Integer 500
Linear System Direct Method = String "Umfpack"
Linear System Precondition Recompute = Integer 1
Linear System Preconditioning = String "ILU0"
Linear System Residual Output = Integer 1
Linear System Solver = String "Iterative"
Linear System Solver = String "Direct"
Optimize Bandwidth = Logical True
Procedure = File "StressSolve" "StressSolver"
Steady State Convergence Tolerance = Real 1e-05

View File

@@ -15,13 +15,10 @@ Solver 1
Equation = String "Stress Solver"
Exec Solver = String "Always"
Linear System Abort Not Converged = Logical False
Linear System Convergence Tolerance = Real 1e-08
Linear System Iterative Method = String "BiCGStab"
Linear System Max Iterations = Integer 500
Linear System Direct Method = String "Umfpack"
Linear System Precondition Recompute = Integer 1
Linear System Preconditioning = String "ILU0"
Linear System Residual Output = Integer 1
Linear System Solver = String "Iterative"
Linear System Solver = String "Direct"
Optimize Bandwidth = Logical True
Procedure = File "StressSolve" "StressSolver"
Steady State Convergence Tolerance = Real 1e-05