FEM: inp import, add Seg3 to python mesh import tools and inp import

This commit is contained in:
Bernd Hahnebach
2017-07-17 17:24:38 +01:00
committed by Yorik van Havre
parent 8671021f42
commit f9bf80e22e
2 changed files with 22 additions and 15 deletions

View File

@@ -239,4 +239,4 @@ def read_inp(file_name):
'Hexa8Elem': elements.hexa8, 'Penta6Elem': elements.penta6, 'Tetra4Elem': elements.tetra4,
'Tetra10Elem': elements.tetra10, 'Penta15Elem': elements.penta15, 'Hexa20Elem': elements.hexa20,
'Tria3Elem': elements.tria3, 'Tria6Elem': elements.tria6, 'Quad4Elem': elements.quad4,
'Quad8Elem': elements.quad8, 'Seg2Elem': elements.seg2} # , 'Seg3Elem': elements.seg3}
'Quad8Elem': elements.quad8, 'Seg2Elem': elements.seg2, 'Seg3Elem': elements.seg3}

View File

@@ -113,17 +113,20 @@ def make_femmesh(mesh_data):
m = mesh_data
if ('Nodes' in m) and (len(m['Nodes']) > 0):
print("Found: nodes")
if (('Seg2Elem' in m) or
('Tria3Elem' in m) or
('Tria6Elem' in m) or
('Quad4Elem' in m) or
('Quad8Elem' in m) or
('Tetra4Elem' in m) or
('Tetra10Elem' in m) or
('Penta6Elem' in m) or
('Penta15Elem' in m) or
('Hexa8Elem' in m) or
('Hexa20Elem' in m)):
if (
('Seg2Elem' in m) or
('Seg3Elem' in m) or
('Tria3Elem' in m) or
('Tria6Elem' in m) or
('Quad4Elem' in m) or
('Quad8Elem' in m) or
('Tetra4Elem' in m) or
('Tetra10Elem' in m) or
('Penta6Elem' in m) or
('Penta15Elem' in m) or
('Hexa8Elem' in m) or
('Hexa20Elem' in m)
):
nds = m['Nodes']
print("Found: elements")
@@ -175,11 +178,15 @@ def make_femmesh(mesh_data):
elms_seg2 = m['Seg2Elem']
for i in elms_seg2:
e = elms_seg2[i]
mesh.addEdge(e[0], e[1])
mesh.addEdge([e[0], e[1]], i)
elms_seg3 = m['Seg3Elem']
for i in elms_seg3:
e = elms_seg3[i]
mesh.addEdge([e[0], e[1], e[2]], i)
print("imported mesh: {} nodes, {} HEXA8, {} PENTA6, {} TETRA4, {} TETRA10, {} PENTA15".format(
len(nds), len(elms_hexa8), len(elms_penta6), len(elms_tetra4), len(elms_tetra10), len(elms_penta15)))
print("imported mesh: {} HEXA20, {} TRIA3, {} TRIA6, {} QUAD4, {} QUAD8, {} SEG2".format(
len(elms_hexa20), len(elms_tria3), len(elms_tria6), len(elms_quad4), len(elms_quad8), len(elms_seg2)))
print("imported mesh: {} HEXA20, {} TRIA3, {} TRIA6, {} QUAD4, {} QUAD8, {} SEG2, {} SEG3".format(
len(elms_hexa20), len(elms_tria3), len(elms_tria6), len(elms_quad4), len(elms_quad8), len(elms_seg2), len(elms_seg3)))
else:
FreeCAD.Console.PrintError("No Elements found!\n")
else: