Пример #1
0
 def testFieldRW1(self):
     f1=MEDLoaderDataForTest.buildVecFieldOnCells_1();
     WriteFieldDep("Pyfile6.med",f1,False);
     f2=ReadFieldCell("Pyfile6.med",f1.getMesh().getName(),0,f1.getName(),0,1);
     self.assertTrue(f1.isEqual(f2,1e-12,1e-12));
     #
     f1=MEDLoaderDataForTest.buildVecFieldOnNodes_1();
     WriteFieldDep("Pyfile7.med",f1,False);
     f2=ReadFieldNode("Pyfile7.med",f1.getMesh().getName(),0,f1.getName(),2,3);
     self.assertTrue(f1.isEqual(f2,1e-12,1e-12));
     pass
Пример #2
0
 def testFieldRW1(self):
     f1=MEDLoaderDataForTest.buildVecFieldOnCells_1();
     MEDLoader.WriteField("Pyfile6.med",f1,True);
     f2=MEDLoader.ReadFieldCell("Pyfile6.med",f1.getMesh().getName(),0,f1.getName(),0,1);
     self.assertTrue(f1.isEqual(f2,1e-12,1e-12));
     #
     f1=MEDLoaderDataForTest.buildVecFieldOnNodes_1();
     MEDLoader.WriteField("Pyfile7.med",f1,True);
     f2=MEDLoader.ReadFieldNode("Pyfile7.med",f1.getMesh().getName(),0,f1.getName(),2,3);
     self.assertTrue(f1.isEqual(f2,1e-12,1e-12));
     self.assertRaises(Exception,MEDLoader.ReadFieldCell,"Pyfile7.med",f1.getMesh().getName(),0,f1.getName(),2,3);
     pass
Пример #3
0
 def testFieldRW2(self):
     fileName="Pyfile8.med";
     VAL1=12345.67890314;
     VAL2=-1111111111111.;
     f1=MEDLoaderDataForTest.buildVecFieldOnCells_1();
     MEDLoader.WriteField(fileName,f1,True);
     f1.setTime(10.,8,9);
     f1.getArray().setIJ(0,0,VAL1);
     MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
     f1.setTime(10.14,18,19);
     f1.getArray().setIJ(0,0,VAL2);
     MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
     #retrieving time steps...
     f2=MEDLoader.ReadFieldCell(fileName,f1.getMesh().getName(),0,f1.getName(),8,9);
     f1.setTime(10.,8,9);
     f1.getArray().setIJ(0,0,VAL1);
     self.assertTrue(f1.isEqual(f2,1e-12,1e-12));
     f2=MEDLoader.ReadFieldCell(fileName,f1.getMesh().getName(),0,f1.getName(),0,1);
     f3=MEDLoaderDataForTest.buildVecFieldOnCells_1();
     self.assertTrue(f3.isEqual(f2,1e-12,1e-12));
     f2=MEDLoader.ReadFieldCell(fileName,f1.getMesh().getName(),0,f1.getName(),18,19);
     f1.setTime(10.14,18,19);
     f1.getArray().setIJ(0,0,VAL2);
     self.assertTrue(f1.isEqual(f2,1e-12,1e-12));
     #test of throw on invalid (dt,it)
     self.assertRaises(Exception,MEDLoader.ReadFieldCell,fileName,f1.getMesh().getName(),0,f1.getName(),28,19);
     #ON NODES
     f1=MEDLoaderDataForTest.buildVecFieldOnNodes_1();
     fileName2="Pyfile9.med";
     MEDLoader.WriteField(fileName2,f1,True);
     f1.setTime(110.,108,109);
     tmp=f1.getArray().getPointer();
     f1.getArray().setIJ(0,3,VAL1);
     MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName2,f1);
     f1.setTime(210.,208,209);
     f1.getArray().setIJ(0,3,VAL2);
     MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName2,f1);
     f2=MEDLoader.ReadFieldNode(fileName2,f1.getMesh().getName(),0,f1.getName(),108,109);
     f1.setTime(110.,108,109);
     f1.getArray().setIJ(0,3,VAL1);
     self.assertTrue(f1.isEqual(f2,1e-12,1e-12));
     f2=MEDLoader.ReadFieldNode(fileName2,f1.getMesh().getName(),0,f1.getName(),2,3);
     f3=MEDLoaderDataForTest.buildVecFieldOnNodes_1();
     self.assertTrue(f3.isEqual(f2,1e-12,1e-12));
     f2=MEDLoader.ReadFieldNode(fileName2,f1.getMesh().getName(),0,f1.getName(),208,209);
     f1.setTime(210.,208,209);
     f1.getArray().setIJ(0,3,VAL2);
     self.assertTrue(f1.isEqual(f2,1e-12,1e-12));
     pass
Пример #4
0
 def testMultiFieldShuffleRW1(self):
     fileName="Pyfile17.med";
     m=MEDLoaderDataForTest.build3DMesh_2();
     self.assertEqual(20,m.getNumberOfCells());
     self.assertEqual(45,m.getNumberOfNodes());
     polys=[1,4,6]
     m.convertToPolyTypes(polys);
     renum=[1,3,2,8,9,12,13,16,19,0,4,7,5,15,14,17,10,18,6,11]
     m.renumberCells(renum,False);
     m.orientCorrectlyPolyhedrons();
     # Writing
     WriteUMeshDep(fileName,m,False);
     f1Tmp=m.getMeasureField(False);
     f1=f1Tmp.buildNewTimeReprFromThis(ONE_TIME,False);
     f1.setTime(0.,1,2);
     f_1=f1.cloneWithMesh(True);
     WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
     f1.applyFunc("2*x");
     f1.setTime(0.01,3,4);
     f_2=f1.cloneWithMesh(True);
     WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
     f1.applyFunc("2*x/3");
     f1.setTime(0.02,5,6);
     f_3=f1.cloneWithMesh(True);
     WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
     # Reading
     its=[(1,2),(3,4),(5,6)];
     fs=ReadFieldsOnSameMesh(ON_CELLS,fileName,f_1.getMesh().getName(),0,f_1.getName(),its);
     self.assertEqual(3,len(fs));
     self.assertTrue(fs[0].isEqual(f_1,1e-12,1e-12));
     self.assertTrue(fs[1].isEqual(f_2,1e-12,1e-12));
     self.assertTrue(fs[2].isEqual(f_3,1e-12,1e-12));
     pass
Пример #5
0
 def testWriteUMeshesRW1(self):
     fileName="Pyfile18.med";
     m3d=MEDLoaderDataForTest.build3DMesh_2();
     pt=[0.,0.,-0.3]
     vec=[0.,0.,1.]
     nodes=m3d.findNodesOnPlane(pt,vec,1e-12);
     m2d=m3d.buildFacePartOfMySelfNode(nodes,True);
     renumber=[1,2,0,4,3]
     m2d.renumberCells(renumber,False);
     m2d.setName("ExampleOfMultiDimW");
     meshes=[m2d,m3d]
     WriteUMeshes(fileName,meshes,False);
     m3d_bis=ReadUMeshFromFile(fileName,m2d.getName(),0);
     self.assertTrue(not m3d_bis.isEqual(m3d,1e-12));
     m3d_bis.setName(m3d.getName());
     self.assertTrue(m3d_bis.isEqual(m3d,1e-12));
     m2d_bis=ReadUMeshFromFile(fileName,m2d.getName(),-1);#-1 for faces
     self.assertTrue(m2d_bis.isEqual(m2d,1e-12));
     # Creation of a field on faces.
     f1=MEDCouplingFieldDouble.New(ON_CELLS,ONE_TIME);
     f1.setName("FieldOnFacesShuffle");
     f1.setMesh(m2d);
     array=DataArrayDouble.New();
     arr1=[71.,171.,10.,110.,20.,120.,30.,130.,40.,140.]
     array.setValues(arr1,m2d.getNumberOfCells(),2);
     array.setInfoOnComponent(0,"plkj [mm]");
     array.setInfoOnComponent(1,"pqqqss [mm]");
     f1.setArray(array);
     tmp=array.setValues(arr1,m2d.getNumberOfCells(),2);
     f1.setTime(3.14,2,7);
     f1.checkConsistencyLight();
     WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
     f2=ReadFieldCell(fileName,f1.getMesh().getName(),-1,f1.getName(),2,7);
     self.assertTrue(f2.isEqual(f1,1e-12,1e-12));
     pass
Пример #6
0
 def testMesh3DRW(self):
     mesh=MEDLoaderDataForTest.build3DMesh_1();
     mesh.checkConsistencyLight();
     WriteUMeshDep("Pyfile5.med",mesh,False);
     mesh_rw=ReadUMeshFromFile("Pyfile5.med",mesh.getName(),0);
     self.assertTrue(mesh.isEqual(mesh_rw,1e-12));
     pass
