]> SALOME platform Git repositories - modules/med.git/blob - src/MEDMEM_SWIG/medMeshing_test.py
Salome HOME
NRI : Merge from V1_2.
[modules/med.git] / src / MEDMEM_SWIG / medMeshing_test.py
1 #  MED MEDMEM_SWIG : binding of C++ implementation and Python
2 #
3 #  Copyright (C) 2003  CEA/DEN, EDF R&D
4 #
5 #
6 #
7 #  File   : medMeshing_test.py
8 #  Module : MED
9
10 from libMEDMEM_Swig import *
11
12 # file name to save the generated MESH(ING)
13
14 medFileName = "toto.med"
15
16 vtkFileName = "toto.vtk"
17
18 myMeshing = MESHING()
19
20 myMeshing.setName("meshing")
21
22 # definition of the coordinates
23
24 spaceDimension = 3
25
26 numberOfNodes = 19
27
28 coordinates = []
29
30 coordinate = [0.0, 0.0, 0.0]
31 coordinates.append(coordinate[0])
32 coordinates.append(coordinate[1])
33 coordinates.append(coordinate[2])
34 coordinate = [0.0, 0.0, 1.0]
35 coordinates.append(coordinate[0])
36 coordinates.append(coordinate[1])
37 coordinates.append(coordinate[2])
38 coordinate = [2.0, 0.0, 1.0]
39 coordinates.append(coordinate[0])
40 coordinates.append(coordinate[1])
41 coordinates.append(coordinate[2])
42 coordinate = [0.0, 2.0, 1.0]
43 coordinates.append(coordinate[0])
44 coordinates.append(coordinate[1])
45 coordinates.append(coordinate[2])
46 coordinate = [-2.0, 0.0, 1.0]
47 coordinates.append(coordinate[0])
48 coordinates.append(coordinate[1])
49 coordinates.append(coordinate[2])
50 coordinate = [0.0, -2.0, 1.0]
51 coordinates.append(coordinate[0])
52 coordinates.append(coordinate[1])
53 coordinates.append(coordinate[2])
54 coordinate = [1.0, 1.0, 2.0]
55 coordinates.append(coordinate[0])
56 coordinates.append(coordinate[1])
57 coordinates.append(coordinate[2])
58 coordinate = [-1.0, 1.0, 2.0]
59 coordinates.append(coordinate[0])
60 coordinates.append(coordinate[1])
61 coordinates.append(coordinate[2])
62 coordinate = [-1.0, -1.0, 2.0]
63 coordinates.append(coordinate[0])
64 coordinates.append(coordinate[1])
65 coordinates.append(coordinate[2])
66 coordinate = [1.0, -1.0, 2.0]
67 coordinates.append(coordinate[0])
68 coordinates.append(coordinate[1])
69 coordinates.append(coordinate[2])
70 coordinate = [1.0, 1.0, 3.0]
71 coordinates.append(coordinate[0])
72 coordinates.append(coordinate[1])
73 coordinates.append(coordinate[2])
74 coordinate = [-1.0, 1.0, 3.0]
75 coordinates.append(coordinate[0])
76 coordinates.append(coordinate[1])
77 coordinates.append(coordinate[2])
78 coordinate = [-1.0, -1.0, 3.0]
79 coordinates.append(coordinate[0])
80 coordinates.append(coordinate[1])
81 coordinates.append(coordinate[2])
82 coordinate = [1.0, -1.0, 3.0]
83 coordinates.append(coordinate[0])
84 coordinates.append(coordinate[1])
85 coordinates.append(coordinate[2])
86 coordinate = [1.0, 1.0, 4.0]
87 coordinates.append(coordinate[0])
88 coordinates.append(coordinate[1])
89 coordinates.append(coordinate[2])
90 coordinate = [-1.0, 1.0, 4.0]
91 coordinates.append(coordinate[0])
92 coordinates.append(coordinate[1])
93 coordinates.append(coordinate[2])
94 coordinate = [-1.0, -1.0, 4.0]
95 coordinates.append(coordinate[0])
96 coordinates.append(coordinate[1])
97 coordinates.append(coordinate[2])
98 coordinate = [1.0, -1.0, 4.0]
99 coordinates.append(coordinate[0])
100 coordinates.append(coordinate[1])
101 coordinates.append(coordinate[2])
102 coordinate = [0.0, 0.0, 5.0]
103 coordinates.append(coordinate[0])
104 coordinates.append(coordinate[1])
105 coordinates.append(coordinate[2])
106
107 myMeshing.setCoordinates(spaceDimension,numberOfNodes,coordinates,"CARTESIAN",MED_FULL_INTERLACE)
108
109 for i in range(spaceDimension):
110     unit = "cm      "
111     if (i == 0):
112         name = "X       "
113     elif (i == 1):
114         name = "Y       "
115     elif (i == 2):
116         name = "Z       "
117
118     myMeshing.setCoordinateName(name,i)
119     myMeshing.setCoordinateUnit(unit,i)
120
121 # definition of connectivities
122 # cell part
123
124 numberOfTypes = 3
125 entity = MED_CELL
126
127 types = []
128 numberOfElements = []
129
130 types.append(MED_TETRA4)
131 numberOfElements.append(12)
132
133 types.append(MED_PYRA5)
134 numberOfElements.append(2)
135
136 types.append(MED_HEXA8)
137 numberOfElements.append(2)
138
139 myMeshing.setNumberOfTypes(numberOfTypes,entity)
140 myMeshing.setTypes(types,entity)
141 myMeshing.setNumberOfElements(numberOfElements,entity)
142
143 connectivityTetra = []
144
145 connectivity =  [1,2,3,6]
146 connectivityTetra.append(connectivity[0])
147 connectivityTetra.append(connectivity[1])
148 connectivityTetra.append(connectivity[2])
149 connectivityTetra.append(connectivity[3])
150 connectivity =  [1,2,4,3]
151 connectivityTetra.append(connectivity[0])
152 connectivityTetra.append(connectivity[1])
153 connectivityTetra.append(connectivity[2])
154 connectivityTetra.append(connectivity[3])
155 connectivity =  [1,2,5,4]
156 connectivityTetra.append(connectivity[0])
157 connectivityTetra.append(connectivity[1])
158 connectivityTetra.append(connectivity[2])
159 connectivityTetra.append(connectivity[3])
160 connectivity =  [1,2,6,5]
161 connectivityTetra.append(connectivity[0])
162 connectivityTetra.append(connectivity[1])
163 connectivityTetra.append(connectivity[2])
164 connectivityTetra.append(connectivity[3])
165 connectivity =  [2,7,4,3]
166 connectivityTetra.append(connectivity[0])
167 connectivityTetra.append(connectivity[1])
168 connectivityTetra.append(connectivity[2])
169 connectivityTetra.append(connectivity[3])
170 connectivity =  [2,8,5,4]
171 connectivityTetra.append(connectivity[0])
172 connectivityTetra.append(connectivity[1])
173 connectivityTetra.append(connectivity[2])
174 connectivityTetra.append(connectivity[3])
175 connectivity =  [2,9,6,5]
176 connectivityTetra.append(connectivity[0])
177 connectivityTetra.append(connectivity[1])
178 connectivityTetra.append(connectivity[2])
179 connectivityTetra.append(connectivity[3])
180 connectivity =  [2,10,3,6]
181 connectivityTetra.append(connectivity[0])
182 connectivityTetra.append(connectivity[1])
183 connectivityTetra.append(connectivity[2])
184 connectivityTetra.append(connectivity[3])
185 connectivity =  [2,7,3,10]
186 connectivityTetra.append(connectivity[0])
187 connectivityTetra.append(connectivity[1])
188 connectivityTetra.append(connectivity[2])
189 connectivityTetra.append(connectivity[3])
190 connectivity =  [2,8,4,7]
191 connectivityTetra.append(connectivity[0])
192 connectivityTetra.append(connectivity[1])
193 connectivityTetra.append(connectivity[2])
194 connectivityTetra.append(connectivity[3])
195 connectivity =  [2,9,5,8]
196 connectivityTetra.append(connectivity[0])
197 connectivityTetra.append(connectivity[1])
198 connectivityTetra.append(connectivity[2])
199 connectivityTetra.append(connectivity[3])
200 connectivity =  [2,10,6,9]
201 connectivityTetra.append(connectivity[0])
202 connectivityTetra.append(connectivity[1])
203 connectivityTetra.append(connectivity[2])
204 connectivityTetra.append(connectivity[3])
205
206 myMeshing.setConnectivity(connectivityTetra,entity,types[0])
207
208 connectivityPyra = []
209 connectivity =  [7,8,9,10,2]
210 connectivityPyra.append(connectivity[0])
211 connectivityPyra.append(connectivity[1])
212 connectivityPyra.append(connectivity[2])
213 connectivityPyra.append(connectivity[3])
214 connectivityPyra.append(connectivity[4])
215 connectivity =  [15,18,17,16,19]
216 connectivityPyra.append(connectivity[0])
217 connectivityPyra.append(connectivity[1])
218 connectivityPyra.append(connectivity[2])
219 connectivityPyra.append(connectivity[3])
220 connectivityPyra.append(connectivity[4])
221
222 myMeshing.setConnectivity(connectivityPyra,entity,types[1])
223
224 connectivityHexa = []
225 connectivity =  [11,12,13,14,7,8,9,10]
226 connectivityHexa.append(connectivity[0])
227 connectivityHexa.append(connectivity[1])
228 connectivityHexa.append(connectivity[2])
229 connectivityHexa.append(connectivity[3])
230 connectivityHexa.append(connectivity[4])
231 connectivityHexa.append(connectivity[5])
232 connectivityHexa.append(connectivity[6])
233 connectivityHexa.append(connectivity[7])
234 connectivity =  [15,16,17,18,11,12,13,14]
235 connectivityHexa.append(connectivity[0])
236 connectivityHexa.append(connectivity[1])
237 connectivityHexa.append(connectivity[2])
238 connectivityHexa.append(connectivity[3])
239 connectivityHexa.append(connectivity[4])
240 connectivityHexa.append(connectivity[5])
241 connectivityHexa.append(connectivity[6])
242 connectivityHexa.append(connectivity[7])
243
244 myMeshing.setConnectivity(connectivityHexa,entity,types[2])
245
246 # face part
247
248 # edge part
249
250 # saving of the generated mesh in MED and VTK format
251
252 idMed = myMeshing.addDriver(MED_DRIVER,medFileName,myMeshing.getName())
253 myMeshing.write(idMed)
254
255 idVtk = myMeshing.addDriver(MED_DRIVER,vtkFileName,myMeshing.getName())
256 myMeshing.write(idVtk)