FEM: ccxInpWriter, add Nodes dict to self object
This commit is contained in:
parent
c1bf26bbd7
commit
74a43f23b3
|
@ -64,6 +64,7 @@ class inp_writer:
|
|||
self.fc_ver = FreeCAD.Version()
|
||||
self.ccx_eall = 'Eall'
|
||||
self.ccx_elsets = []
|
||||
self.fem_mesh_nodes = {}
|
||||
|
||||
def write_calculix_input_file(self):
|
||||
self.mesh_object.FemMesh.writeABAQUS(self.file_name)
|
||||
|
@ -835,15 +836,16 @@ class inp_writer:
|
|||
# [ (nodeID, length), ... , (nodeID, length) ] some nodes will have more than one entry
|
||||
node_length_table = []
|
||||
mesh_edge_length = 0
|
||||
mesh_nodes = self.mesh_object.FemMesh.Nodes
|
||||
if not self.fem_mesh_nodes:
|
||||
self.fem_mesh_nodes = self.mesh_object.FemMesh.Nodes
|
||||
# print(len(edge_table))
|
||||
for me in edge_table:
|
||||
if len(edge_table[me]) == 2: # 2 node mesh edge
|
||||
# end_node_length = mesh_edge_length / 2
|
||||
# ______
|
||||
# P1 P2
|
||||
P1 = mesh_nodes[edge_table[me][0]]
|
||||
P2 = mesh_nodes[edge_table[me][1]]
|
||||
P1 = self.fem_mesh_nodes[edge_table[me][0]]
|
||||
P2 = self.fem_mesh_nodes[edge_table[me][1]]
|
||||
edge_vec = P2 - P1
|
||||
mesh_edge_length = edge_vec.Length
|
||||
# print(mesh_edge_length)
|
||||
|
@ -856,9 +858,9 @@ class inp_writer:
|
|||
# middle_node_length = mesh_face_area * 2 / 3
|
||||
# _______ _______
|
||||
# P1 P3 P2
|
||||
P1 = mesh_nodes[edge_table[me][0]]
|
||||
P2 = mesh_nodes[edge_table[me][1]]
|
||||
P3 = mesh_nodes[edge_table[me][2]]
|
||||
P1 = self.fem_mesh_nodes[edge_table[me][0]]
|
||||
P2 = self.fem_mesh_nodes[edge_table[me][1]]
|
||||
P3 = self.fem_mesh_nodes[edge_table[me][2]]
|
||||
edge_vec1 = P3 - P1
|
||||
edge_vec2 = P2 - P3
|
||||
mesh_edge_length = edge_vec1.Length + edge_vec2.Length
|
||||
|
@ -880,7 +882,8 @@ class inp_writer:
|
|||
# [ (nodeID,Area), ... , (nodeID,Area) ] some nodes will have more than one entry
|
||||
node_area_table = []
|
||||
mesh_face_area = 0
|
||||
mesh_nodes = self.mesh_object.FemMesh.Nodes
|
||||
if not self.fem_mesh_nodes:
|
||||
self.fem_mesh_nodes = self.mesh_object.FemMesh.Nodes
|
||||
for mf in face_table:
|
||||
if len(face_table[mf]) == 3: # 3 node mesh face triangle
|
||||
# corner_node_area = mesh_face_area / 3.0
|
||||
|
@ -889,9 +892,9 @@ class inp_writer:
|
|||
# / \
|
||||
# /____\
|
||||
# P1 P2
|
||||
P1 = mesh_nodes[face_table[mf][0]]
|
||||
P2 = mesh_nodes[face_table[mf][1]]
|
||||
P3 = mesh_nodes[face_table[mf][2]]
|
||||
P1 = self.fem_mesh_nodes[face_table[mf][0]]
|
||||
P2 = self.fem_mesh_nodes[face_table[mf][1]]
|
||||
P3 = self.fem_mesh_nodes[face_table[mf][2]]
|
||||
|
||||
mesh_face_area = getTriangleArea(P1, P2, P3)
|
||||
corner_node_area = mesh_face_area / 3.0
|
||||
|
@ -915,12 +918,12 @@ class inp_writer:
|
|||
# /t1 \ /t2 \
|
||||
# /_____\/_____\
|
||||
# P1 P4 P2
|
||||
P1 = mesh_nodes[face_table[mf][0]]
|
||||
P2 = mesh_nodes[face_table[mf][1]]
|
||||
P3 = mesh_nodes[face_table[mf][2]]
|
||||
P4 = mesh_nodes[face_table[mf][3]]
|
||||
P5 = mesh_nodes[face_table[mf][4]]
|
||||
P6 = mesh_nodes[face_table[mf][5]]
|
||||
P1 = self.fem_mesh_nodes[face_table[mf][0]]
|
||||
P2 = self.fem_mesh_nodes[face_table[mf][1]]
|
||||
P3 = self.fem_mesh_nodes[face_table[mf][2]]
|
||||
P4 = self.fem_mesh_nodes[face_table[mf][3]]
|
||||
P5 = self.fem_mesh_nodes[face_table[mf][4]]
|
||||
P6 = self.fem_mesh_nodes[face_table[mf][5]]
|
||||
|
||||
mesh_face_t1_area = getTriangleArea(P1, P4, P6)
|
||||
mesh_face_t2_area = getTriangleArea(P2, P5, P4)
|
||||
|
|
Loading…
Reference in New Issue
Block a user