Пример #7
0
 def testGetAllFieldNamesRW1(self):
     fileName="Pyfile22.med";
     mesh=MEDLoaderDataForTest.build2DMesh_2();
     f1=MEDLoader.MEDCouplingFieldDouble.New(MEDLoader.ON_NODES,MEDLoader.ONE_TIME);
     f1.setName("Field1");
     f1.setTime(3.44,5,6);
     f1.setMesh(mesh);
     f1.fillFromAnalytic(2,"x+y");
     MEDLoader.WriteField(fileName,f1,True);
     f1.setTime(1002.3,7,8);
     f1.fillFromAnalytic(2,"x+77.*y");
     MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
     f1.setName("Field2");
     MEDLoader.WriteField(fileName,f1,False);
     f1.setName("Field3");
     mesh.setName("2DMesh_2Bis");
     MEDLoader.WriteField(fileName,f1,False);
     f1=MEDLoader.MEDCouplingFieldDouble.New(MEDLoader.ON_CELLS,MEDLoader.ONE_TIME);
     f1.setName("Field8");
     f1.setTime(8.99,7,9);
     f1.setMesh(mesh);
     f1.fillFromAnalytic(3,"3*x+y");
     MEDLoader.WriteField(fileName,f1,False);
     fs=MEDLoader.GetAllFieldNames(fileName);
     self.assertEqual(4,len(fs));
     self.assertTrue(fs[0]=="Field1");
     self.assertTrue(fs[1]=="Field2");
     self.assertTrue(fs[2]=="Field3");
     self.assertTrue(fs[3]=="Field8");
     pass
Пример #8
0
 def testFieldNodeProfilRW2(self):
     fileName="Pyfile23.med";
     mesh=MEDLoaderDataForTest.build3DSurfMesh_1();
     MEDLoader.WriteUMesh(fileName,mesh,True);
     #
     f1=MEDLoader.MEDCouplingFieldDouble.New(MEDLoader.ON_NODES,MEDLoader.ONE_TIME);
     f1.setName("FieldMix");
     f1.setMesh(mesh);
     arr2=[1071.,1171.,1010.,1110.,1020.,1120.,1030.,1130.,1040.,1140.,1050.,1150.,
           1060.,1160.,1070.,1170.,1080.,1180.,1090.,1190.,1091.,1191.,1092.,1192.];
     array=MEDLoader.DataArrayDouble.New();
     array.setValues(arr2,12,2);
     f1.setArray(array);
     array.setInfoOnComponent(0,"plkj [mm]");
     array.setInfoOnComponent(1,"pqqqss [mm]");
     tmp=array.getPointer();
     f1.setTime(3.17,2,7);
     #
     renumArr=[3,7,2,1,5,11,10,0,9,6,8,4]
     f1.renumberNodes(renumArr);
     f1.checkConsistencyLight();
     MEDLoader.WriteField(fileName,f1,False);#<- False important for the test
     f2=MEDLoader.ReadFieldNode(fileName,f1.getMesh().getName(),0,f1.getName(),2,7);
     self.assertTrue(f2.isEqual(f1,1e-12,1e-12));
     #
     pass
Пример #9
0
 def testFieldNodeProfilRW1(self):
     fileName="Pyfile19.med";
     fileName2="Pyfile20.med";
     m=MEDLoaderDataForTest.build2DMesh_1();
     nbOfNodes=m.getNumberOfNodes();
     MEDLoader.WriteUMesh(fileName,m,True);
     f1=MEDLoader.MEDCouplingFieldDouble.New(MEDLoader.ON_NODES,MEDLoader.ONE_TIME);
     f1.setName("VFieldOnNodes");
     f1.setMesh(m);
     array=MEDLoader.DataArrayDouble.New();
     arr1=[1.,101.,2.,102.,3.,103.,4.,104.,5.,105.,6.,106.,7.,107.,8.,108.,9.,109.,10.,110.,11.,111.,12.,112.]
     array.setValues(arr1,nbOfNodes,2);
     f1.setArray(array);
     array.setInfoOnComponent(0,"tyty [mm]");
     array.setInfoOnComponent(1,"uiop [MW]");
     f1.setTime(3.14,2,7);
     f1.checkConsistencyLight();
     arr2=[1,4]
     f2=f1.buildSubPart(arr2);
     f2.getMesh().setName(f1.getMesh().getName());
     MEDLoader.WriteField(fileName,f2,False);#<- False important for the test
     #
     f3=MEDLoader.ReadFieldNode(fileName,f2.getMesh().getName(),0,f2.getName(),2,7);
     f3.checkConsistencyLight();
     self.assertTrue(f3.isEqual(f2,1e-12,1e-12));
     #
     arr3=[1,3,0,5,2,4]
     f2.renumberNodes(arr3);
     MEDLoader.WriteUMesh(fileName2,m,True);
     MEDLoader.WriteField(fileName2,f2,False);#<- False important for the test
     f3=MEDLoader.ReadFieldNode(fileName2,f2.getMesh().getName(),0,f2.getName(),2,7);
     f3.checkConsistencyLight();
     self.assertTrue(f3.isEqual(f2,1e-12,1e-12));
     #
     pass
Пример #10
0
 def testFieldGaussRW1(self):
     fileName="Pyfile13.med";
     f1=MEDLoaderDataForTest.buildVecFieldOnGauss_1();
     MEDLoader.WriteField(fileName,f1,True);
     f2=MEDLoader.ReadField(MEDLoader.ON_GAUSS_PT,fileName,f1.getMesh().getName(),0,f1.getName(),1,5);
     self.assertTrue(f1.isEqual(f2,1e-12,1e-12));
     pass
Пример #11
0
 def testMesh3DRW(self):
     mesh = MEDLoaderDataForTest.build3DMesh_1()
     mesh.checkCoherency()
     MEDLoader.WriteUMeshDep("Pyfile5.med", mesh, False)
     mesh_rw = MEDLoader.ReadUMeshFromFile("Pyfile5.med", mesh.getName(), 0)
     self.assertTrue(mesh.isEqual(mesh_rw, 1e-12))
     pass
Пример #12
0
 def testFieldProfilRW1(self):
     fileName="Pyfile12.med";
     mesh1=MEDLoaderDataForTest.build3DMesh_1();
     da,b,newNbOfNodes=mesh1.mergeNodes(1e-12);
     MEDLoader.WriteUMesh(fileName,mesh1,True);
     part1=[1,2,4,13,15]
     mesh2=mesh1.buildPartOfMySelf(part1,True);
     mesh2.setName(mesh1.getName());#<- important for the test
     #
     nbOfCells=mesh2.getNumberOfCells();
     self.assertEqual(5,nbOfCells);
     f1=MEDLoader.MEDCouplingFieldDouble.New(MEDLoader.ON_CELLS,MEDLoader.ONE_TIME);
     f1.setName("VectorFieldOnCells");
     f1.setMesh(mesh2);
     array=MEDLoader.DataArrayDouble.New();
     array.alloc(nbOfCells,2);
     f1.setArray(array);
     arr1=[71.,171.,10.,110.,20.,120.,30.,130.,40.,140.]
     array.setValues(arr1,nbOfCells,2);
     f1.setTime(3.14,2,7);
     f1.checkConsistencyLight();
     #
     MEDLoader.WriteField(fileName,f1,False);#<- False important for the test
     #
     f2=MEDLoader.ReadFieldCell(fileName,f1.getMesh().getName(),0,f1.getName(),2,7);
     tt=MEDLoader.GetTypesOfField(fileName,f1.getMesh().getName(),f1.getName());
     self.assertEqual(tt,[MEDLoader.ON_CELLS]);
     f2.checkConsistencyLight();
     self.assertTrue(f1.isEqual(f2,1e-12,1e-12));
     #
     pass
Пример #13
0
 def testMesh2DRW(self):
     mesh=MEDLoaderDataForTest.build2DMesh_1();
     mesh.checkCoherency();
     MEDLoader.MEDLoader.WriteUMesh("Pyfile3.med",mesh,True);
     mesh_rw=MEDLoader.MEDLoader.ReadUMeshFromFile("Pyfile3.med",mesh.getName(),0);
     self.assertTrue(mesh.isEqual(mesh_rw,1e-12));
     pass
Пример #14
0
 def testMesh3DSurfRW(self):
     mesh=MEDLoaderDataForTest.build3DSurfMesh_1();
     mesh.checkConsistencyLight();
     MEDLoader.WriteUMesh("Pyfile4.med",mesh,True);
     mesh_rw=MEDLoader.ReadUMeshFromFile("Pyfile4.med",mesh.getName(),0);
     self.assertTrue(mesh.isEqual(mesh_rw,1e-12));
     pass
