Skip to content

Commit

Permalink
FEM: mesh tools, better logging
Browse files Browse the repository at this point in the history
  • Loading branch information
berndhahnebach committed Mar 1, 2020
1 parent 3f39973 commit b1a95ff
Showing 1 changed file with 11 additions and 8 deletions.
19 changes: 11 additions & 8 deletions src/Mod/Fem/femmesh/meshtools.py
Expand Up @@ -1418,11 +1418,13 @@ def build_mesh_faces_of_volume_elements(
FreeCAD.Console.PrintLog(" --> {}\n".format(femelement_table[veID]))
FreeCAD.Console.PrintLog(" --> {}\n".format(face_table[veID]))
FreeCAD.Console.PrintLog(" --> {}\n".format(face_nodenumber_table[veID]))

for veID in face_nodenumber_table:
FreeCAD.Console.PrintLog("VolElement: {}\n".format(veID))
vol_node_ct = len(femelement_table[veID])
face_node_indexs = sorted(face_nodenumber_table[veID])
# tetra10 --> tria6 face
if vol_node_ct == 10:
FreeCAD.Console.PrintLog(" --> tetra10 --> tria6 face\n")
# node order of face in tetra10 volume element
if face_node_indexs == [1, 2, 3, 5, 6, 7]:
# node order of a tria6 face of tetra10
Expand All @@ -1439,8 +1441,8 @@ def build_mesh_faces_of_volume_elements(
"hexa20: face not found! {}\n"
.format(face_node_indexs)
)
# tetra4 --> tria3 face
elif vol_node_ct == 4:
FreeCAD.Console.PrintLog(" --> tetra4 --> tria3 face\n")
# node order of face in tetra4 volume element
if face_node_indexs == [1, 2, 3]:
# node order of a tria3 face of tetra4
Expand All @@ -1457,7 +1459,8 @@ def build_mesh_faces_of_volume_elements(
"hexa20: face not found! {}\n"
.format(face_node_indexs)
)
elif vol_node_ct == 20: # hexa20 --> quad8 face
elif vol_node_ct == 20:
FreeCAD.Console.PrintLog(" --> hexa20 --> quad8 face\n")
# node order of face in hexa20 volume element
if face_node_indexs == [1, 2, 3, 4, 9, 10, 11, 12]:
# node order of a quad8 face of hexa20
Expand All @@ -1478,8 +1481,8 @@ def build_mesh_faces_of_volume_elements(
"hexa20: face not found! {}\n"
.format(face_node_indexs)
)
elif vol_node_ct == 8: # hexa8 --> quad4 face
face_node_indexs = sorted(face_nodenumber_table[veID])
elif vol_node_ct == 8:
FreeCAD.Console.PrintLog(" --> hexa8 --> quad4 face\n")
# node order of face in hexa8 volume element
if face_node_indexs == [1, 2, 3, 4]:
# node order of a quad8 face of hexa8
Expand All @@ -1500,8 +1503,8 @@ def build_mesh_faces_of_volume_elements(
"hexa20: face not found! {}\n"
.format(face_node_indexs)
)
# penta15 --> tria6 and quad8 faces
elif vol_node_ct == 15:
FreeCAD.Console.PrintLog(" --> penta15 --> tria6 and quad8 faces\n")
# node order of face in penta15 volume element
if face_node_indexs == [1, 2, 3, 7, 8, 9]:
# node order of a tria6 face of penta15
Expand All @@ -1520,8 +1523,8 @@ def build_mesh_faces_of_volume_elements(
"penta15: face not found! {}\n"
.format(face_node_indexs)
)
# penta6 --> tria3 and quad4 faces
elif vol_node_ct == 6:
FreeCAD.Console.PrintLog(" --> penta6 --> tria3 and quad4 faces\n")
# node order of face in penta6 volume element
if face_node_indexs == [1, 2, 3]:
# node order of a tria3 face of penta6
Expand Down Expand Up @@ -1554,7 +1557,7 @@ def build_mesh_faces_of_volume_elements(
i -= 1
face_nodes.append(femelement_table[veID][i])
face_table[veID] = face_nodes # reset the entry in face_table
# FreeCAD.Console.PrintMessage(" --> {}\n".format(face_table[veID]))
FreeCAD.Console.PrintLog(" --> {}\n".format(face_table[veID]))
return face_table


Expand Down

0 comments on commit b1a95ff

Please sign in to comment.