X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FMEDLoader%2FSwig%2FMEDLoaderTest3.py;h=2682b2dd9baf1aef722ef277754b65919cb07bbb;hb=281f5b3852ce7e4e71642292f133e0138b27d5e9;hp=1e99f137c4fa5cf07aebcad2718310fe6a6dea83;hpb=b81a3099adb0fac389e698e7b3ec90b59d20d816;p=tools%2Fmedcoupling.git diff --git a/src/MEDLoader/Swig/MEDLoaderTest3.py b/src/MEDLoader/Swig/MEDLoaderTest3.py index 1e99f137c..2682b2dd9 100644 --- a/src/MEDLoader/Swig/MEDLoaderTest3.py +++ b/src/MEDLoader/Swig/MEDLoaderTest3.py @@ -1,10 +1,10 @@ # -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2013 CEA/DEN, EDF R&D +# Copyright (C) 2007-2015 CEA/DEN, EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either -# version 2.1 of the License. +# version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -172,6 +172,20 @@ class MEDLoaderTest(unittest.TestCase): mmCpy.write(outFileName,2); # mm=MEDFileMesh.New(outFileName) + # + self.assertEqual([NORM_TRI3,NORM_QUAD4,NORM_POLYGON],mm.getGeoTypesAtLevel(0)) + self.assertEqual([NORM_SEG2,NORM_SEG3],mm.getGeoTypesAtLevel(-1)) + self.assertEqual([NORM_POINT1],mm.getGeoTypesAtLevel(-2)) + mm0=mm.getDirectUndergroundSingleGeoTypeMesh(NORM_POLYGON) + self.assertTrue(isinstance(mm0,MEDCoupling1DGTUMesh)) + self.assertTrue(mm0.getNodalConnectivity().isEqual(DataArrayInt([6,7,4,3,7,8,5,4]))) + self.assertTrue(mm0.getNodalConnectivityIndex().isEqual(DataArrayInt([0,4,8]))) + lmm=mm.getDirectUndergroundSingleGeoTypeMeshes(0) + self.assertEqual(3,len(lmm)) + self.assertTrue(isinstance(lmm[0],MEDCoupling1SGTUMesh)) + self.assertTrue(isinstance(lmm[1],MEDCoupling1SGTUMesh)) + self.assertTrue(isinstance(lmm[2],MEDCoupling1DGTUMesh)) + # self.assertTrue(mm.getUnivNameWrStatus()) self.assertTrue(isinstance(mm.getUnivName(),str)) self.assertTrue(len(mm.getUnivName())!=0) @@ -333,6 +347,7 @@ class MEDLoaderTest(unittest.TestCase): self.assertTrue(m.getUnivNameWrStatus()) m.write(outFileName,2); mm=MEDFileMesh.New(outFileName) + self.assertEqual([NORM_HEXA8],mm.getGeoTypesAtLevel(0)) self.assertTrue(isinstance(mm,MEDFileCMesh)) self.assertTrue(isinstance(mm.getUnivName(),str)) self.assertTrue(len(mm.getUnivName())!=0) @@ -981,7 +996,7 @@ class MEDLoaderTest(unittest.TestCase): def testMEDFieldBug1(self): fname="Pyfile13.med" d=MEDFileData.New(fname) - self.assertEqual(('GP_MyFirstFieldOnGaussPoint0', 'GP_MyFirstFieldOnGaussPoint1', 'GP_MyFirstFieldOnGaussPoint2'),d.getFields().getFieldAtPos(0).getLocs()) + self.assertEqual(('Loc_MyFirstFieldOnGaussPoint_NORM_QUAD4_1','Loc_MyFirstFieldOnGaussPoint_NORM_TRI3_0','Loc_MyFirstFieldOnGaussPoint_NORM_TRI6_2'),d.getFields().getFieldAtPos(0).getLocs()) pass def testMEDMesh8(self): @@ -1316,9 +1331,9 @@ class MEDLoaderTest(unittest.TestCase): def testBasicConstructors(self): fname="Pyfile18.med" - m=MEDFileMesh(fname) - m=MEDFileMesh(fname,"ExampleOfMultiDimW",-1,-1) - m=MEDFileMesh(fname) + m=MEDFileMesh.New(fname) + m=MEDFileMesh.New(fname,"ExampleOfMultiDimW",-1,-1) + m=MEDFileMesh.New(fname) m=MEDFileUMesh(fname,"ExampleOfMultiDimW",-1,-1) m=MEDFileUMesh(fname) m=MEDFileUMesh() @@ -1960,36 +1975,40 @@ class MEDLoaderTest(unittest.TestCase): pass def testHeapMem1(self): + a=DataArrayInt() ; aa=a.getHeapMemorySize() + a.alloc(0,1) + strMulFac=a.getHeapMemorySize()-aa ; del a ; del aa + # m=MEDCouplingCMesh() arr=DataArrayDouble(10,1) ; arr.iota(0) m.setCoords(arr,arr) m=m.buildUnstructured() m.setName("mm") f=m.getMeasureField(ON_CELLS) - self.assertIn(m.getHeapMemorySize(),xrange(3552-100,3552+100)) - self.assertIn(f.getHeapMemorySize(),xrange(4215-100,4215+100)) + self.assertIn(m.getHeapMemorySize(),xrange(3552-100,3552+100+4*strMulFac)) + self.assertIn(f.getHeapMemorySize(),xrange(4215-100,4215+100+8*strMulFac)) # mm=MEDFileUMesh() mm.setMeshAtLevel(0,m) - self.assertIn(mm.getHeapMemorySize(),xrange(3889-100,3889+100)) + self.assertIn(mm.getHeapMemorySize(),xrange(3889-100,3889+100+10*strMulFac)) ff=MEDFileField1TS() ff.setFieldNoProfileSBT(f) - self.assertIn(ff.getHeapMemorySize(),xrange(711-20,711+20)) + self.assertIn(ff.getHeapMemorySize(),xrange(771-40,771+21+(4+1)*strMulFac)) # fff=MEDFileFieldMultiTS() fff.appendFieldNoProfileSBT(f) - self.assertIn(fff.getHeapMemorySize(),xrange(743-30,743+30)) + self.assertIn(fff.getHeapMemorySize(),xrange(815-50,815+30+(6+2)*strMulFac)) f.setTime(1.,0,-1) fff.appendFieldNoProfileSBT(f) - self.assertIn(fff.getHeapMemorySize(),xrange(1462-50,1462+50)) - self.assertIn(fff[0,-1].getHeapMemorySize(),xrange(711-20,711+20)) + self.assertIn(fff.getHeapMemorySize(),xrange(1594-90,1594+50+(10+1)*strMulFac)) + self.assertIn(fff[0,-1].getHeapMemorySize(),xrange(771-40,771+20+(4+1)*strMulFac)) f2=f[:50] f2.setTime(2.,1,-1) pfl=DataArrayInt.Range(0,50,1) ; pfl.setName("pfl") fff.appendFieldProfile(f2,mm,0,pfl) - self.assertIn(fff.getHeapMemorySize(),xrange(2178-100,2178+100)) - self.assertIn(fff.getProfile("pfl_NORM_QUAD4").getHeapMemorySize(),xrange(215-10,215+10)) - self.assertIn(fff[1,-1].getHeapMemorySize(),xrange(700-30,700+30)) + self.assertIn(fff.getHeapMemorySize(),xrange(2348-130,2348+100+(10+2)*strMulFac)) + self.assertIn(fff.getProfile("pfl").getHeapMemorySize(),xrange(204-10,204+10+2*strMulFac)) + self.assertIn(fff[1,-1].getHeapMemorySize(),xrange(738-50,738+30+4*strMulFac)) pass def testCurveLinearMesh1(self): @@ -2022,6 +2041,8 @@ class MEDLoaderTest(unittest.TestCase): m1=MEDFileCurveLinearMesh(fname) mm=m1.getMesh() self.assertTrue(mm.isEqual(mesh,1e-12)) + self.assertEqual(mm.getSpaceDimension(),3) + self.assertEqual(mm.getSpaceDimensionOnNodeStruct(),2) # m1=MEDFileMesh.New(fname) self.assertTrue(isinstance(m1,MEDFileCurveLinearMesh)) @@ -2759,6 +2780,1585 @@ class MEDLoaderTest(unittest.TestCase): self.assertTrue(d.isEqual(f.getArray(),1e-13)) pass pass + + def testMEDFileFieldConvertTo1(self): + fname="Pyfile68.med" + # building a mesh containing 4 tri3 + 5 quad4 + tri=MEDCouplingUMesh("tri",2) + tri.allocateCells() ; tri.insertNextCell(NORM_TRI3,[0,1,2]) + tri.setCoords(DataArrayDouble([(0.,0.),(0.,1.),(1.,0.)])) + tris=[tri.deepCpy() for i in xrange(4)] + for i,elt in enumerate(tris): elt.translate([i,0]) + tris=MEDCouplingUMesh.MergeUMeshes(tris) + quad=MEDCouplingUMesh("quad",2) + quad.allocateCells() ; quad.insertNextCell(NORM_QUAD4,[0,1,2,3]) + quad.setCoords(DataArrayDouble([(0.,0.),(0.,1.),(1.,1.),(1.,0.)])) + quads=[quad.deepCpy() for i in xrange(5)] + for i,elt in enumerate(quads): elt.translate([5+i,0]) + quads=MEDCouplingUMesh.MergeUMeshes(quads) + m=MEDCouplingUMesh.MergeUMeshes(tris,quads) + m.setName("mesh") ; m.getCoords().setInfoOnComponents(["XX [m]","YYY [km]"]) + mm=MEDFileUMesh() ; mm.setMeshAtLevel(0,m) + # + ff0=MEDFileField1TS() + f0=MEDCouplingFieldDouble(ON_CELLS,ONE_TIME) ; f0.setMesh(m) ; arr=DataArrayDouble(m.getNumberOfCells()*2) ; arr.iota() ; arr.rearrange(2) ; arr.setInfoOnComponents(["X [km]","YY [mm]"]) ; f0.setArray(arr) ; f0.setName("FieldCell") + f0.checkCoherency() + ff0.setFieldNoProfileSBT(f0) + # + fspExp=[(3,[(0,(0,4),'','')]),(4,[(0,(4,9),'','')])] + self.assertEqual(ff0.getFieldSplitedByType(),fspExp) + # + ff0i=ff0.convertToInt() + self.assertEqual(ff0i.getFieldSplitedByType(),fspExp) + self.assertTrue(arr.convertToIntArr().isEqual(ff0i.getUndergroundDataArray())) + # + ff1=ff0i.convertToDouble() + self.assertTrue(ff1.getUndergroundDataArray().isEqual(ff0.getUndergroundDataArray(),1e-13)) + self.assertEqual(ff1.getFieldSplitedByType(),fspExp) + # With profiles + del arr,f0,ff0,ff1,ff0i,fspExp + ff0=MEDFileField1TS() + f0=MEDCouplingFieldDouble(ON_CELLS,ONE_TIME) ; f0.setMesh(m[:7]) ; arr=DataArrayDouble(7*2) ; arr.iota() ; arr.rearrange(2) ; arr.setInfoOnComponents(["XX [pm]","YYY [hm]"]) ; f0.setArray(arr) ; f0.setName("FieldCellPfl") + f0.checkCoherency() + pfl=DataArrayInt.Range(0,7,1) ; pfl.setName("pfl") + ff0.setFieldProfile(f0,mm,0,pfl) + fspExp=[(3,[(0,(0,4),'','')]),(4,[(0,(4,7),'pfl_NORM_QUAD4','')])] + self.assertEqual(ff0.getFieldSplitedByType(),fspExp) + # + ff0i=ff0.convertToInt() + self.assertTrue(isinstance(ff0i,MEDFileIntField1TS)) + self.assertEqual(ff0i.getFieldSplitedByType(),fspExp) + self.assertTrue(arr.convertToIntArr().isEqual(ff0i.getUndergroundDataArray())) + # + ff1=ff0i.convertToDouble() + self.assertTrue(isinstance(ff1,MEDFileField1TS)) + self.assertTrue(ff1.getUndergroundDataArray().isEqual(ff0.getUndergroundDataArray(),1e-13)) + self.assertEqual(ff1.getFieldSplitedByType(),fspExp) + ## MultiTimeSteps + ff0=MEDFileFieldMultiTS() + f0=MEDCouplingFieldDouble(ON_CELLS,ONE_TIME) ; f0.setMesh(m[:7]) ; arr=DataArrayDouble(7*2) ; arr.iota() ; arr.rearrange(2) ; arr.setInfoOnComponents(["X [km]","YY [mm]"]) ; f0.setArray(arr) ; f0.setName("FieldCellMTime") ; f0.setTime(0.1,0,10) + f0.checkCoherency() + ff0.appendFieldProfile(f0,mm,0,pfl) + f0=MEDCouplingFieldDouble(ON_CELLS,ONE_TIME) ; f0.setMesh(m[:7]) ; arr=DataArrayDouble(7*2) ; arr.iota(100) ; arr.rearrange(2) ; arr.setInfoOnComponents(["X [km]","YY [mm]"]) ; f0.setArray(arr) ; f0.setName("FieldCellMTime") ; f0.setTime(1.1,1,11) + f0.checkCoherency() + ff0.appendFieldProfile(f0,mm,0,pfl) + f0=MEDCouplingFieldDouble(ON_CELLS,ONE_TIME) ; f0.setMesh(m[:7]) ; arr=DataArrayDouble(7*2) ; arr.iota(200) ; arr.rearrange(2) ; arr.setInfoOnComponents(["X [km]","YY [mm]"]) ; f0.setArray(arr) ; f0.setName("FieldCellMTime") ; f0.setTime(2.1,2,12) + f0.checkCoherency() + ff0.appendFieldProfile(f0,mm,0,pfl) + ff1=ff0.convertToInt() + self.assertTrue(isinstance(ff1,MEDFileIntFieldMultiTS)) + self.assertEqual(ff1.getTimeSteps(),[(0,10,0.1),(1,11,1.1),(2,12,2.1)]) + for delt,(dt,it,t) in zip([0,100,200],ff1.getTimeSteps()): + self.assertEqual(ff1.getFieldSplitedByType(dt,it),fspExp) + arr=ff1.getUndergroundDataArray(dt,it) + arr.isEqualWithoutConsideringStr(DataArrayInt.Range(delt,delt+7,1)) + pass + self.assertEqual(ff1.getPfls(),('pfl_NORM_QUAD4', 'pfl_NORM_QUAD4', 'pfl_NORM_QUAD4')) + # + mm.write(fname,2) + ff1.write(fname,0) + # + ff1=ff1.convertToDouble() + self.assertTrue(isinstance(ff1,MEDFileFieldMultiTS)) + self.assertEqual(ff1.getTimeSteps(),[(0,10,0.1),(1,11,1.1),(2,12,2.1)]) + for delt,(dt,it,t) in zip([0,100,200],ff1.getTimeSteps()): + self.assertEqual(ff1.getFieldSplitedByType(dt,it),fspExp) + arr=ff1.getUndergroundDataArray(dt,it) + arr.isEqualWithoutConsideringStr(DataArrayInt.Range(delt,delt+7,1).convertToDblArr(),1e-14) + pass + self.assertEqual(ff1.getPfls(),('pfl_NORM_QUAD4', 'pfl_NORM_QUAD4', 'pfl_NORM_QUAD4')) + # + ff1=MEDFileAnyTypeFieldMultiTS.New(fname,"FieldCellMTime") + self.assertTrue(isinstance(ff1,MEDFileIntFieldMultiTS)) + self.assertEqual(ff1.getTimeSteps(),[(0,10,0.1),(1,11,1.1),(2,12,2.1)]) + for delt,(dt,it,t) in zip([0,100,200],ff1.getTimeSteps()): + self.assertTrue(ff1.getFieldSplitedByType(dt,it),fspExp) + arr=ff1.getUndergroundDataArray(dt,it) + arr.isEqualWithoutConsideringStr(DataArrayInt.Range(delt,delt+7,1)) + pass + self.assertEqual(ff1.getPfls(),('pfl_NORM_QUAD4',)) + pass + + def testMEDFileFieldPartialLoading(self): + fname="Pyfile69.med" + # + a=DataArrayInt() ; aa=a.getHeapMemorySize() + a.alloc(0,1) + strMulFac=a.getHeapMemorySize()-aa ; del a ; del aa + # building a mesh containing 30 tri3 + 40 quad4 + tri=MEDCouplingUMesh("tri",2) + tri.allocateCells() ; tri.insertNextCell(NORM_TRI3,[0,1,2]) + tri.setCoords(DataArrayDouble([(0.,0.),(0.,1.),(1.,0.)])) + tris=[tri.deepCpy() for i in xrange(30)] + for i,elt in enumerate(tris): elt.translate([i,0]) + tris=MEDCouplingUMesh.MergeUMeshes(tris) + quad=MEDCouplingUMesh("quad",2) + quad.allocateCells() ; quad.insertNextCell(NORM_QUAD4,[0,1,2,3]) + quad.setCoords(DataArrayDouble([(0.,0.),(0.,1.),(1.,1.),(1.,0.)])) + quads=[quad.deepCpy() for i in xrange(40)] + for i,elt in enumerate(quads): elt.translate([40+i,0]) + quads=MEDCouplingUMesh.MergeUMeshes(quads) + m=MEDCouplingUMesh.MergeUMeshes(tris,quads) + m.setName("mesh") ; m.getCoords().setInfoOnComponents(["XX [m]","YYY [km]"]) + mm=MEDFileUMesh() ; mm.setMeshAtLevel(0,m) ; mm.write(fname,2) + # + ff0=MEDFileField1TS() + f0=MEDCouplingFieldDouble(ON_CELLS,ONE_TIME) ; f0.setMesh(m) ; arr=DataArrayDouble(m.getNumberOfCells()*2) ; arr.iota() ; arr.rearrange(2) ; arr.setInfoOnComponents(["X [km]","YY [mm]"]) ; f0.setArray(arr) ; f0.setName("FieldCell") + f0.checkCoherency() + ff0.setFieldNoProfileSBT(f0) + ff0.write(fname,0) + # + fspExp=[(3,[(0,(0,30),'','')]),(4,[(0,(30,70),'','')])] + self.assertEqual(ff0.getFieldSplitedByType(),fspExp) + # With profiles + ff0=MEDFileField1TS() + f0=MEDCouplingFieldDouble(ON_CELLS,ONE_TIME) ; f0.setMesh(m[:50]) ; arr=DataArrayDouble(50*2) ; arr.iota() ; arr.rearrange(2) ; arr.setInfoOnComponents(["XX [pm]","YYY [hm]"]) ; f0.setArray(arr) ; f0.setName("FieldCellPfl") + f0.checkCoherency() + pfl=DataArrayInt.Range(0,50,1) ; pfl.setName("pfl") + ff0.setFieldProfile(f0,mm,0,pfl) + fspExp=[(3,[(0,(0,30),'','')]),(4,[(0,(30,50),'pfl_NORM_QUAD4','')])] + self.assertEqual(ff0.getFieldSplitedByType(),fspExp) + ff0.write(fname,0) + # + ff0=MEDFileField1TS(fname,False) + self.assertEqual(ff0.getName(),"FieldCell") + self.assertTrue(not ff0.getUndergroundDataArray().isAllocated()) + self.assertEqual(ff0.getUndergroundDataArray().getInfoOnComponents(),['X [km]','YY [mm]']) + heap_memory_ref=ff0.getHeapMemorySize() + self.assertIn(heap_memory_ref,xrange(182,298+2*strMulFac)) + ff0.loadArrays() ## + arr=DataArrayDouble(140) ; arr.iota() ; arr.rearrange(2) + self.assertTrue(ff0.getUndergroundDataArray().isEqualWithoutConsideringStr(arr,1e-14)) + self.assertEqual(ff0.getHeapMemorySize()-heap_memory_ref,70*8*2) + # + ff0=MEDFileField1TS(fname,"FieldCellPfl",False) + self.assertEqual(ff0.getUndergroundDataArray().getInfoOnComponents(),["XX [pm]","YYY [hm]"]) + heap_memory_ref=ff0.getHeapMemorySize() + self.assertIn(heap_memory_ref,xrange(350,415+6*strMulFac)) + ff0.loadArrays() ## + arr=DataArrayDouble(100) ; arr.iota() ; arr.rearrange(2) + self.assertTrue(ff0.getUndergroundDataArray().isEqualWithoutConsideringStr(arr,1e-14)) + self.assertEqual(ff0.getHeapMemorySize()-heap_memory_ref,50*8*2) + ff0.loadArrays() ## + self.assertTrue(ff0.getUndergroundDataArray().isEqualWithoutConsideringStr(arr,1e-14)) + self.assertEqual(ff0.getHeapMemorySize()-heap_memory_ref,50*8*2) + ff0.getUndergroundDataArray().setIJ(30,1,5.5) + self.assertTrue(not ff0.getUndergroundDataArray().isEqualWithoutConsideringStr(arr,1e-14)) + ff0.loadArrays() ## + self.assertTrue(ff0.getUndergroundDataArray().isEqualWithoutConsideringStr(arr,1e-14)) + ff0.getUndergroundDataArray().setIJ(30,1,5.5) + self.assertTrue(not ff0.getUndergroundDataArray().isEqualWithoutConsideringStr(arr,1e-14)) + ff0.loadArraysIfNecessary() ## + self.assertEqual(ff0.getUndergroundDataArray().getIJ(30,1),5.5) + self.assertTrue(not ff0.getUndergroundDataArray().isEqualWithoutConsideringStr(arr,1e-14)) + heap_memory_ref=ff0.getHeapMemorySize() + self.assertIn(heap_memory_ref,xrange(1100,1215+2*strMulFac)) + ff0.unloadArrays() + hmd=ff0.getHeapMemorySize()-heap_memory_ref + self.assertEqual(hmd,-800) # -50*8*2 + ff0.loadArrays() ## + self.assertEqual(ff0.getHeapMemorySize()-heap_memory_ref,0) + # + ff0=MEDFileField1TS(fname,"FieldCellPfl",-1,-1,False) + heap_memory_ref=ff0.getHeapMemorySize() + self.assertIn(heap_memory_ref,xrange(299,415+6*strMulFac)) + ff0.loadArrays() ## + self.assertTrue(ff0.getUndergroundDataArray().isEqualWithoutConsideringStr(arr,1e-14)) + self.assertEqual(ff0.getHeapMemorySize()-heap_memory_ref,50*8*2) + # + fieldName="FieldCellMultiTS" + ff0=MEDFileFieldMultiTS() + for t in xrange(20): + f0=MEDCouplingFieldDouble(ON_CELLS,ONE_TIME) ; f0.setMesh(m) ; arr=DataArrayDouble(m.getNumberOfCells()*2) ; arr.iota(float(t+1000)) ; arr.rearrange(2) ; arr.setInfoOnComponents(["X [km]","YY [mm]"]) ; f0.setArray(arr) ; f0.setName(fieldName) + f0.setTime(float(t)+0.1,t,100+t) + f0.checkCoherency() + ff0.appendFieldNoProfileSBT(f0) + pass + ff0.write(fname,0) + # + ff0=MEDFileAnyTypeFieldMultiTS.New(fname,fieldName,False) + heap_memory_ref=ff0.getHeapMemorySize() + self.assertIn(heap_memory_ref,xrange(5536,5956+(80+26)*strMulFac)) + ff0.loadArrays() + self.assertEqual(ff0.getHeapMemorySize()-heap_memory_ref,20*70*8*2) + del ff0 + # + ffs=MEDFileFields(fname,False) + heap_memory_ref=ffs.getHeapMemorySize() + self.assertIn(heap_memory_ref,xrange(5335,6687+(80+50)*strMulFac)) + ffs.loadArrays() + self.assertEqual(ffs.getHeapMemorySize()-heap_memory_ref,20*70*8*2+70*8*2+50*8*2) + pass + + def testMEDFileMeshReadSelector1(self): + mrs=MEDFileMeshReadSelector() + self.assertTrue(mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs.__str__() ; mrs.__repr__() + # + mrs=MEDFileMeshReadSelector(0) + self.assertTrue(not mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(1) + self.assertTrue(mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(2) + self.assertTrue(not mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(3) + self.assertTrue(mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(4) + self.assertTrue(not mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(5) + self.assertTrue(mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(6) + self.assertTrue(not mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(7) + self.assertTrue(mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(8) + self.assertTrue(not mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(9) + self.assertTrue(mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(10) + self.assertTrue(not mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(11) + self.assertTrue(mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(12) + self.assertTrue(not mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(13) + self.assertTrue(mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(14) + self.assertTrue(not mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(15) + self.assertTrue(mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(16) + self.assertTrue(not mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(17) + self.assertTrue(mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(18) + self.assertTrue(not mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(19) + self.assertTrue(mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(20) + self.assertTrue(not mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(21) + self.assertTrue(mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(22) + self.assertTrue(not mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(23) + self.assertTrue(mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(24) + self.assertTrue(not mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(25) + self.assertTrue(mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(26) + self.assertTrue(not mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(27) + self.assertTrue(mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(28) + self.assertTrue(not mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(29) + self.assertTrue(mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(30) + self.assertTrue(not mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(31) + self.assertTrue(mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and not mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(32) + self.assertTrue(not mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(33) + self.assertTrue(mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(34) + self.assertTrue(not mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(35) + self.assertTrue(mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(36) + self.assertTrue(not mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(37) + self.assertTrue(mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(38) + self.assertTrue(not mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(39) + self.assertTrue(mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(40) + self.assertTrue(not mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(41) + self.assertTrue(mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(42) + self.assertTrue(not mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(43) + self.assertTrue(mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(44) + self.assertTrue(not mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(45) + self.assertTrue(mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(46) + self.assertTrue(not mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(47) + self.assertTrue(mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and not mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(48) + self.assertTrue(not mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(49) + self.assertTrue(mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(50) + self.assertTrue(not mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(51) + self.assertTrue(mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(52) + self.assertTrue(not mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(53) + self.assertTrue(mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(54) + self.assertTrue(not mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(55) + self.assertTrue(mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and not mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(56) + self.assertTrue(not mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(57) + self.assertTrue(mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(58) + self.assertTrue(not mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(59) + self.assertTrue(mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and not mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(60) + self.assertTrue(not mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(61) + self.assertTrue(mrs.isCellFamilyFieldReading() and not mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(62) + self.assertTrue(not mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + mrs=MEDFileMeshReadSelector(63) + self.assertTrue(mrs.isCellFamilyFieldReading() and mrs.isNodeFamilyFieldReading() and mrs.isCellNameFieldReading() and mrs.isNodeNameFieldReading() and mrs.isCellNumFieldReading() and mrs.isNodeNumFieldReading()) + # + mrs=MEDFileMeshReadSelector(63) + mrs.setCellFamilyFieldReading(False) + self.assertEqual(mrs.getCode(),62) + mrs.setCellFamilyFieldReading(True) + self.assertEqual(mrs.getCode(),63) + mrs.setNodeFamilyFieldReading(False) + self.assertEqual(mrs.getCode(),61) + mrs.setNodeFamilyFieldReading(True) + self.assertEqual(mrs.getCode(),63) + mrs.setCellNameFieldReading(False) + self.assertEqual(mrs.getCode(),59) + mrs.setCellNameFieldReading(True) + self.assertEqual(mrs.getCode(),63) + mrs.setNodeNameFieldReading(False) + self.assertEqual(mrs.getCode(),55) + mrs.setNodeNameFieldReading(True) + self.assertEqual(mrs.getCode(),63) + mrs.setCellNumFieldReading(False) + self.assertEqual(mrs.getCode(),47) + mrs.setCellNumFieldReading(True) + self.assertEqual(mrs.getCode(),63) + mrs.setNodeNumFieldReading(False) + self.assertEqual(mrs.getCode(),31) + mrs.setNodeNumFieldReading(True) + self.assertEqual(mrs.getCode(),63) + pass + + def testPartialReadOfMeshes(self): + fname="Pyfile70.med" + # building a mesh containing 4 tri3 + 5 quad4 + tri=MEDCouplingUMesh("tri",2) + tri.allocateCells() ; tri.insertNextCell(NORM_TRI3,[0,1,2]) + tri.setCoords(DataArrayDouble([(0.,0.),(0.,1.),(1.,0.)])) + tris=[tri.deepCpy() for i in xrange(4)] + for i,elt in enumerate(tris): elt.translate([i,0]) + tris=MEDCouplingUMesh.MergeUMeshes(tris) + quad=MEDCouplingUMesh("quad",2) + quad.allocateCells() ; quad.insertNextCell(NORM_QUAD4,[0,1,2,3]) + quad.setCoords(DataArrayDouble([(0.,0.),(0.,1.),(1.,1.),(1.,0.)])) + quads=[quad.deepCpy() for i in xrange(5)] + for i,elt in enumerate(quads): elt.translate([5+i,0]) + quads=MEDCouplingUMesh.MergeUMeshes(quads) + m=MEDCouplingUMesh.MergeUMeshes(tris,quads) + m.setName("mesh") ; m.getCoords().setInfoOnComponents(["XX [m]","YYY [km]"]) + m1=m.buildDescendingConnectivity()[0] + mm=MEDFileUMesh() ; mm.setMeshes([m,m1]) + # + grp0=DataArrayInt([1,2,3,5,6]) ; grp0.setName("grp0") + grp1=DataArrayInt([1,2,3,5,7,8]) ; grp1.setName("grp1") + mm.setGroupsAtLevel(0,[grp0,grp1]) + grp2=DataArrayInt.Range(0,32,2) ; grp2.setName("grp2") + grp3=DataArrayInt.Range(1,32,7) ; grp3.setName("grp3") + mm.setGroupsAtLevel(-1,[grp2,grp3]) + grp4=DataArrayInt.Range(0,32,2) ; grp4.setName("grp4") + grp5=DataArrayInt.Range(1,32,7) ; grp5.setName("grp5") + mm.setGroupsAtLevel(1,[grp4,grp5]) + mm.setRenumFieldArr(0,DataArrayInt.Range(2,11,1)) + mm.setRenumFieldArr(-1,DataArrayInt.Range(3,35,1)) + mm.setRenumFieldArr(1,DataArrayInt.Range(4,36,1)) + # + mm.write(fname,2) + ## + mm=MEDFileMesh.New(fname,"mesh",-1,-1,MEDFileMeshReadSelector()) + b4_ref_heap_mem=mm.getHeapMemorySize() + mm.getMeshAtLevel(0)## please let this line : force to move 1GTUMesh -> UMesh + mm.getMeshAtLevel(-1)## please let this line : force to move 1GTUMesh -> UMesh + ref_heap_mem=mm.getHeapMemorySize() + # check the gain of memory using 1GTUMesh instead of UMesh + self.assertTrue(ref_heap_mem-b4_ref_heap_mem>=(32+9)*4*2-32)# 32+9=nbCells 4=sizeof(int) 2=the types+index -32=loss linked to vector + # + mm=MEDFileMesh.New(fname,MEDFileMeshReadSelector(0)) + self.assertEqual(len(mm.getGroupsNames()),0) + self.assertTrue(mm.getMeshAtLevel(0).isEqual(m,1e-13)) + self.assertTrue(mm.getMeshAtLevel(-1).isEqual(m1,1e-13)) + self.assertTrue(mm.getFamilyFieldAtLevel(0) is None) + self.assertTrue(mm.getFamilyFieldAtLevel(-1) is None) + self.assertTrue(mm.getFamilyFieldAtLevel(1) is None) + self.assertTrue(mm.getNumberFieldAtLevel(0) is None) + self.assertTrue(mm.getNumberFieldAtLevel(-1) is None) + self.assertTrue(mm.getNumberFieldAtLevel(1) is None) + delta1=ref_heap_mem-mm.getHeapMemorySize() + self.assertTrue(delta1>=4*(32+9)*3+32*4*3) + # + mm=MEDFileMesh.New(fname,MEDFileMeshReadSelector(1)) + self.assertEqual(len(mm.getGroupsNames()),6) + self.assertTrue(mm.getMeshAtLevel(0).isEqual(m,1e-13)) + self.assertTrue(mm.getMeshAtLevel(-1).isEqual(m1,1e-13)) + self.assertTrue(mm.getFamilyFieldAtLevel(0)!=None) + self.assertTrue(mm.getFamilyFieldAtLevel(-1)!=None) + self.assertTrue(mm.getFamilyFieldAtLevel(1) is None) + self.assertTrue(mm.getNumberFieldAtLevel(0) is None) + self.assertTrue(mm.getNumberFieldAtLevel(-1) is None) + self.assertTrue(mm.getNumberFieldAtLevel(1) is None) + delta2=ref_heap_mem-mm.getHeapMemorySize() + self.assertTrue(delta2=4*(32+9)*1+32*4*3) + # + mm=MEDFileUMesh(fname,MEDFileMeshReadSelector(3)) + self.assertEqual(len(mm.getGroupsNames()),6) + self.assertTrue(mm.getMeshAtLevel(0).isEqual(m,1e-13)) + self.assertTrue(mm.getMeshAtLevel(-1).isEqual(m1,1e-13)) + self.assertTrue(mm.getFamilyFieldAtLevel(0)!=None) + self.assertTrue(mm.getFamilyFieldAtLevel(-1)!=None) + self.assertTrue(mm.getFamilyFieldAtLevel(1)!=None) + self.assertTrue(mm.getNumberFieldAtLevel(0) is None) + self.assertTrue(mm.getNumberFieldAtLevel(-1) is None) + self.assertTrue(mm.getNumberFieldAtLevel(1) is None) + delta3=ref_heap_mem-mm.getHeapMemorySize() + self.assertTrue(delta3=4*(32+9)*1+32*4*1) + # + mm=MEDFileUMesh(fname,"mesh",-1,-1,MEDFileMeshReadSelector(19)) + self.assertEqual(len(mm.getGroupsNames()),6) + self.assertTrue(mm.getMeshAtLevel(0).isEqual(m,1e-13)) + self.assertTrue(mm.getMeshAtLevel(-1).isEqual(m1,1e-13)) + self.assertTrue(mm.getFamilyFieldAtLevel(0)!=None) + self.assertTrue(mm.getFamilyFieldAtLevel(-1)!=None) + self.assertTrue(mm.getFamilyFieldAtLevel(1)!=None) + self.assertTrue(mm.getNumberFieldAtLevel(0)!=None) + self.assertTrue(mm.getNumberFieldAtLevel(-1)!=None) + self.assertTrue(mm.getNumberFieldAtLevel(1) is None) + delta4=ref_heap_mem-mm.getHeapMemorySize() + self.assertTrue(delta4=32*4*2) + # + mm=MEDFileUMesh.New(fname,"mesh",-1,-1,MEDFileMeshReadSelector(51)) + self.assertEqual(len(mm.getGroupsNames()),6) + self.assertTrue(mm.getMeshAtLevel(0).isEqual(m,1e-13)) + self.assertTrue(mm.getMeshAtLevel(-1).isEqual(m1,1e-13)) + self.assertTrue(mm.getFamilyFieldAtLevel(0)!=None) + self.assertTrue(mm.getFamilyFieldAtLevel(-1)!=None) + self.assertTrue(mm.getFamilyFieldAtLevel(1)!=None) + self.assertTrue(mm.getNumberFieldAtLevel(0)!=None) + self.assertTrue(mm.getNumberFieldAtLevel(-1)!=None) + self.assertTrue(mm.getNumberFieldAtLevel(1)!=None) + delta5=ref_heap_mem-mm.getHeapMemorySize() + self.assertTrue(delta5