Пример #15
0
 def testFieldRW2(self):
     fileName = "Pyfile8.med"
     VAL1 = 12345.67890314
     VAL2 = -1111111111111.0
     f1 = MEDLoaderDataForTest.buildVecFieldOnCells_1()
     MEDLoader.WriteFieldDep(fileName, f1, False)
     f1.setTime(10.0, 8, 9)
     f1.getArray().setIJ(0, 0, VAL1)
     MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName, f1)
     f1.setTime(10.14, 18, 19)
     f1.getArray().setIJ(0, 0, VAL2)
     MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName, f1)
     # retrieving time steps...
     f2 = MEDLoader.ReadFieldCell(fileName, f1.getMesh().getName(), 0, f1.getName(), 8, 9)
     f1.setTime(10.0, 8, 9)
     f1.getArray().setIJ(0, 0, VAL1)
     self.assertTrue(f1.isEqual(f2, 1e-12, 1e-12))
     f2 = MEDLoader.ReadFieldCell(fileName, f1.getMesh().getName(), 0, f1.getName(), 0, 1)
     f3 = MEDLoaderDataForTest.buildVecFieldOnCells_1()
     self.assertTrue(f3.isEqual(f2, 1e-12, 1e-12))
     f2 = MEDLoader.ReadFieldCell(fileName, f1.getMesh().getName(), 0, f1.getName(), 18, 19)
     f1.setTime(10.14, 18, 19)
     f1.getArray().setIJ(0, 0, VAL2)
     self.assertTrue(f1.isEqual(f2, 1e-12, 1e-12))
     # ON NODES
     f1 = MEDLoaderDataForTest.buildVecFieldOnNodes_1()
     fileName2 = "Pyfile9.med"
     MEDLoader.WriteFieldDep(fileName2, f1, False)
     f1.setTime(110.0, 108, 109)
     tmp = f1.getArray().getPointer()
     f1.getArray().setIJ(0, 3, VAL1)
     MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName2, f1)
     f1.setTime(210.0, 208, 209)
     f1.getArray().setIJ(0, 3, VAL2)
     MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName2, f1)
     f2 = MEDLoader.ReadFieldNode(fileName2, f1.getMesh().getName(), 0, f1.getName(), 108, 109)
     f1.setTime(110.0, 108, 109)
     f1.getArray().setIJ(0, 3, VAL1)
     self.assertTrue(f1.isEqual(f2, 1e-12, 1e-12))
     f2 = MEDLoader.ReadFieldNode(fileName2, f1.getMesh().getName(), 0, f1.getName(), 2, 3)
     f3 = MEDLoaderDataForTest.buildVecFieldOnNodes_1()
     self.assertTrue(f3.isEqual(f2, 1e-12, 1e-12))
     f2 = MEDLoader.ReadFieldNode(fileName2, f1.getMesh().getName(), 0, f1.getName(), 208, 209)
     f1.setTime(210.0, 208, 209)
     f1.getArray().setIJ(0, 3, VAL2)
     self.assertTrue(f1.isEqual(f2, 1e-12, 1e-12))
     pass
Пример #16
0
 def testChangeGroupName(self):
     """ This test is a non regression test on MEDFileUMesh.changeGroupName thanks to Alliance.
     """
     mfd=MEDLoaderDataForTest.buildAMEDFileDataWithGroupOnOneFamilyForSauv()
     mesh = mfd.getMeshes().getMeshAtPos(0)
     mesh.changeGroupName("grp0_LM1", "xonall1")
     self.assertTrue("xonall1" in mesh.getGroupsNames())
     pass
Пример #17
0
 def testFieldGaussNERW1(self):
     fileName="Pyfile14.med";
     f1=MEDLoaderDataForTest.buildVecFieldOnGaussNE_1();
     MEDLoader.WriteField(fileName,f1,True);
     self.assertEqual([MEDLoader.ON_GAUSS_NE],MEDLoader.GetTypesOfField(fileName,'2DMesh_2','MyFieldOnGaussNE')) #Bug 22/5/2014
     f2=MEDLoader.ReadField(MEDLoader.ON_GAUSS_NE,fileName,f1.getMesh().getName(),0,f1.getName(),1,5);
     self.assertTrue(f1.isEqual(f2,1e-12,1e-12));
     pass
Пример #18
0
 def testMesh3DSurfShuffleRW(self):
     fileName = "Pyfile15.med"
     mesh = MEDLoaderDataForTest.build3DSurfMesh_1()
     renumber1 = [2, 5, 1, 0, 3, 4]
     mesh.renumberCells(renumber1, False)
     mesh.checkCoherency()
     MEDLoader.WriteUMeshDep(fileName, mesh, False)
     mesh_rw = MEDLoader.ReadUMeshFromFile(fileName, mesh.getName(), 0)
     self.assertTrue(mesh.isEqual(mesh_rw, 1e-12))
     pass
Пример #19
0
 def testMesh3DSurfShuffleRW(self):
     fileName="Pyfile15.med";
     mesh=MEDLoaderDataForTest.build3DSurfMesh_1();
     renumber1=[2,5,1,0,3,4]
     mesh.renumberCells(renumber1,False);
     mesh.checkConsistencyLight();
     WriteUMeshDep(fileName,mesh,False);
     mesh_rw=ReadUMeshFromFile(fileName,mesh.getName(),0);
     self.assertTrue(mesh.isEqual(mesh_rw,1e-12));
     pass
Пример #20
0
    def testExampleReadFieldOnAllEntity1(self):
        from MEDLoaderDataForTest import MEDLoaderDataForTest
#! [PySnippetReadFieldOnAllEntity1_1]
        fname="PyExamples1.med"
        meshName="mesh"
        fieldName="FieldOnAll"
        iteration=3
        order=4
#! [PySnippetReadFieldOnAllEntity1_1]
#! [PySnippetWriteFieldOnAllEntity1_2]
        m=MEDLoaderDataForTest.build2DMesh_3()
        m=m[:10]
        m.setName(meshName)
        f=m.getMeasureField(False)
        f=f.buildNewTimeReprFromThis(ONE_TIME,False)
        f.setTime(5.5,iteration,order)
        f.setName(fieldName)
        # MEDCoupling finished, MEDLoader advanced API specific part starting from here
        mm=MEDFileUMesh.New()
        mm.setMeshAtLevel(0,m)
        ff=MEDFileField1TS.New()
        ff.setFieldNoProfileSBT(f)
        mm.write(fname,2)
        ff.write(fname,0)
#! [PySnippetWriteFieldOnAllEntity1_2]
#! [PySnippetReadFieldOnAllEntity1_3]
        medfileField1TS=MEDFileField1TS.New(fname,fieldName,iteration,order)
        mm=MEDFileMesh.New(fname)
        fread=medfileField1TS.getFieldOnMeshAtLevel(ON_CELLS,0,mm)
        fread2=medfileField1TS.getFieldAtLevel(ON_CELLS,0)
        self.assertTrue(fread.isEqual(f,1e-12,1e-12))
        self.assertTrue(fread2.isEqual(f,1e-12,1e-12))
#! [PySnippetReadFieldOnAllEntity1_3]
#! [PySnippetReadFieldOnAllEntity1_4]
        medfileFieldMTS=MEDFileFieldMultiTS.New(fname,fieldName)
        mm=MEDFileMesh.New(fname)
        fread=medfileFieldMTS.getFieldOnMeshAtLevel(ON_CELLS,iteration,order,0,mm)
        fread2=medfileFieldMTS.getFieldAtLevel(ON_CELLS,iteration,order,0)
        self.assertTrue(fread.isEqual(f,1e-12,1e-12))
        self.assertTrue(fread2.isEqual(f,1e-12,1e-12))
#! [PySnippetReadFieldOnAllEntity1_4]
#! [PySnippetReadFieldOnAllEntity1_5]
        medfileFieldMTS=MEDFileFieldMultiTS.New(fname,fieldName)
        for medfileField1TS in medfileFieldMTS:
            if medfileField1TS.getTime()[:2]==[iteration,order]:
                fread=medfileField1TS.getFieldOnMeshAtLevel(ON_CELLS,0,mm)
                fread2=medfileField1TS.getFieldAtLevel(ON_CELLS,0)
                self.assertTrue(fread.isEqual(f,1e-12,1e-12))
                self.assertTrue(fread2.isEqual(f,1e-12,1e-12))
                pass
            pass
#! [PySnippetReadFieldOnAllEntity1_5]
        pass
Пример #21
0
 def testMultiMeshRW1(self):
     fileName="Pyfile10.med";
     mesh1=MEDLoaderDataForTest.build3DMesh_1();
     part1=[1,2,4,13,15]
     mesh2=mesh1.buildPartOfMySelf(part1,True);
     mesh2.setName("mesh2");
     part2=[3,4,13,14]
     mesh3=mesh1.buildPartOfMySelf(part2,True);
     mesh3.setName("mesh3");
     mesh4=MEDCouplingUMesh.New();
     mesh4.setName("mesh4");
     mesh4.setMeshDimension(3);
     mesh4.allocateCells(1);
     conn=[0,11,1,3]
     mesh4.insertNextCell(NORM_TETRA4,4,conn[0:4])
     mesh4.finishInsertingCells();
     mesh4.setCoords(mesh1.getCoords());
     meshes=[mesh1,mesh2,mesh3,mesh4]
     mnane="3DToto";
     WriteUMeshesPartitionDep(fileName,mnane,meshes,False);
     #
     mesh5=ReadUMeshFromFile(fileName,mnane);
     mesh1.setName(mnane);
     part3=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]
     mesh6=mesh5.buildPartOfMySelf(part3,True);
     mesh6.setName(mnane);
     self.assertTrue(mesh6.isEqual(mesh1,1e-12));
     grps=GetMeshGroupsNames(fileName,mnane);
     self.assertEqual(4,len(grps));
     grps.index("mesh2");
     grps.index("mesh3");
     grps.index("mesh4");
     grps.index("3DMesh_1");
     #
     vec=["mesh2"];
     mesh2_2=ReadUMeshFromGroups(fileName,mnane,0,vec);
     self.assertTrue(mesh2_2.isEqual(mesh2,1e-12));
     vec=["mesh3"];
     mesh3_2=ReadUMeshFromGroups(fileName,mnane,0,vec);
     self.assertTrue(mesh3_2.isEqual(mesh3,1e-12));
     vec=["mesh4"];
     mesh4_2=ReadUMeshFromGroups(fileName,mnane,0,vec);
     self.assertTrue(mesh4_2.isEqual(mesh4,1e-12));
     vec=["3DMesh_1"];
     mesh1_2=ReadUMeshFromGroups(fileName,mnane,0,vec);
     mesh1.setName("3DMesh_1");
     self.assertTrue(mesh1_2.isEqual(mesh1,1e-12));
     #
     vec=["Family_-5","Family_-3"];
     mesh2_2=ReadUMeshFromFamilies(fileName,mnane,0,vec);
     mesh2_2.setName("mesh2");
     self.assertTrue(mesh2_2.isEqual(mesh2,1e-12));
     pass
