d20=DataArrayInt([1,2,3,4,11,12,13,14,21,22,23,24])
a,b=MEDCouplingStructuredMesh.IsPartStructured(d20,st)
self.assertTrue(a) ; self.assertEqual(b,[(1,5),(0,3)])
+ self.assertEqual(12,MEDCouplingStructuredMesh.DeduceNumberOfGivenRangeInCompactFrmt(b))
+ self.assertEqual(8,MEDCouplingStructuredMesh.DeduceNumberOfGivenRangeInCompactFrmt([(1,5),(1,3),(2,2)]))
+ self.assertEqual(0,MEDCouplingStructuredMesh.DeduceNumberOfGivenRangeInCompactFrmt([(5,5),(3,3),(2,2)]))
+ self.assertEqual(36,MEDCouplingStructuredMesh.DeduceNumberOfGivenStructure([3,2,6]))
+ self.assertEqual(126,MEDCouplingStructuredMesh.DeduceNumberOfGivenStructure((3,7,6)))
d20=DataArrayInt([1,2,3,4,12,11,13,14,21,22,23,24])
a,b=MEDCouplingStructuredMesh.IsPartStructured(d20,st)
self.assertTrue(not a)
m2bis=m2.deepCpy()
self.assertTrue(m2bis.isEqual(m2,1e-12))
#
+ self.assertEqual(6,m2bis.getNumberOfCells())#3,2,4
+ m2bis.refineWithFactor(3)
+ self.assertEqual(162,m2bis.getNumberOfCells())
+ self.assertEqual((7,4,10),m2bis.getNodeStruct())
+ self.assertEqual((1.5,3.5,2.5),m2bis.getOrigin())
+ self.assertTrue(DataArrayDouble([0.16666666666666666,0.08333333333333333,0.3333333333333333]).isEqual(DataArrayDouble(m2bis.getDXYZ()),1e-12))
+ #
self.assertEqual(3,m.getMeshDimension())
self.assertAlmostEqual(0.125,m.getMeasureOfAnyCell(),16);
mu=MEDCoupling1SGTUMesh(m.buildUnstructured())
self.assertTrue(mu.getCoords().isEqual(coordsExp,1e-12))
self.assertTrue(mu.getNodalConnectivity().isEqual(DataArrayInt([1,0,3,4,2,1,4,5,4,3,6,7,5,4,7,8,7,6,9,10,8,7,10,11])))
pass
-
+
+ def testSwig2AMR1(self):
+ self.assertEqual((1,3,12),MEDCouplingStructuredMesh.GetSplitVectFromStruct([3,4,5]))
+ self.assertEqual((3,2),MEDCouplingStructuredMesh.GetDimensionsFromCompactFrmt([(1,4),(2,4)]))
+ #
+ amr=MEDCouplingCartesianAMRMesh("",2,[3,3],[0,0],[1,1])
+ self.assertEqual(4,amr.getNumberOfCellsAtCurrentLevel())
+ self.assertEqual(4,amr.getNumberOfCellsRecursiveWithOverlap())
+ self.assertEqual(4,amr.getNumberOfCellsRecursiveWithoutOverlap())
+ self.assertEqual(0,amr.getNumberOfPatches())
+ self.assertEqual(1,amr.getMaxNumberOfLevelsRelativeToThis())
+ self.assertEqual(2,amr.getSpaceDimension())
+ amr.addPatch([(1,2),(0,1)],4)
+ self.assertEqual(4,amr.getNumberOfCellsAtCurrentLevel())
+ self.assertEqual(20,amr.getNumberOfCellsRecursiveWithOverlap())
+ self.assertEqual(19,amr.getNumberOfCellsRecursiveWithoutOverlap())
+ self.assertEqual(1,amr.getNumberOfPatches())
+ self.assertEqual(2,amr.getMaxNumberOfLevelsRelativeToThis())
+ self.assertEqual(2,amr.getSpaceDimension())
+ amr[0].addPatch([(2,3),(1,3)],2)
+ self.assertEqual(amr[0].getBLTRRange(),[(1,2),(0,1)])
+ self.assertEqual(4,amr.getNumberOfCellsAtCurrentLevel())
+ self.assertEqual(28,amr.getNumberOfCellsRecursiveWithOverlap())
+ self.assertEqual(25,amr.getNumberOfCellsRecursiveWithoutOverlap())
+ self.assertEqual(1,amr.getNumberOfPatches())
+ self.assertEqual(3,amr.getMaxNumberOfLevelsRelativeToThis())
+ self.assertEqual(2,amr.getSpaceDimension())
+ amr[0].addPatch([(0,2),(3,4)],3)
+ self.assertEqual(16,amr[0].getMesh().getNumberOfCellsAtCurrentLevel())
+ self.assertEqual(46,amr.getNumberOfCellsRecursiveWithOverlap())
+ self.assertEqual(41,amr.getNumberOfCellsRecursiveWithoutOverlap())
+ self.assertEqual(2,amr[0].getMesh().getNumberOfPatches())
+ self.assertEqual(3,amr.getMaxNumberOfLevelsRelativeToThis())
+ self.assertEqual(2,amr.getSpaceDimension())
+ del amr[0][1]
+ self.assertEqual(amr[0].getBLTRRange(),[(1,2),(0,1)])
+ self.assertEqual(4,amr.getNumberOfCellsAtCurrentLevel())
+ self.assertEqual(28,amr.getNumberOfCellsRecursiveWithOverlap())
+ self.assertEqual(25,amr.getNumberOfCellsRecursiveWithoutOverlap())
+ self.assertEqual(1,amr.getNumberOfPatches())
+ self.assertEqual(3,amr.getMaxNumberOfLevelsRelativeToThis())
+ self.assertEqual(2,amr.getSpaceDimension())
+ pass
+
+ def testSwig2NonRegressionTestPAL1164(self):
+ """ Test PAL1164 Protection of applyLin against error in compoId ( #CEA22584 ) """
+ xarr=DataArrayDouble(3,1)
+ xarr.iota(0.)
+ cmesh=MEDCouplingCMesh()
+ cmesh.setCoords(xarr,xarr,xarr)
+ mesh=cmesh.buildUnstructured()
+ f=mesh.fillFromAnalytic(ON_CELLS,1,"(x-5.)*(x-5.)+(y-5.)*(y-5.)+(z-5.)*(z-5.)")
+ f.setName("MyField")
+ self.assertTrue(f.getArray().isEqual(DataArrayDouble([60.75,52.75,52.75,44.75,52.75,44.75,44.75,36.75]),1e-12))
+ self.assertRaises(InterpKernelException,f.applyLin,2.,0.,1)# compoId 1 whereas f has only one component !
+ 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))
+ 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 setUp(self):
pass
pass