FEM: Add accuracy parameter for CalculiX buckling analysis (#18790)
* FEM: Update solver.py * FEM: Update write_step_equation.py * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
@@ -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"""
|
||||
|
||||
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user