Пример #22
0
 def testMixCellAndNodesFieldRW1(self):
     fileName="Pyfile21.med";
     mesh=MEDLoaderDataForTest.build3DSurfMesh_1();
     f1=MEDLoader.MEDCouplingFieldDouble.New(MEDLoader.ON_CELLS,MEDLoader.ONE_TIME);
     f1.setName("FieldMix");
     f1.setMesh(mesh);
     array=MEDLoader.DataArrayDouble.New();
     f1.setArray(array);
     arr1=[71.,171.,10.,110.,20.,120.,30.,130.,40.,140.,50.,150.]
     array.setValues(arr1,6,2);
     array.setInfoOnComponent(0,"plkj [mm]");
     array.setInfoOnComponent(1,"pqqqss [mm]");
     f1.setTime(3.14,2,7);
     f1.checkConsistencyLight();
     #
     f2=MEDLoader.MEDCouplingFieldDouble.New(MEDLoader.ON_NODES,MEDLoader.ONE_TIME);
     f2.setName("FieldMix");
     f2.setMesh(mesh);
     array=MEDLoader.DataArrayDouble.New();
     f2.setArray(array);
     arr2=[1071.,1171.,1010.,1110.,1020.,1120.,1030.,1130.,1040.,1140.,1050.,1150.,
           1060.,1160.,1070.,1170.,1080.,1180.,1090.,1190.,1091.,1191.,1092.,1192.]
     array.setValues(arr2,12,2)
     array.setInfoOnComponent(0,"plkj [mm]");
     array.setInfoOnComponent(1,"pqqqss [mm]");
     f2.setTime(3.14,2,7);
     f2.checkConsistencyLight();
     #
     MEDLoader.WriteField(fileName,f1,True);
     ts=MEDLoader.GetTypesOfField(fileName,f1.getMesh().getName(),f1.getName());
     self.assertEqual(1,len(ts));
     self.assertEqual(MEDLoader.ON_CELLS,ts[0]);
     fs=MEDLoader.GetAllFieldNamesOnMesh(fileName,f1.getMesh().getName());
     self.assertEqual(1,len(fs));
     self.assertTrue(fs[0]=="FieldMix");
     MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f2);
     fs=MEDLoader.GetAllFieldNamesOnMesh(fileName,f1.getMesh().getName());
     self.assertEqual(1,len(fs));
     self.assertTrue(fs[0]=="FieldMix");
     #
     ts=MEDLoader.GetTypesOfField(fileName,f1.getMesh().getName(),f1.getName());
     self.assertEqual(2,len(ts));
     self.assertEqual(MEDLoader.ON_NODES,ts[0]);
     self.assertEqual(MEDLoader.ON_CELLS,ts[1]);
     #
     f3=MEDLoader.ReadFieldNode(fileName,f1.getMesh().getName(),0,f1.getName(),2,7);
     self.assertTrue(f3.isEqual(f2,1e-12,1e-12));
     f3=MEDLoader.ReadFieldCell(fileName,f1.getMesh().getName(),0,f1.getName(),2,7);
     self.assertTrue(f3.isEqual(f1,1e-12,1e-12));
     #
     pass
Пример #23
0
 def testFieldNodeProfilRW1(self):
     fileName = "Pyfile19.med"
     fileName2 = "Pyfile20.med"
     m = MEDLoaderDataForTest.build2DMesh_1()
     nbOfNodes = m.getNumberOfNodes()
     MEDLoader.WriteUMesh(fileName, m, True)
     f1 = MEDLoader.MEDCouplingFieldDouble.New(MEDLoader.ON_NODES,
                                               MEDLoader.ONE_TIME)
     f1.setName("VFieldOnNodes")
     f1.setMesh(m)
     array = MEDLoader.DataArrayDouble.New()
     arr1 = [
         1., 101., 2., 102., 3., 103., 4., 104., 5., 105., 6., 106., 7.,
         107., 8., 108., 9., 109., 10., 110., 11., 111., 12., 112.
     ]
     array.setValues(arr1, nbOfNodes, 2)
     f1.setArray(array)
     array.setInfoOnComponent(0, "tyty [mm]")
     array.setInfoOnComponent(1, "uiop [MW]")
     f1.setTime(3.14, 2, 7)
     f1.checkConsistencyLight()
     arr2 = [1, 4]
     f2 = f1.buildSubPart(arr2)
     f2.getMesh().setName(f1.getMesh().getName())
     MEDLoader.WriteField(fileName, f2, False)
     #<- False important for the test
     #
     f3 = MEDLoader.ReadFieldNode(fileName,
                                  f2.getMesh().getName(), 0, f2.getName(),
                                  2, 7)
     f3.checkConsistencyLight()
     self.assertTrue(f3.isEqual(f2, 1e-12, 1e-12))
     #
     arr3 = [1, 3, 0, 5, 2, 4]
     f2.renumberNodes(arr3)
     MEDLoader.WriteUMesh(fileName2, m, True)
     MEDLoader.WriteField(fileName2, f2, False)
     #<- False important for the test
     f3 = MEDLoader.ReadFieldNode(fileName2,
                                  f2.getMesh().getName(), 0, f2.getName(),
                                  2, 7)
     f3.checkConsistencyLight()
     self.assertTrue(f3.isEqual(f2, 1e-12, 1e-12))
     #
     pass
Пример #24
0
 def testWriteUMeshesRW1(self):
     fileName = "Pyfile18.med"
     m3d = MEDLoaderDataForTest.build3DMesh_2()
     pt = [0., 0., -0.3]
     vec = [0., 0., 1.]
     nodes = m3d.findNodesOnPlane(pt, vec, 1e-12)
     m2d = m3d.buildFacePartOfMySelfNode(nodes, True)
     renumber = [1, 2, 0, 4, 3]
     m2d.renumberCells(renumber, False)
     m2d.setName("ExampleOfMultiDimW")
     meshes = [m2d, m3d]
     MEDLoader.MEDLoader.WriteUMeshes(fileName, meshes, True)
     m3d_bis = MEDLoader.MEDLoader.ReadUMeshFromFile(
         fileName, m2d.getName(), 0)
     self.assertTrue(not m3d_bis.isEqual(m3d, 1e-12))
     m3d_bis.setName(m3d.getName())
     self.assertTrue(m3d_bis.isEqual(m3d, 1e-12))
     m2d_bis = MEDLoader.MEDLoader.ReadUMeshFromFile(
         fileName, m2d.getName(), -1)
     #-1 for faces
     self.assertTrue(m2d_bis.isEqual(m2d, 1e-12))
     # Creation of a field on faces.
     f1 = MEDLoader.MEDCouplingFieldDouble.New(MEDLoader.ON_CELLS,
                                               MEDLoader.ONE_TIME)
     f1.setName("FieldOnFacesShuffle")
     f1.setMesh(m2d)
     array = MEDLoader.DataArrayDouble.New()
     arr1 = [71., 171., 10., 110., 20., 120., 30., 130., 40., 140.]
     array.setValues(arr1, m2d.getNumberOfCells(), 2)
     array.setInfoOnComponent(0, "plkj [mm]")
     array.setInfoOnComponent(1, "pqqqss [mm]")
     f1.setArray(array)
     tmp = array.setValues(arr1, m2d.getNumberOfCells(), 2)
     f1.setTime(3.14, 2, 7)
     f1.checkCoherency()
     MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName, f1)
     f2 = MEDLoader.MEDLoader.ReadFieldCell(fileName,
                                            f1.getMesh().getName(), -1,
                                            f1.getName(), 2, 7)
     self.assertTrue(f2.isEqual(f1, 1e-12, 1e-12))
     pass
