From 6e05fb0d290fd892a886c101fabb7a1190b84d7b Mon Sep 17 00:00:00 2001 From: Bernd Hahnebach Date: Sun, 25 Sep 2016 19:36:22 +0100 Subject: [PATCH] FEM: change ccx solver property name from IterationsMaximum to IterationsThermoMechMaximum and only write if set > 0 --- src/Mod/Fem/FemInputWriterCcx.py | 3 ++- src/Mod/Fem/TestFem.py | 2 +- src/Mod/Fem/_FemSolverCalculix.py | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Mod/Fem/FemInputWriterCcx.py b/src/Mod/Fem/FemInputWriterCcx.py index c15cb1f8e..d7c135104 100644 --- a/src/Mod/Fem/FemInputWriterCcx.py +++ b/src/Mod/Fem/FemInputWriterCcx.py @@ -414,7 +414,8 @@ class FemInputWriterCcx(FemInputWriter.FemInputWriter): thermomech_step = '*STEP' if self.solver_obj.GeometricalNonlinearity == "nonlinear": thermomech_step += ', NLGEOM' - thermomech_step += ', INC=' + str(self.solver_obj.IterationsMaximum) + if self.solver_obj.IterationsThermoMechMaximum: + thermomech_step += ', INC=' + str(self.solver_obj.IterationsThermoMechMaximum) f.write(thermomech_step + '\n') if self.solver_obj.IterationsControlParameterTimeUse: f.write('*CONTROLS, PARAMETERS=TIME INCREMENTATION\n') diff --git a/src/Mod/Fem/TestFem.py b/src/Mod/Fem/TestFem.py index d66b4c9c6..4a0f4a6ca 100644 --- a/src/Mod/Fem/TestFem.py +++ b/src/Mod/Fem/TestFem.py @@ -339,7 +339,7 @@ class TherMechFemTest(unittest.TestCase): self.solver_object.GeometricalNonlinearity = 'linear' self.solver_object.ThermoMechSteadyState = True self.solver_object.MatrixSolverType = 'default' - self.solver_object.IterationsMaximum = 2000 + self.solver_object.IterationsThermoMechMaximum = 2000 self.solver_object.IterationsControlParameterTimeUse = True self.active_doc.recompute() diff --git a/src/Mod/Fem/_FemSolverCalculix.py b/src/Mod/Fem/_FemSolverCalculix.py index cb5252a30..10717d91e 100644 --- a/src/Mod/Fem/_FemSolverCalculix.py +++ b/src/Mod/Fem/_FemSolverCalculix.py @@ -72,9 +72,9 @@ class _FemSolverCalculix(): ehl = ccx_prefs.GetFloat("EigenmodeHighLimit", 1000000.0) obj.EigenmodeHighLimit = (ehl, 0.0, 1000000.0, 10000.0) - obj.addProperty("App::PropertyIntegerConstraint", "IterationsMaximum", "Fem", "Number of iterations allowed before stopping jobs") + obj.addProperty("App::PropertyIntegerConstraint", "IterationsThermoMechMaximum", "Fem", "Maximum Number of thermo mechanical iterations in each time step before stopping jobs") niter = ccx_prefs.GetInt("AnalysisMaxIterations", 200) - obj.IterationsMaximum = niter + obj.IterationsThermoMechMaximum = niter obj.addProperty("App::PropertyFloatConstraint", "TimeInitialStep", "Fem", "Initial time steps") ini = ccx_prefs.GetFloat("AnalysisTimeInitialStep", 1.0)