1 # Copyright (C) 2007-2015 CEA/DEN, EDF R&D
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License, or (at your option) any later version.
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 # Lesser General Public License for more details.
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
19 # Author : Anthony Geay (CEA/DEN)
21 from MEDCoupling import *
25 class MEDCouplingCorbaServBasicsTest:
26 def build1DMesh(self):
27 coords=[ 0.0, 0.3, 0.75, 1.0 ]
28 conn=[ 0,1, 1,2, 2,3 ]
29 mesh=MEDCouplingUMesh.New("1DMeshForCorba",1);
30 mesh.setDescription("build1DMesh");
31 mesh.allocateCells(3);
32 mesh.setTime(5.6,7,8);
33 mesh.setTimeUnit("ms");
34 mesh.insertNextCell(NORM_SEG2,2,conn[0:2]);
35 mesh.insertNextCell(NORM_SEG2,2,conn[2:4]);
36 mesh.insertNextCell(NORM_SEG2,2,conn[4:6]);
37 mesh.finishInsertingCells();
38 myCoords=DataArrayDouble.New();
39 myCoords.setValues(coords,4,1);
40 mesh.setCoords(myCoords);
41 mesh.changeSpaceDimension(3);
42 myCoords=mesh.getCoords();
43 myCoords.setInfoOnComponent(0,"X1D [m]");
44 myCoords.setInfoOnComponent(1,"Y1D [dm]");
45 myCoords.setInfoOnComponent(2,"Z1D [pm]");
48 mesh.rotate(center,vector,-math.pi/2.);
51 def build2DMesh(self):
52 targetCoords=[-0.3,-0.3, 0.2,-0.3, 0.7,-0.3, -0.3,0.2, 0.2,0.2, 0.7,0.2, -0.3,0.7, 0.2,0.7, 0.7,0.7 ];
53 targetConn=[0,3,4,1, 1,4,2, 4,5,2, 6,7,4,3, 7,8,5,4]
54 targetMesh=MEDCouplingUMesh.New();
55 targetMesh.setMeshDimension(2);
56 targetMesh.setName("MyMesh2D");
57 targetMesh.setDescription("build2DMesh");
58 targetMesh.allocateCells(5);
59 targetMesh.insertNextCell(NORM_QUAD4,4,targetConn[0:4]);
60 targetMesh.insertNextCell(NORM_TRI3,3,targetConn[4:7]);
61 targetMesh.insertNextCell(NORM_TRI3,3,targetConn[7:10]);
62 targetMesh.insertNextCell(NORM_QUAD4,4,targetConn[10:14]);
63 targetMesh.insertNextCell(NORM_QUAD4,4,targetConn[14:18]);
64 targetMesh.finishInsertingCells();
65 myCoords=DataArrayDouble.New();
66 myCoords.setValues(targetCoords,9,2);
67 targetMesh.setCoords(myCoords);
70 def build3DMesh(self):
71 targetCoords=[ 0., 0., 0., 50., 0., 0. , 200., 0., 0. , 0., 50., 0., 50., 50., 0. , 200., 50., 0., 0., 200., 0., 50., 200., 0. , 200., 200., 0. ,
72 0., 0., 50., 50., 0., 50. , 200., 0., 50. , 0., 50., 50., 50., 50., 50. , 200., 50., 50., 0., 200., 50., 50., 200., 50. , 200., 200., 50. ,
73 0., 0., 200., 50., 0., 200. , 200., 0., 200. , 0., 50., 200., 50., 50., 200. , 200., 50., 200., 0., 200., 200., 50., 200., 200. , 200., 200., 200. ];
74 targetConn=[0,1,4,3,9,10,13,12, 1,2,5,4,10,11,14,13, 3,4,7,6,12,13,16,15, 4,5,8,7,13,14,17,16,
75 9,10,13,12,18,19,22,21, 10,11,14,13,19,20,23,22, 12,13,16,15,21,22,25,24, 13,14,17,16,22,23,26,25];
76 targetMesh=MEDCouplingUMesh.New();
77 targetMesh.setMeshDimension(3);
78 targetMesh.setName("MyMesh3D");
79 targetMesh.setDescription("build3DMesh");
80 targetMesh.allocateCells(12);
82 targetMesh.insertNextCell(NORM_HEXA8,8,targetConn[8*i:8*(i+1)]);
84 targetMesh.finishInsertingCells();
85 myCoords=DataArrayDouble.New();
86 myCoords.setValues(targetCoords,27,3);
87 targetMesh.setCoords(myCoords)
88 myCoords.setName("check in case")
91 def build3DSurfMesh(self):
92 targetCoords=[-0.3,-0.3,0.5, 0.2,-0.3,1., 0.7,-0.3,1.5, -0.3,0.2,0.5, 0.2,0.2,1., 0.7,0.2,1.5, -0.3,0.7,0.5, 0.2,0.7,1., 0.7,0.7,1.5];
93 targetConn=[0,3,4,1, 1,4,2, 4,5,2, 6,7,4,3, 7,8,5,4];
94 targetMesh=MEDCouplingUMesh.New();
95 targetMesh.setMeshDimension(2);
96 targetMesh.setName("MyMesh3DSurf");
97 targetMesh.setDescription("build3DSurfMesh");
98 targetMesh.allocateCells(5);
99 targetMesh.insertNextCell(NORM_QUAD4,4,targetConn[0:4]);
100 targetMesh.insertNextCell(NORM_TRI3,3,targetConn[4:7]);
101 targetMesh.insertNextCell(NORM_TRI3,3,targetConn[7:10]);
102 targetMesh.insertNextCell(NORM_QUAD4,4,targetConn[10:14]);
103 targetMesh.insertNextCell(NORM_QUAD4,4,targetConn[14:18]);
104 targetMesh.finishInsertingCells();
105 myCoords=DataArrayDouble.New();
106 myCoords.setValues(targetCoords,9,3);
107 targetMesh.setCoords(myCoords);
108 myCoords.setInfoOnComponent(0,"X [m]");
109 myCoords.setInfoOnComponent(1,"X [dm]");
110 myCoords.setInfoOnComponent(2,"X [m]");
113 def build0DMesh(self):
114 targetCoords=[-0.3,-0.3,0.5, 0.2,-0.3,1., 0.7,-0.3,1.5, -0.3,0.2,0.5, 0.2,0.2,1., 0.7,0.2,1.5, -0.3,0.7,0.5, 0.2,0.7,1., 0.7,0.7,1.5];
115 targetMesh=MEDCouplingUMesh.New();
116 targetMesh.setMeshDimension(0);
117 targetMesh.allocateCells(8);
118 targetMesh.setName("Wonderfull 0D mesh");
119 targetMesh.setDescription("build0DMesh");
121 targetMesh.insertNextCell(NORM_POINT1,1,[0]);
122 targetMesh.insertNextCell(NORM_POINT1,1,[1]);
123 targetMesh.insertNextCell(NORM_POINT1,1,[2]);
124 targetMesh.insertNextCell(NORM_POINT1,1,[3]);
125 targetMesh.insertNextCell(NORM_POINT1,1,[4]);
126 targetMesh.insertNextCell(NORM_POINT1,1,[5]);
127 targetMesh.insertNextCell(NORM_POINT1,1,[7]);
128 targetMesh.insertNextCell(NORM_POINT1,1,[6]);
129 targetMesh.finishInsertingCells();
130 myCoords=DataArrayDouble.New();
131 myCoords.setValues(targetCoords,9,3);
132 targetMesh.setCoords(myCoords);
133 myCoords.setInfoOnComponent(0,"X [m]");
134 myCoords.setInfoOnComponent(1,"YY [Pm]");
135 myCoords.setInfoOnComponent(2,"ZZZ [m]");
136 targetMesh.checkCoherency();
139 def buildM1DMesh(self):
140 meshM1D=MEDCouplingUMesh.New("wonderfull -1 D mesh",-1);
141 meshM1D.setDescription("buildM1DMesh");
142 meshM1D.checkCoherency();
145 def buildExtrudedMesh(self):
146 m2D=self.build2DMesh();
147 m2D.changeSpaceDimension(3);
148 m1D=self.build1DMesh();
149 retu=m2D.buildExtrudedMesh(m1D,0);
150 ret=MEDCouplingExtrudedMesh.New(retu,m2D,2);
151 ret.setName("ExtrudedTestForCorbaTest");
152 ret.setDescription("buildExtrudedMesh");
155 def buildCMesh(self):
156 targetMesh=MEDCouplingCMesh.New();
157 targetMesh.setTime(2.3,4,5);
158 targetMesh.setTimeUnit("us");
159 targetMesh.setName("Example of CMesh");
160 targetMesh.setDescription("buildCMesh");
161 a1=DataArrayDouble.New();
162 a1Data=[3.,4.,5.,6.,7.]
163 a1.setValues(a1Data,5,1);
164 a1.setInfoOnComponent(0,"SmthX");
165 a2=DataArrayDouble.New();
166 a2Data=[2.78,3.,4.,5.,6.,7.]
167 a2.setValues(a2Data,6,1);
168 a2.setInfoOnComponent(0,"SmthZ");
170 targetMesh.setCoordsAt(0,a1);
171 targetMesh.setCoordsAt(1,a2);
174 targetMesh.checkCoherency();
178 def buildIMesh(self):
179 targetMesh=MEDCouplingIMesh.New();
180 targetMesh.setTime(2.3,4,5);
181 targetMesh.setTimeUnit("us");
182 targetMesh.setName("Example of IMesh");
183 targetMesh.setDescription("buildIMesh");
185 targetMesh.setSpaceDimension(3);
186 targetMesh.setNodeStruct([6,7,8]);
187 targetMesh.setOrigin([4.25,3.75,-6.125]);
188 targetMesh.setDXYZ([0.5,0.375,0.75]);
189 targetMesh.setAxisUnit("mm");
193 def buildCLMesh(self):
194 targetMesh=MEDCouplingCurveLinearMesh();
195 targetMesh.setTime(2.3,4,5);
196 targetMesh.setTimeUnit("us");
197 targetMesh.setName("Example of Cuve linear mesh");
198 targetMesh.setDescription("buildCLMesh");
199 a1=DataArrayDouble(3*20,1);
200 a1.iota(7.) ; a1.rearrange(3);
201 targetMesh.setCoords(a1);
202 targetMesh.setNodeGridStructure([4,5]);
204 targetMesh.checkCoherency();
208 def build1SGTUMesh(self):
209 targetMesh=MEDCoupling1SGTUMesh("Mesh1SGT",NORM_QUAD4)
210 targetMesh.setTime(2.3,44,-55)
211 targetMesh.setTimeUnit("us")
212 targetMesh.setDescription("My Description of 1SGTU");
213 a1=DataArrayDouble([1.,1.,0.,2.,1.,0.,3.,1.,0.,1.,0.,0.,2.,0.,0.,0.,0.,0.,0.,1.,0.,3.,0.,0.,4.,0.,0.,4.,1.,0.],10,3)
214 a1.setInfoOnComponents(["X1 [m]","YY2 [km]","ZZZ3 [km]"])
215 targetMesh.setCoords(a1)
216 a2=DataArrayInt([6,0,3,5,3,0,1,4,1,2,7,4,8,7,2,9],4*4,1)
217 targetMesh.setNodalConnectivity(a2)
219 targetMesh.checkCoherency();
223 def build1DGTUMesh(self):
224 targetMesh=MEDCoupling1DGTUMesh("Mesh1DGT",NORM_POLYGON);
225 targetMesh.setTime(2.3,55,-66)
226 targetMesh.setTimeUnit("us")
227 targetMesh.setDescription("My Description of 1DGTU");
228 a1=DataArrayDouble([1.,1.,0.,2.,1.,0.,3.,1.,0.,1.,0.,0.,2.,0.,0.,0.,0.,0.,0.,1.,0.,3.,0.,0.,4.,0.,0.,4.,1.,0.],10,3)
229 a1.setInfoOnComponents(["X1 [m]","YY2 [km]","ZZZ3 [km]"])
230 targetMesh.setCoords(a1)
231 a2=DataArrayInt([6,0,3,5,3,0,1,4,1,2,7,4,8,7,2],15,1)
232 a3=DataArrayInt([0,4,8,12,15],5,1)
233 targetMesh.setNodalConnectivity(a2,a3)
235 targetMesh.checkCoherency();
239 def buildFieldScalarOn2DNT(self):
240 mesh=self.build2DMesh();
241 fieldOnCells=MEDCouplingFieldDouble.New(ON_CELLS,NO_TIME);
242 fieldOnCells.setTimeUnit("ms");
243 fieldOnCells.setName("toto");
244 fieldOnCells.setMesh(mesh);
245 array=DataArrayDouble.New();
246 tmp=mesh.getNumberOfCells()*6*[7.]
247 array.setValues(tmp,mesh.getNumberOfCells(),6);
248 fieldOnCells.setArray(array)
249 fieldOnCells.checkCoherency();
252 def buildFieldNodeScalarOn2DNT(self):
253 mesh=self.build2DMesh();
254 fieldOnNodes=MEDCouplingFieldDouble.New(ON_NODES,NO_TIME);
255 fieldOnNodes.setName("toto2");
256 fieldOnNodes.setTimeUnit("s");
257 fieldOnNodes.setDescription("my wonderful field toto2");
258 fieldOnNodes.setMesh(mesh);
259 array=DataArrayDouble.New();
260 tmp=mesh.getNumberOfNodes()*5*[7.1234]
261 array.setValues(tmp,mesh.getNumberOfNodes(),5);
262 fieldOnNodes.setArray(array);
263 fieldOnNodes.checkCoherency();
266 def buildFieldScalarOn3DNT(self):
267 mesh=self.build3DMesh();
268 fieldOnCells=MEDCouplingFieldDouble.New(ON_CELLS,NO_TIME);
269 fieldOnCells.setNature(ConservativeVolumic);
270 fieldOnCells.setName("toto");
271 fieldOnCells.setDescription("my wonderful 3D field toto2");
272 fieldOnCells.setMesh(mesh);
273 array=DataArrayDouble.New();
274 tmp=mesh.getNumberOfCells()*6*[7.]
275 array.setValues(tmp,mesh.getNumberOfCells(),6);
276 fieldOnCells.setArray(array);
277 fieldOnCells.checkCoherency();
280 def buildFieldScalarOn3DSurfWT(self):
281 mesh=self.build3DSurfMesh();
282 fieldOnCells=MEDCouplingFieldDouble.New(ON_CELLS,ONE_TIME);
283 fieldOnCells.setName("toto25");
284 fieldOnCells.setDescription("my wonderful 3D surf field toto25");
285 fieldOnCells.setTimeUnit("us");
286 fieldOnCells.setMesh(mesh);
287 array=DataArrayDouble.New();
288 tmp=mesh.getNumberOfCells()*3*[7.]
289 array.setValues(tmp,mesh.getNumberOfCells(),3);
290 array.setInfoOnComponents(["aaa","bbbb","ccccc"])
291 fieldOnCells.setArray(array);
292 fieldOnCells.setTime(6.7,1,4);
293 fieldOnCells.checkCoherency();
296 def buildFieldScalarOn3DSurfCOTI(self):
297 mesh=self.build3DSurfMesh();
298 fieldOnCells=MEDCouplingFieldDouble.New(ON_CELLS,CONST_ON_TIME_INTERVAL);
299 fieldOnCells.setName("toto26");
300 fieldOnCells.setDescription("my wonderful 3D surf field toto26");
301 fieldOnCells.setTimeUnit("us");
302 fieldOnCells.setMesh(mesh);
303 array=DataArrayDouble.New();
304 tmp=mesh.getNumberOfCells()*3*[7.]
305 array.setValues(tmp,mesh.getNumberOfCells(),3);
306 fieldOnCells.setArray(array);
307 fieldOnCells.setStartTime(6.7,1,4);
308 fieldOnCells.setEndTime(7.2,2,8);
309 fieldOnCells.checkCoherency();
312 def buildFieldScalarOn2DLT(self):
313 mesh=self.build2DMesh()
314 fieldOnCells=MEDCouplingFieldDouble.New(ON_CELLS,LINEAR_TIME)
315 fieldOnCells.setName("toto27");
316 fieldOnCells.setDescription("my wonderful 2D field toto27");
317 fieldOnCells.setTimeUnit("ms");
318 fieldOnCells.setMesh(mesh);
319 array=DataArrayDouble.New();
320 arr1=[1.2,1.02,1.002,1.0002, 3.4,3.04,3.004,3.0004, 5.6,5.06,5.006,5.0006, 7.8,7.08,7.008,7.0008, 9.1,9.01,9.001,9.0001]
321 array.setValues(arr1,mesh.getNumberOfCells(),4);
322 fieldOnCells.setArray(array);
323 array=DataArrayDouble.New();
324 arr2=[71.2,71.02,71.002,71.0002, 73.4,73.04,73.004,73.0004, 75.6,75.06,75.006,75.0006, 77.8,77.08,77.008,77.0008, 79.1,79.01,79.001,79.0001]
325 array.setValues(arr2,mesh.getNumberOfCells(),4);
326 fieldOnCells.setEndArray(array)
327 fieldOnCells.setStartTime(6.7,25,26);
328 fieldOnCells.setEndTime(17.2,125,126);
329 fieldOnCells.checkCoherency();
332 def buildFieldGaussPt2DWT(self):
333 _a=0.446948490915965;
334 _b=0.091576213509771;
335 _p1=0.11169079483905;
336 _p2=0.0549758718227661;
337 refCoo1=[ 0.,0., 1.,0., 0.,1. ]
338 gsCoo1=[ 2*_b-1, 1-4*_b, 2*_b-1, 2.07*_b-1, 1-4*_b,
339 2*_b-1, 1-4*_a, 2*_a-1, 2*_a-1, 1-4*_a, 2*_a-1, 2*_a-1]
340 wg1=[ 4*_p2, 4*_p2, 4*_p2, 4*_p1, 4*_p1, 4*_p1 ]
344 m=self.build2DMesh();
345 f=MEDCouplingFieldDouble.New(ON_GAUSS_PT,ONE_TIME);
348 f.setGaussLocalizationOnType(NORM_TRI3,_refCoo1,_gsCoo1,_wg1);
349 refCoo2=[ 0.,0., 1.,0., 1.,1., 0.,1. ]
353 f.setGaussLocalizationOnType(NORM_QUAD4,_refCoo2,_gsCoo1,_wg1);
354 array=DataArrayDouble.New();
356 for i in xrange(18*2):
359 array.setValues(ptr,18,2);
360 array.setInfoOnComponent(0,"Power [MW]");
361 array.setInfoOnComponent(1,"Density [kg/m^3]");
363 f.setName("MyFirstFieldOnGaussPoint");
365 f.setDescription("mmmmmmmmmmmm");
369 def buildFieldGaussPtNE2DWT(self):
370 m=self.build2DMesh();
371 f=MEDCouplingFieldDouble.New(ON_GAUSS_NE,ONE_TIME);
375 f.setName("MyFirstFieldOnNE");
376 f.setDescription("MyDescriptionNE");
377 array=DataArrayDouble.New();
379 for i in xrange(18*2):
381 array.setValues(ptr,18,2);
382 array.setInfoOnComponent(0,"Power [MW]");
383 array.setInfoOnComponent(1,"Density [kg/m^3]");
389 def buildFieldVectorOnExtrudedWT(self):
390 ext=self.buildExtrudedMesh();
392 f=MEDCouplingFieldDouble.New(ON_CELLS,ONE_TIME);
395 f.setName("MyFieldOnExtruM");
396 f.setDescription("desc of MyFiOnExtruM");
397 array=DataArrayDouble.New();
398 nbOfCells=ext.getNumberOfCells();
399 ptr=2*nbOfCells*[None]
400 for i in range(nbOfCells*2):
401 ptr[i]=float(i/2+7)+float((i%2)*1000);
403 array.setValues(ptr,nbOfCells,2);
404 array.setInfoOnComponent(0,"Power [MW]");
405 array.setInfoOnComponent(1,"Density [kg/m^3]");
411 def buildFieldVectorOnCMeshWT(self):
412 ext=self.buildCMesh();
414 f=MEDCouplingFieldDouble.New(ON_CELLS,ONE_TIME);
417 f.setName("MyFieldOnCMesh");
418 f.setDescription("desc of MyFiOnCMesh");
419 array=DataArrayDouble.New();
420 nbOfCells=ext.getNumberOfCells();
421 ptr=2*nbOfCells*[None]
422 for i in range(nbOfCells*2):
423 ptr[i]=float(i/2+7)+float((i%2)*1000);
425 array.setValues(ptr,nbOfCells,2);
426 array.setInfoOnComponent(0,"Power [GW]");
427 array.setInfoOnComponent(1,"Density [kg/m^3]");
433 def buildFieldTemplateCellOn2D(self):
434 f1=self.buildFieldScalarOn2DNT();
435 f2=MEDCouplingFieldTemplate.New(f1);
436 f2.setNature(NoNature);
439 def buildFieldTemplateNodeOn2D(self):
440 f1=self.buildFieldNodeScalarOn2DNT();
441 f2=MEDCouplingFieldTemplate.New(f1);
442 f2.setNature(ConservativeVolumic);
445 def buildFieldTemplateGaussPtOn2D(self):
446 f1=self.buildFieldGaussPt2DWT();
447 f2=MEDCouplingFieldTemplate.New(f1);
448 f2.setNature(Integral);
451 def buildFieldTemplateGaussNEOn2D(self):
452 f1=self.buildFieldGaussPtNE2DWT();
453 f2=MEDCouplingFieldTemplate.New(f1);
454 f2.setNature(IntegralGlobConstraint);
457 def buildMultiFields1(self):
458 m1=self.build2DMesh();
460 m2=self.build2DMesh();
462 vals0=[-0.7,-1.,-2.,-3.,-4.];
463 vals1=[0.,1.,2.,3.,4.,0.1,0.2,0.3,0.4];
464 vals1_1=[170.,171.,172.,173.,174.,170.1,170.2,170.3,170.4];
465 vals2=[5.,6.,7.,8.,9.];
466 vals4=[15.,16.,17.,18.,19.];
467 d0=DataArrayDouble.New();
468 d0.setValues(vals0,5,1);
469 d1=DataArrayDouble.New();
470 d1.setValues(vals1,9,1);
471 d1_1=DataArrayDouble.New();
472 d1_1.setValues(vals1_1,9,1);
473 d2=DataArrayDouble.New();
474 d2.setValues(vals2,5,1);
475 d4=DataArrayDouble.New();
476 d4.setValues(vals4,5,1);
477 d0.setName("d0"); d1.setName("d1"); d1_1.setName("d1_1"); d2.setName("d2"); d4.setName("d4");
478 d0.setInfoOnComponent(0,"c1");
479 d1.setInfoOnComponent(0,"c6");
480 d1_1.setInfoOnComponent(0,"c9");
481 d2.setInfoOnComponent(0,"c5");
482 d4.setInfoOnComponent(0,"c7");
483 f0=MEDCouplingFieldDouble.New(ON_CELLS,ONE_TIME);
488 f1=MEDCouplingFieldDouble.New(ON_NODES,LINEAR_TIME);
490 f1.setArrays([d1,d1_1]);
491 f1.setStartTime(0.7,7,8);
492 f1.setEndTime(1.2,9,10);
494 f2=MEDCouplingFieldDouble.New(ON_CELLS,CONST_ON_TIME_INTERVAL);
497 f2.setTime(1.2,11,12);
498 f2.setEndTime(1.5,13,14);
500 f3=MEDCouplingFieldDouble.New(ON_CELLS,ONE_TIME);
503 f3.setTime(1.7,15,16);
505 f4=MEDCouplingFieldDouble.New(ON_CELLS,NO_TIME);
509 ret=MEDCouplingMultiFields.New([f0,f1,f2,f3,f4]);
512 def buildArrayDouble1(self):
513 ret=DataArrayDouble.New();
514 vals=[2.4,3.2,5.6,9.6,47.6,20.4,24.6,278.1,2.01,3.3,2.4,9.4];
515 ret.setValues(vals,4,3);
517 ret.setInfoOnComponent(0,"sss");
518 ret.setInfoOnComponent(1,"ppp");
519 ret.setInfoOnComponent(2,"ttt");
522 def buildArrayDouble2(self):
523 ret=DataArrayDouble.New();
527 def buildArrayDouble3(self):
528 ret=DataArrayDouble.New();
531 ret.setInfoOnComponent(0,"sss");
532 ret.setInfoOnComponent(1,"ppp");
533 ret.setInfoOnComponent(2,"ttt");
536 def buildArrayInt1(self):
537 ret=DataArrayInt.New();
538 vals=[2,3,5,9,47,20,24,278,2,3,2,9];
539 ret.setValues(vals,4,3);
541 ret.setInfoOnComponent(0,"sss");
542 ret.setInfoOnComponent(1,"ppp");
543 ret.setInfoOnComponent(2,"ttt");
546 def buildArrayInt2(self):
547 ret=DataArrayInt.New();
551 def buildArrayInt3(self):
552 ret=DataArrayInt.New();
555 ret.setInfoOnComponent(0,"sss");
556 ret.setInfoOnComponent(1,"ppp");
557 ret.setInfoOnComponent(2,"ttt");
560 def buildMultiFields2(self):
561 m1=self.build2DMesh();
563 m2=self.build2DMesh();
565 vals0=[-0.7,-1.,-2.,-3.,-4.];
566 vals1=[0.,1.,2.,3.,4.,0.1,0.2,0.3,0.4];
567 vals1_1=[170.,171.,172.,173.,174.];
568 vals2=[5.,6.,7.,8.,9.];
569 vals4=[15.,16.,17.,18.,19.];
570 d0=DataArrayDouble.New();
571 d0.setValues(vals0,5,1);
572 d1=DataArrayDouble.New();
573 d1.setValues(vals1[:5],5,1);
574 d1_1=DataArrayDouble.New();
575 d1_1.setValues(vals1_1,5,1);
576 d2=DataArrayDouble.New();
577 d2.setValues(vals2,5,1);
578 d4=DataArrayDouble.New();
579 d4.setValues(vals4,5,1);
580 d0.setName("d0"); d1.setName("d1"); d1_1.setName("d1_1"); d2.setName("d2"); d4.setName("d4");
581 d0.setInfoOnComponent(0,"c1");
582 d1.setInfoOnComponent(0,"c6");
583 d1_1.setInfoOnComponent(0,"c9");
584 d2.setInfoOnComponent(0,"c5");
585 d4.setInfoOnComponent(0,"c7");
586 f0=MEDCouplingFieldDouble.New(ON_CELLS,ONE_TIME);
591 f1=MEDCouplingFieldDouble.New(ON_CELLS,LINEAR_TIME);
593 f1.setArrays([d1,d1_1]);
594 f1.setStartTime(0.7,7,8);
595 f1.setEndTime(1.2,9,10);
597 f2=MEDCouplingFieldDouble.New(ON_CELLS,CONST_ON_TIME_INTERVAL);
600 f2.setTime(1.2,11,12);
601 f2.setEndTime(1.5,13,14);
603 f3=MEDCouplingFieldDouble.New(ON_CELLS,ONE_TIME);
606 f3.setTime(1.7,15,16);
608 f4=MEDCouplingFieldDouble.New(ON_CELLS,ONE_TIME);
612 f4.setTime(2.7,25,26);
613 ret=MEDCouplingFieldOverTime.New([f0,f1,f2,f3,f4]);
614 ret.checkCoherency();
617 def buildFileNameForIOR(self):
618 tmpdir=os.getenv("TMP", "/tmp");
620 if os.getenv("USERNAME"):
621 username = os.getenv("USERNAME")+"_";
622 elif os.getenv("USER"):
623 username = os.getenv("USER")+"_";
624 ret=tmpdir+"/"+username+"entryPointMEDCouplingCorba.ior";
629 tab4=[1, 2, 8, 7, 2, 3, 9, 8, 3,
630 4, 10, 9, 4, 5, 11, 10, 5,
631 0, 6, 11, 0, 1, 7, 6 ]
634 coords=[ 0.024155, 0.04183768725682622, -0.305, 0.04831000000000001, -1.015761910347357e-17,
635 -0.305, 0.09662000000000001, -1.832979297858306e-18, -0.305, 0.120775, 0.04183768725682623,
636 -0.305, 0.09662000000000001, 0.08367537451365245, -0.305, 0.04831000000000001, 0.08367537451365246,
637 -0.305, 0.024155, 0.04183768725682622, -0.2863, 0.04831000000000001, -1.015761910347357e-17, -0.2863,
638 0.09662000000000001, -1.832979297858306e-18, -0.2863, 0.120775, 0.04183768725682623, -0.2863, 0.09662000000000001,
639 0.08367537451365245, -0.2863, 0.04831000000000001, 0.08367537451365246, -0.2863 ]
640 mesh=MEDCouplingUMesh.New()
641 mesh.setMeshDimension(2)
642 mesh.allocateCells(8);
643 mesh.setName("mesh1")
644 for i in range(nbOfCells):
645 mesh.insertNextCell(NORM_QUAD4,4,tab4[4*i:4*(i+1)]);
647 mesh.finishInsertingCells()
648 myCoords=DataArrayDouble.New()
649 myCoords.setValues(coords,nbOfNodes,3);
650 mesh.setCoords(myCoords);
651 mesh.checkCoherency();
652 myFalseConn=DataArrayInt.New()
653 myFalseConn.setValues(tab4,6,4)
659 nbOfCells=mesh.getNumberOfCells()
660 field=MEDCouplingFieldDouble.New(ON_CELLS)
662 field.setNature(Integral)
663 myCoords=DataArrayDouble.New()
665 for i in range(nbOfCells*9):
666 sampleTab.append(float(i))
667 myCoords.setValues(sampleTab,nbOfCells,9);
669 field.setArray(myCoords)