diff --git a/src/Mod/Fem/femsolver/calculix/solver.py b/src/Mod/Fem/femsolver/calculix/solver.py index e8a2f22839..c982e4553a 100644 --- a/src/Mod/Fem/femsolver/calculix/solver.py +++ b/src/Mod/Fem/femsolver/calculix/solver.py @@ -316,6 +316,15 @@ class _BaseSolverCalculix: ) obj.ThermoMechType = thermomech_types + if not hasattr(obj, "BucklingAccuracy"): + obj.addProperty( + "App::PropertyFloatConstraint", + "BucklingAccuracy", + "Fem", + "Accuracy for buckling analysis", + ) + obj.BucklingAccuracy = 0.01 + class Proxy(solverbase.Proxy, _BaseSolverCalculix): """The Fem::FemSolver's Proxy python type, add solver specific properties""" diff --git a/src/Mod/Fem/femsolver/calculix/write_step_equation.py b/src/Mod/Fem/femsolver/calculix/write_step_equation.py index 0908aee716..1bce3a9623 100644 --- a/src/Mod/Fem/femsolver/calculix/write_step_equation.py +++ b/src/Mod/Fem/femsolver/calculix/write_step_equation.py @@ -154,7 +154,10 @@ def write_step_equation(f, ccxwriter): ccxwriter.solver_obj.TimeMaximumStep, ) elif ccxwriter.analysis_type == "buckling": - analysis_parameter = f"{ccxwriter.solver_obj.BucklingFactors}\n" + analysis_parameter = "{},{}".format( + ccxwriter.solver_obj.BucklingFactors, + ccxwriter.solver_obj.BucklingAccuracy, + ) # write analysis type line, analysis parameter line f.write(analysis_type + "\n")