1 # Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
3 # Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 # This library is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU Lesser General Public
8 # License as published by the Free Software Foundation; either
9 # version 2.1 of the License.
11 # This library is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 # Lesser General Public License for more details.
16 # You should have received a copy of the GNU Lesser General Public
17 # License along with this library; if not, write to the Free Software
18 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 ###################################################################################
23 # This Python script uses the wrapped C++ class MESHING to buid a mesh from only
24 # primitive data like coordinates (Pythoin double array) and connectivity (Python
25 # integer arrays). It is the Python equivalent of the C++ program
26 # test_MEDMEM_Meshing.cxx in the ../MEDMEM directory of the SALOME distribution
27 ###################################################################################
29 from libMEDMEM_Swig import *
31 # files name to save the generated MESH(ING) in different format
32 # Med V2.1 Med V2.2 and vtk
34 med21FileName = "toto21.med"
36 med22FileName = "toto22.med"
38 vtkFileName = "toto.vtk"
42 myMeshing.setName("meshing")
44 # definition of the coordinates
52 coordinate = [0.0, 0.0, 0.0]
53 coordinates.append(coordinate[0])
54 coordinates.append(coordinate[1])
55 coordinates.append(coordinate[2])
56 coordinate = [0.0, 0.0, 1.0]
57 coordinates.append(coordinate[0])
58 coordinates.append(coordinate[1])
59 coordinates.append(coordinate[2])
60 coordinate = [2.0, 0.0, 1.0]
61 coordinates.append(coordinate[0])
62 coordinates.append(coordinate[1])
63 coordinates.append(coordinate[2])
64 coordinate = [0.0, 2.0, 1.0]
65 coordinates.append(coordinate[0])
66 coordinates.append(coordinate[1])
67 coordinates.append(coordinate[2])
68 coordinate = [-2.0, 0.0, 1.0]
69 coordinates.append(coordinate[0])
70 coordinates.append(coordinate[1])
71 coordinates.append(coordinate[2])
72 coordinate = [0.0, -2.0, 1.0]
73 coordinates.append(coordinate[0])
74 coordinates.append(coordinate[1])
75 coordinates.append(coordinate[2])
76 coordinate = [1.0, 1.0, 2.0]
77 coordinates.append(coordinate[0])
78 coordinates.append(coordinate[1])
79 coordinates.append(coordinate[2])
80 coordinate = [-1.0, 1.0, 2.0]
81 coordinates.append(coordinate[0])
82 coordinates.append(coordinate[1])
83 coordinates.append(coordinate[2])
84 coordinate = [-1.0, -1.0, 2.0]
85 coordinates.append(coordinate[0])
86 coordinates.append(coordinate[1])
87 coordinates.append(coordinate[2])
88 coordinate = [1.0, -1.0, 2.0]
89 coordinates.append(coordinate[0])
90 coordinates.append(coordinate[1])
91 coordinates.append(coordinate[2])
92 coordinate = [1.0, 1.0, 3.0]
93 coordinates.append(coordinate[0])
94 coordinates.append(coordinate[1])
95 coordinates.append(coordinate[2])
96 coordinate = [-1.0, 1.0, 3.0]
97 coordinates.append(coordinate[0])
98 coordinates.append(coordinate[1])
99 coordinates.append(coordinate[2])
100 coordinate = [-1.0, -1.0, 3.0]
101 coordinates.append(coordinate[0])
102 coordinates.append(coordinate[1])
103 coordinates.append(coordinate[2])
104 coordinate = [1.0, -1.0, 3.0]
105 coordinates.append(coordinate[0])
106 coordinates.append(coordinate[1])
107 coordinates.append(coordinate[2])
108 coordinate = [1.0, 1.0, 4.0]
109 coordinates.append(coordinate[0])
110 coordinates.append(coordinate[1])
111 coordinates.append(coordinate[2])
112 coordinate = [-1.0, 1.0, 4.0]
113 coordinates.append(coordinate[0])
114 coordinates.append(coordinate[1])
115 coordinates.append(coordinate[2])
116 coordinate = [-1.0, -1.0, 4.0]
117 coordinates.append(coordinate[0])
118 coordinates.append(coordinate[1])
119 coordinates.append(coordinate[2])
120 coordinate = [1.0, -1.0, 4.0]
121 coordinates.append(coordinate[0])
122 coordinates.append(coordinate[1])
123 coordinates.append(coordinate[2])
124 coordinate = [0.0, 0.0, 5.0]
125 coordinates.append(coordinate[0])
126 coordinates.append(coordinate[1])
127 coordinates.append(coordinate[2])
129 myMeshing.setCoordinates(spaceDimension,numberOfNodes,coordinates,"CARTESIAN",MED_FULL_INTERLACE)
131 for i in range(spaceDimension):
140 myMeshing.setCoordinateName(name,i)
141 myMeshing.setCoordinateUnit(unit,i)
143 # definition of connectivities
150 numberOfElements = []
152 types.append(MED_TETRA4)
153 numberOfElements.append(12)
155 types.append(MED_PYRA5)
156 numberOfElements.append(2)
158 types.append(MED_HEXA8)
159 numberOfElements.append(2)
161 myMeshing.setNumberOfTypes(numberOfTypes,entity)
162 myMeshing.setTypes(types,entity)
163 myMeshing.setNumberOfElements(numberOfElements,entity)
165 connectivityTetra = []
167 connectivity = [1,2,3,6]
168 connectivityTetra.append(connectivity[0])
169 connectivityTetra.append(connectivity[1])
170 connectivityTetra.append(connectivity[2])
171 connectivityTetra.append(connectivity[3])
172 connectivity = [1,2,4,3]
173 connectivityTetra.append(connectivity[0])
174 connectivityTetra.append(connectivity[1])
175 connectivityTetra.append(connectivity[2])
176 connectivityTetra.append(connectivity[3])
177 connectivity = [1,2,5,4]
178 connectivityTetra.append(connectivity[0])
179 connectivityTetra.append(connectivity[1])
180 connectivityTetra.append(connectivity[2])
181 connectivityTetra.append(connectivity[3])
182 connectivity = [1,2,6,5]
183 connectivityTetra.append(connectivity[0])
184 connectivityTetra.append(connectivity[1])
185 connectivityTetra.append(connectivity[2])
186 connectivityTetra.append(connectivity[3])
187 connectivity = [2,7,4,3]
188 connectivityTetra.append(connectivity[0])
189 connectivityTetra.append(connectivity[1])
190 connectivityTetra.append(connectivity[2])
191 connectivityTetra.append(connectivity[3])
192 connectivity = [2,8,5,4]
193 connectivityTetra.append(connectivity[0])
194 connectivityTetra.append(connectivity[1])
195 connectivityTetra.append(connectivity[2])
196 connectivityTetra.append(connectivity[3])
197 connectivity = [2,9,6,5]
198 connectivityTetra.append(connectivity[0])
199 connectivityTetra.append(connectivity[1])
200 connectivityTetra.append(connectivity[2])
201 connectivityTetra.append(connectivity[3])
202 connectivity = [2,10,3,6]
203 connectivityTetra.append(connectivity[0])
204 connectivityTetra.append(connectivity[1])
205 connectivityTetra.append(connectivity[2])
206 connectivityTetra.append(connectivity[3])
207 connectivity = [2,7,3,10]
208 connectivityTetra.append(connectivity[0])
209 connectivityTetra.append(connectivity[1])
210 connectivityTetra.append(connectivity[2])
211 connectivityTetra.append(connectivity[3])
212 connectivity = [2,8,4,7]
213 connectivityTetra.append(connectivity[0])
214 connectivityTetra.append(connectivity[1])
215 connectivityTetra.append(connectivity[2])
216 connectivityTetra.append(connectivity[3])
217 connectivity = [2,9,5,8]
218 connectivityTetra.append(connectivity[0])
219 connectivityTetra.append(connectivity[1])
220 connectivityTetra.append(connectivity[2])
221 connectivityTetra.append(connectivity[3])
222 connectivity = [2,10,6,9]
223 connectivityTetra.append(connectivity[0])
224 connectivityTetra.append(connectivity[1])
225 connectivityTetra.append(connectivity[2])
226 connectivityTetra.append(connectivity[3])
228 myMeshing.setConnectivity(connectivityTetra,entity,types[0])
230 connectivityPyra = []
231 connectivity = [7,8,9,10,2]
232 connectivityPyra.append(connectivity[0])
233 connectivityPyra.append(connectivity[1])
234 connectivityPyra.append(connectivity[2])
235 connectivityPyra.append(connectivity[3])
236 connectivityPyra.append(connectivity[4])
237 connectivity = [15,18,17,16,19]
238 connectivityPyra.append(connectivity[0])
239 connectivityPyra.append(connectivity[1])
240 connectivityPyra.append(connectivity[2])
241 connectivityPyra.append(connectivity[3])
242 connectivityPyra.append(connectivity[4])
244 myMeshing.setConnectivity(connectivityPyra,entity,types[1])
246 connectivityHexa = []
247 connectivity = [11,12,13,14,7,8,9,10]
248 connectivityHexa.append(connectivity[0])
249 connectivityHexa.append(connectivity[1])
250 connectivityHexa.append(connectivity[2])
251 connectivityHexa.append(connectivity[3])
252 connectivityHexa.append(connectivity[4])
253 connectivityHexa.append(connectivity[5])
254 connectivityHexa.append(connectivity[6])
255 connectivityHexa.append(connectivity[7])
256 connectivity = [15,16,17,18,11,12,13,14]
257 connectivityHexa.append(connectivity[0])
258 connectivityHexa.append(connectivity[1])
259 connectivityHexa.append(connectivity[2])
260 connectivityHexa.append(connectivity[3])
261 connectivityHexa.append(connectivity[4])
262 connectivityHexa.append(connectivity[5])
263 connectivityHexa.append(connectivity[6])
264 connectivityHexa.append(connectivity[7])
266 myMeshing.setConnectivity(connectivityHexa,entity,types[2])
274 numberOfElements = []
276 types.append(MED_TRIA3)
277 numberOfElements.append(4)
279 types.append(MED_QUAD4)
280 numberOfElements.append(4)
282 myMeshing.setNumberOfTypes(numberOfTypes,entity)
283 myMeshing.setTypes(types,entity)
284 myMeshing.setNumberOfElements(numberOfElements,entity)
286 connectivityTria = []
287 connectivity = [1,4,3]
288 connectivityTria.append(connectivity[0])
289 connectivityTria.append(connectivity[1])
290 connectivityTria.append(connectivity[2])
291 connectivity = [1,5,4]
292 connectivityTria.append(connectivity[0])
293 connectivityTria.append(connectivity[1])
294 connectivityTria.append(connectivity[2])
295 connectivity = [1,6,5]
296 connectivityTria.append(connectivity[0])
297 connectivityTria.append(connectivity[1])
298 connectivityTria.append(connectivity[2])
299 connectivity = [1,3,6]
300 connectivityTria.append(connectivity[0])
301 connectivityTria.append(connectivity[1])
302 connectivityTria.append(connectivity[2])
304 myMeshing.setConnectivity(connectivityTria,entity,types[0])
306 connectivityQuad = []
307 connectivity = [7,8,9,10]
308 connectivityQuad.append(connectivity[0])
309 connectivityQuad.append(connectivity[1])
310 connectivityQuad.append(connectivity[2])
311 connectivityQuad.append(connectivity[3])
312 connectivity = [11,12,13,14]
313 connectivityQuad.append(connectivity[0])
314 connectivityQuad.append(connectivity[1])
315 connectivityQuad.append(connectivity[2])
316 connectivityQuad.append(connectivity[3])
317 connectivity = [11,7,8,12]
318 connectivityQuad.append(connectivity[0])
319 connectivityQuad.append(connectivity[1])
320 connectivityQuad.append(connectivity[2])
321 connectivityQuad.append(connectivity[3])
322 connectivity = [12,8,9,13]
323 connectivityQuad.append(connectivity[0])
324 connectivityQuad.append(connectivity[1])
325 connectivityQuad.append(connectivity[2])
326 connectivityQuad.append(connectivity[3])
328 myMeshing.setConnectivity(connectivityQuad,entity,types[1])
330 meshDimension = spaceDimension # because there 3D cells in the mesh
331 myMeshing.setMeshDimension(meshDimension)
339 myGroup.setName("SomeNodes")
340 myGroup.setMesh(myMeshing)
341 myGroup.setEntity(MED_NODE)
342 myGroup.setNumberOfGeometricType(1)
345 myGroup.setGeometricType(myTypes)
347 myNumberOfElements = [4]
348 myGroup.setNumberOfElements(myNumberOfElements)
352 myGroup.setNumber(index,values)
354 myMeshing.addGroup(myGroup)
357 myGroup.setName("OtherNodes")
358 myGroup.setMesh(myMeshing)
359 myGroup.setEntity(MED_NODE)
360 myGroup.setNumberOfGeometricType(1)
363 myGroup.setGeometricType(myTypes)
365 myNumberOfElements = [3]
366 myGroup.setNumberOfElements(myNumberOfElements)
370 myGroup.setNumber(index,values)
372 myMeshing.addGroup(myGroup)
377 myGroup.setName("SomeCells")
378 myGroup.setMesh(myMeshing)
379 myGroup.setEntity(MED_CELL)
380 myGroup.setNumberOfGeometricType(3)
382 myTypes = [MED_TETRA4,MED_PYRA5,MED_HEXA8]
383 myGroup.setGeometricType(myTypes)
385 myNumberOfElements = [4,1,2]
386 myGroup.setNumberOfElements(myNumberOfElements)
394 myGroup.setNumber(index,values)
396 myMeshing.addGroup(myGroup)
399 myGroup.setName("OtherCells")
400 myGroup.setMesh(myMeshing)
401 myGroup.setEntity(MED_CELL)
402 myGroup.setNumberOfGeometricType(2)
404 myTypes = [MED_TETRA4,MED_PYRA5]
405 myGroup.setGeometricType(myTypes)
407 myNumberOfElements = [4,1]
408 myGroup.setNumberOfElements(myNumberOfElements)
415 myGroup.setNumber(index,values)
417 myMeshing.addGroup(myGroup)
422 myGroup.setName("SomeFaces")
423 myGroup.setMesh(myMeshing)
424 myGroup.setEntity(MED_FACE)
425 myGroup.setNumberOfGeometricType(2)
427 myTypes = [MED_TRIA3,MED_QUAD4]
428 myGroup.setGeometricType(myTypes)
430 myNumberOfElements = [2,3]
431 myGroup.setNumberOfElements(myNumberOfElements)
438 myGroup.setNumber(index,values)
440 myMeshing.addGroup(myGroup)
443 myGroup.setName("OtherFaces")
444 myGroup.setMesh(myMeshing)
445 myGroup.setEntity(MED_FACE)
446 myGroup.setNumberOfGeometricType(1)
448 myTypes = [MED_TRIA3]
449 myGroup.setGeometricType(myTypes)
451 myNumberOfElements = [2]
452 myGroup.setNumberOfElements(myNumberOfElements)
458 myGroup.setNumber(index,values)
460 myMeshing.addGroup(myGroup)
462 # saving of the generated mesh in MED 2.1, 2.2 and VTK format
464 medFileVersion = getMedFileVersionForWriting()
465 print "Med File Version For Writing ",medFileVersion
467 if (medFileVersion == V22):
468 setMedFileVersionForWriting(V21)
470 idMedV21 = myMeshing.addDriver(MED_DRIVER,med21FileName,myMeshing.getName())
471 myMeshing.write(idMedV21)
473 medFileVersion = getMedFileVersionForWriting()
474 if (medFileVersion == V21):
475 setMedFileVersionForWriting(V22)
477 idMedV22 = myMeshing.addDriver(MED_DRIVER,med22FileName,myMeshing.getName())
478 myMeshing.write(idMedV22)
480 idVtk = myMeshing.addDriver(VTK_DRIVER,vtkFileName,myMeshing.getName())
481 myMeshing.write(idVtk)
483 # we build now 8 fields : 4 fields double (integer) :
484 # 2 fields on nodes (cells) :
487 supportOnNodes = SUPPORT(myMeshing,"On_All_Nodes",MED_NODE)
488 numberOfNodes = supportOnNodes.getNumberOfElements(MED_ALL_ELEMENTS)
490 supportOnCells = SUPPORT(myMeshing,"On_All_Cells",MED_CELL)
491 numberOfCells = supportOnCells.getNumberOfElements(MED_ALL_ELEMENTS)
493 fieldDoubleScalarOnNodes = FIELDDOUBLE(supportOnNodes,1)
494 fieldDoubleScalarOnNodes.setName("fieldScalarDoubleNode")
495 fieldDoubleScalarOnNodes.setIterationNumber(-1)
496 fieldDoubleScalarOnNodes.setOrderNumber(-1)
497 fieldDoubleScalarOnNodes.setTime(0.0)
499 fieldDoubleScalarOnNodes.setComponentName(1,"Vx")
500 fieldDoubleScalarOnNodes.setComponentDescription(1,"comp1")
501 fieldDoubleScalarOnNodes.setMEDComponentUnit(1,"unit1")
503 fieldDoubleVectorOnNodes = FIELDDOUBLE(supportOnNodes,spaceDimension)
504 fieldDoubleVectorOnNodes.setName("fieldVectorDoubleNode")
505 fieldDoubleVectorOnNodes.setIterationNumber(-1)
506 fieldDoubleVectorOnNodes.setOrderNumber(-1)
507 fieldDoubleVectorOnNodes.setTime(0.0)
509 fieldDoubleVectorOnNodes.setComponentName(1,"Vx")
510 fieldDoubleVectorOnNodes.setComponentDescription(1,"comp1")
511 fieldDoubleVectorOnNodes.setMEDComponentUnit(1,"unit1")
512 fieldDoubleVectorOnNodes.setComponentName(2,"Vy")
513 fieldDoubleVectorOnNodes.setComponentDescription(2,"comp2")
514 fieldDoubleVectorOnNodes.setMEDComponentUnit(2,"unit2")
515 fieldDoubleVectorOnNodes.setComponentName(3,"Vz")
516 fieldDoubleVectorOnNodes.setComponentDescription(3,"comp3")
517 fieldDoubleVectorOnNodes.setMEDComponentUnit(3,"unit3")
519 fieldDoubleScalarOnCells = FIELDDOUBLE(supportOnCells,1)
520 fieldDoubleScalarOnCells.setName("fieldScalarDoubleCell")
521 fieldDoubleScalarOnCells.setIterationNumber(-1)
522 fieldDoubleScalarOnCells.setOrderNumber(-1)
523 fieldDoubleScalarOnCells.setTime(0.0)
525 fieldDoubleScalarOnCells.setComponentName(1,"Vx")
526 fieldDoubleScalarOnCells.setComponentDescription(1,"comp1")
527 fieldDoubleScalarOnCells.setMEDComponentUnit(1,"unit1")
529 fieldDoubleVectorOnCells = FIELDDOUBLE(supportOnCells,spaceDimension)
530 fieldDoubleVectorOnCells.setName("fieldVectorrDoubleCell")
531 fieldDoubleVectorOnCells.setIterationNumber(-1)
532 fieldDoubleVectorOnCells.setOrderNumber(-1)
533 fieldDoubleVectorOnCells.setTime(0.0)
535 fieldDoubleVectorOnCells.setComponentName(1,"Vx")
536 fieldDoubleVectorOnCells.setComponentDescription(1,"comp1")
537 fieldDoubleVectorOnCells.setMEDComponentUnit(1,"unit1")
538 fieldDoubleVectorOnCells.setComponentName(2,"Vy")
539 fieldDoubleVectorOnCells.setComponentDescription(2,"comp2")
540 fieldDoubleVectorOnCells.setMEDComponentUnit(2,"unit2")
541 fieldDoubleVectorOnCells.setComponentName(3,"Vz")
542 fieldDoubleVectorOnCells.setComponentDescription(3,"comp3")
543 fieldDoubleVectorOnCells.setMEDComponentUnit(3,"unit3")
545 fieldIntScalarOnNodes = FIELDINT(supportOnNodes,1)
546 fieldIntScalarOnNodes.setName("fieldScalarIntNode")
547 fieldIntScalarOnNodes.setIterationNumber(-1)
548 fieldIntScalarOnNodes.setOrderNumber(-1)
549 fieldIntScalarOnNodes.setTime(0.0)
551 fieldIntScalarOnNodes.setComponentName(1,"Vx")
552 fieldIntScalarOnNodes.setComponentDescription(1,"comp1")
553 fieldIntScalarOnNodes.setMEDComponentUnit(1,"unit1")
555 fieldIntVectorOnNodes = FIELDINT(supportOnNodes,spaceDimension)
556 fieldIntVectorOnNodes.setName("fieldVectorIntNode")
557 fieldIntVectorOnNodes.setIterationNumber(-1)
558 fieldIntVectorOnNodes.setOrderNumber(-1)
559 fieldIntVectorOnNodes.setTime(0.0)
561 fieldIntVectorOnNodes.setComponentName(1,"Vx")
562 fieldIntVectorOnNodes.setComponentDescription(1,"comp1")
563 fieldIntVectorOnNodes.setMEDComponentUnit(1,"unit1")
564 fieldIntVectorOnNodes.setComponentName(2,"Vy")
565 fieldIntVectorOnNodes.setComponentDescription(2,"comp2")
566 fieldIntVectorOnNodes.setMEDComponentUnit(2,"unit2")
567 fieldIntVectorOnNodes.setComponentName(3,"Vz")
568 fieldIntVectorOnNodes.setComponentDescription(3,"comp3")
569 fieldIntVectorOnNodes.setMEDComponentUnit(3,"unit3")
571 fieldIntScalarOnCells = FIELDINT(supportOnCells,1)
572 fieldIntScalarOnCells.setName("fieldScalarIntCell")
573 fieldIntScalarOnCells.setIterationNumber(-1)
574 fieldIntScalarOnCells.setOrderNumber(-1)
575 fieldIntScalarOnCells.setTime(0.0)
577 fieldIntScalarOnCells.setComponentName(1,"Vx")
578 fieldIntScalarOnCells.setComponentDescription(1,"comp1")
579 fieldIntScalarOnCells.setMEDComponentUnit(1,"unit1")
581 fieldIntVectorOnCells = FIELDINT(supportOnCells,spaceDimension)
582 fieldIntVectorOnCells.setName("fieldVectorrIntCell")
583 fieldIntVectorOnCells.setIterationNumber(-1)
584 fieldIntVectorOnCells.setOrderNumber(-1)
585 fieldIntVectorOnCells.setTime(0.0)
587 fieldIntVectorOnCells.setComponentName(1,"Vx")
588 fieldIntVectorOnCells.setComponentDescription(1,"comp1")
589 fieldIntVectorOnCells.setMEDComponentUnit(1,"unit1")
590 fieldIntVectorOnCells.setComponentName(2,"Vy")
591 fieldIntVectorOnCells.setComponentDescription(2,"comp2")
592 fieldIntVectorOnCells.setMEDComponentUnit(2,"unit2")
593 fieldIntVectorOnCells.setComponentName(3,"Vz")
594 fieldIntVectorOnCells.setComponentDescription(3,"comp3")
595 fieldIntVectorOnCells.setMEDComponentUnit(3,"unit3")
597 for i in range(numberOfNodes):
601 valueDbl1 = valueInt1*0.1
602 valueDbl2 = valueInt2*0.1
603 valueDbl3 = valueInt3*0.1
604 fieldDoubleScalarOnNodes.setValueIJ(i+1,1,valueDbl1)
606 fieldIntScalarOnNodes.setValueIJ(i+1,1,valueInt1)
608 fieldDoubleVectorOnNodes.setValueIJ(i+1,1,valueDbl1)
609 fieldDoubleVectorOnNodes.setValueIJ(i+1,2,valueDbl2)
610 fieldDoubleVectorOnNodes.setValueIJ(i+1,3,valueDbl3)
612 fieldIntVectorOnNodes.setValueIJ(i+1,1,valueInt1)
613 fieldIntVectorOnNodes.setValueIJ(i+1,2,valueInt2)
614 fieldIntVectorOnNodes.setValueIJ(i+1,3,valueInt3)
616 for i in range(numberOfCells):
620 valueDbl1 = valueInt1*0.1
621 valueDbl2 = valueInt2*0.1
622 valueDbl3 = valueInt3*0.1
623 fieldDoubleScalarOnCells.setValueIJ(i+1,1,valueDbl1)
625 fieldIntScalarOnCells.setValueIJ(i+1,1,valueInt1)
627 fieldDoubleVectorOnCells.setValueIJ(i+1,1,valueDbl1)
628 fieldDoubleVectorOnCells.setValueIJ(i+1,2,valueDbl2)
629 fieldDoubleVectorOnCells.setValueIJ(i+1,3,valueDbl3)
631 fieldIntVectorOnCells.setValueIJ(i+1,1,valueInt1)
632 fieldIntVectorOnCells.setValueIJ(i+1,2,valueInt2)
633 fieldIntVectorOnCells.setValueIJ(i+1,3,valueInt3)
635 medFileVersion = getMedFileVersionForWriting()
636 print "Med File Version For Writing ",medFileVersion
638 if (medFileVersion == V22):
639 setMedFileVersionForWriting(V21)
641 idMedV21 = fieldDoubleScalarOnNodes.addDriver(MED_DRIVER,med21FileName,fieldDoubleScalarOnNodes.getName())
642 fieldDoubleScalarOnNodes.write(idMedV21)
644 idMedV21 = fieldIntScalarOnNodes.addDriver(MED_DRIVER,med21FileName,fieldIntScalarOnNodes.getName())
645 fieldIntScalarOnNodes.write(idMedV21)
647 idMedV21 = fieldDoubleVectorOnNodes.addDriver(MED_DRIVER,med21FileName,fieldDoubleVectorOnNodes.getName())
648 fieldDoubleVectorOnNodes.write(idMedV21)
650 idMedV21 = fieldIntVectorOnNodes.addDriver(MED_DRIVER,med21FileName,fieldIntVectorOnNodes.getName())
651 fieldIntVectorOnNodes.write(idMedV21)
653 idMedV21 = fieldDoubleScalarOnCells.addDriver(MED_DRIVER,med21FileName,fieldDoubleScalarOnCells.getName())
654 fieldDoubleScalarOnCells.write(idMedV21)
656 idMedV21 = fieldIntScalarOnCells.addDriver(MED_DRIVER,med21FileName,fieldIntScalarOnCells.getName())
657 fieldIntScalarOnCells.write(idMedV21)
659 idMedV21 = fieldDoubleVectorOnCells.addDriver(MED_DRIVER,med21FileName,fieldDoubleVectorOnCells.getName())
660 fieldDoubleVectorOnCells.write(idMedV21)
662 idMedV21 = fieldIntVectorOnCells.addDriver(MED_DRIVER,med21FileName,fieldIntVectorOnCells.getName())
663 fieldIntVectorOnCells.write(idMedV21)
665 medFileVersion = getMedFileVersionForWriting()
666 if (medFileVersion == V21):
667 setMedFileVersionForWriting(V22)
669 idMedV22 = fieldDoubleScalarOnNodes.addDriver(MED_DRIVER,med22FileName,fieldDoubleScalarOnNodes.getName())
670 fieldDoubleScalarOnNodes.write(idMedV22)
672 idMedV22 = fieldIntScalarOnNodes.addDriver(MED_DRIVER,med22FileName,fieldIntScalarOnNodes.getName())
673 fieldIntScalarOnNodes.write(idMedV22)
675 idMedV22 = fieldDoubleVectorOnNodes.addDriver(MED_DRIVER,med22FileName,fieldDoubleVectorOnNodes.getName())
676 fieldDoubleVectorOnNodes.write(idMedV22)
678 idMedV22 = fieldIntVectorOnNodes.addDriver(MED_DRIVER,med22FileName,fieldIntVectorOnNodes.getName())
679 fieldIntVectorOnNodes.write(idMedV22)
681 idMedV22 = fieldDoubleScalarOnCells.addDriver(MED_DRIVER,med22FileName,fieldDoubleScalarOnCells.getName())
682 fieldDoubleScalarOnCells.write(idMedV22)
684 idMedV22 = fieldIntScalarOnCells.addDriver(MED_DRIVER,med22FileName,fieldIntScalarOnCells.getName())
685 fieldIntScalarOnCells.write(idMedV22)
687 idMedV22 = fieldDoubleVectorOnCells.addDriver(MED_DRIVER,med22FileName,fieldDoubleVectorOnCells.getName())
688 fieldDoubleVectorOnCells.write(idMedV22)
690 idMedV22 = fieldIntVectorOnCells.addDriver(MED_DRIVER,med22FileName,fieldIntVectorOnCells.getName())
691 fieldIntVectorOnCells.write(idMedV22)
693 idVtk = fieldDoubleScalarOnNodes.addDriver(VTK_DRIVER,vtkFileName,fieldDoubleScalarOnNodes.getName())
694 fieldDoubleScalarOnNodes.writeAppend(idVtk)
696 idVtk = fieldIntScalarOnNodes.addDriver(VTK_DRIVER,vtkFileName,fieldIntScalarOnNodes.getName())
697 fieldIntScalarOnNodes.writeAppend(idVtk)
699 idVtk = fieldDoubleVectorOnNodes.addDriver(VTK_DRIVER,vtkFileName,fieldDoubleVectorOnNodes.getName())
700 fieldDoubleVectorOnNodes.writeAppend(idVtk)
702 idVtk = fieldIntVectorOnNodes.addDriver(VTK_DRIVER,vtkFileName,fieldIntVectorOnNodes.getName())
703 fieldIntVectorOnNodes.writeAppend(idVtk)
705 idVtk = fieldDoubleScalarOnCells.addDriver(VTK_DRIVER,vtkFileName,fieldDoubleScalarOnCells.getName())
706 fieldDoubleScalarOnCells.writeAppend(idVtk)
708 idVtk = fieldIntScalarOnCells.addDriver(VTK_DRIVER,vtkFileName,fieldIntScalarOnCells.getName())
709 fieldIntScalarOnCells.writeAppend(idVtk)
711 idVtk = fieldDoubleVectorOnCells.addDriver(VTK_DRIVER,vtkFileName,fieldDoubleVectorOnCells.getName())
712 fieldDoubleVectorOnCells.writeAppend(idVtk)
714 idVtk = fieldIntVectorOnCells.addDriver(VTK_DRIVER,vtkFileName,fieldIntVectorOnCells.getName())
715 fieldIntVectorOnCells.writeAppend(idVtk)