1 # Copyright (C) 2007-2012 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.
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
20 from MEDCoupling import *
24 class MEDCouplingCorbaServBasicsTest:
25 def build1DMesh(self):
26 coords=[ 0.0, 0.3, 0.75, 1.0 ]
27 conn=[ 0,1, 1,2, 2,3 ]
28 mesh=MEDCouplingUMesh.New("1DMeshForCorba",1);
29 mesh.setDescription("build1DMesh");
30 mesh.allocateCells(3);
31 mesh.setTime(5.6,7,8);
32 mesh.setTimeUnit("ms");
33 mesh.insertNextCell(NORM_SEG2,2,conn[0:2]);
34 mesh.insertNextCell(NORM_SEG2,2,conn[2:4]);
35 mesh.insertNextCell(NORM_SEG2,2,conn[4:6]);
36 mesh.finishInsertingCells();
37 myCoords=DataArrayDouble.New();
38 myCoords.setValues(coords,4,1);
39 mesh.setCoords(myCoords);
40 mesh.changeSpaceDimension(3);
41 myCoords=mesh.getCoords();
42 myCoords.setInfoOnComponent(0,"X1D [m]");
43 myCoords.setInfoOnComponent(1,"Y1D [dm]");
44 myCoords.setInfoOnComponent(2,"Z1D [pm]");
47 mesh.rotate(center,vector,-math.pi/2.);
50 def build2DMesh(self):
51 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 ];
52 targetConn=[0,3,4,1, 1,4,2, 4,5,2, 6,7,4,3, 7,8,5,4]
53 targetMesh=MEDCouplingUMesh.New();
54 targetMesh.setMeshDimension(2);
55 targetMesh.setName("MyMesh2D");
56 targetMesh.setDescription("build2DMesh");
57 targetMesh.allocateCells(5);
58 targetMesh.insertNextCell(NORM_QUAD4,4,targetConn[0:4]);
59 targetMesh.insertNextCell(NORM_TRI3,3,targetConn[4:7]);
60 targetMesh.insertNextCell(NORM_TRI3,3,targetConn[7:10]);
61 targetMesh.insertNextCell(NORM_QUAD4,4,targetConn[10:14]);
62 targetMesh.insertNextCell(NORM_QUAD4,4,targetConn[14:18]);
63 targetMesh.finishInsertingCells();
64 myCoords=DataArrayDouble.New();
65 myCoords.setValues(targetCoords,9,2);
66 targetMesh.setCoords(myCoords);
69 def build3DMesh(self):
70 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. ,
71 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. ,
72 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. ];
73 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,
74 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];
75 targetMesh=MEDCouplingUMesh.New();
76 targetMesh.setMeshDimension(3);
77 targetMesh.setName("MyMesh3D");
78 targetMesh.setDescription("build3DMesh");
79 targetMesh.allocateCells(12);
81 targetMesh.insertNextCell(NORM_HEXA8,8,targetConn[8*i:8*(i+1)]);
83 targetMesh.finishInsertingCells();
84 myCoords=DataArrayDouble.New();
85 myCoords.setValues(targetCoords,27,3);
86 targetMesh.setCoords(myCoords)
87 myCoords.setName("check in case")
90 def build3DSurfMesh(self):
91 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];
92 targetConn=[0,3,4,1, 1,4,2, 4,5,2, 6,7,4,3, 7,8,5,4];
93 targetMesh=MEDCouplingUMesh.New();
94 targetMesh.setMeshDimension(2);
95 targetMesh.setName("MyMesh3DSurf");
96 targetMesh.setDescription("build3DSurfMesh");
97 targetMesh.allocateCells(5);
98 targetMesh.insertNextCell(NORM_QUAD4,4,targetConn[0:4]);
99 targetMesh.insertNextCell(NORM_TRI3,3,targetConn[4:7]);
100 targetMesh.insertNextCell(NORM_TRI3,3,targetConn[7:10]);
101 targetMesh.insertNextCell(NORM_QUAD4,4,targetConn[10:14]);
102 targetMesh.insertNextCell(NORM_QUAD4,4,targetConn[14:18]);
103 targetMesh.finishInsertingCells();
104 myCoords=DataArrayDouble.New();
105 myCoords.setValues(targetCoords,9,3);
106 targetMesh.setCoords(myCoords);
107 myCoords.setInfoOnComponent(0,"X [m]");
108 myCoords.setInfoOnComponent(1,"X [dm]");
109 myCoords.setInfoOnComponent(2,"X [m]");
112 def build0DMesh(self):
113 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];
114 targetMesh=MEDCouplingUMesh.New();
115 targetMesh.setMeshDimension(0);
116 targetMesh.allocateCells(8);
117 targetMesh.setName("Wonderfull 0D mesh");
118 targetMesh.setDescription("build0DMesh");
120 targetMesh.insertNextCell(NORM_POINT1,1,[0]);
121 targetMesh.insertNextCell(NORM_POINT1,1,[1]);
122 targetMesh.insertNextCell(NORM_POINT1,1,[2]);
123 targetMesh.insertNextCell(NORM_POINT1,1,[3]);
124 targetMesh.insertNextCell(NORM_POINT1,1,[4]);
125 targetMesh.insertNextCell(NORM_POINT1,1,[5]);
126 targetMesh.insertNextCell(NORM_POINT1,1,[7]);
127 targetMesh.insertNextCell(NORM_POINT1,1,[6]);
128 targetMesh.finishInsertingCells();
129 myCoords=DataArrayDouble.New();
130 myCoords.setValues(targetCoords,9,3);
131 targetMesh.setCoords(myCoords);
132 myCoords.setInfoOnComponent(0,"X [m]");
133 myCoords.setInfoOnComponent(1,"YY [Pm]");
134 myCoords.setInfoOnComponent(2,"ZZZ [m]");
135 targetMesh.checkCoherency();
138 def buildM1DMesh(self):
139 meshM1D=MEDCouplingUMesh.New("wonderfull -1 D mesh",-1);
140 meshM1D.setDescription("buildM1DMesh");
141 meshM1D.checkCoherency();
144 def buildExtrudedMesh(self):
145 m2D=self.build2DMesh();
146 m2D.changeSpaceDimension(3);
147 m1D=self.build1DMesh();
148 retu=m2D.buildExtrudedMesh(m1D,0);
149 ret=MEDCouplingExtrudedMesh.New(retu,m2D,2);
150 ret.setName("ExtrudedTestForCorbaTest");
151 ret.setDescription("buildExtrudedMesh");
154 def buildCMesh(self):
155 targetMesh=MEDCouplingCMesh.New();
156 targetMesh.setTime(2.3,4,5);
157 targetMesh.setTimeUnit("us");
158 targetMesh.setName("Example of CMesh");
159 targetMesh.setDescription("buildCMesh");
160 a1=DataArrayDouble.New();
161 a1Data=[3.,4.,5.,6.,7.]
162 a1.setValues(a1Data,5,1);
163 a1.setInfoOnComponent(0,"SmthX");
164 a2=DataArrayDouble.New();
165 a2Data=[2.78,3.,4.,5.,6.,7.]
166 a2.setValues(a2Data,6,1);
167 a2.setInfoOnComponent(0,"SmthZ");
169 targetMesh.setCoordsAt(0,a1);
170 targetMesh.setCoordsAt(2,a2);
173 targetMesh.checkCoherency();
177 def buildFieldScalarOn2DNT(self):
178 mesh=self.build2DMesh();
179 fieldOnCells=MEDCouplingFieldDouble.New(ON_CELLS,NO_TIME);
180 fieldOnCells.setTimeUnit("ms");
181 fieldOnCells.setName("toto");
182 fieldOnCells.setMesh(mesh);
183 array=DataArrayDouble.New();
184 tmp=mesh.getNumberOfCells()*6*[7.]
185 array.setValues(tmp,mesh.getNumberOfCells(),6);
186 fieldOnCells.setArray(array)
187 fieldOnCells.checkCoherency();
190 def buildFieldNodeScalarOn2DNT(self):
191 mesh=self.build2DMesh();
192 fieldOnNodes=MEDCouplingFieldDouble.New(ON_NODES,NO_TIME);
193 fieldOnNodes.setName("toto2");
194 fieldOnNodes.setTimeUnit("s");
195 fieldOnNodes.setDescription("my wonderful field toto2");
196 fieldOnNodes.setMesh(mesh);
197 array=DataArrayDouble.New();
198 tmp=mesh.getNumberOfNodes()*5*[7.1234]
199 array.setValues(tmp,mesh.getNumberOfNodes(),5);
200 fieldOnNodes.setArray(array);
201 fieldOnNodes.checkCoherency();
204 def buildFieldScalarOn3DNT(self):
205 mesh=self.build3DMesh();
206 fieldOnCells=MEDCouplingFieldDouble.New(ON_CELLS,NO_TIME);
207 fieldOnCells.setNature(ConservativeVolumic);
208 fieldOnCells.setName("toto");
209 fieldOnCells.setDescription("my wonderful 3D field toto2");
210 fieldOnCells.setMesh(mesh);
211 array=DataArrayDouble.New();
212 tmp=mesh.getNumberOfCells()*6*[7.]
213 array.setValues(tmp,mesh.getNumberOfCells(),6);
214 fieldOnCells.setArray(array);
215 fieldOnCells.checkCoherency();
218 def buildFieldScalarOn3DSurfWT(self):
219 mesh=self.build3DSurfMesh();
220 fieldOnCells=MEDCouplingFieldDouble.New(ON_CELLS,ONE_TIME);
221 fieldOnCells.setName("toto25");
222 fieldOnCells.setDescription("my wonderful 3D surf field toto25");
223 fieldOnCells.setTimeUnit("us");
224 fieldOnCells.setMesh(mesh);
225 array=DataArrayDouble.New();
226 tmp=mesh.getNumberOfCells()*3*[7.]
227 array.setValues(tmp,mesh.getNumberOfCells(),3);
228 array.setInfoOnComponents(["aaa","bbbb","ccccc"])
229 fieldOnCells.setArray(array);
230 fieldOnCells.setTime(6.7,1,4);
231 fieldOnCells.checkCoherency();
234 def buildFieldScalarOn3DSurfCOTI(self):
235 mesh=self.build3DSurfMesh();
236 fieldOnCells=MEDCouplingFieldDouble.New(ON_CELLS,CONST_ON_TIME_INTERVAL);
237 fieldOnCells.setName("toto26");
238 fieldOnCells.setDescription("my wonderful 3D surf field toto26");
239 fieldOnCells.setTimeUnit("us");
240 fieldOnCells.setMesh(mesh);
241 array=DataArrayDouble.New();
242 tmp=mesh.getNumberOfCells()*3*[7.]
243 array.setValues(tmp,mesh.getNumberOfCells(),3);
244 fieldOnCells.setArray(array);
245 fieldOnCells.setStartTime(6.7,1,4);
246 fieldOnCells.setEndTime(7.2,2,8);
247 fieldOnCells.checkCoherency();
250 def buildFieldScalarOn2DLT(self):
251 mesh=self.build2DMesh()
252 fieldOnCells=MEDCouplingFieldDouble.New(ON_CELLS,LINEAR_TIME)
253 fieldOnCells.setName("toto27");
254 fieldOnCells.setDescription("my wonderful 2D field toto27");
255 fieldOnCells.setTimeUnit("ms");
256 fieldOnCells.setMesh(mesh);
257 array=DataArrayDouble.New();
258 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]
259 array.setValues(arr1,mesh.getNumberOfCells(),4);
260 fieldOnCells.setArray(array);
261 array=DataArrayDouble.New();
262 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]
263 array.setValues(arr2,mesh.getNumberOfCells(),4);
264 fieldOnCells.setEndArray(array)
265 fieldOnCells.setStartTime(6.7,25,26);
266 fieldOnCells.setEndTime(17.2,125,126);
267 fieldOnCells.checkCoherency();
270 def buildFieldGaussPt2DWT(self):
271 _a=0.446948490915965;
272 _b=0.091576213509771;
273 _p1=0.11169079483905;
274 _p2=0.0549758718227661;
275 refCoo1=[ 0.,0., 1.,0., 0.,1. ]
276 gsCoo1=[ 2*_b-1, 1-4*_b, 2*_b-1, 2.07*_b-1, 1-4*_b,
277 2*_b-1, 1-4*_a, 2*_a-1, 2*_a-1, 1-4*_a, 2*_a-1, 2*_a-1]
278 wg1=[ 4*_p2, 4*_p2, 4*_p2, 4*_p1, 4*_p1, 4*_p1 ]
282 m=self.build2DMesh();
283 f=MEDCouplingFieldDouble.New(ON_GAUSS_PT,ONE_TIME);
286 f.setGaussLocalizationOnType(NORM_TRI3,_refCoo1,_gsCoo1,_wg1);
287 refCoo2=[ 0.,0., 1.,0., 1.,1., 0.,1. ]
291 f.setGaussLocalizationOnType(NORM_QUAD4,_refCoo2,_gsCoo1,_wg1);
292 array=DataArrayDouble.New();
294 for i in xrange(18*2):
297 array.setValues(ptr,18,2);
298 array.setInfoOnComponent(0,"Power [MW]");
299 array.setInfoOnComponent(1,"Density [kg/m^3]");
301 f.setName("MyFirstFieldOnGaussPoint");
303 f.setDescription("mmmmmmmmmmmm");
307 def buildFieldGaussPtNE2DWT(self):
308 m=self.build2DMesh();
309 f=MEDCouplingFieldDouble.New(ON_GAUSS_NE,ONE_TIME);
313 f.setName("MyFirstFieldOnNE");
314 f.setDescription("MyDescriptionNE");
315 array=DataArrayDouble.New();
317 for i in xrange(18*2):
319 array.setValues(ptr,18,2);
320 array.setInfoOnComponent(0,"Power [MW]");
321 array.setInfoOnComponent(1,"Density [kg/m^3]");
327 def buildFieldVectorOnExtrudedWT(self):
328 ext=self.buildExtrudedMesh();
330 f=MEDCouplingFieldDouble.New(ON_CELLS,ONE_TIME);
333 f.setName("MyFieldOnExtruM");
334 f.setDescription("desc of MyFiOnExtruM");
335 array=DataArrayDouble.New();
336 nbOfCells=ext.getNumberOfCells();
337 ptr=2*nbOfCells*[None]
338 for i in range(nbOfCells*2):
339 ptr[i]=float(i/2+7)+float((i%2)*1000);
341 array.setValues(ptr,nbOfCells,2);
342 array.setInfoOnComponent(0,"Power [MW]");
343 array.setInfoOnComponent(1,"Density [kg/m^3]");
349 def buildFieldVectorOnCMeshWT(self):
350 ext=self.buildCMesh();
352 f=MEDCouplingFieldDouble.New(ON_CELLS,ONE_TIME);
355 f.setName("MyFieldOnCMesh");
356 f.setDescription("desc of MyFiOnCMesh");
357 array=DataArrayDouble.New();
358 nbOfCells=ext.getNumberOfCells();
359 ptr=2*nbOfCells*[None]
360 for i in range(nbOfCells*2):
361 ptr[i]=float(i/2+7)+float((i%2)*1000);
363 array.setValues(ptr,nbOfCells,2);
364 array.setInfoOnComponent(0,"Power [GW]");
365 array.setInfoOnComponent(1,"Density [kg/m^3]");
371 def buildFieldTemplateCellOn2D(self):
372 f1=self.buildFieldScalarOn2DNT();
373 f2=MEDCouplingFieldTemplate.New(f1);
374 f2.setNature(NoNature);
377 def buildFieldTemplateNodeOn2D(self):
378 f1=self.buildFieldNodeScalarOn2DNT();
379 f2=MEDCouplingFieldTemplate.New(f1);
380 f2.setNature(ConservativeVolumic);
383 def buildFieldTemplateGaussPtOn2D(self):
384 f1=self.buildFieldGaussPt2DWT();
385 f2=MEDCouplingFieldTemplate.New(f1);
386 f2.setNature(Integral);
389 def buildFieldTemplateGaussNEOn2D(self):
390 f1=self.buildFieldGaussPtNE2DWT();
391 f2=MEDCouplingFieldTemplate.New(f1);
392 f2.setNature(IntegralGlobConstraint);
395 def buildMultiFields1(self):
396 m1=self.build2DMesh();
398 m2=self.build2DMesh();
400 vals0=[-0.7,-1.,-2.,-3.,-4.];
401 vals1=[0.,1.,2.,3.,4.,0.1,0.2,0.3,0.4];
402 vals1_1=[170.,171.,172.,173.,174.,170.1,170.2,170.3,170.4];
403 vals2=[5.,6.,7.,8.,9.];
404 vals4=[15.,16.,17.,18.,19.];
405 d0=DataArrayDouble.New();
406 d0.setValues(vals0,5,1);
407 d1=DataArrayDouble.New();
408 d1.setValues(vals1,9,1);
409 d1_1=DataArrayDouble.New();
410 d1_1.setValues(vals1_1,9,1);
411 d2=DataArrayDouble.New();
412 d2.setValues(vals2,5,1);
413 d4=DataArrayDouble.New();
414 d4.setValues(vals4,5,1);
415 d0.setName("d0"); d1.setName("d1"); d1_1.setName("d1_1"); d2.setName("d2"); d4.setName("d4");
416 d0.setInfoOnComponent(0,"c1");
417 d1.setInfoOnComponent(0,"c6");
418 d1_1.setInfoOnComponent(0,"c9");
419 d2.setInfoOnComponent(0,"c5");
420 d4.setInfoOnComponent(0,"c7");
421 f0=MEDCouplingFieldDouble.New(ON_CELLS,ONE_TIME);
426 f1=MEDCouplingFieldDouble.New(ON_NODES,LINEAR_TIME);
428 f1.setArrays([d1,d1_1]);
429 f1.setStartTime(0.7,7,8);
430 f1.setEndTime(1.2,9,10);
432 f2=MEDCouplingFieldDouble.New(ON_CELLS,CONST_ON_TIME_INTERVAL);
435 f2.setTime(1.2,11,12);
436 f2.setEndTime(1.5,13,14);
438 f3=MEDCouplingFieldDouble.New(ON_CELLS,ONE_TIME);
441 f3.setTime(1.7,15,16);
443 f4=MEDCouplingFieldDouble.New(ON_CELLS,NO_TIME);
447 ret=MEDCouplingMultiFields.New([f0,f1,f2,f3,f4]);
450 def buildArrayDouble1(self):
451 ret=DataArrayDouble.New();
452 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];
453 ret.setValues(vals,4,3);
455 ret.setInfoOnComponent(0,"sss");
456 ret.setInfoOnComponent(1,"ppp");
457 ret.setInfoOnComponent(2,"ttt");
460 def buildArrayDouble2(self):
461 ret=DataArrayDouble.New();
465 def buildArrayDouble3(self):
466 ret=DataArrayDouble.New();
469 ret.setInfoOnComponent(0,"sss");
470 ret.setInfoOnComponent(1,"ppp");
471 ret.setInfoOnComponent(2,"ttt");
474 def buildArrayInt1(self):
475 ret=DataArrayInt.New();
476 vals=[2,3,5,9,47,20,24,278,2,3,2,9];
477 ret.setValues(vals,4,3);
479 ret.setInfoOnComponent(0,"sss");
480 ret.setInfoOnComponent(1,"ppp");
481 ret.setInfoOnComponent(2,"ttt");
484 def buildArrayInt2(self):
485 ret=DataArrayInt.New();
489 def buildArrayInt3(self):
490 ret=DataArrayInt.New();
493 ret.setInfoOnComponent(0,"sss");
494 ret.setInfoOnComponent(1,"ppp");
495 ret.setInfoOnComponent(2,"ttt");
498 def buildMultiFields2(self):
499 m1=self.build2DMesh();
501 m2=self.build2DMesh();
503 vals0=[-0.7,-1.,-2.,-3.,-4.];
504 vals1=[0.,1.,2.,3.,4.,0.1,0.2,0.3,0.4];
505 vals1_1=[170.,171.,172.,173.,174.];
506 vals2=[5.,6.,7.,8.,9.];
507 vals4=[15.,16.,17.,18.,19.];
508 d0=DataArrayDouble.New();
509 d0.setValues(vals0,5,1);
510 d1=DataArrayDouble.New();
511 d1.setValues(vals1,5,1);
512 d1_1=DataArrayDouble.New();
513 d1_1.setValues(vals1_1,5,1);
514 d2=DataArrayDouble.New();
515 d2.setValues(vals2,5,1);
516 d4=DataArrayDouble.New();
517 d4.setValues(vals4,5,1);
518 d0.setName("d0"); d1.setName("d1"); d1_1.setName("d1_1"); d2.setName("d2"); d4.setName("d4");
519 d0.setInfoOnComponent(0,"c1");
520 d1.setInfoOnComponent(0,"c6");
521 d1_1.setInfoOnComponent(0,"c9");
522 d2.setInfoOnComponent(0,"c5");
523 d4.setInfoOnComponent(0,"c7");
524 f0=MEDCouplingFieldDouble.New(ON_CELLS,ONE_TIME);
529 f1=MEDCouplingFieldDouble.New(ON_CELLS,LINEAR_TIME);
531 f1.setArrays([d1,d1_1]);
532 f1.setStartTime(0.7,7,8);
533 f1.setEndTime(1.2,9,10);
535 f2=MEDCouplingFieldDouble.New(ON_CELLS,CONST_ON_TIME_INTERVAL);
538 f2.setTime(1.2,11,12);
539 f2.setEndTime(1.5,13,14);
541 f3=MEDCouplingFieldDouble.New(ON_CELLS,ONE_TIME);
544 f3.setTime(1.7,15,16);
546 f4=MEDCouplingFieldDouble.New(ON_CELLS,ONE_TIME);
550 f4.setTime(2.7,25,26);
551 ret=MEDCouplingFieldOverTime.New([f0,f1,f2,f3,f4]);
552 ret.checkCoherency();
555 def buildFileNameForIOR(self):
556 ret=os.getenv("TMP");
557 ret+="/entryPointMEDCouplingCorba.ior";
562 tab4=[1, 2, 8, 7, 2, 3, 9, 8, 3,
563 4, 10, 9, 4, 5, 11, 10, 5,
564 0, 6, 11, 0, 1, 7, 6 ]
567 coords=[ 0.024155, 0.04183768725682622, -0.305, 0.04831000000000001, -1.015761910347357e-17,
568 -0.305, 0.09662000000000001, -1.832979297858306e-18, -0.305, 0.120775, 0.04183768725682623,
569 -0.305, 0.09662000000000001, 0.08367537451365245, -0.305, 0.04831000000000001, 0.08367537451365246,
570 -0.305, 0.024155, 0.04183768725682622, -0.2863, 0.04831000000000001, -1.015761910347357e-17, -0.2863,
571 0.09662000000000001, -1.832979297858306e-18, -0.2863, 0.120775, 0.04183768725682623, -0.2863, 0.09662000000000001,
572 0.08367537451365245, -0.2863, 0.04831000000000001, 0.08367537451365246, -0.2863 ]
573 mesh=MEDCouplingUMesh.New()
574 mesh.setMeshDimension(2)
575 mesh.allocateCells(8);
576 mesh.setName("mesh1")
577 for i in range(nbOfCells):
578 mesh.insertNextCell(NORM_QUAD4,4,tab4[4*i:4*(i+1)]);
580 mesh.finishInsertingCells()
581 myCoords=DataArrayDouble.New()
582 myCoords.setValues(coords,nbOfNodes,3);
583 mesh.setCoords(myCoords);
584 mesh.checkCoherency();
585 myFalseConn=DataArrayInt.New()
586 myFalseConn.setValues(tab4,6,4)
592 nbOfCells=mesh.getNumberOfCells()
593 field=MEDCouplingFieldDouble.New(ON_CELLS)
595 field.setNature(Integral)
596 myCoords=DataArrayDouble.New()
598 for i in range(nbOfCells*9):
599 sampleTab.append(float(i))
600 myCoords.setValues(sampleTab,nbOfCells,9);
602 field.setArray(myCoords)