1 ###################################################################################
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
8 ###################################################################################
10 from libMEDMEM_Swig import *
12 # files name to save the generated MESH(ING) in different format
13 # Med V2.1 Med V2.2 and vtk
15 med21FileName = "toto21.med"
17 med22FileName = "toto22.med"
19 vtkFileName = "toto.vtk"
23 myMeshing.setName("meshing")
25 # definition of the coordinates
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])
110 myMeshing.setCoordinates(spaceDimension,numberOfNodes,coordinates,"CARTESIAN",MED_FULL_INTERLACE)
112 for i in range(spaceDimension):
121 myMeshing.setCoordinateName(name,i)
122 myMeshing.setCoordinateUnit(unit,i)
124 # definition of connectivities
131 numberOfElements = []
133 types.append(MED_TETRA4)
134 numberOfElements.append(12)
136 types.append(MED_PYRA5)
137 numberOfElements.append(2)
139 types.append(MED_HEXA8)
140 numberOfElements.append(2)
142 myMeshing.setNumberOfTypes(numberOfTypes,entity)
143 myMeshing.setTypes(types,entity)
144 myMeshing.setNumberOfElements(numberOfElements,entity)
146 connectivityTetra = []
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])
209 myMeshing.setConnectivity(connectivityTetra,entity,types[0])
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])
225 myMeshing.setConnectivity(connectivityPyra,entity,types[1])
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])
247 myMeshing.setConnectivity(connectivityHexa,entity,types[2])
255 numberOfElements = []
257 types.append(MED_TRIA3)
258 numberOfElements.append(4)
260 types.append(MED_QUAD4)
261 numberOfElements.append(4)
263 myMeshing.setNumberOfTypes(numberOfTypes,entity)
264 myMeshing.setTypes(types,entity)
265 myMeshing.setNumberOfElements(numberOfElements,entity)
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])
285 myMeshing.setConnectivity(connectivityTria,entity,types[0])
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])
309 myMeshing.setConnectivity(connectivityQuad,entity,types[1])
311 meshDimension = spaceDimension # because there 3D cells in the mesh
312 myMeshing.setMeshDimension(meshDimension)
320 myGroup.setName("SomeNodes")
321 myGroup.setMesh(myMeshing)
322 myGroup.setEntity(MED_NODE)
323 myGroup.setNumberOfGeometricType(1)
326 myGroup.setGeometricType(myTypes)
328 myNumberOfElements = [4]
329 myGroup.setNumberOfElements(myNumberOfElements)
333 myGroup.setNumber(index,values)
335 myMeshing.addGroup(myGroup)
338 myGroup.setName("OtherNodes")
339 myGroup.setMesh(myMeshing)
340 myGroup.setEntity(MED_NODE)
341 myGroup.setNumberOfGeometricType(1)
344 myGroup.setGeometricType(myTypes)
346 myNumberOfElements = [3]
347 myGroup.setNumberOfElements(myNumberOfElements)
351 myGroup.setNumber(index,values)
353 myMeshing.addGroup(myGroup)
358 myGroup.setName("SomeCells")
359 myGroup.setMesh(myMeshing)
360 myGroup.setEntity(MED_CELL)
361 myGroup.setNumberOfGeometricType(3)
363 myTypes = [MED_TETRA4,MED_PYRA5,MED_HEXA8]
364 myGroup.setGeometricType(myTypes)
366 myNumberOfElements = [4,1,2]
367 myGroup.setNumberOfElements(myNumberOfElements)
375 myGroup.setNumber(index,values)
377 myMeshing.addGroup(myGroup)
380 myGroup.setName("OtherCells")
381 myGroup.setMesh(myMeshing)
382 myGroup.setEntity(MED_CELL)
383 myGroup.setNumberOfGeometricType(2)
385 myTypes = [MED_TETRA4,MED_PYRA5]
386 myGroup.setGeometricType(myTypes)
388 myNumberOfElements = [4,1]
389 myGroup.setNumberOfElements(myNumberOfElements)
396 myGroup.setNumber(index,values)
398 myMeshing.addGroup(myGroup)
403 myGroup.setName("SomeFaces")
404 myGroup.setMesh(myMeshing)
405 myGroup.setEntity(MED_FACE)
406 myGroup.setNumberOfGeometricType(2)
408 myTypes = [MED_TRIA3,MED_QUAD4]
409 myGroup.setGeometricType(myTypes)
411 myNumberOfElements = [2,3]
412 myGroup.setNumberOfElements(myNumberOfElements)
419 myGroup.setNumber(index,values)
421 myMeshing.addGroup(myGroup)
424 myGroup.setName("OtherFaces")
425 myGroup.setMesh(myMeshing)
426 myGroup.setEntity(MED_FACE)
427 myGroup.setNumberOfGeometricType(1)
429 myTypes = [MED_TRIA3]
430 myGroup.setGeometricType(myTypes)
432 myNumberOfElements = [2]
433 myGroup.setNumberOfElements(myNumberOfElements)
439 myGroup.setNumber(index,values)
441 myMeshing.addGroup(myGroup)
443 # saving of the generated mesh in MED 2.1, 2.2 and VTK format
445 medFileVersion = getMedFileVersionForWriting()
446 print "Med File Version For Writing ",medFileVersion
448 if (medFileVersion == V22):
449 setMedFileVersionForWriting(V21)
451 idMedV21 = myMeshing.addDriver(MED_DRIVER,med21FileName,myMeshing.getName())
452 myMeshing.write(idMedV21)
454 medFileVersion = getMedFileVersionForWriting()
455 if (medFileVersion == V21):
456 setMedFileVersionForWriting(V22)
458 idMedV22 = myMeshing.addDriver(MED_DRIVER,med22FileName,myMeshing.getName())
459 myMeshing.write(idMedV22)
461 idVtk = myMeshing.addDriver(VTK_DRIVER,vtkFileName,myMeshing.getName())
462 myMeshing.write(idVtk)
464 # we build now 8 fields : 4 fields double (integer) :
465 # 2 fields on nodes (cells) :
468 supportOnNodes = SUPPORT(myMeshing,"On_All_Nodes",MED_NODE)
469 numberOfNodes = supportOnNodes.getNumberOfElements(MED_ALL_ELEMENTS)
471 supportOnCells = SUPPORT(myMeshing,"On_All_Cells",MED_CELL)
472 numberOfCells = supportOnCells.getNumberOfElements(MED_ALL_ELEMENTS)
474 fieldDoubleScalarOnNodes = FIELDDOUBLE(supportOnNodes,1)
475 fieldDoubleScalarOnNodes.setName("fieldScalarDoubleNode")
476 fieldDoubleScalarOnNodes.setIterationNumber(-1)
477 fieldDoubleScalarOnNodes.setOrderNumber(-1)
478 fieldDoubleScalarOnNodes.setTime(0.0)
480 fieldDoubleScalarOnNodes.setComponentName(1,"Vx")
481 fieldDoubleScalarOnNodes.setComponentDescription(1,"comp1")
482 fieldDoubleScalarOnNodes.setMEDComponentUnit(1,"unit1")
484 fieldDoubleVectorOnNodes = FIELDDOUBLE(supportOnNodes,spaceDimension)
485 fieldDoubleVectorOnNodes.setName("fieldVectorDoubleNode")
486 fieldDoubleVectorOnNodes.setIterationNumber(-1)
487 fieldDoubleVectorOnNodes.setOrderNumber(-1)
488 fieldDoubleVectorOnNodes.setTime(0.0)
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")
500 fieldDoubleScalarOnCells = FIELDDOUBLE(supportOnCells,1)
501 fieldDoubleScalarOnCells.setName("fieldScalarDoubleCell")
502 fieldDoubleScalarOnCells.setIterationNumber(-1)
503 fieldDoubleScalarOnCells.setOrderNumber(-1)
504 fieldDoubleScalarOnCells.setTime(0.0)
506 fieldDoubleScalarOnCells.setComponentName(1,"Vx")
507 fieldDoubleScalarOnCells.setComponentDescription(1,"comp1")
508 fieldDoubleScalarOnCells.setMEDComponentUnit(1,"unit1")
510 fieldDoubleVectorOnCells = FIELDDOUBLE(supportOnCells,spaceDimension)
511 fieldDoubleVectorOnCells.setName("fieldVectorrDoubleCell")
512 fieldDoubleVectorOnCells.setIterationNumber(-1)
513 fieldDoubleVectorOnCells.setOrderNumber(-1)
514 fieldDoubleVectorOnCells.setTime(0.0)
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")
526 fieldIntScalarOnNodes = FIELDINT(supportOnNodes,1)
527 fieldIntScalarOnNodes.setName("fieldScalarIntNode")
528 fieldIntScalarOnNodes.setIterationNumber(-1)
529 fieldIntScalarOnNodes.setOrderNumber(-1)
530 fieldIntScalarOnNodes.setTime(0.0)
532 fieldIntScalarOnNodes.setComponentName(1,"Vx")
533 fieldIntScalarOnNodes.setComponentDescription(1,"comp1")
534 fieldIntScalarOnNodes.setMEDComponentUnit(1,"unit1")
536 fieldIntVectorOnNodes = FIELDINT(supportOnNodes,spaceDimension)
537 fieldIntVectorOnNodes.setName("fieldVectorIntNode")
538 fieldIntVectorOnNodes.setIterationNumber(-1)
539 fieldIntVectorOnNodes.setOrderNumber(-1)
540 fieldIntVectorOnNodes.setTime(0.0)
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")
552 fieldIntScalarOnCells = FIELDINT(supportOnCells,1)
553 fieldIntScalarOnCells.setName("fieldScalarIntCell")
554 fieldIntScalarOnCells.setIterationNumber(-1)
555 fieldIntScalarOnCells.setOrderNumber(-1)
556 fieldIntScalarOnCells.setTime(0.0)
558 fieldIntScalarOnCells.setComponentName(1,"Vx")
559 fieldIntScalarOnCells.setComponentDescription(1,"comp1")
560 fieldIntScalarOnCells.setMEDComponentUnit(1,"unit1")
562 fieldIntVectorOnCells = FIELDINT(supportOnCells,spaceDimension)
563 fieldIntVectorOnCells.setName("fieldVectorrIntCell")
564 fieldIntVectorOnCells.setIterationNumber(-1)
565 fieldIntVectorOnCells.setOrderNumber(-1)
566 fieldIntVectorOnCells.setTime(0.0)
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")
578 for i in range(numberOfNodes):
582 valueDbl1 = valueInt1*0.1
583 valueDbl2 = valueInt2*0.1
584 valueDbl3 = valueInt3*0.1
585 fieldDoubleScalarOnNodes.setValueIJ(i+1,1,valueDbl1)
587 fieldIntScalarOnNodes.setValueIJ(i+1,1,valueInt1)
589 fieldDoubleVectorOnNodes.setValueIJ(i+1,1,valueDbl1)
590 fieldDoubleVectorOnNodes.setValueIJ(i+1,2,valueDbl2)
591 fieldDoubleVectorOnNodes.setValueIJ(i+1,3,valueDbl3)
593 fieldIntVectorOnNodes.setValueIJ(i+1,1,valueInt1)
594 fieldIntVectorOnNodes.setValueIJ(i+1,2,valueInt2)
595 fieldIntVectorOnNodes.setValueIJ(i+1,3,valueInt3)
597 for i in range(numberOfCells):
601 valueDbl1 = valueInt1*0.1
602 valueDbl2 = valueInt2*0.1
603 valueDbl3 = valueInt3*0.1
604 fieldDoubleScalarOnCells.setValueIJ(i+1,1,valueDbl1)
606 fieldIntScalarOnCells.setValueIJ(i+1,1,valueInt1)
608 fieldDoubleVectorOnCells.setValueIJ(i+1,1,valueDbl1)
609 fieldDoubleVectorOnCells.setValueIJ(i+1,2,valueDbl2)
610 fieldDoubleVectorOnCells.setValueIJ(i+1,3,valueDbl3)
612 fieldIntVectorOnCells.setValueIJ(i+1,1,valueInt1)
613 fieldIntVectorOnCells.setValueIJ(i+1,2,valueInt2)
614 fieldIntVectorOnCells.setValueIJ(i+1,3,valueInt3)
616 medFileVersion = getMedFileVersionForWriting()
617 print "Med File Version For Writing ",medFileVersion
619 if (medFileVersion == V22):
620 setMedFileVersionForWriting(V21)
622 idMedV21 = fieldDoubleScalarOnNodes.addDriver(MED_DRIVER,med21FileName,fieldDoubleScalarOnNodes.getName())
623 fieldDoubleScalarOnNodes.write(idMedV21)
625 idMedV21 = fieldIntScalarOnNodes.addDriver(MED_DRIVER,med21FileName,fieldIntScalarOnNodes.getName())
626 fieldIntScalarOnNodes.write(idMedV21)
628 idMedV21 = fieldDoubleVectorOnNodes.addDriver(MED_DRIVER,med21FileName,fieldDoubleVectorOnNodes.getName())
629 fieldDoubleVectorOnNodes.write(idMedV21)
631 idMedV21 = fieldIntVectorOnNodes.addDriver(MED_DRIVER,med21FileName,fieldIntVectorOnNodes.getName())
632 fieldIntVectorOnNodes.write(idMedV21)
634 idMedV21 = fieldDoubleScalarOnCells.addDriver(MED_DRIVER,med21FileName,fieldDoubleScalarOnCells.getName())
635 fieldDoubleScalarOnCells.write(idMedV21)
637 idMedV21 = fieldIntScalarOnCells.addDriver(MED_DRIVER,med21FileName,fieldIntScalarOnCells.getName())
638 fieldIntScalarOnCells.write(idMedV21)
640 idMedV21 = fieldDoubleVectorOnCells.addDriver(MED_DRIVER,med21FileName,fieldDoubleVectorOnCells.getName())
641 fieldDoubleVectorOnCells.write(idMedV21)
643 idMedV21 = fieldIntVectorOnCells.addDriver(MED_DRIVER,med21FileName,fieldIntVectorOnCells.getName())
644 fieldIntVectorOnCells.write(idMedV21)
646 medFileVersion = getMedFileVersionForWriting()
647 if (medFileVersion == V21):
648 setMedFileVersionForWriting(V22)
650 idMedV22 = fieldDoubleScalarOnNodes.addDriver(MED_DRIVER,med22FileName,fieldDoubleScalarOnNodes.getName())
651 fieldDoubleScalarOnNodes.write(idMedV22)
653 idMedV22 = fieldIntScalarOnNodes.addDriver(MED_DRIVER,med22FileName,fieldIntScalarOnNodes.getName())
654 fieldIntScalarOnNodes.write(idMedV22)
656 idMedV22 = fieldDoubleVectorOnNodes.addDriver(MED_DRIVER,med22FileName,fieldDoubleVectorOnNodes.getName())
657 fieldDoubleVectorOnNodes.write(idMedV22)
659 idMedV22 = fieldIntVectorOnNodes.addDriver(MED_DRIVER,med22FileName,fieldIntVectorOnNodes.getName())
660 fieldIntVectorOnNodes.write(idMedV22)
662 idMedV22 = fieldDoubleScalarOnCells.addDriver(MED_DRIVER,med22FileName,fieldDoubleScalarOnCells.getName())
663 fieldDoubleScalarOnCells.write(idMedV22)
665 idMedV22 = fieldIntScalarOnCells.addDriver(MED_DRIVER,med22FileName,fieldIntScalarOnCells.getName())
666 fieldIntScalarOnCells.write(idMedV22)
668 idMedV22 = fieldDoubleVectorOnCells.addDriver(MED_DRIVER,med22FileName,fieldDoubleVectorOnCells.getName())
669 fieldDoubleVectorOnCells.write(idMedV22)
671 idMedV22 = fieldIntVectorOnCells.addDriver(MED_DRIVER,med22FileName,fieldIntVectorOnCells.getName())
672 fieldIntVectorOnCells.write(idMedV22)
674 idVtk = fieldDoubleScalarOnNodes.addDriver(VTK_DRIVER,vtkFileName,fieldDoubleScalarOnNodes.getName())
675 fieldDoubleScalarOnNodes.writeAppend(idVtk)
677 idVtk = fieldIntScalarOnNodes.addDriver(VTK_DRIVER,vtkFileName,fieldIntScalarOnNodes.getName())
678 fieldIntScalarOnNodes.writeAppend(idVtk)
680 idVtk = fieldDoubleVectorOnNodes.addDriver(VTK_DRIVER,vtkFileName,fieldDoubleVectorOnNodes.getName())
681 fieldDoubleVectorOnNodes.writeAppend(idVtk)
683 idVtk = fieldIntVectorOnNodes.addDriver(VTK_DRIVER,vtkFileName,fieldIntVectorOnNodes.getName())
684 fieldIntVectorOnNodes.writeAppend(idVtk)
686 idVtk = fieldDoubleScalarOnCells.addDriver(VTK_DRIVER,vtkFileName,fieldDoubleScalarOnCells.getName())
687 fieldDoubleScalarOnCells.writeAppend(idVtk)
689 idVtk = fieldIntScalarOnCells.addDriver(VTK_DRIVER,vtkFileName,fieldIntScalarOnCells.getName())
690 fieldIntScalarOnCells.writeAppend(idVtk)
692 idVtk = fieldDoubleVectorOnCells.addDriver(VTK_DRIVER,vtkFileName,fieldDoubleVectorOnCells.getName())
693 fieldDoubleVectorOnCells.writeAppend(idVtk)
695 idVtk = fieldIntVectorOnCells.addDriver(VTK_DRIVER,vtkFileName,fieldIntVectorOnCells.getName())
696 fieldIntVectorOnCells.writeAppend(idVtk)