Salome HOME
Nerge with PAL/SALOME 2.1.0d
[modules/smesh.git] / src / SMESH_SWIG / cube2pyGibi.py
1 # CEA/LGLS 2004, Francis KLOSS (OCC)
2 # ==================================
3
4 # Import
5 # ------
6
7 from geompy import *
8 from meshpy import *
9
10 # Geometry
11 # ========
12
13 # A small cube centered and put on a great cube
14
15 # Points
16 # ------
17
18 greatPoint111 = MakeVertex( 0,  0,  0)
19 greatPoint211 = MakeVertex(10,  0,  0)
20 greatPoint311 = MakeVertex(20,  0,  0)
21 greatPoint411 = MakeVertex(30,  0,  0)
22
23 greatPoint121 = MakeVertex( 0, 10,  0)
24 greatPoint221 = MakeVertex(10, 10,  0)
25 greatPoint321 = MakeVertex(20, 10,  0)
26 greatPoint421 = MakeVertex(30, 10,  0)
27
28 greatPoint112 = MakeVertex( 0,  0, 10)
29 greatPoint212 = MakeVertex(10,  0, 10)
30 greatPoint312 = MakeVertex(20,  0, 10)
31 greatPoint412 = MakeVertex(30,  0, 10)
32
33 greatPoint122 = MakeVertex( 0, 10, 10)
34 greatPoint222 = MakeVertex(10, 10, 10)
35 greatPoint322 = MakeVertex(20, 10, 10)
36 greatPoint422 = MakeVertex(30, 10, 10)
37
38 greatPoint113 = MakeVertex( 0,  0, 20)
39 greatPoint213 = MakeVertex(10,  0, 20)
40 greatPoint313 = MakeVertex(20,  0, 20)
41 greatPoint413 = MakeVertex(30,  0, 20)
42
43 greatPoint123 = MakeVertex( 0, 10, 20)
44 greatPoint223 = MakeVertex(10, 10, 20)
45 greatPoint323 = MakeVertex(20, 10, 20)
46 greatPoint423 = MakeVertex(30, 10, 20)
47
48 greatPoint114 = MakeVertex( 0,  0, 30)
49 greatPoint214 = MakeVertex(10,  0, 30)
50 greatPoint314 = MakeVertex(20,  0, 30)
51 greatPoint414 = MakeVertex(30,  0, 30)
52
53 greatPoint124 = MakeVertex( 0, 10, 30)
54 greatPoint224 = MakeVertex(10, 10, 30)
55 greatPoint324 = MakeVertex(20, 10, 30)
56 greatPoint424 = MakeVertex(30, 10, 30)
57
58
59 smallPoint111 = greatPoint222
60 smallPoint211 = greatPoint322
61 smallPoint121 = MakeVertex(10, 20, 10)
62 smallPoint221 = MakeVertex(20, 20, 10)
63
64 smallPoint112 = greatPoint223
65 smallPoint212 = greatPoint323
66 smallPoint122 = MakeVertex(10, 20, 20)
67 smallPoint222 = MakeVertex(20, 20, 20)
68
69 # Edges
70 # -----
71
72 smallEdgeX11 = MakeEdge(smallPoint111, smallPoint211)
73 smallEdgeX21 = MakeEdge(smallPoint121, smallPoint221)
74 smallEdgeX12 = MakeEdge(smallPoint112, smallPoint212)
75 smallEdgeX22 = MakeEdge(smallPoint122, smallPoint222)
76
77 smallEdgeY11 = MakeEdge(smallPoint111, smallPoint121)
78 smallEdgeY21 = MakeEdge(smallPoint211, smallPoint221)
79 smallEdgeY12 = MakeEdge(smallPoint112, smallPoint122)
80 smallEdgeY22 = MakeEdge(smallPoint212, smallPoint222)
81
82 smallEdgeZ11 = MakeEdge(smallPoint111, smallPoint112)
83 smallEdgeZ21 = MakeEdge(smallPoint211, smallPoint212)
84 smallEdgeZ12 = MakeEdge(smallPoint121, smallPoint122)
85 smallEdgeZ22 = MakeEdge(smallPoint221, smallPoint222)
86
87
88 greatEdgeX111 = MakeEdge(greatPoint111, greatPoint211)
89 greatEdgeX211 = MakeEdge(greatPoint211, greatPoint311)
90 greatEdgeX311 = MakeEdge(greatPoint311, greatPoint411)
91 greatEdgeX121 = MakeEdge(greatPoint121, greatPoint221)
92 greatEdgeX221 = MakeEdge(greatPoint221, greatPoint321)
93 greatEdgeX321 = MakeEdge(greatPoint321, greatPoint421)
94
95 greatEdgeX112 = MakeEdge(greatPoint112, greatPoint212)
96 greatEdgeX212 = MakeEdge(greatPoint212, greatPoint312)
97 greatEdgeX312 = MakeEdge(greatPoint312, greatPoint412)
98 greatEdgeX122 = MakeEdge(greatPoint122, greatPoint222)
99 greatEdgeX222 = smallEdgeX11
100 greatEdgeX322 = MakeEdge(greatPoint322, greatPoint422)
101
102 greatEdgeX113 = MakeEdge(greatPoint113, greatPoint213)
103 greatEdgeX213 = MakeEdge(greatPoint213, greatPoint313)
104 greatEdgeX313 = MakeEdge(greatPoint313, greatPoint413)
105 greatEdgeX123 = MakeEdge(greatPoint123, greatPoint223)
106 greatEdgeX223 = smallEdgeX12
107 greatEdgeX323 = MakeEdge(greatPoint323, greatPoint423)
108
109 greatEdgeX114 = MakeEdge(greatPoint114, greatPoint214)
110 greatEdgeX214 = MakeEdge(greatPoint214, greatPoint314)
111 greatEdgeX314 = MakeEdge(greatPoint314, greatPoint414)
112 greatEdgeX124 = MakeEdge(greatPoint124, greatPoint224)
113 greatEdgeX224 = MakeEdge(greatPoint224, greatPoint324)
114 greatEdgeX324 = MakeEdge(greatPoint324, greatPoint424)
115
116 greatEdgeY11 = MakeEdge(greatPoint111, greatPoint121)
117 greatEdgeY21 = MakeEdge(greatPoint211, greatPoint221)
118 greatEdgeY31 = MakeEdge(greatPoint311, greatPoint321)
119 greatEdgeY41 = MakeEdge(greatPoint411, greatPoint421)
120
121 greatEdgeY12 = MakeEdge(greatPoint112, greatPoint122)
122 greatEdgeY22 = MakeEdge(greatPoint212, greatPoint222)
123 greatEdgeY32 = MakeEdge(greatPoint312, greatPoint322)
124 greatEdgeY42 = MakeEdge(greatPoint412, greatPoint422)
125
126 greatEdgeY13 = MakeEdge(greatPoint113, greatPoint123)
127 greatEdgeY23 = MakeEdge(greatPoint213, greatPoint223)
128 greatEdgeY33 = MakeEdge(greatPoint313, greatPoint323)
129 greatEdgeY43 = MakeEdge(greatPoint413, greatPoint423)
130
131 greatEdgeY14 = MakeEdge(greatPoint114, greatPoint124)
132 greatEdgeY24 = MakeEdge(greatPoint214, greatPoint224)
133 greatEdgeY34 = MakeEdge(greatPoint314, greatPoint324)
134 greatEdgeY44 = MakeEdge(greatPoint414, greatPoint424)
135
136 greatEdgeZ111 = MakeEdge(greatPoint111, greatPoint112)
137 greatEdgeZ211 = MakeEdge(greatPoint211, greatPoint212)
138 greatEdgeZ311 = MakeEdge(greatPoint311, greatPoint312)
139 greatEdgeZ411 = MakeEdge(greatPoint411, greatPoint412)
140
141 greatEdgeZ121 = MakeEdge(greatPoint121, greatPoint122)
142 greatEdgeZ221 = MakeEdge(greatPoint221, greatPoint222)
143 greatEdgeZ321 = MakeEdge(greatPoint321, greatPoint322)
144 greatEdgeZ421 = MakeEdge(greatPoint421, greatPoint422)
145
146 greatEdgeZ112 = MakeEdge(greatPoint112, greatPoint113)
147 greatEdgeZ212 = MakeEdge(greatPoint212, greatPoint213)
148 greatEdgeZ312 = MakeEdge(greatPoint312, greatPoint313)
149 greatEdgeZ412 = MakeEdge(greatPoint412, greatPoint413)
150
151 greatEdgeZ122 = MakeEdge(greatPoint122, greatPoint123)
152 greatEdgeZ222 = smallEdgeZ11
153 greatEdgeZ322 = smallEdgeZ21
154 greatEdgeZ422 = MakeEdge(greatPoint422, greatPoint423)
155
156 greatEdgeZ113 = MakeEdge(greatPoint113, greatPoint114)
157 greatEdgeZ213 = MakeEdge(greatPoint213, greatPoint214)
158 greatEdgeZ313 = MakeEdge(greatPoint313, greatPoint314)
159 greatEdgeZ413 = MakeEdge(greatPoint413, greatPoint414)
160
161 greatEdgeZ123 = MakeEdge(greatPoint123, greatPoint124)
162 greatEdgeZ223 = MakeEdge(greatPoint223, greatPoint224)
163 greatEdgeZ323 = MakeEdge(greatPoint323, greatPoint324)
164 greatEdgeZ423 = MakeEdge(greatPoint423, greatPoint424)
165
166 # Faces
167 # -----
168
169 smallFaceX1 = MakeQuad(smallEdgeY11, smallEdgeZ11, smallEdgeY12, smallEdgeZ12)
170 smallFaceX2 = MakeQuad(smallEdgeY21, smallEdgeZ21, smallEdgeY22, smallEdgeZ22)
171 smallFaceY1 = MakeQuad(smallEdgeX11, smallEdgeZ11, smallEdgeX12, smallEdgeZ21)
172 smallFaceY2 = MakeQuad(smallEdgeX21, smallEdgeZ12, smallEdgeX22, smallEdgeZ22)
173 smallFaceZ1 = MakeQuad(smallEdgeX11, smallEdgeY11, smallEdgeX21, smallEdgeY21)
174 smallFaceZ2 = MakeQuad(smallEdgeX12, smallEdgeY12, smallEdgeX22, smallEdgeY22)
175
176
177 greatFaceX11 = MakeQuad(greatEdgeY11, greatEdgeZ111, greatEdgeY12, greatEdgeZ121)
178 greatFaceX21 = MakeQuad(greatEdgeY21, greatEdgeZ211, greatEdgeY22, greatEdgeZ221)
179 greatFaceX31 = MakeQuad(greatEdgeY31, greatEdgeZ311, greatEdgeY32, greatEdgeZ321)
180 greatFaceX41 = MakeQuad(greatEdgeY41, greatEdgeZ411, greatEdgeY42, greatEdgeZ421)
181
182 greatFaceX12 = MakeQuad(greatEdgeY12, greatEdgeZ112, greatEdgeY13, greatEdgeZ122)
183 greatFaceX22 = MakeQuad(greatEdgeY22, greatEdgeZ212, greatEdgeY23, greatEdgeZ222)
184 greatFaceX32 = MakeQuad(greatEdgeY32, greatEdgeZ312, greatEdgeY33, greatEdgeZ322)
185 greatFaceX42 = MakeQuad(greatEdgeY42, greatEdgeZ412, greatEdgeY43, greatEdgeZ422)
186
187 greatFaceX13 = MakeQuad(greatEdgeY13, greatEdgeZ113, greatEdgeY14, greatEdgeZ123)
188 greatFaceX23 = MakeQuad(greatEdgeY23, greatEdgeZ213, greatEdgeY24, greatEdgeZ223)
189 greatFaceX33 = MakeQuad(greatEdgeY33, greatEdgeZ313, greatEdgeY34, greatEdgeZ323)
190 greatFaceX43 = MakeQuad(greatEdgeY43, greatEdgeZ413, greatEdgeY44, greatEdgeZ423)
191
192 greatFaceY111 = MakeQuad(greatEdgeX111, greatEdgeZ111, greatEdgeX112, greatEdgeZ211)
193 greatFaceY211 = MakeQuad(greatEdgeX211, greatEdgeZ211, greatEdgeX212, greatEdgeZ311)
194 greatFaceY311 = MakeQuad(greatEdgeX311, greatEdgeZ311, greatEdgeX312, greatEdgeZ411)
195 greatFaceY121 = MakeQuad(greatEdgeX121, greatEdgeZ121, greatEdgeX122, greatEdgeZ221)
196 greatFaceY221 = MakeQuad(greatEdgeX221, greatEdgeZ221, greatEdgeX222, greatEdgeZ321)
197 greatFaceY321 = MakeQuad(greatEdgeX321, greatEdgeZ321, greatEdgeX322, greatEdgeZ421)
198
199 greatFaceY112 = MakeQuad(greatEdgeX112, greatEdgeZ112, greatEdgeX113, greatEdgeZ212)
200 greatFaceY212 = MakeQuad(greatEdgeX212, greatEdgeZ212, greatEdgeX213, greatEdgeZ312)
201 greatFaceY312 = MakeQuad(greatEdgeX312, greatEdgeZ312, greatEdgeX313, greatEdgeZ412)
202 greatFaceY122 = MakeQuad(greatEdgeX122, greatEdgeZ122, greatEdgeX123, greatEdgeZ222)
203 greatFaceY222 = smallFaceY1
204 greatFaceY322 = MakeQuad(greatEdgeX322, greatEdgeZ322, greatEdgeX323, greatEdgeZ422)
205
206 greatFaceY113 = MakeQuad(greatEdgeX113, greatEdgeZ113, greatEdgeX114, greatEdgeZ213)
207 greatFaceY213 = MakeQuad(greatEdgeX213, greatEdgeZ213, greatEdgeX214, greatEdgeZ313)
208 greatFaceY313 = MakeQuad(greatEdgeX313, greatEdgeZ313, greatEdgeX314, greatEdgeZ413)
209 greatFaceY123 = MakeQuad(greatEdgeX123, greatEdgeZ123, greatEdgeX124, greatEdgeZ223)
210 greatFaceY223 = MakeQuad(greatEdgeX223, greatEdgeZ223, greatEdgeX224, greatEdgeZ323)
211 greatFaceY323 = MakeQuad(greatEdgeX323, greatEdgeZ323, greatEdgeX324, greatEdgeZ423)
212
213 greatFaceZ11 = MakeQuad(greatEdgeX111, greatEdgeY11, greatEdgeX121, greatEdgeY21)
214 greatFaceZ21 = MakeQuad(greatEdgeX211, greatEdgeY21, greatEdgeX221, greatEdgeY31)
215 greatFaceZ31 = MakeQuad(greatEdgeX311, greatEdgeY31, greatEdgeX321, greatEdgeY41)
216
217 greatFaceZ12 = MakeQuad(greatEdgeX112, greatEdgeY12, greatEdgeX122, greatEdgeY22)
218 greatFaceZ22 = MakeQuad(greatEdgeX212, greatEdgeY22, greatEdgeX222, greatEdgeY32)
219 greatFaceZ32 = MakeQuad(greatEdgeX312, greatEdgeY32, greatEdgeX322, greatEdgeY42)
220
221 greatFaceZ13 = MakeQuad(greatEdgeX113, greatEdgeY13, greatEdgeX123, greatEdgeY23)
222 greatFaceZ23 = MakeQuad(greatEdgeX213, greatEdgeY23, greatEdgeX223, greatEdgeY33)
223 greatFaceZ33 = MakeQuad(greatEdgeX313, greatEdgeY33, greatEdgeX323, greatEdgeY43)
224
225 greatFaceZ14 = MakeQuad(greatEdgeX114, greatEdgeY14, greatEdgeX124, greatEdgeY24)
226 greatFaceZ24 = MakeQuad(greatEdgeX214, greatEdgeY24, greatEdgeX224, greatEdgeY34)
227 greatFaceZ34 = MakeQuad(greatEdgeX314, greatEdgeY34, greatEdgeX324, greatEdgeY44)
228
229 # Solids
230 # ------
231
232 smallBlock   = MakeHexa(smallFaceX1, smallFaceX2, smallFaceY1, smallFaceY2, smallFaceZ1, smallFaceZ2)
233
234 greatBlock11 = MakeHexa(greatFaceX11, greatFaceX21, greatFaceY111, greatFaceY121, greatFaceZ11, greatFaceZ12)
235 greatBlock21 = MakeHexa(greatFaceX21, greatFaceX31, greatFaceY211, greatFaceY221, greatFaceZ21, greatFaceZ22)
236 greatBlock31 = MakeHexa(greatFaceX31, greatFaceX41, greatFaceY311, greatFaceY321, greatFaceZ31, greatFaceZ32)
237
238 greatBlock12 = MakeHexa(greatFaceX12, greatFaceX22, greatFaceY112, greatFaceY122, greatFaceZ12, greatFaceZ13)
239 greatBlock22 = MakeHexa(greatFaceX22, greatFaceX32, greatFaceY212, greatFaceY222, greatFaceZ22, greatFaceZ23)
240 greatBlock32 = MakeHexa(greatFaceX32, greatFaceX42, greatFaceY312, greatFaceY322, greatFaceZ32, greatFaceZ33)
241
242 greatBlock13 = MakeHexa(greatFaceX13, greatFaceX23, greatFaceY113, greatFaceY123, greatFaceZ13, greatFaceZ14)
243 greatBlock23 = MakeHexa(greatFaceX23, greatFaceX33, greatFaceY213, greatFaceY223, greatFaceZ23, greatFaceZ24)
244 greatBlock33 = MakeHexa(greatFaceX33, greatFaceX43, greatFaceY313, greatFaceY323, greatFaceZ33, greatFaceZ34)
245
246 # Compound
247 # --------
248
249 c_l = []
250 c_l.append(smallBlock)
251 c_l.append(greatBlock11)
252 c_l.append(greatBlock21)
253 c_l.append(greatBlock31)
254 c_l.append(greatBlock12)
255 c_l.append(greatBlock22)
256 c_l.append(greatBlock32)
257 c_l.append(greatBlock13)
258 c_l.append(greatBlock23)
259 c_l.append(greatBlock33)
260
261 c_cpd = MakeCompound(c_l)
262 piece = MakeGlueFaces(c_cpd, 1.e-5)
263
264 # Add in study
265 # ------------
266
267 piece_id = addToStudy(piece, "Cubes2pyGibi")
268
269 # Meshing
270 # =======
271
272 # Create hexahedrical mesh on piece
273 # ---------------------------------
274
275 m_hexa=MeshHexa(piece, 4, "Cubes2pyGibiHexa")
276
277 # Get edges
278 # ---------
279
280 e_edges = SubShapeAllSorted(piece, ShapeType["EDGE"])
281
282 # Create local hypothesis
283 # -----------------------
284
285 m_local=3
286
287 m_i=10
288 while m_i<18:
289     m_hexa.local(e_edges[m_i], m_local)
290     m_i=m_i+1
291
292 # Compute
293 # -------
294
295 m_hexa.Compute()