Salome HOME
Merge from V6_main 01/04/2013
[modules/med.git] / doc / MEDMEM / FIELDcreate.py
1 #  -*- coding: iso-8859-1 -*-
2 # Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
3 #
4 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
5 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 #
7 # This library is free software; you can redistribute it and/or
8 # modify it under the terms of the GNU Lesser General Public
9 # License as published by the Free Software Foundation; either
10 # version 2.1 of the License.
11 #
12 # This library is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 # Lesser General Public License for more details.
16 #
17 # You should have received a copy of the GNU Lesser General Public
18 # License along with this library; if not, write to the Free Software
19 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
20 #
21 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 #
23
24 ######################################################################
25 # This Python script should be executed when the shared library is   #
26 # generated using SWIG 1.3 (or higher) due to the fact that older    #
27 # version could not handle the wrapping of several class constructor #
28 ######################################################################
29 #
30 from libMEDMEM_Swig import *
31
32 MedFile = "pointe.med"
33 meshName = "maa1"
34
35 myMesh = MESH(MED_DRIVER,MedFile,meshName)
36
37 mySupport = myMesh.getSupportOnAll(MED_CELL)
38
39 numberOfComponents = 3
40 myField = FIELDDOUBLE(mySupport,numberOfComponents)
41 fieldName = "fieldcelldouble"
42 myField.setName(fieldName)
43
44 for i in range(numberOfComponents):
45     if (i == 0):
46         name = "Vx"
47         desc = "vitesse selon x"
48     elif (i == 1):
49         name = "Vy"
50         desc = "vitesse selon y"
51     else:
52         name = "Vz"
53         desc = "vitesse selon z"
54     unit = "m. s-1"
55     ip1 = i+1
56     myField.setComponentName(ip1,name)
57     myField.setComponentDescription(ip1,desc)
58     myField.setMEDComponentUnit(ip1,unit)
59
60 iterationNumber = 10
61 myField.setIterationNumber(iterationNumber)
62
63 orderNumber = 1
64 myField.setOrderNumber(orderNumber)
65
66 time = 3.435678
67 myField.setTime(time)
68
69 numberOfValue = mySupport.getNumberOfElements(MED_ALL_ELEMENTS)
70
71 for i in range(numberOfValue):
72     ip1 = i+1
73     for j in range(numberOfComponents):
74         jp1 = j+1
75         value = (ip1+jp1)*0.1
76         myField.setValueIJ(ip1,jp1,value)
77
78 id = myField.addDriver(MED_DRIVER)