diff --git a/src/Mod/Fem/femexamples/material_nl_platewithhole.py b/src/Mod/Fem/femexamples/material_nl_platewithhole.py index e81d72f71a..6ce3d71ec8 100644 --- a/src/Mod/Fem/femexamples/material_nl_platewithhole.py +++ b/src/Mod/Fem/femexamples/material_nl_platewithhole.py @@ -149,8 +149,7 @@ def setup(doc=None, solvertype="ccxtools"): # nonlinear material name_nlm = "Material_nonlin" nonlinear_mat = ObjectsFem.makeMaterialMechanicalNonlinear(doc, material_obj, name_nlm) - nonlinear_mat.YieldPoint1 = '240.0, 0.0' - nonlinear_mat.YieldPoint2 = '270.0, 0.025' + nonlinear_mat.YieldPoints = ['240.0, 0.0', '270.0, 0.025'] analysis.addObject(nonlinear_mat) # check solver attributes, Nonlinearity needs to be set to nonlinear diff --git a/src/Mod/Fem/femobjects/material_mechanicalnonlinear.py b/src/Mod/Fem/femobjects/material_mechanicalnonlinear.py index 9184aa26ac..8aa8b3b577 100644 --- a/src/Mod/Fem/femobjects/material_mechanicalnonlinear.py +++ b/src/Mod/Fem/femobjects/material_mechanicalnonlinear.py @@ -60,25 +60,10 @@ class MaterialMechanicalNonlinear(base_fempythonobject.BaseFemPythonObject): obj.MaterialModelNonlinearity = choices_nonlinear_material_models[0] obj.addProperty( - "App::PropertyString", - "YieldPoint1", + "App::PropertyStringList", + "YieldPoints", "Fem", - "Set stress and strain for yield point one, separated by a comma." + "Set stress and strain for yield points as a list of strings, " + "each point \"stress, plastic strain\"" ) - obj.YieldPoint1 = "235.0, 0.0" - - obj.addProperty( - "App::PropertyString", - "YieldPoint2", - "Fem", - "Set stress and strain for yield point two, separated by a comma." - ) - obj.YieldPoint2 = "241.0, 0.025" - - obj.addProperty( - "App::PropertyString", - "YieldPoint3", - "Fem", - "Set stress and strain for yield point three, separated by a comma." - ) - obj.YieldPoint3 = "" + obj.YieldPoints = [] diff --git a/src/Mod/Fem/femsolver/calculix/write_femelement_material.py b/src/Mod/Fem/femsolver/calculix/write_femelement_material.py index 98747fd7b5..edccbd6135 100644 --- a/src/Mod/Fem/femsolver/calculix/write_femelement_material.py +++ b/src/Mod/Fem/femsolver/calculix/write_femelement_material.py @@ -113,10 +113,6 @@ def write_femelement_material(f, ccxwriter): if nl_mat_obj.LinearBaseMaterial == mat_obj: if nl_mat_obj.MaterialModelNonlinearity == "simple hardening": f.write("*PLASTIC\n") - if nl_mat_obj.YieldPoint1: - f.write("{}\n".format(nl_mat_obj.YieldPoint1)) - if nl_mat_obj.YieldPoint2: - f.write("{}\n".format(nl_mat_obj.YieldPoint2)) - if nl_mat_obj.YieldPoint3: - f.write("{}\n".format(nl_mat_obj.YieldPoint3)) + for yield_point in nl_mat_obj.YieldPoints: + f.write("{}\n".format(yield_point)) f.write("\n")