81
81
if elements_found and (line[1:3] == "-1"):
82
82
elem = int(line[4:13])
83
83
elemType = int(line[14:18])
84
#then the 8 id's for the HEXA8 element
85
if elements_found and (line[1:3] == "-2") and elemType == 1:
86
node_id_5 = int(line[3:13])
87
node_id_6 = int(line[13:23])
88
node_id_7 = int(line[23:33])
89
node_id_8 = int(line[33:43])
90
node_id_1 = int(line[43:53])
91
node_id_2 = int(line[53:63])
92
node_id_3 = int(line[63:73])
93
node_id_4 = int(line[73:83])
94
elements_hexa8[elem] = (node_id_1, node_id_2, node_id_3, node_id_4, node_id_5, node_id_6, node_id_7, node_id_8)
95
#then the 6 id's for the PENTA6 element
96
if elements_found and (line[1:3] == "-2") and elemType == 2:
97
node_id_4 = int(line[3:13])
98
node_id_5 = int(line[13:23])
99
node_id_6 = int(line[23:33])
100
node_id_1 = int(line[33:43])
101
node_id_2 = int(line[43:53])
102
node_id_3 = int(line[53:63])
103
elements_penta6[elem] = (node_id_1, node_id_2, node_id_3, node_id_4, node_id_5, node_id_6)
104
#then the 4 id's for the TETRA4 element
105
if elements_found and (line[1:3] == "-2") and elemType == 3:
106
node_id_2 = int(line[3:13])
107
node_id_1 = int(line[13:23])
108
node_id_3 = int(line[23:33])
109
node_id_4 = int(line[33:43])
110
elements_tetra4[elem] = (node_id_1, node_id_2, node_id_3, node_id_4)
111
#then the 20 id's for the HEXA20 element
112
if elements_found and (line[1:3] == "-2") and elemType == 4 and input_continues == False:
113
node_id_5 = int(line[3:13])
114
node_id_6 = int(line[13:23])
115
node_id_7 = int(line[23:33])
116
node_id_8 = int(line[33:43])
117
node_id_1 = int(line[43:53])
118
node_id_2 = int(line[53:63])
119
node_id_3 = int(line[63:73])
120
node_id_4 = int(line[73:83])
121
node_id_13 = int(line[83:93])
122
node_id_14 = int(line[93:103])
123
input_continues = True
124
elif elements_found and (line[1:3] == "-2") and elemType == 4 and input_continues == True:
125
node_id_15 = int(line[3:13])
126
node_id_16 = int(line[13:23])
127
node_id_9 = int(line[23:33])
128
node_id_10 = int(line[33:43])
129
node_id_11 = int(line[43:53])
130
node_id_12 = int(line[53:63])
131
node_id_17 = int(line[63:73])
132
node_id_18 = int(line[73:83])
133
node_id_19 = int(line[83:93])
134
node_id_20 = int(line[93:103])
135
input_continues = False
136
elements_hexa20[elem] = ( node_id_1, node_id_2, node_id_3, node_id_4, node_id_5, node_id_6, node_id_7, node_id_8, node_id_9, node_id_10,
137
node_id_11,node_id_12,node_id_13,node_id_14,node_id_15,node_id_16,node_id_17,node_id_18,node_id_19, node_id_20)
138
#then the 15 id's for the PENTA15 element
139
if elements_found and (line[1:3] == "-2") and elemType == 5 and input_continues == False:
140
node_id_4 = int(line[3:13])
141
node_id_5 = int(line[13:23])
142
node_id_6 = int(line[23:33])
143
node_id_1 = int(line[33:43])
144
node_id_2 = int(line[43:53])
145
node_id_3 = int(line[53:63])
146
node_id_10 = int(line[63:73])
147
node_id_11 = int(line[73:83])
148
node_id_12 = int(line[83:93])
149
node_id_13 = int(line[93:103])
150
input_continues = True
151
elif elements_found and (line[1:3] == "-2") and elemType == 5 and input_continues == True:
152
node_id_14 = int(line[3:13])
153
node_id_15 = int(line[13:23])
154
node_id_7 = int(line[23:33])
155
node_id_8 = int(line[33:43])
156
node_id_9 = int(line[43:53])
157
input_continues = False
158
elements_penta15[elem] = ( node_id_1, node_id_2, node_id_3, node_id_4, node_id_5, node_id_6, node_id_7, node_id_8, node_id_9, node_id_10,
159
node_id_11,node_id_12,node_id_13,node_id_14,node_id_15)
160
#then the 10 id's for the TETRA10 element
161
if elements_found and (line[1:3] == "-2") and elemType == 6:
162
node_id_2 = int(line[3:13])
163
node_id_1 = int(line[13:23])
164
node_id_3 = int(line[23:33])
165
node_id_4 = int(line[33:43])
166
node_id_5 = int(line[43:53])
167
node_id_7 = int(line[53:63])
168
node_id_6 = int(line[63:73])
169
node_id_9 = int(line[73:83])
170
node_id_8 = int(line[83:93])
171
node_id_10 = int(line[93:103])
172
elements_tetra10[elem] = (node_id_1, node_id_2, node_id_3, node_id_4, node_id_5, node_id_6, node_id_7, node_id_8, node_id_9, node_id_10)
173
#then the 3 id's for the TRIA3 element
174
if elements_found and (line[1:3] == "-2") and elemType == 7:
175
node_id_1 = int(line[3:13])
176
node_id_2 = int(line[13:23])
177
node_id_3 = int(line[23:33])
178
elements_tria3[elem] = (node_id_1, node_id_2, node_id_3)
179
#then the 6 id's for the TRIA6 element
180
if elements_found and (line[1:3] == "-2") and elemType == 8:
181
node_id_1 = int(line[3:13])
182
node_id_2 = int(line[13:23])
183
node_id_3 = int(line[23:33])
184
node_id_4 = int(line[33:43])
185
node_id_5 = int(line[43:53])
186
node_id_6 = int(line[53:63])
187
elements_tria6[elem] = (node_id_1, node_id_2, node_id_3, node_id_4, node_id_5, node_id_6)
188
#then the 4 id's for the QUAD4 element
189
if elements_found and (line[1:3] == "-2") and elemType == 9:
190
node_id_1 = int(line[3:13])
191
node_id_2 = int(line[13:23])
192
node_id_3 = int(line[23:33])
193
node_id_4 = int(line[33:43])
194
elements_quad4[elem] = (node_id_1, node_id_2, node_id_3, node_id_4)
195
#then the 8 id's for the QUAD8 element
196
if elements_found and (line[1:3] == "-2") and elemType == 10:
197
node_id_1 = int(line[3:13])
198
node_id_2 = int(line[13:23])
199
node_id_3 = int(line[23:33])
200
node_id_4 = int(line[33:43])
201
node_id_5 = int(line[43:53])
202
node_id_6 = int(line[53:63])
203
node_id_7 = int(line[63:73])
204
node_id_8 = int(line[73:83])
205
elements_quad8[elem] = (node_id_1, node_id_2, node_id_3, node_id_4, node_id_5, node_id_6, node_id_7, node_id_8)
206
#then the 2 id's for the SEG2 element
207
if elements_found and (line[1:3] == "-2") and elemType == 11:
208
node_id_1 = int(line[3:13])
209
node_id_2 = int(line[13:23])
210
elements_seg2[elem] = (node_id_1, node_id_2)
85
if elements_found and (line[1:3] == "-2"):
86
if elemType == 1: # HEXA8 element
87
node_id_5 = int(line[3:13])
88
node_id_6 = int(line[13:23])
89
node_id_7 = int(line[23:33])
90
node_id_8 = int(line[33:43])
91
node_id_1 = int(line[43:53])
92
node_id_2 = int(line[53:63])
93
node_id_3 = int(line[63:73])
94
node_id_4 = int(line[73:83])
95
elements_hexa8[elem] = (node_id_1, node_id_2, node_id_3, node_id_4, node_id_5, node_id_6, node_id_7, node_id_8)
96
elif elemType == 2: # PENTA6 element
97
node_id_4 = int(line[3:13])
98
node_id_5 = int(line[13:23])
99
node_id_6 = int(line[23:33])
100
node_id_1 = int(line[33:43])
101
node_id_2 = int(line[43:53])
102
node_id_3 = int(line[53:63])
103
elements_penta6[elem] = (node_id_1, node_id_2, node_id_3, node_id_4, node_id_5, node_id_6)
104
elif elemType == 3: # TETRA4 element
105
node_id_2 = int(line[3:13])
106
node_id_1 = int(line[13:23])
107
node_id_3 = int(line[23:33])
108
node_id_4 = int(line[33:43])
109
elements_tetra4[elem] = (node_id_1, node_id_2, node_id_3, node_id_4)
110
elif elemType == 4 and input_continues == False: # HEXA20 element (1st line)
111
node_id_5 = int(line[3:13])
112
node_id_6 = int(line[13:23])
113
node_id_7 = int(line[23:33])
114
node_id_8 = int(line[33:43])
115
node_id_1 = int(line[43:53])
116
node_id_2 = int(line[53:63])
117
node_id_3 = int(line[63:73])
118
node_id_4 = int(line[73:83])
119
node_id_13 = int(line[83:93])
120
node_id_14 = int(line[93:103])
121
input_continues = True
122
elif elemType == 4 and input_continues == True: # HEXA20 element (2nd line)
123
node_id_15 = int(line[3:13])
124
node_id_16 = int(line[13:23])
125
node_id_9 = int(line[23:33])
126
node_id_10 = int(line[33:43])
127
node_id_11 = int(line[43:53])
128
node_id_12 = int(line[53:63])
129
node_id_17 = int(line[63:73])
130
node_id_18 = int(line[73:83])
131
node_id_19 = int(line[83:93])
132
node_id_20 = int(line[93:103])
133
input_continues = False
134
elements_hexa20[elem] = ( node_id_1, node_id_2, node_id_3, node_id_4, node_id_5, node_id_6, node_id_7, node_id_8, node_id_9, node_id_10,
135
node_id_11,node_id_12,node_id_13,node_id_14,node_id_15,node_id_16,node_id_17,node_id_18,node_id_19, node_id_20)
136
elif elemType == 5 and input_continues == False: # PENTA15 element (1st line)
137
node_id_4 = int(line[3:13])
138
node_id_5 = int(line[13:23])
139
node_id_6 = int(line[23:33])
140
node_id_1 = int(line[33:43])
141
node_id_2 = int(line[43:53])
142
node_id_3 = int(line[53:63])
143
node_id_10 = int(line[63:73])
144
node_id_11 = int(line[73:83])
145
node_id_12 = int(line[83:93])
146
node_id_13 = int(line[93:103])
147
input_continues = True
148
elif elemType == 5 and input_continues == True: # PENTA15 element (2nd line)
149
node_id_14 = int(line[3:13])
150
node_id_15 = int(line[13:23])
151
node_id_7 = int(line[23:33])
152
node_id_8 = int(line[33:43])
153
node_id_9 = int(line[43:53])
154
input_continues = False
155
elements_penta15[elem] = ( node_id_1, node_id_2, node_id_3, node_id_4, node_id_5, node_id_6, node_id_7, node_id_8, node_id_9, node_id_10,
156
node_id_11,node_id_12,node_id_13,node_id_14,node_id_15)
157
elif elemType == 6: # TETRA10 element
158
node_id_2 = int(line[3:13])
159
node_id_1 = int(line[13:23])
160
node_id_3 = int(line[23:33])
161
node_id_4 = int(line[33:43])
162
node_id_5 = int(line[43:53])
163
node_id_7 = int(line[53:63])
164
node_id_6 = int(line[63:73])
165
node_id_9 = int(line[73:83])
166
node_id_8 = int(line[83:93])
167
node_id_10 = int(line[93:103])
168
elements_tetra10[elem] = (node_id_1, node_id_2, node_id_3, node_id_4, node_id_5, node_id_6, node_id_7, node_id_8, node_id_9, node_id_10)
169
elif elemType == 7: # TRIA3 element
170
node_id_1 = int(line[3:13])
171
node_id_2 = int(line[13:23])
172
node_id_3 = int(line[23:33])
173
elements_tria3[elem] = (node_id_1, node_id_2, node_id_3)
174
elif elemType == 8: # TRIA6 element
175
node_id_1 = int(line[3:13])
176
node_id_2 = int(line[13:23])
177
node_id_3 = int(line[23:33])
178
node_id_4 = int(line[33:43])
179
node_id_5 = int(line[43:53])
180
node_id_6 = int(line[53:63])
181
elements_tria6[elem] = (node_id_1, node_id_2, node_id_3, node_id_4, node_id_5, node_id_6)
182
elif elemType == 9: # QUAD4 element
183
node_id_1 = int(line[3:13])
184
node_id_2 = int(line[13:23])
185
node_id_3 = int(line[23:33])
186
node_id_4 = int(line[33:43])
187
elements_quad4[elem] = (node_id_1, node_id_2, node_id_3, node_id_4)
188
elif elemType == 10: # QUAD8 element
189
node_id_1 = int(line[3:13])
190
node_id_2 = int(line[13:23])
191
node_id_3 = int(line[23:33])
192
node_id_4 = int(line[33:43])
193
node_id_5 = int(line[43:53])
194
node_id_6 = int(line[53:63])
195
node_id_7 = int(line[63:73])
196
node_id_8 = int(line[73:83])
197
elements_quad8[elem] = (node_id_1, node_id_2, node_id_3, node_id_4, node_id_5, node_id_6, node_id_7, node_id_8)
198
elif elemType == 11: # SEG2 element
199
node_id_1 = int(line[3:13])
200
node_id_2 = int(line[13:23])
201
elements_seg2[elem] = (node_id_1, node_id_2)
212
203
#Check if we found new eigenmode
213
204
if line[5:10] == "PMODE":