Пример #25
0
 def testMultiFieldShuffleRW1(self):
     fileName = "Pyfile17.med"
     m = MEDLoaderDataForTest.build3DMesh_2()
     self.assertEqual(20, m.getNumberOfCells())
     self.assertEqual(45, m.getNumberOfNodes())
     polys = [1, 4, 6]
     m.convertToPolyTypes(polys)
     renum = [
         1, 3, 2, 8, 9, 12, 13, 16, 19, 0, 4, 7, 5, 15, 14, 17, 10, 18, 6,
         11
     ]
     m.renumberCells(renum, False)
     m.orientCorrectlyPolyhedrons()
     # Writing
     MEDLoader.MEDLoader.WriteUMesh(fileName, m, True)
     f1Tmp = m.getMeasureField(False)
     f1 = f1Tmp.buildNewTimeReprFromThis(MEDLoader.ONE_TIME, False)
     f1.setTime(0., 1, 2)
     f_1 = f1.cloneWithMesh(True)
     MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName, f1)
     f1.applyFunc("2*x")
     f1.setTime(0.01, 3, 4)
     f_2 = f1.cloneWithMesh(True)
     MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName, f1)
     f1.applyFunc("2*x/3")
     f1.setTime(0.02, 5, 6)
     f_3 = f1.cloneWithMesh(True)
     MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName, f1)
     # Reading
     its = [(1, 2), (3, 4), (5, 6)]
     fs = MEDLoader.MEDLoader.ReadFieldsOnSameMesh(MEDLoader.ON_CELLS,
                                                   fileName,
                                                   f_1.getMesh().getName(),
                                                   0, f_1.getName(), its)
     self.assertEqual(3, len(fs))
     self.assertTrue(fs[0].isEqual(f_1, 1e-12, 1e-12))
     self.assertTrue(fs[1].isEqual(f_2, 1e-12, 1e-12))
     self.assertTrue(fs[2].isEqual(f_3, 1e-12, 1e-12))
     pass
Пример #26
0
 def testFieldProfilRW1(self):
     fileName = "Pyfile12.med"
     mesh1 = MEDLoaderDataForTest.build3DMesh_1()
     da, b, newNbOfNodes = mesh1.mergeNodes(1e-12)
     MEDLoader.MEDLoader.WriteUMesh(fileName, mesh1, True)
     part1 = [1, 2, 4, 13, 15]
     mesh2 = mesh1.buildPartOfMySelf(part1, True)
     mesh2.setName(mesh1.getName())
     #<- important for the test
     #
     nbOfCells = mesh2.getNumberOfCells()
     self.assertEqual(5, nbOfCells)
     f1 = MEDLoader.MEDCouplingFieldDouble.New(MEDLoader.ON_CELLS,
                                               MEDLoader.ONE_TIME)
     f1.setName("VectorFieldOnCells")
     f1.setMesh(mesh2)
     array = MEDLoader.DataArrayDouble.New()
     array.alloc(nbOfCells, 2)
     f1.setArray(array)
     arr1 = [71., 171., 10., 110., 20., 120., 30., 130., 40., 140.]
     array.setValues(arr1, nbOfCells, 2)
     f1.setTime(3.14, 2, 7)
     f1.checkCoherency()
     #
     MEDLoader.MEDLoader.WriteField(fileName, f1, False)
     #<- False important for the test
     #
     f2 = MEDLoader.MEDLoader.ReadFieldCell(fileName,
                                            f1.getMesh().getName(), 0,
                                            f1.getName(), 2, 7)
     tt = MEDLoader.MEDLoader.GetTypesOfField(fileName,
                                              f1.getMesh().getName(),
                                              f1.getName())
     self.assertEqual(tt, [MEDLoader.ON_CELLS])
     f2.checkCoherency()
     self.assertTrue(f1.isEqual(f2, 1e-12, 1e-12))
     #
     pass
Пример #27
0
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
#
# See http://www.salome-platform.org/ or email : [email protected]
#

from MEDLoader import *
import os

from MEDLoaderDataForTest import MEDLoaderDataForTest

m = MEDLoaderDataForTest.build1DMesh_1()
m.setName("mesh2")
#! [UG_ReadMeshFromFile_3]
m.checkConsecutiveCellTypesForMEDFileFrmt()
#! [UG_ReadMeshFromFile_3]
#! [UG_ReadMeshFromFile_0]
from MEDLoader import WriteMesh

WriteMesh("file2.med", m, True)
#! [UG_ReadMeshFromFile_0]
#! [UG_ReadMeshFromFile_1]
from MEDLoader import ReadMeshFromFile

m = ReadMeshFromFile("file2.med")
#! [UG_ReadMeshFromFile_1]
#! [UG_ReadMeshFromFile_2]
Пример #28
0
 def testFieldRW3(self):
     fileName = "Pyfile11.med"
     VAL1 = 12345.67890314
     VAL2 = -1111111111111.
     name1 = "AField"
     name3 = "AMesh1"
     f1 = MEDLoaderDataForTest.buildVecFieldOnCells_1()
     f1.getMesh().setName(name3)
     f1.setName(name1)
     f1.setTime(10., 8, 9)
     tmp = f1.getArray().getPointer()
     f1.getArray().setIJ(0, 0, VAL1)
     MEDLoader.WriteFieldDep(fileName, f1, False)
     f1.setTime(10.14, 18, 19)
     f1.getArray().setIJ(0, 0, VAL2)
     MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName, f1)
     f1.getMesh().setName(name3)
     f1.setTime(10.55, 28, 29)
     f1.getArray().setIJ(0, 0, 3 * VAL1)
     MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName, f1)
     f1.setTime(10.66, 38, 39)
     f1.getArray().setIJ(0, 0, 3 * VAL2)
     MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName, f1)
     f1.setTime(10.77, 48, 49)
     f1.getArray().setIJ(0, 0, 4 * VAL2)
     MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName, f1)
     #ON NODES
     f1 = MEDLoaderDataForTest.buildVecFieldOnNodes_1()
     f1.setName(name1)
     f1.getMesh().setName(name3)
     f1.setTime(110., 8, 9)
     MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName, f1)
     f1.setTime(110., 108, 109)
     tmp = f1.getArray().getPointer()
     f1.getArray().setIJ(0, 3, VAL1)
     MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName, f1)
     f1.setTime(210., 208, 209)
     f1.getArray().setIJ(0, 3, VAL2)
     MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName, f1)
     #
     it1 = MEDLoader.GetCellFieldIterations(fileName, name3, name1)
     self.assertEqual(5, len(it1))
     self.assertEqual(8, it1[0][0])
     self.assertEqual(9, it1[0][1])
     self.assertEqual(18, it1[1][0])
     self.assertEqual(19, it1[1][1])
     self.assertEqual(28, it1[2][0])
     self.assertEqual(29, it1[2][1])
     self.assertEqual(38, it1[3][0])
     self.assertEqual(39, it1[3][1])
     self.assertEqual(48, it1[4][0])
     self.assertEqual(49, it1[4][1])
     it3 = MEDLoader.GetNodeFieldIterations(fileName, name3, name1)
     self.assertEqual(3, len(it3))
     self.assertEqual(8, it3[0][0])
     self.assertEqual(9, it3[0][1])
     self.assertEqual(108, it3[1][0])
     self.assertEqual(109, it3[1][1])
     self.assertEqual(208, it3[2][0])
     self.assertEqual(209, it3[2][1])
     #
     #
     f1 = MEDLoader.ReadFieldCell(fileName, name3, 0, name1, 8, 9)
     self.assertAlmostEqual(VAL1,
                            f1.getArray().getIJ(0, 0), 13)
     f1 = MEDLoader.ReadFieldCell(fileName, name3, 0, name1, 18, 19)
     self.assertAlmostEqual(VAL2,
                            f1.getArray().getIJ(0, 0), 13)
     f1 = MEDLoader.ReadFieldCell(fileName, name3, 0, name1, 28, 29)
     self.assertAlmostEqual(3 * VAL1,
                            f1.getArray().getIJ(0, 0), 13)
     f1 = MEDLoader.ReadFieldCell(fileName, name3, 0, name1, 38, 39)
     self.assertAlmostEqual(3 * VAL2,
                            f1.getArray().getIJ(0, 0), 13)
     f1 = MEDLoader.ReadFieldCell(fileName, name3, 0, name1, 48, 49)
     self.assertAlmostEqual(4 * VAL2,
                            f1.getArray().getIJ(0, 0), 13)
     #
     f1 = MEDLoader.ReadFieldNode(fileName, name3, 0, name1, 8, 9)
     self.assertAlmostEqual(71.,
                            f1.getArray().getIJ(0, 3), 13)
     f1 = MEDLoader.ReadFieldNode(fileName, name3, 0, name1, 108, 109)
     self.assertAlmostEqual(VAL1,
                            f1.getArray().getIJ(0, 3), 13)
     f1 = MEDLoader.ReadFieldNode(fileName, name3, 0, name1, 208, 209)
     self.assertAlmostEqual(VAL2,
                            f1.getArray().getIJ(0, 3), 13)
     pass
