FEM: nonlinear material, add a third yield point and only write yield points if they are not empty

This commit is contained in:
Bernd Hahnebach
2017-07-01 13:17:07 +02:00
committed by wmayer
parent 06054bdeb4
commit 3f16f0ae62
2 changed files with 10 additions and 3 deletions

View File

@@ -603,8 +603,12 @@ class FemInputWriterCcx(FemInputWriter.FemInputWriter):
if nl_mat_obj.LinearBaseMaterial == mat_obj:
if nl_mat_obj.MaterialModelNonlinearity == "simple hardening":
f.write('*PLASTIC\n')
f.write(nl_mat_obj.YieldPoint1 + '\n')
f.write(nl_mat_obj.YieldPoint2 + '\n')
if nl_mat_obj.YieldPoint1:
f.write(nl_mat_obj.YieldPoint1 + '\n')
if nl_mat_obj.YieldPoint2:
f.write(nl_mat_obj.YieldPoint2 + '\n')
if nl_mat_obj.YieldPoint3:
f.write(nl_mat_obj.YieldPoint3 + '\n')
f.write('\n')
def write_constraints_initialtemperature(self, f):

View File

@@ -44,8 +44,11 @@ class _FemMaterialMechanicalNonlinear:
obj.addProperty("App::PropertyString", "YieldPoint1", "Fem", "Set stress and strain for yield point one, separated by a comma.")
obj.YieldPoint1 = "235.0, 0.0"
obj.addProperty("App::PropertyString", "YieldPoint2", "Fem", "Set stress and strain for yield point one, separated by a comma.")
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 = ""
def execute(self, obj):
return