FEM: inout, read all strain values
This commit is contained in:
committed by
Yorik van Havre
parent
43072c12ea
commit
347ee59f90
@@ -436,10 +436,10 @@ def read_frd_result(frd_input):
|
||||
strain_1 = float(line[13:25])
|
||||
strain_2 = float(line[25:37])
|
||||
strain_3 = float(line[37:49])
|
||||
# strain_4 = float(line[49:61]) # Not used in vector
|
||||
# strain_5 = float(line[61:73])
|
||||
# strain_6 = float(line[73:85])
|
||||
mode_strain[elem] = FreeCAD.Vector(strain_1, strain_2, strain_3)
|
||||
strain_4 = float(line[49:61])
|
||||
strain_5 = float(line[61:73])
|
||||
strain_6 = float(line[73:85])
|
||||
mode_strain[elem] = (strain_1, strain_2, strain_3, strain_4, strain_5, strain_6)
|
||||
|
||||
# Check if we found an equivalent plastic strain section
|
||||
if line[5:7] == "PE":
|
||||
@@ -512,7 +512,8 @@ def read_frd_result(frd_input):
|
||||
node_element_section = False
|
||||
|
||||
if mode_strain_found:
|
||||
mode_results['strainv'] = mode_strain
|
||||
mode_results['strain'] = mode_strain
|
||||
|
||||
mode_strain = {}
|
||||
mode_strain_found = False
|
||||
node_element_section = False
|
||||
|
||||
@@ -255,8 +255,11 @@ def fill_femresult_mechanical(res_obj, result_set):
|
||||
.format(res_obj.NodeNumbers, len(res_obj.StressValues)))
|
||||
|
||||
# fill res_obj.StrainVectors if they exist
|
||||
if 'strainv' in result_set:
|
||||
strainv = result_set['strainv']
|
||||
if 'strain' in result_set:
|
||||
strain = result_set['strain']
|
||||
strainv = {}
|
||||
for i, values_E in enumerate(strain.values()): # values_E .. straintuple .. (Exx, Eyy, Ezz, Exy, Eyz, Ezx)
|
||||
strainv[i] = (FreeCAD.Vector(values_E[0], values_E[1], values_E[2]))
|
||||
res_obj.StrainVectors = list(map((lambda x: x * scale), strainv.values()))
|
||||
|
||||
# calculate von Mises, principal and max Shear and fill them in res_obj
|
||||
|
||||
Reference in New Issue
Block a user