Пример #29
0
 def testMultiMeshRW1(self):
     fileName = "Pyfile10.med"
     mesh1 = MEDLoaderDataForTest.build3DMesh_1()
     part1 = [1, 2, 4, 13, 15]
     mesh2 = mesh1.buildPartOfMySelf(part1, True)
     mesh2.setName("mesh2")
     part2 = [3, 4, 13, 14]
     mesh3 = mesh1.buildPartOfMySelf(part2, True)
     mesh3.setName("mesh3")
     mesh4 = MEDLoader.MEDCouplingUMesh.New()
     mesh4.setName("mesh4")
     mesh4.setMeshDimension(3)
     mesh4.allocateCells(1)
     conn = [0, 11, 1, 3]
     mesh4.insertNextCell(MEDLoader.NORM_TETRA4, 4, conn[0:4])
     mesh4.finishInsertingCells()
     mesh4.setCoords(mesh1.getCoords())
     meshes = [mesh1, mesh2, mesh3, mesh4]
     mnane = "3DToto"
     MEDLoader.WriteUMeshesPartition(fileName, mnane, meshes, True)
     #
     mesh5 = MEDLoader.ReadUMeshFromFile(fileName, mnane)
     mesh1.setName(mnane)
     part3 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
     mesh6 = mesh5.buildPartOfMySelf(part3, True)
     mesh6.setName(mnane)
     self.assertTrue(mesh6.isEqual(mesh1, 1e-12))
     grps = MEDLoader.GetMeshGroupsNames(fileName, mnane)
     self.assertEqual(4, len(grps))
     grps.index("mesh2")
     grps.index("mesh3")
     grps.index("mesh4")
     grps.index("3DMesh_1")
     #
     vec = ("mesh2", )
     mesh2_2 = MEDLoader.ReadUMeshFromGroups(fileName, mnane, 0, vec)
     self.assertTrue(mesh2_2.isEqual(mesh2, 1e-12))
     vec = ["mesh3"]
     mesh3_2 = MEDLoader.ReadUMeshFromGroups(fileName, mnane, 0, vec)
     self.assertTrue(mesh3_2.isEqual(mesh3, 1e-12))
     vec = ["mesh4"]
     mesh4_2 = MEDLoader.ReadUMeshFromGroups(fileName, mnane, 0, vec)
     self.assertTrue(mesh4_2.isEqual(mesh4, 1e-12))
     vec = "3DMesh_1"
     mesh1_2 = MEDLoader.ReadUMeshFromGroups(fileName, mnane, 0, vec)
     mesh1.setName("3DMesh_1")
     self.assertTrue(mesh1_2.isEqual(mesh1, 1e-12))
     #
     vec = ["Family_-3", "Family_-5"]
     mesh2_2 = MEDLoader.ReadUMeshFromFamilies(fileName, mnane, 0, vec)
     mesh2_2.setName("mesh2")
     self.assertTrue(mesh2_2.isEqual(mesh2, 1e-12))
     #
     ret = MEDLoader.GetMeshFamiliesNamesOnGroup(fileName, "3DToto",
                                                 "3DMesh_1")
     self.assertEqual(4, len(ret))
     ref = ['Family_-3', 'Family_-4', 'Family_-2', 'Family_-5']
     self.assertIn(ref[0], ret)
     self.assertIn(ref[1], ret)
     self.assertIn(ref[2], ret)
     self.assertIn(ref[3], ret)
     #
     ret1 = MEDLoader.GetMeshGroupsNamesOnFamily(fileName, "3DToto",
                                                 "Family_-3")
     self.assertEqual(2, len(ret1))
     self.assertEqual(ret1[0], "3DMesh_1")
     self.assertEqual(ret1[1], "mesh2")
     pass
Пример #30
0
 def testFieldRW3(self):
     fileName="Pyfile11.med";
     VAL1=12345.67890314;
     VAL2=-1111111111111.;
     name1="AField";
     name3="AMesh1";
     f1=MEDLoaderDataForTest.buildVecFieldOnCells_1();
     f1.getMesh().setName(name3);
     f1.setName(name1);
     f1.setTime(10.,8,9);
     tmp=f1.getArray().getPointer();
     f1.getArray().setIJ(0,0,VAL1);
     WriteFieldDep(fileName,f1,False);
     f1.setTime(10.14,18,19);
     f1.getArray().setIJ(0,0,VAL2);
     WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
     f1.getMesh().setName(name3);
     f1.setTime(10.55,28,29);
     f1.getArray().setIJ(0,0,3*VAL1);
     WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
     f1.setTime(10.66,38,39);
     f1.getArray().setIJ(0,0,3*VAL2);
     WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
     f1.setTime(10.77,48,49);
     f1.getArray().setIJ(0,0,4*VAL2);
     WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
     #ON NODES
     f1=MEDLoaderDataForTest.buildVecFieldOnNodes_1();
     f1.setName(name1);
     f1.getMesh().setName(name3);
     f1.setTime(110.,8,9);
     WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
     f1.setTime(110.,108,109);
     tmp=f1.getArray().getPointer();
     f1.getArray().setIJ(0,3,VAL1);
     WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
     f1.setTime(210.,208,209);
     f1.getArray().setIJ(0,3,VAL2);
     WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
     #
     it1=GetCellFieldIterations(fileName,name3,name1);
     self.assertEqual(5,len(it1));
     self.assertEqual(8,it1[0][0]); self.assertEqual(9,it1[0][1]);
     self.assertEqual(18,it1[1][0]); self.assertEqual(19,it1[1][1]);
     self.assertEqual(28,it1[2][0]); self.assertEqual(29,it1[2][1]);
     self.assertEqual(38,it1[3][0]); self.assertEqual(39,it1[3][1]);
     self.assertEqual(48,it1[4][0]); self.assertEqual(49,it1[4][1]);
     it3=GetNodeFieldIterations(fileName,name3,name1);
     self.assertEqual(3,len(it3));
     self.assertEqual(8,it3[0][0]); self.assertEqual(9,it3[0][1]);
     self.assertEqual(108,it3[1][0]); self.assertEqual(109,it3[1][1]);
     self.assertEqual(208,it3[2][0]); self.assertEqual(209,it3[2][1]);
     #
     #
     f1=ReadFieldCell(fileName,name3,0,name1,8,9);
     self.assertAlmostEqual(VAL1,f1.getArray().getIJ(0,0),13);
     f1=ReadFieldCell(fileName,name3,0,name1,18,19);
     self.assertAlmostEqual(VAL2,f1.getArray().getIJ(0,0),13);
     f1=ReadFieldCell(fileName,name3,0,name1,28,29);
     self.assertAlmostEqual(3*VAL1,f1.getArray().getIJ(0,0),13);
     f1=ReadFieldCell(fileName,name3,0,name1,38,39);
     self.assertAlmostEqual(3*VAL2,f1.getArray().getIJ(0,0),13);
     f1=ReadFieldCell(fileName,name3,0,name1,48,49);
     self.assertAlmostEqual(4*VAL2,f1.getArray().getIJ(0,0),13);
     #
     f1=ReadFieldNode(fileName,name3,0,name1,8,9);
     self.assertAlmostEqual(71.,f1.getArray().getIJ(0,3),13);
     f1=ReadFieldNode(fileName,name3,0,name1,108,109);
     self.assertAlmostEqual(VAL1,f1.getArray().getIJ(0,3),13);
     f1=ReadFieldNode(fileName,name3,0,name1,208,209);
     self.assertAlmostEqual(VAL2,f1.getArray().getIJ(0,3),13);
     pass
 def testExampleReadFieldPartial1(self):
     from MEDLoaderDataForTest import MEDLoaderDataForTest
     #! [PySnippetReadFieldPartial1_1]
     fname = "PyExamples2.med"
     meshName = "mesh"
     fieldName = "FieldPartial"
     iteration = 3
     order = 4
     #! [PySnippetReadFieldPartial1_1]
     #! [PySnippetWriteFieldPartial1_2]
     m = MEDLoaderDataForTest.build2DMesh_1()
     m.sortCellsInMEDFileFrmt()
     m.setName(meshName)
     # end of generation of a mesh -> let's create a field on that mesh
     f = m.getMeasureField(False)
     f = f.buildNewTimeReprFromThis(ONE_TIME, False)
     f.setTime(5.5, iteration, order)
     f.setName(fieldName)
     # The MEDCoupling part is finished -> let's perform advanced API
     mm = MEDFileUMesh.New()
     mm.setMeshAtLevel(
         0, m
     )  # the MED file data structure is ready for writing. Of course mm could have been more complicated with groups, families, multilevel
     # Let's building a sub field
     pfl = DataArrayInt.New([1, 3, 4, 5])
     pfl.setName(
         "myPfl"
     )  # here it is necessary to give a name to be compliant with MED file
     f = f[pfl]
     f.getMesh().setName(m.getName(
     ))  # of course f should be in coherence with pfl -> f[pfl]
     #
     ff = MEDFileField1TS.New()
     tmp = f.getMesh(
     )  # useless line, only to show that mesh into f is not considered by MEDFileField1TS.setFieldProfile
     f.setMesh(
         None
     )  # useless line, only to show that mesh into f is not considered by MEDFileField1TS.setFieldProfile
     ff.setFieldProfile(f, mm, 0, pfl)
     f.setMesh(
         tmp
     )  # useless line, only to show that mesh into f is not considered by MEDFileField1TS.setFieldProfile
     mm.write(fname, 2)
     ff.write(fname, 0)
     #! [PySnippetWriteFieldPartial1_2]
     #! [PySnippetReadFieldPartial1_3]
     mm = MEDFileMesh.New(fname)
     medfileField1TS = MEDFileField1TS.New(fname, fieldName, iteration,
                                           order)
     fread = medfileField1TS.getFieldOnMeshAtLevel(ON_CELLS, 0, mm)
     fread2 = medfileField1TS.getFieldAtLevel(ON_CELLS, 0)
     self.assertTrue(fread.isEqual(f, 1e-12, 1e-12))
     self.assertTrue(fread2.isEqual(f, 1e-12, 1e-12))
     #! [PySnippetReadFieldPartial1_3]
     #! [PySnippetReadFieldPartial1_4]
     medfileField1TS = MEDFileField1TS.New(fname, fieldName, iteration,
                                           order)
     mm = MEDFileMesh.New(fname)
     valsRead, pflRead = medfileField1TS.getFieldWithProfile(
         ON_CELLS, 0, mm)
     self.assertEqual(valsRead.getName(), f.getName())
     valsRead.setName("")
     self.assertTrue(valsRead.isEqual(f.getArray(), 1e-12))
     pflRead.setName(pfl.getName())
     self.assertTrue(pflRead.isEqual(pfl))
     #! [PySnippetReadFieldPartial1_4]
     #! [PySnippetReadFieldPartial1_5]
     firstApproachMesh = fread.getMesh()
     mm = MEDFileMesh.New(fname)
     wholeMesh = mm.getMeshAtLevel(0)
     wholeMesh.tryToShareSameCoords(firstApproachMesh, 1e-12)
     isIncluded, pflComputed = wholeMesh.areCellsIncludedIn(
         firstApproachMesh, 2)
     self.assertTrue(isIncluded)
     self.assertEqual(pflComputed.getName(), mm.getName())
     pflComputed.setName(pflRead.getName())
     self.assertTrue(pflComputed.isEqual(pflRead))
     #! [PySnippetReadFieldPartial1_5]
     #! [PySnippetReadFieldPartial1_6]
     mm = MEDFileMesh.New(fname)
     wholeMesh = mm.getMeshAtLevel(0)
     computedMesh = wholeMesh[pflRead]
     computedMesh.setName(mm.getName())
     self.assertTrue(computedMesh.isEqual(fread.getMesh(), 1e-12))
     fieldFromSecondApproach = MEDCouplingFieldDouble.New(
         ON_CELLS, ONE_TIME)
     fieldFromSecondApproach.setName(medfileField1TS.getName())
     fieldFromSecondApproach.setMesh(computedMesh)
     fieldFromSecondApproach.setArray(valsRead)
     fieldFromSecondApproach.setTime(medfileField1TS.getTime()[2],
                                     medfileField1TS.getTime()[0],
                                     medfileField1TS.getTime()[1])
     self.assertTrue(fieldFromSecondApproach.isEqual(fread, 1e-12, 1e-12))
     #! [PySnippetReadFieldPartial1_6]
     pass
