]> SALOME platform Git repositories - tools/medcoupling.git/blob - doc/MEDMEM/MESHINGexample.py
Salome HOME
Join modifications from branch BR_DEBUG_3_2_0b1
[tools/medcoupling.git] / doc / MEDMEM / MESHINGexample.py
1 ###################################################################################
2 #
3 # This Python script uses the wrapped C++ class MESHING to buid a mesh from only
4 # primitive data like coordinates (Pythoin double array) and connectivity (Python
5 # integer arrays). It is the Python equivalent of the C++ program
6 # test_MEDMEM_Meshing.cxx in the ../MEDMEM directory of the SALOME distribution
7 #
8 ###################################################################################
9
10 from libMEDMEM_Swig import *
11
12 # files name to save the generated MESH(ING) in different format
13 # Med V2.1 Med V2.2 and vtk
14
15 med21FileName = "toto21.med"
16
17 med22FileName = "toto22.med"
18
19 vtkFileName = "toto.vtk"
20
21 myMeshing = MESHING()
22
23 myMeshing.setName("meshing")
24
25 # definition of the coordinates
26
27 spaceDimension = 3
28
29 numberOfNodes = 19
30
31 coordinates = []
32
33 coordinate = [0.0, 0.0, 0.0]
34 coordinates.append(coordinate[0])
35 coordinates.append(coordinate[1])
36 coordinates.append(coordinate[2])
37 coordinate = [0.0, 0.0, 1.0]
38 coordinates.append(coordinate[0])
39 coordinates.append(coordinate[1])
40 coordinates.append(coordinate[2])
41 coordinate = [2.0, 0.0, 1.0]
42 coordinates.append(coordinate[0])
43 coordinates.append(coordinate[1])
44 coordinates.append(coordinate[2])
45 coordinate = [0.0, 2.0, 1.0]
46 coordinates.append(coordinate[0])
47 coordinates.append(coordinate[1])
48 coordinates.append(coordinate[2])
49 coordinate = [-2.0, 0.0, 1.0]
50 coordinates.append(coordinate[0])
51 coordinates.append(coordinate[1])
52 coordinates.append(coordinate[2])
53 coordinate = [0.0, -2.0, 1.0]
54 coordinates.append(coordinate[0])
55 coordinates.append(coordinate[1])
56 coordinates.append(coordinate[2])
57 coordinate = [1.0, 1.0, 2.0]
58 coordinates.append(coordinate[0])
59 coordinates.append(coordinate[1])
60 coordinates.append(coordinate[2])
61 coordinate = [-1.0, 1.0, 2.0]
62 coordinates.append(coordinate[0])
63 coordinates.append(coordinate[1])
64 coordinates.append(coordinate[2])
65 coordinate = [-1.0, -1.0, 2.0]
66 coordinates.append(coordinate[0])
67 coordinates.append(coordinate[1])
68 coordinates.append(coordinate[2])
69 coordinate = [1.0, -1.0, 2.0]
70 coordinates.append(coordinate[0])
71 coordinates.append(coordinate[1])
72 coordinates.append(coordinate[2])
73 coordinate = [1.0, 1.0, 3.0]
74 coordinates.append(coordinate[0])
75 coordinates.append(coordinate[1])
76 coordinates.append(coordinate[2])
77 coordinate = [-1.0, 1.0, 3.0]
78 coordinates.append(coordinate[0])
79 coordinates.append(coordinate[1])
80 coordinates.append(coordinate[2])
81 coordinate = [-1.0, -1.0, 3.0]
82 coordinates.append(coordinate[0])
83 coordinates.append(coordinate[1])
84 coordinates.append(coordinate[2])
85 coordinate = [1.0, -1.0, 3.0]
86 coordinates.append(coordinate[0])
87 coordinates.append(coordinate[1])
88 coordinates.append(coordinate[2])
89 coordinate = [1.0, 1.0, 4.0]
90 coordinates.append(coordinate[0])
91 coordinates.append(coordinate[1])
92 coordinates.append(coordinate[2])
93 coordinate = [-1.0, 1.0, 4.0]
94 coordinates.append(coordinate[0])
95 coordinates.append(coordinate[1])
96 coordinates.append(coordinate[2])
97 coordinate = [-1.0, -1.0, 4.0]
98 coordinates.append(coordinate[0])
99 coordinates.append(coordinate[1])
100 coordinates.append(coordinate[2])
101 coordinate = [1.0, -1.0, 4.0]
102 coordinates.append(coordinate[0])
103 coordinates.append(coordinate[1])
104 coordinates.append(coordinate[2])
105 coordinate = [0.0, 0.0, 5.0]
106 coordinates.append(coordinate[0])
107 coordinates.append(coordinate[1])
108 coordinates.append(coordinate[2])
109
110 myMeshing.setCoordinates(spaceDimension,numberOfNodes,coordinates,"CARTESIAN",MED_FULL_INTERLACE)
111
112 for i in range(spaceDimension):
113     unit = "cm      "
114     if (i == 0):
115         name = "X       "
116     elif (i == 1):
117         name = "Y       "
118     elif (i == 2):
119         name = "Z       "
120
121     myMeshing.setCoordinateName(name,i)
122     myMeshing.setCoordinateUnit(unit,i)
123
124 # definition of connectivities
125 # cell part
126
127 numberOfTypes = 3
128 entity = MED_CELL
129
130 types = []
131 numberOfElements = []
132
133 types.append(MED_TETRA4)
134 numberOfElements.append(12)
135
136 types.append(MED_PYRA5)
137 numberOfElements.append(2)
138
139 types.append(MED_HEXA8)
140 numberOfElements.append(2)
141
142 myMeshing.setNumberOfTypes(numberOfTypes,entity)
143 myMeshing.setTypes(types,entity)
144 myMeshing.setNumberOfElements(numberOfElements,entity)
145
146 connectivityTetra = []
147
148 connectivity =  [1,2,3,6]
149 connectivityTetra.append(connectivity[0])
150 connectivityTetra.append(connectivity[1])
151 connectivityTetra.append(connectivity[2])
152 connectivityTetra.append(connectivity[3])
153 connectivity =  [1,2,4,3]
154 connectivityTetra.append(connectivity[0])
155 connectivityTetra.append(connectivity[1])
156 connectivityTetra.append(connectivity[2])
157 connectivityTetra.append(connectivity[3])
158 connectivity =  [1,2,5,4]
159 connectivityTetra.append(connectivity[0])
160 connectivityTetra.append(connectivity[1])
161 connectivityTetra.append(connectivity[2])
162 connectivityTetra.append(connectivity[3])
163 connectivity =  [1,2,6,5]
164 connectivityTetra.append(connectivity[0])
165 connectivityTetra.append(connectivity[1])
166 connectivityTetra.append(connectivity[2])
167 connectivityTetra.append(connectivity[3])
168 connectivity =  [2,7,4,3]
169 connectivityTetra.append(connectivity[0])
170 connectivityTetra.append(connectivity[1])
171 connectivityTetra.append(connectivity[2])
172 connectivityTetra.append(connectivity[3])
173 connectivity =  [2,8,5,4]
174 connectivityTetra.append(connectivity[0])
175 connectivityTetra.append(connectivity[1])
176 connectivityTetra.append(connectivity[2])
177 connectivityTetra.append(connectivity[3])
178 connectivity =  [2,9,6,5]
179 connectivityTetra.append(connectivity[0])
180 connectivityTetra.append(connectivity[1])
181 connectivityTetra.append(connectivity[2])
182 connectivityTetra.append(connectivity[3])
183 connectivity =  [2,10,3,6]
184 connectivityTetra.append(connectivity[0])
185 connectivityTetra.append(connectivity[1])
186 connectivityTetra.append(connectivity[2])
187 connectivityTetra.append(connectivity[3])
188 connectivity =  [2,7,3,10]
189 connectivityTetra.append(connectivity[0])
190 connectivityTetra.append(connectivity[1])
191 connectivityTetra.append(connectivity[2])
192 connectivityTetra.append(connectivity[3])
193 connectivity =  [2,8,4,7]
194 connectivityTetra.append(connectivity[0])
195 connectivityTetra.append(connectivity[1])
196 connectivityTetra.append(connectivity[2])
197 connectivityTetra.append(connectivity[3])
198 connectivity =  [2,9,5,8]
199 connectivityTetra.append(connectivity[0])
200 connectivityTetra.append(connectivity[1])
201 connectivityTetra.append(connectivity[2])
202 connectivityTetra.append(connectivity[3])
203 connectivity =  [2,10,6,9]
204 connectivityTetra.append(connectivity[0])
205 connectivityTetra.append(connectivity[1])
206 connectivityTetra.append(connectivity[2])
207 connectivityTetra.append(connectivity[3])
208
209 myMeshing.setConnectivity(connectivityTetra,entity,types[0])
210
211 connectivityPyra = []
212 connectivity =  [7,8,9,10,2]
213 connectivityPyra.append(connectivity[0])
214 connectivityPyra.append(connectivity[1])
215 connectivityPyra.append(connectivity[2])
216 connectivityPyra.append(connectivity[3])
217 connectivityPyra.append(connectivity[4])
218 connectivity =  [15,18,17,16,19]
219 connectivityPyra.append(connectivity[0])
220 connectivityPyra.append(connectivity[1])
221 connectivityPyra.append(connectivity[2])
222 connectivityPyra.append(connectivity[3])
223 connectivityPyra.append(connectivity[4])
224
225 myMeshing.setConnectivity(connectivityPyra,entity,types[1])
226
227 connectivityHexa = []
228 connectivity =  [11,12,13,14,7,8,9,10]
229 connectivityHexa.append(connectivity[0])
230 connectivityHexa.append(connectivity[1])
231 connectivityHexa.append(connectivity[2])
232 connectivityHexa.append(connectivity[3])
233 connectivityHexa.append(connectivity[4])
234 connectivityHexa.append(connectivity[5])
235 connectivityHexa.append(connectivity[6])
236 connectivityHexa.append(connectivity[7])
237 connectivity =  [15,16,17,18,11,12,13,14]
238 connectivityHexa.append(connectivity[0])
239 connectivityHexa.append(connectivity[1])
240 connectivityHexa.append(connectivity[2])
241 connectivityHexa.append(connectivity[3])
242 connectivityHexa.append(connectivity[4])
243 connectivityHexa.append(connectivity[5])
244 connectivityHexa.append(connectivity[6])
245 connectivityHexa.append(connectivity[7])
246
247 myMeshing.setConnectivity(connectivityHexa,entity,types[2])
248
249 # face part
250
251 numberOfTypes = 2
252 entity = MED_FACE
253
254 types = []
255 numberOfElements = []
256
257 types.append(MED_TRIA3)
258 numberOfElements.append(4)
259
260 types.append(MED_QUAD4)
261 numberOfElements.append(4)
262
263 myMeshing.setNumberOfTypes(numberOfTypes,entity)
264 myMeshing.setTypes(types,entity)
265 myMeshing.setNumberOfElements(numberOfElements,entity)
266
267 connectivityTria = []
268 connectivity =  [1,4,3]
269 connectivityTria.append(connectivity[0])
270 connectivityTria.append(connectivity[1])
271 connectivityTria.append(connectivity[2])
272 connectivity =  [1,5,4]
273 connectivityTria.append(connectivity[0])
274 connectivityTria.append(connectivity[1])
275 connectivityTria.append(connectivity[2])
276 connectivity =  [1,6,5]
277 connectivityTria.append(connectivity[0])
278 connectivityTria.append(connectivity[1])
279 connectivityTria.append(connectivity[2])
280 connectivity =  [1,3,6]
281 connectivityTria.append(connectivity[0])
282 connectivityTria.append(connectivity[1])
283 connectivityTria.append(connectivity[2])
284
285 myMeshing.setConnectivity(connectivityTria,entity,types[0])
286
287 connectivityQuad = []
288 connectivity =  [7,8,9,10]
289 connectivityQuad.append(connectivity[0])
290 connectivityQuad.append(connectivity[1])
291 connectivityQuad.append(connectivity[2])
292 connectivityQuad.append(connectivity[3])
293 connectivity =  [11,12,13,14]
294 connectivityQuad.append(connectivity[0])
295 connectivityQuad.append(connectivity[1])
296 connectivityQuad.append(connectivity[2])
297 connectivityQuad.append(connectivity[3])
298 connectivity =  [11,7,8,12]
299 connectivityQuad.append(connectivity[0])
300 connectivityQuad.append(connectivity[1])
301 connectivityQuad.append(connectivity[2])
302 connectivityQuad.append(connectivity[3])
303 connectivity =  [12,8,9,13]
304 connectivityQuad.append(connectivity[0])
305 connectivityQuad.append(connectivity[1])
306 connectivityQuad.append(connectivity[2])
307 connectivityQuad.append(connectivity[3])
308
309 myMeshing.setConnectivity(connectivityQuad,entity,types[1])
310
311 meshDimension = spaceDimension # because there 3D cells in the mesh
312 myMeshing.setMeshDimension(meshDimension)
313
314 # edge part
315
316 # adding GROUPs
317 # on Node
318
319 myGroup = GROUP()
320 myGroup.setName("SomeNodes")
321 myGroup.setMesh(myMeshing)
322 myGroup.setEntity(MED_NODE)
323 myGroup.setNumberOfGeometricType(1)
324
325 myTypes = [MED_NONE]
326 myGroup.setGeometricType(myTypes)
327
328 myNumberOfElements = [4]
329 myGroup.setNumberOfElements(myNumberOfElements)
330
331 index = [1,5]
332 values = [1,4,5,7]
333 myGroup.setNumber(index,values)
334
335 myMeshing.addGroup(myGroup)
336
337 myGroup = GROUP()
338 myGroup.setName("OtherNodes")
339 myGroup.setMesh(myMeshing)
340 myGroup.setEntity(MED_NODE)
341 myGroup.setNumberOfGeometricType(1)
342
343 myTypes = [MED_NONE]
344 myGroup.setGeometricType(myTypes)
345
346 myNumberOfElements = [3]
347 myGroup.setNumberOfElements(myNumberOfElements)
348
349 index = [1,4]
350 values = [2,3,6]
351 myGroup.setNumber(index,values)
352
353 myMeshing.addGroup(myGroup)
354
355 # on Cell
356
357 myGroup = GROUP()
358 myGroup.setName("SomeCells")
359 myGroup.setMesh(myMeshing)
360 myGroup.setEntity(MED_CELL)
361 myGroup.setNumberOfGeometricType(3)
362
363 myTypes = [MED_TETRA4,MED_PYRA5,MED_HEXA8]
364 myGroup.setGeometricType(myTypes)
365
366 myNumberOfElements = [4,1,2]
367 myGroup.setNumberOfElements(myNumberOfElements)
368
369 index = [1,5,6,8]
370 values = [
371     2,7,8,12,
372     13,
373     15,16
374     ]
375 myGroup.setNumber(index,values)
376
377 myMeshing.addGroup(myGroup)
378
379 myGroup = GROUP()
380 myGroup.setName("OtherCells")
381 myGroup.setMesh(myMeshing)
382 myGroup.setEntity(MED_CELL)
383 myGroup.setNumberOfGeometricType(2)
384
385 myTypes = [MED_TETRA4,MED_PYRA5]
386 myGroup.setGeometricType(myTypes)
387
388 myNumberOfElements = [4,1]
389 myGroup.setNumberOfElements(myNumberOfElements)
390
391 index = [1,5,6]
392 values = [
393     3,4,5,9,
394     14
395     ]
396 myGroup.setNumber(index,values)
397
398 myMeshing.addGroup(myGroup)
399
400 # on Face
401
402 myGroup = GROUP()
403 myGroup.setName("SomeFaces")
404 myGroup.setMesh(myMeshing)
405 myGroup.setEntity(MED_FACE)
406 myGroup.setNumberOfGeometricType(2)
407
408 myTypes = [MED_TRIA3,MED_QUAD4]
409 myGroup.setGeometricType(myTypes)
410
411 myNumberOfElements = [2,3]
412 myGroup.setNumberOfElements(myNumberOfElements)
413
414 index = [1,3,6]
415 values = [
416     2,4,
417     5,6,8
418     ]
419 myGroup.setNumber(index,values)
420
421 myMeshing.addGroup(myGroup)
422
423 myGroup = GROUP()
424 myGroup.setName("OtherFaces")
425 myGroup.setMesh(myMeshing)
426 myGroup.setEntity(MED_FACE)
427 myGroup.setNumberOfGeometricType(1)
428
429 myTypes = [MED_TRIA3]
430 myGroup.setGeometricType(myTypes)
431
432 myNumberOfElements = [2]
433 myGroup.setNumberOfElements(myNumberOfElements)
434
435 index = [1,3]
436 values = [
437     1,3
438     ]
439 myGroup.setNumber(index,values)
440
441 myMeshing.addGroup(myGroup)
442
443 # saving of the generated mesh in MED 2.1, 2.2 and VTK format
444
445 medFileVersion = getMedFileVersionForWriting()
446 print "Med File Version For Writing ",medFileVersion
447
448 if (medFileVersion == V22):
449     setMedFileVersionForWriting(V21)
450
451 idMedV21 = myMeshing.addDriver(MED_DRIVER,med21FileName,myMeshing.getName())
452 myMeshing.write(idMedV21)
453
454 medFileVersion = getMedFileVersionForWriting()
455 if (medFileVersion == V21):
456     setMedFileVersionForWriting(V22)
457
458 idMedV22 = myMeshing.addDriver(MED_DRIVER,med22FileName,myMeshing.getName())
459 myMeshing.write(idMedV22)
460
461 idVtk = myMeshing.addDriver(VTK_DRIVER,vtkFileName,myMeshing.getName())
462 myMeshing.write(idVtk)
463
464 # we build now 8 fields : 4 fields double (integer) :
465 #                         2 fields on nodes (cells) :
466 #                         1 scalar (vector)
467
468 supportOnNodes = SUPPORT(myMeshing,"On_All_Nodes",MED_NODE)
469 numberOfNodes = supportOnNodes.getNumberOfElements(MED_ALL_ELEMENTS)
470
471 supportOnCells = SUPPORT(myMeshing,"On_All_Cells",MED_CELL)
472 numberOfCells = supportOnCells.getNumberOfElements(MED_ALL_ELEMENTS)
473
474 fieldDoubleScalarOnNodes = FIELDDOUBLE(supportOnNodes,1)
475 fieldDoubleScalarOnNodes.setName("fieldScalarDoubleNode")
476 fieldDoubleScalarOnNodes.setIterationNumber(-1)
477 fieldDoubleScalarOnNodes.setOrderNumber(-1)
478 fieldDoubleScalarOnNodes.setTime(0.0)
479
480 fieldDoubleScalarOnNodes.setComponentName(1,"Vx")
481 fieldDoubleScalarOnNodes.setComponentDescription(1,"comp1")
482 fieldDoubleScalarOnNodes.setMEDComponentUnit(1,"unit1")
483
484 fieldDoubleVectorOnNodes = FIELDDOUBLE(supportOnNodes,spaceDimension)
485 fieldDoubleVectorOnNodes.setName("fieldVectorDoubleNode")
486 fieldDoubleVectorOnNodes.setIterationNumber(-1)
487 fieldDoubleVectorOnNodes.setOrderNumber(-1)
488 fieldDoubleVectorOnNodes.setTime(0.0)
489
490 fieldDoubleVectorOnNodes.setComponentName(1,"Vx")
491 fieldDoubleVectorOnNodes.setComponentDescription(1,"comp1")
492 fieldDoubleVectorOnNodes.setMEDComponentUnit(1,"unit1")
493 fieldDoubleVectorOnNodes.setComponentName(2,"Vy")
494 fieldDoubleVectorOnNodes.setComponentDescription(2,"comp2")
495 fieldDoubleVectorOnNodes.setMEDComponentUnit(2,"unit2")
496 fieldDoubleVectorOnNodes.setComponentName(3,"Vz")
497 fieldDoubleVectorOnNodes.setComponentDescription(3,"comp3")
498 fieldDoubleVectorOnNodes.setMEDComponentUnit(3,"unit3")
499
500 fieldDoubleScalarOnCells = FIELDDOUBLE(supportOnCells,1)
501 fieldDoubleScalarOnCells.setName("fieldScalarDoubleCell")
502 fieldDoubleScalarOnCells.setIterationNumber(-1)
503 fieldDoubleScalarOnCells.setOrderNumber(-1)
504 fieldDoubleScalarOnCells.setTime(0.0)
505
506 fieldDoubleScalarOnCells.setComponentName(1,"Vx")
507 fieldDoubleScalarOnCells.setComponentDescription(1,"comp1")
508 fieldDoubleScalarOnCells.setMEDComponentUnit(1,"unit1")
509
510 fieldDoubleVectorOnCells = FIELDDOUBLE(supportOnCells,spaceDimension)
511 fieldDoubleVectorOnCells.setName("fieldVectorrDoubleCell")
512 fieldDoubleVectorOnCells.setIterationNumber(-1)
513 fieldDoubleVectorOnCells.setOrderNumber(-1)
514 fieldDoubleVectorOnCells.setTime(0.0)
515
516 fieldDoubleVectorOnCells.setComponentName(1,"Vx")
517 fieldDoubleVectorOnCells.setComponentDescription(1,"comp1")
518 fieldDoubleVectorOnCells.setMEDComponentUnit(1,"unit1")
519 fieldDoubleVectorOnCells.setComponentName(2,"Vy")
520 fieldDoubleVectorOnCells.setComponentDescription(2,"comp2")
521 fieldDoubleVectorOnCells.setMEDComponentUnit(2,"unit2")
522 fieldDoubleVectorOnCells.setComponentName(3,"Vz")
523 fieldDoubleVectorOnCells.setComponentDescription(3,"comp3")
524 fieldDoubleVectorOnCells.setMEDComponentUnit(3,"unit3")
525
526 fieldIntScalarOnNodes = FIELDINT(supportOnNodes,1)
527 fieldIntScalarOnNodes.setName("fieldScalarIntNode")
528 fieldIntScalarOnNodes.setIterationNumber(-1)
529 fieldIntScalarOnNodes.setOrderNumber(-1)
530 fieldIntScalarOnNodes.setTime(0.0)
531
532 fieldIntScalarOnNodes.setComponentName(1,"Vx")
533 fieldIntScalarOnNodes.setComponentDescription(1,"comp1")
534 fieldIntScalarOnNodes.setMEDComponentUnit(1,"unit1")
535
536 fieldIntVectorOnNodes = FIELDINT(supportOnNodes,spaceDimension)
537 fieldIntVectorOnNodes.setName("fieldVectorIntNode")
538 fieldIntVectorOnNodes.setIterationNumber(-1)
539 fieldIntVectorOnNodes.setOrderNumber(-1)
540 fieldIntVectorOnNodes.setTime(0.0)
541
542 fieldIntVectorOnNodes.setComponentName(1,"Vx")
543 fieldIntVectorOnNodes.setComponentDescription(1,"comp1")
544 fieldIntVectorOnNodes.setMEDComponentUnit(1,"unit1")
545 fieldIntVectorOnNodes.setComponentName(2,"Vy")
546 fieldIntVectorOnNodes.setComponentDescription(2,"comp2")
547 fieldIntVectorOnNodes.setMEDComponentUnit(2,"unit2")
548 fieldIntVectorOnNodes.setComponentName(3,"Vz")
549 fieldIntVectorOnNodes.setComponentDescription(3,"comp3")
550 fieldIntVectorOnNodes.setMEDComponentUnit(3,"unit3")
551
552 fieldIntScalarOnCells = FIELDINT(supportOnCells,1)
553 fieldIntScalarOnCells.setName("fieldScalarIntCell")
554 fieldIntScalarOnCells.setIterationNumber(-1)
555 fieldIntScalarOnCells.setOrderNumber(-1)
556 fieldIntScalarOnCells.setTime(0.0)
557
558 fieldIntScalarOnCells.setComponentName(1,"Vx")
559 fieldIntScalarOnCells.setComponentDescription(1,"comp1")
560 fieldIntScalarOnCells.setMEDComponentUnit(1,"unit1")
561
562 fieldIntVectorOnCells = FIELDINT(supportOnCells,spaceDimension)
563 fieldIntVectorOnCells.setName("fieldVectorrIntCell")
564 fieldIntVectorOnCells.setIterationNumber(-1)
565 fieldIntVectorOnCells.setOrderNumber(-1)
566 fieldIntVectorOnCells.setTime(0.0)
567
568 fieldIntVectorOnCells.setComponentName(1,"Vx")
569 fieldIntVectorOnCells.setComponentDescription(1,"comp1")
570 fieldIntVectorOnCells.setMEDComponentUnit(1,"unit1")
571 fieldIntVectorOnCells.setComponentName(2,"Vy")
572 fieldIntVectorOnCells.setComponentDescription(2,"comp2")
573 fieldIntVectorOnCells.setMEDComponentUnit(2,"unit2")
574 fieldIntVectorOnCells.setComponentName(3,"Vz")
575 fieldIntVectorOnCells.setComponentDescription(3,"comp3")
576 fieldIntVectorOnCells.setMEDComponentUnit(3,"unit3")
577
578 for i in range(numberOfNodes):
579     valueInt1 = i+1
580     valueInt2 = i+2
581     valueInt3 = i+3
582     valueDbl1 = valueInt1*0.1
583     valueDbl2 = valueInt2*0.1
584     valueDbl3 = valueInt3*0.1
585     fieldDoubleScalarOnNodes.setValueIJ(i+1,1,valueDbl1)
586
587     fieldIntScalarOnNodes.setValueIJ(i+1,1,valueInt1)
588
589     fieldDoubleVectorOnNodes.setValueIJ(i+1,1,valueDbl1)
590     fieldDoubleVectorOnNodes.setValueIJ(i+1,2,valueDbl2)
591     fieldDoubleVectorOnNodes.setValueIJ(i+1,3,valueDbl3)
592
593     fieldIntVectorOnNodes.setValueIJ(i+1,1,valueInt1)
594     fieldIntVectorOnNodes.setValueIJ(i+1,2,valueInt2)
595     fieldIntVectorOnNodes.setValueIJ(i+1,3,valueInt3)
596
597 for i in range(numberOfCells):
598     valueInt1 = i+1
599     valueInt2 = i+2
600     valueInt3 = i+3
601     valueDbl1 = valueInt1*0.1
602     valueDbl2 = valueInt2*0.1
603     valueDbl3 = valueInt3*0.1
604     fieldDoubleScalarOnCells.setValueIJ(i+1,1,valueDbl1)
605
606     fieldIntScalarOnCells.setValueIJ(i+1,1,valueInt1)
607
608     fieldDoubleVectorOnCells.setValueIJ(i+1,1,valueDbl1)
609     fieldDoubleVectorOnCells.setValueIJ(i+1,2,valueDbl2)
610     fieldDoubleVectorOnCells.setValueIJ(i+1,3,valueDbl3)
611
612     fieldIntVectorOnCells.setValueIJ(i+1,1,valueInt1)
613     fieldIntVectorOnCells.setValueIJ(i+1,2,valueInt2)
614     fieldIntVectorOnCells.setValueIJ(i+1,3,valueInt3)
615
616 medFileVersion = getMedFileVersionForWriting()
617 print "Med File Version For Writing ",medFileVersion
618
619 if (medFileVersion == V22):
620     setMedFileVersionForWriting(V21)
621
622 idMedV21 = fieldDoubleScalarOnNodes.addDriver(MED_DRIVER,med21FileName,fieldDoubleScalarOnNodes.getName())
623 fieldDoubleScalarOnNodes.write(idMedV21)
624
625 idMedV21 = fieldIntScalarOnNodes.addDriver(MED_DRIVER,med21FileName,fieldIntScalarOnNodes.getName())
626 fieldIntScalarOnNodes.write(idMedV21)
627
628 idMedV21 = fieldDoubleVectorOnNodes.addDriver(MED_DRIVER,med21FileName,fieldDoubleVectorOnNodes.getName())
629 fieldDoubleVectorOnNodes.write(idMedV21)
630
631 idMedV21 = fieldIntVectorOnNodes.addDriver(MED_DRIVER,med21FileName,fieldIntVectorOnNodes.getName())
632 fieldIntVectorOnNodes.write(idMedV21)
633
634 idMedV21 = fieldDoubleScalarOnCells.addDriver(MED_DRIVER,med21FileName,fieldDoubleScalarOnCells.getName())
635 fieldDoubleScalarOnCells.write(idMedV21)
636
637 idMedV21 = fieldIntScalarOnCells.addDriver(MED_DRIVER,med21FileName,fieldIntScalarOnCells.getName())
638 fieldIntScalarOnCells.write(idMedV21)
639
640 idMedV21 = fieldDoubleVectorOnCells.addDriver(MED_DRIVER,med21FileName,fieldDoubleVectorOnCells.getName())
641 fieldDoubleVectorOnCells.write(idMedV21)
642
643 idMedV21 = fieldIntVectorOnCells.addDriver(MED_DRIVER,med21FileName,fieldIntVectorOnCells.getName())
644 fieldIntVectorOnCells.write(idMedV21)
645
646 medFileVersion = getMedFileVersionForWriting()
647 if (medFileVersion == V21):
648     setMedFileVersionForWriting(V22)
649
650 idMedV22 = fieldDoubleScalarOnNodes.addDriver(MED_DRIVER,med22FileName,fieldDoubleScalarOnNodes.getName())
651 fieldDoubleScalarOnNodes.write(idMedV22)
652
653 idMedV22 = fieldIntScalarOnNodes.addDriver(MED_DRIVER,med22FileName,fieldIntScalarOnNodes.getName())
654 fieldIntScalarOnNodes.write(idMedV22)
655
656 idMedV22 = fieldDoubleVectorOnNodes.addDriver(MED_DRIVER,med22FileName,fieldDoubleVectorOnNodes.getName())
657 fieldDoubleVectorOnNodes.write(idMedV22)
658
659 idMedV22 = fieldIntVectorOnNodes.addDriver(MED_DRIVER,med22FileName,fieldIntVectorOnNodes.getName())
660 fieldIntVectorOnNodes.write(idMedV22)
661
662 idMedV22 = fieldDoubleScalarOnCells.addDriver(MED_DRIVER,med22FileName,fieldDoubleScalarOnCells.getName())
663 fieldDoubleScalarOnCells.write(idMedV22)
664
665 idMedV22 = fieldIntScalarOnCells.addDriver(MED_DRIVER,med22FileName,fieldIntScalarOnCells.getName())
666 fieldIntScalarOnCells.write(idMedV22)
667
668 idMedV22 = fieldDoubleVectorOnCells.addDriver(MED_DRIVER,med22FileName,fieldDoubleVectorOnCells.getName())
669 fieldDoubleVectorOnCells.write(idMedV22)
670
671 idMedV22 = fieldIntVectorOnCells.addDriver(MED_DRIVER,med22FileName,fieldIntVectorOnCells.getName())
672 fieldIntVectorOnCells.write(idMedV22)
673
674 idVtk = fieldDoubleScalarOnNodes.addDriver(VTK_DRIVER,vtkFileName,fieldDoubleScalarOnNodes.getName())
675 fieldDoubleScalarOnNodes.writeAppend(idVtk)
676
677 idVtk = fieldIntScalarOnNodes.addDriver(VTK_DRIVER,vtkFileName,fieldIntScalarOnNodes.getName())
678 fieldIntScalarOnNodes.writeAppend(idVtk)
679
680 idVtk = fieldDoubleVectorOnNodes.addDriver(VTK_DRIVER,vtkFileName,fieldDoubleVectorOnNodes.getName())
681 fieldDoubleVectorOnNodes.writeAppend(idVtk)
682
683 idVtk = fieldIntVectorOnNodes.addDriver(VTK_DRIVER,vtkFileName,fieldIntVectorOnNodes.getName())
684 fieldIntVectorOnNodes.writeAppend(idVtk)
685
686 idVtk = fieldDoubleScalarOnCells.addDriver(VTK_DRIVER,vtkFileName,fieldDoubleScalarOnCells.getName())
687 fieldDoubleScalarOnCells.writeAppend(idVtk)
688
689 idVtk = fieldIntScalarOnCells.addDriver(VTK_DRIVER,vtkFileName,fieldIntScalarOnCells.getName())
690 fieldIntScalarOnCells.writeAppend(idVtk)
691
692 idVtk = fieldDoubleVectorOnCells.addDriver(VTK_DRIVER,vtkFileName,fieldDoubleVectorOnCells.getName())
693 fieldDoubleVectorOnCells.writeAppend(idVtk)
694
695 idVtk = fieldIntVectorOnCells.addDriver(VTK_DRIVER,vtkFileName,fieldIntVectorOnCells.getName())
696 fieldIntVectorOnCells.writeAppend(idVtk)