Exemplo n.º 1
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
Exemplo n.º 2
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