Пример #32
0
    def testSauvWriterGroupWithOneFamily(self):
        """
        This test checks an option for sauv writing. It is requested here to copy a group from a family if a group is lying on a single family.
        """
        import re
        mfd=MEDLoaderDataForTest.buildAMEDFileDataWithGroupOnOneFamilyForSauv()
        sauvFile = "mesh.sauv"
        sw=SauvWriter.New()
        sw.setMEDFileDS(mfd)
        self.assertTrue(not sw.getCpyGrpIfOnASingleFamilyStatus())
        sw.setCpyGrpIfOnASingleFamilyStatus(True)
        self.assertTrue(sw.getCpyGrpIfOnASingleFamilyStatus())
        sw.write(sauvFile)

        f = open(sauvFile)
        # String pattern for the header of the sub meshes record ("PILE" number, number of named objects, number of objects)
        pattern_pile= re.compile(r'\sPILE\sNUMERO\s+(?P<number>[0-9]+)NBRE\sOBJETS\sNOMMES\s+(?P<nbnamed>[0-9]+)NBRE\sOBJETS\s+(?P<nbobjects>[0-9]+)')
        # String pattern for a sub mesh header (cell type, number of components and three numbers)
        pattern_header=re.compile(r'\s+(?P<type>[0-9]+)\s+(?P<nbsubs>[0-9]+)\s+[0-9]+\s+[0-9]+\s+[0-9]+')

        nbobjects=0
        line = f.readline()
        while(line):
            match_pile = pattern_pile.match(line)
            if match_pile:
                number=int(match_pile.group("number"))
                if number == 1:
                    nbnamed=int(match_pile.group("nbnamed"))
                    nbobjects=int(match_pile.group("nbobjects"))
                    break
                pass
            line=f.readline()
            pass

        # Skipping the objects names
        f.readline()
        # Skipping the objects ids
        f.readline()

        # Looking for each sub-mesh header
        line = f.readline()
        cur_object=0
        while(line and cur_object < nbobjects):
            match_header=pattern_header.match(line)
            if match_header:
                cell_type=int(match_header.group("type"))
                nb_subs=int(match_header.group("nbsubs"))
                # Looking for a compound object
                if cell_type == 0:
                    # Testing if there is only one component
                    self.assertTrue(nb_subs > 1)
                else:
                    f.readline()
                    f.readline()
                    cur_object = cur_object + 1
                    pass
                pass
            line=f.readline()
            pass
        f.close()
        os.remove(sauvFile)
        pass
Пример #33
0
 def testMixCellAndNodesFieldRW1(self):
     fileName = "Pyfile21.med"
     mesh = MEDLoaderDataForTest.build3DSurfMesh_1()
     f1 = MEDLoader.MEDCouplingFieldDouble.New(MEDLoader.ON_CELLS,
                                               MEDLoader.ONE_TIME)
     f1.setName("FieldMix")
     f1.setMesh(mesh)
     array = MEDLoader.DataArrayDouble.New()
     f1.setArray(array)
     arr1 = [
         71., 171., 10., 110., 20., 120., 30., 130., 40., 140., 50., 150.
     ]
     array.setValues(arr1, 6, 2)
     array.setInfoOnComponent(0, "plkj [mm]")
     array.setInfoOnComponent(1, "pqqqss [mm]")
     f1.setTime(3.14, 2, 7)
     f1.checkConsistencyLight()
     #
     f2 = MEDLoader.MEDCouplingFieldDouble.New(MEDLoader.ON_NODES,
                                               MEDLoader.ONE_TIME)
     f2.setName("FieldMix")
     f2.setMesh(mesh)
     array = MEDLoader.DataArrayDouble.New()
     f2.setArray(array)
     arr2 = [
         1071., 1171., 1010., 1110., 1020., 1120., 1030., 1130., 1040.,
         1140., 1050., 1150., 1060., 1160., 1070., 1170., 1080., 1180.,
         1090., 1190., 1091., 1191., 1092., 1192.
     ]
     array.setValues(arr2, 12, 2)
     array.setInfoOnComponent(0, "plkj [mm]")
     array.setInfoOnComponent(1, "pqqqss [mm]")
     f2.setTime(3.14, 2, 7)
     f2.checkConsistencyLight()
     #
     MEDLoader.WriteField(fileName, f1, True)
     ts = MEDLoader.GetTypesOfField(fileName,
                                    f1.getMesh().getName(), f1.getName())
     self.assertEqual(1, len(ts))
     self.assertEqual(MEDLoader.ON_CELLS, ts[0])
     fs = MEDLoader.GetAllFieldNamesOnMesh(fileName,
                                           f1.getMesh().getName())
     self.assertEqual(1, len(fs))
     self.assertTrue(fs[0] == "FieldMix")
     MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName, f2)
     fs = MEDLoader.GetAllFieldNamesOnMesh(fileName,
                                           f1.getMesh().getName())
     self.assertEqual(1, len(fs))
     self.assertTrue(fs[0] == "FieldMix")
     #
     ts = MEDLoader.GetTypesOfField(fileName,
                                    f1.getMesh().getName(), f1.getName())
     self.assertEqual(2, len(ts))
     self.assertEqual(MEDLoader.ON_NODES, ts[0])
     self.assertEqual(MEDLoader.ON_CELLS, ts[1])
     #
     f3 = MEDLoader.ReadFieldNode(fileName,
                                  f1.getMesh().getName(), 0, f1.getName(),
                                  2, 7)
     self.assertTrue(f3.isEqual(f2, 1e-12, 1e-12))
     f3 = MEDLoader.ReadFieldCell(fileName,
                                  f1.getMesh().getName(), 0, f1.getName(),
                                  2, 7)
     self.assertTrue(f3.isEqual(f1, 1e-12, 1e-12))
     #
     pass
