self.assertTrue(f.getArray().isEqual(DataArrayDouble([60.75,52.75,52.75,44.75,52.75,44.75,44.75,36.75]),1e-12))
f.applyLin(2.,0.,0)# here it is OK !
self.assertTrue(f.getArray().isEqual(DataArrayDouble([121.5,105.5,105.5,89.5,105.5,89.5,89.5,73.5]),1e-12))
- #f.applyLin(2.,0.)
- #self.assertTrue(f.getArray().isEqual(DataArrayDouble([243.,211.,211.,179.,211.,179.,179.,127.]),1e-12))
+ f.applyLin(2.,0.)
+ self.assertTrue(f.getArray().isEqual(DataArrayDouble([243.,211.,211.,179.,211.,179.,179.,147.]),1e-12))
pass
-
+
+ def testSwig2StructurizeMe1(self):
+ arrx=DataArrayDouble(3) ; arrx.iota() ; arrx*=2.
+ arry=DataArrayDouble(4) ; arry.iota() ; arry+=3.
+ arrz=DataArrayDouble(5) ; arrz.iota() ; arrz*=0.5 ; arrz+=2.
+ c=MEDCouplingCMesh() ; c.setCoords(arrx,arry,arrz)
+ c.setName("mesh") ; c.setDescription("mesh descr") ; c.setTimeUnit("us") ; c.setTime(1.2,3,4)
+ u=c.buildUnstructured()
+ cp=DataArrayInt([3,5,6,1,0,9,8,7,12,11,16,10,17,23,22,21,19,20,18,14,13,2,4,15])
+ np=DataArrayInt([3,33,5,35,6,36,1,31,0,30,9,39,8,38,7,37,12,42,11,41,16,46,10,40,17,47,23,53,22,52,21,51,19,49,20,50,18,48,14,44,13,43,2,32,4,34,15,45,29,59,28,58,27,57,26,56,25,55,24,54])
+ u.renumberCells(cp)
+ u.renumberNodes(np,len(np))
+ u=MEDCoupling1SGTUMesh(u)
+ #
+ e,d,f=u.structurizeMe()
+ self.assertTrue(c.isEqual(e,1e-12))
+ self.assertTrue(d.isEqual(cp))
+ self.assertTrue(f.isEqual(np))
+ pass
+
+ def testSwig2DenseMatrix1(self):
+ m0=DenseMatrix(DataArrayDouble([2,3,4,5,1,6]),2,3)
+ self.assertEqual(m0.getNumberOfRows(),2)
+ self.assertEqual(m0.getNumberOfCols(),3)
+ self.assertEqual(m0.getNbOfElems(),6)
+ ref=m0.getData().getHiddenCppPointer()
+ m00=m0.deepCpy()
+ self.assertTrue(m0.isEqual(m00,1e-12))
+ m00.getData().setIJ(0,0,2.1)
+ self.assertTrue(not m0.isEqual(m00,1e-12))
+ m00.getData().setIJ(0,0,2.)
+ self.assertTrue(m0.isEqual(m00,1e-12))
+ self.assertTrue(m0.getData().isEqual(DataArrayDouble([2,3,4,5,1,6]),1e-12))
+ #
+ m000=m0*DataArrayDouble([5,9,3])
+ self.assertTrue(m000.getData().isEqual(DataArrayDouble([49.,52.]),1e-12))
+ #
+ m0.reShape(3,2)
+ self.assertTrue(not m0.isEqual(m00,1e-12))
+ self.assertEqual(m0.getNumberOfRows(),3)
+ self.assertEqual(m0.getNumberOfCols(),2)
+ self.assertEqual(ref,m0.getData().getHiddenCppPointer())
+ self.assertTrue(m0.getData().isEqual(DataArrayDouble([2,3,4,5,1,6]),1e-12))
+ m0.reShape(2,3)
+ self.assertTrue(m0.isEqual(m00,1e-12))
+ self.assertEqual(ref,m0.getData().getHiddenCppPointer())
+ self.assertEqual(m0.getNumberOfRows(),2)
+ self.assertEqual(m0.getNumberOfCols(),3)
+ self.assertTrue(m0.getData().isEqual(DataArrayDouble([2,3,4,5,1,6]),1e-12))
+ #m0np=m0.getData().toNumPyArray() ; m0np=matrix(m0np.reshape(m0.getNumberOfRows(),m0.getNumberOfCols()))
+ m1=m0.deepCpy()
+ self.assertEqual(m1.getNumberOfRows(),2)
+ self.assertEqual(m1.getNumberOfCols(),3)
+ self.assertTrue(m1.getData().isEqual(DataArrayDouble([2,3,4,5,1,6]),1e-12))
+ m11=m0.deepCpy() ; m11+=m1
+ self.assertEqual(m11.getNumberOfRows(),2)
+ self.assertEqual(m11.getNumberOfCols(),3)
+ self.assertTrue(m11.getData().isEqual(DataArrayDouble([4,6,8,10,2,12]),1e-12))
+ m11=m11+m1
+ self.assertEqual(m11.getNumberOfRows(),2)
+ self.assertEqual(m11.getNumberOfCols(),3)
+ self.assertTrue(m11.getData().isEqual(DataArrayDouble([6,9,12,15,3,18]),1e-12))
+ m11=m11-m1
+ self.assertEqual(m11.getNumberOfRows(),2)
+ self.assertEqual(m11.getNumberOfCols(),3)
+ self.assertTrue(m11.getData().isEqual(DataArrayDouble([4,6,8,10,2,12]),1e-12))
+ m11-=m1
+ self.assertEqual(m1.getNumberOfRows(),2)
+ self.assertEqual(m1.getNumberOfCols(),3)
+ self.assertTrue(m1.getData().isEqual(DataArrayDouble([2,3,4,5,1,6]),1e-12))
+ m1.transpose()
+ self.assertEqual(m1.getNumberOfRows(),3)
+ self.assertEqual(m1.getNumberOfCols(),2)
+ self.assertTrue(m1.getData().isEqual(DataArrayDouble([2,5,3,1,4,6]),1e-12))
+ #m1np=m0np.transpose()
+ m2=m0*m1
+ self.assertEqual(m2.getNumberOfRows(),2)
+ self.assertEqual(m2.getNumberOfCols(),2)
+ self.assertTrue(m2.getData().isEqual(DataArrayDouble([29,37,37,62]),1e-12))
+ pass
+
+ def testAMR2(self):
+ """ Test condensation of fine IMesh instance into a coarse one, with a factor. See testRemapperAMR1 in MEDCouplingRemapperTest.py file to see how the expected value is obtained."""
+ coarse=DataArrayDouble(35) ; coarse.iota(0) #X=5,Y=7
+ fine=DataArrayDouble(3*2*4*4) ; fine.iota(0) #X=3,Y=2 refined by 4
+ MEDCouplingIMesh.CondenseFineToCoarse(coarse,[5,7],fine,[(1,4),(2,4)])
+ self.assertTrue(coarse.isEqual(DataArrayDouble([0,1,2,3,4,5,6,7,8,9,10,312,376,440,14,15,1080,1144,1208,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34]),1e-12))
+ pass
+
def setUp(self):
pass
pass