Пример #34
0
 def testFieldRW2(self):
     fileName = "Pyfile8.med"
     VAL1 = 12345.67890314
     VAL2 = -1111111111111.
     f1 = MEDLoaderDataForTest.buildVecFieldOnCells_1()
     MEDLoader.WriteField(fileName, f1, True)
     f1.setTime(10., 8, 9)
     f1.getArray().setIJ(0, 0, VAL1)
     MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName, f1)
     f1.setTime(10.14, 18, 19)
     f1.getArray().setIJ(0, 0, VAL2)
     MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName, f1)
     #retrieving time steps...
     f2 = MEDLoader.ReadFieldCell(fileName,
                                  f1.getMesh().getName(), 0, f1.getName(),
                                  8, 9)
     f1.setTime(10., 8, 9)
     f1.getArray().setIJ(0, 0, VAL1)
     self.assertTrue(f1.isEqual(f2, 1e-12, 1e-12))
     f2 = MEDLoader.ReadFieldCell(fileName,
                                  f1.getMesh().getName(), 0, f1.getName(),
                                  0, 1)
     f3 = MEDLoaderDataForTest.buildVecFieldOnCells_1()
     self.assertTrue(f3.isEqual(f2, 1e-12, 1e-12))
     f2 = MEDLoader.ReadFieldCell(fileName,
                                  f1.getMesh().getName(), 0, f1.getName(),
                                  18, 19)
     f1.setTime(10.14, 18, 19)
     f1.getArray().setIJ(0, 0, VAL2)
     self.assertTrue(f1.isEqual(f2, 1e-12, 1e-12))
     #test of throw on invalid (dt,it)
     self.assertRaises(Exception, MEDLoader.ReadFieldCell, fileName,
                       f1.getMesh().getName(), 0, f1.getName(), 28, 19)
     #ON NODES
     f1 = MEDLoaderDataForTest.buildVecFieldOnNodes_1()
     fileName2 = "Pyfile9.med"
     MEDLoader.WriteField(fileName2, f1, True)
     f1.setTime(110., 108, 109)
     tmp = f1.getArray().getPointer()
     f1.getArray().setIJ(0, 3, VAL1)
     MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName2, f1)
     f1.setTime(210., 208, 209)
     f1.getArray().setIJ(0, 3, VAL2)
     MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName2, f1)
     f2 = MEDLoader.ReadFieldNode(fileName2,
                                  f1.getMesh().getName(), 0, f1.getName(),
                                  108, 109)
     f1.setTime(110., 108, 109)
     f1.getArray().setIJ(0, 3, VAL1)
     self.assertTrue(f1.isEqual(f2, 1e-12, 1e-12))
     f2 = MEDLoader.ReadFieldNode(fileName2,
                                  f1.getMesh().getName(), 0, f1.getName(),
                                  2, 3)
     f3 = MEDLoaderDataForTest.buildVecFieldOnNodes_1()
     self.assertTrue(f3.isEqual(f2, 1e-12, 1e-12))
     f2 = MEDLoader.ReadFieldNode(fileName2,
                                  f1.getMesh().getName(), 0, f1.getName(),
                                  208, 209)
     f1.setTime(210., 208, 209)
     f1.getArray().setIJ(0, 3, VAL2)
     self.assertTrue(f1.isEqual(f2, 1e-12, 1e-12))
     pass
    def testSauvWriterGroupWithOneFamily(self):
        """
        This test checks an option for sauv writing. It is requested here to copy a group from a family if a group is lying on a single family.
        """
        import re
        mfd = MEDLoaderDataForTest.buildAMEDFileDataWithGroupOnOneFamilyForSauv(
        )
        sauvFile = "mesh.sauv"
        sw = SauvWriter.New()
        sw.setMEDFileDS(mfd)
        self.assertTrue(not sw.getCpyGrpIfOnASingleFamilyStatus())
        sw.setCpyGrpIfOnASingleFamilyStatus(True)
        self.assertTrue(sw.getCpyGrpIfOnASingleFamilyStatus())
        sw.write(sauvFile)

        f = open(sauvFile)
        # String pattern for the header of the sub meshes record ("PILE" number, number of named objects, number of objects)
        pattern_pile = re.compile(
            r'\sPILE\sNUMERO\s+(?P<number>[0-9]+)NBRE\sOBJETS\sNOMMES\s+(?P<nbnamed>[0-9]+)NBRE\sOBJETS\s+(?P<nbobjects>[0-9]+)'
        )
        # String pattern for a sub mesh header (cell type, number of components and three numbers)
        pattern_header = re.compile(
            r'\s+(?P<type>[0-9]+)\s+(?P<nbsubs>[0-9]+)\s+[0-9]+\s+[0-9]+\s+[0-9]+'
        )

        nbobjects = 0
        line = f.readline()
        while (line):
            match_pile = pattern_pile.match(line)
            if match_pile:
                number = int(match_pile.group("number"))
                if number == 1:
                    nbnamed = int(match_pile.group("nbnamed"))
                    nbobjects = int(match_pile.group("nbobjects"))
                    break
                pass
            line = f.readline()
            pass

        # Skipping the objects names
        f.readline()
        # Skipping the objects ids
        f.readline()

        # Looking for each sub-mesh header
        line = f.readline()
        cur_object = 0
        while (line and cur_object < nbobjects):
            match_header = pattern_header.match(line)
            if match_header:
                cell_type = int(match_header.group("type"))
                nb_subs = int(match_header.group("nbsubs"))
                # Looking for a compound object
                if cell_type == 0:
                    # Testing if there is only one component
                    self.assertTrue(nb_subs > 1)
                else:
                    f.readline()
                    f.readline()
                    cur_object = cur_object + 1
                    pass
                pass
            line = f.readline()
            pass
        f.close()
        os.remove(sauvFile)
        pass
Пример #36
0
    def testExampleReadFieldPartial1(self):
        from MEDLoaderDataForTest import MEDLoaderDataForTest
#! [PySnippetReadFieldPartial1_1]
        fname="PyExamples2.med"
        meshName="mesh"
        fieldName="FieldPartial"
        iteration=3
        order=4
#! [PySnippetReadFieldPartial1_1]
#! [PySnippetWriteFieldPartial1_2]
        m=MEDLoaderDataForTest.build2DMesh_1()
        m.sortCellsInMEDFileFrmt()
        m.setName(meshName)
        # end of generation of a mesh -> let's create a field on that mesh
        f=m.getMeasureField(False)
        f=f.buildNewTimeReprFromThis(ONE_TIME,False)
        f.setTime(5.5,iteration,order)
        f.setName(fieldName)
        # The MEDCoupling part is finished -> let's perform advanced API
        mm=MEDFileUMesh.New()
        mm.setMeshAtLevel(0,m) # the MED file data structure is ready for writing. Of course mm could have been more complicated with groups, families, multilevel
        # Let's building a sub field
        pfl=DataArrayInt.New([1,3,4,5])
        pfl.setName("myPfl") # here it is necessary to give a name to be compliant with MED file
        f=f[pfl] ; f.getMesh().setName(m.getName()) # of course f should be in coherence with pfl -> f[pfl]
        #
        ff=MEDFileField1TS.New()
        tmp=f.getMesh() # useless line, only to show that mesh into f is not considered by MEDFileField1TS.setFieldProfile
        f.setMesh(None) # useless line, only to show that mesh into f is not considered by MEDFileField1TS.setFieldProfile
        ff.setFieldProfile(f,mm,0,pfl)
        f.setMesh(tmp) # useless line, only to show that mesh into f is not considered by MEDFileField1TS.setFieldProfile
        mm.write(fname,2)
        ff.write(fname,0)
#! [PySnippetWriteFieldPartial1_2]
#! [PySnippetReadFieldPartial1_3]
        mm=MEDFileMesh.New(fname)
        medfileField1TS=MEDFileField1TS.New(fname,fieldName,iteration,order)
        fread=medfileField1TS.getFieldOnMeshAtLevel(ON_CELLS,0,mm)
        fread2=medfileField1TS.getFieldAtLevel(ON_CELLS,0)
        self.assertTrue(fread.isEqual(f,1e-12,1e-12))
        self.assertTrue(fread2.isEqual(f,1e-12,1e-12))
#! [PySnippetReadFieldPartial1_3]
#! [PySnippetReadFieldPartial1_4]
        medfileField1TS=MEDFileField1TS.New(fname,fieldName,iteration,order)
        mm=MEDFileMesh.New(fname)
        valsRead,pflRead=medfileField1TS.getFieldWithProfile(ON_CELLS,0,mm)
        self.assertEqual(valsRead.getName(),f.getName())
        valsRead.setName("")
        self.assertTrue(valsRead.isEqual(f.getArray(),1e-12))
        pflRead.setName(pfl.getName())
        self.assertTrue(pflRead.isEqual(pfl))
#! [PySnippetReadFieldPartial1_4]
#! [PySnippetReadFieldPartial1_5]
        firstApproachMesh=fread.getMesh()
        mm=MEDFileMesh.New(fname)
        wholeMesh=mm.getMeshAtLevel(0)
        wholeMesh.tryToShareSameCoords(firstApproachMesh,1e-12)
        isIncluded,pflComputed=wholeMesh.areCellsIncludedIn(firstApproachMesh,2)
        self.assertTrue(isIncluded)
        self.assertEqual(pflComputed.getName(),mm.getName())
        pflComputed.setName(pflRead.getName())
        self.assertTrue(pflComputed.isEqual(pflRead))
#! [PySnippetReadFieldPartial1_5]
#! [PySnippetReadFieldPartial1_6]
        mm=MEDFileMesh.New(fname)
        wholeMesh=mm.getMeshAtLevel(0)
        computedMesh=wholeMesh[pflRead] ; computedMesh.setName(mm.getName())
        self.assertTrue(computedMesh.isEqual(fread.getMesh(),1e-12))
        fieldFromSecondApproach=MEDCouplingFieldDouble.New(ON_CELLS,ONE_TIME)
        fieldFromSecondApproach.setName(medfileField1TS.getName())
        fieldFromSecondApproach.setMesh(computedMesh)
        fieldFromSecondApproach.setArray(valsRead)
        fieldFromSecondApproach.setTime(medfileField1TS.getTime()[2],medfileField1TS.getTime()[0],medfileField1TS.getTime()[1])
        self.assertTrue(fieldFromSecondApproach.isEqual(fread,1e-12,1e-12))
#! [PySnippetReadFieldPartial1_6]
        pass