Salome HOME
Add test for .mesh file format
[tools/medcoupling.git] / src / MEDCoupling_Swig / MEDCouplingBasicsTest2.py
index db3777022aac12847e482f28aedabd10353f8338..29acce4f757e55b9712769e64c1f28f8fead0ecb 100644 (file)
@@ -1,5 +1,5 @@
 #  -*- coding: utf-8 -*-
-# Copyright (C) 2007-2015  CEA/DEN, EDF R&D
+# Copyright (C) 2007-2024  CEA, EDF
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
@@ -18,7 +18,9 @@
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 
-from MEDCoupling import *
+
+import sys
+from medcoupling import *
 import unittest
 from math import pi,e,sqrt,cos,sin
 from datetime import datetime
@@ -45,13 +47,13 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         #
         f3=f1.max(f2);
         expected1=[7.,108.,207.,9.,108.,209.,9.,110.,209.,11.,110.,211.,11.,112.,211.,13.,112.,213.,13.,114.,213.,15.,114.,215.,15.,116.,215.,17.,116.,217.]
-        for i in xrange(30):
+        for i in range(30):
             self.assertAlmostEqual(expected1[i],f3.getIJ(0,i),9);
             pass
         #
         f4=f1.min(f2);
         expected2=[6.,107.,206.,8.,107.,208.,8.,109.,208.,10.,109.,210.,10.,111.,210.,12.,111.,212.,12.,113.,212.,14.,113.,214.,14.,115.,214.,16.,115.,216.]
-        for i in xrange(30):
+        for i in range(30):
             self.assertAlmostEqual(expected2[i],f4.getIJ(0,i),9);
             pass
         #
@@ -68,7 +70,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         #
         f1.applyLin(2.,3.,0);
         expected1=[17.,107.,19.,108.,21.,109.,23.,110.,25.,111.,27.,112.,29.,113.,31.,114.,33.,115.,35.,116.]
-        for i in xrange(20):
+        for i in range(20):
             self.assertAlmostEqual(expected1[i],f1.getIJ(0,i),9);
             pass
         #
@@ -80,11 +82,11 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         f1.applyLin(4.,5.,1);
         #
         expected2=[17.,433.,19.,437.,21.,441.,23.,445.,25.,449.,27.,453.,29.,457.,31.,461.,33.,465.,35.,469.]
-        for i in xrange(20):
+        for i in range(20):
             self.assertAlmostEqual(expected2[i],f1.getIJ(0,i),9);
             pass
         expected3=[2.,413.,3.,417.,4.,421.,5.,425.,6.,429.,7.,433.,8.,437.,9.,441.,10.,445.,11.,449.]
-        for i in xrange(20):
+        for i in range(20):
             self.assertAlmostEqual(expected3[i],f1.getEndArray().getIJ(0,i),9);
             pass
         #
@@ -100,15 +102,15 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         array.setValues(arr1,mesh1.getNumberOfCells(),1);
         f1.setArray(array);
         #
-        f1.checkCoherency();
-        da=f1.getIdsInRange(2.9,7.1);
-        self.failUnlessEqual(5,da.getNbOfElems());
+        f1.checkConsistencyLight();
+        da=f1.findIdsInRange(2.9,7.1);
+        self.assertEqual(5,da.getNbOfElems());
         expected1=[2,3,5,7,9]
-        self.failUnlessEqual(expected1,list(da.getValues()));
-        da=f1.getIdsInRange(8.,12.);
-        self.failUnlessEqual(4,da.getNbOfElems());
+        self.assertEqual(expected1,list(da.getValues()));
+        da=f1.findIdsInRange(8.,12.);
+        self.assertEqual(4,da.getNbOfElems());
         expected2=[1,4,6,8]
-        self.failUnlessEqual(expected2,list(da.getValues()));
+        self.assertEqual(expected2,list(da.getValues()));
         #
         pass
 
@@ -125,26 +127,26 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         part1=[2,1,4]
         f2=f1[part1];
         f2.zipCoords()
-        self.failUnlessEqual(3,f2.getNumberOfTuples());
-        self.failUnlessEqual(2,f2.getNumberOfComponents());
+        self.assertEqual(3,f2.getNumberOfTuples());
+        self.assertEqual(2,f2.getNumberOfComponents());
         expected1=[5.,105.,4.,104.,7.,107.]
-        for i in xrange(6):
+        for i in range(6):
             self.assertAlmostEqual(f2.getIJ(0,i),expected1[i],12);
             pass
-        self.failUnlessEqual(3,f2.getMesh().getNumberOfCells());
-        self.failUnlessEqual(6,f2.getMesh().getNumberOfNodes());
-        self.failUnlessEqual(2,f2.getMesh().getSpaceDimension());
-        self.failUnlessEqual(2,f2.getMesh().getMeshDimension());
+        self.assertEqual(3,f2.getMesh().getNumberOfCells());
+        self.assertEqual(6,f2.getMesh().getNumberOfNodes());
+        self.assertEqual(2,f2.getMesh().getSpaceDimension());
+        self.assertEqual(2,f2.getMesh().getMeshDimension());
         m2C=f2.getMesh();
-        self.failUnlessEqual(13,m2C.getMeshLength());
+        self.assertEqual(13,m2C.getNodalConnectivityArrayLen());
         expected2=[0.2, -0.3, 0.7, -0.3, 0.2, 0.2, 0.7, 0.2, 0.2, 0.7, 0.7, 0.7]
-        for i in xrange(12):
+        for i in range(12):
             self.assertAlmostEqual(expected2[i],m2C.getCoords().getIJ(0,i),12);
             pass
         expected3=[3,2,3,1,3,0,2,1,4,4,5,3,2]
-        self.failUnlessEqual(expected3,list(m2C.getNodalConnectivity().getValues()));
+        self.assertEqual(expected3,list(m2C.getNodalConnectivity().getValues()));
         expected4=[0,4,8,13]
-        self.failUnlessEqual(expected4,list(m2C.getNodalConnectivityIndex().getValues()));
+        self.assertEqual(expected4,list(m2C.getNodalConnectivityIndex().getValues()));
         # Test with field on nodes.
         f1=MEDCouplingFieldDouble.New(ON_NODES,ONE_TIME);
         f1.setTime(2.3,5,6);
@@ -155,68 +157,68 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         f1.setArray(array);
         part2=[1,2]
         f2=f1.buildSubPart(part2);
-        self.failUnlessEqual(4,f2.getNumberOfTuples());
-        self.failUnlessEqual(2,f2.getNumberOfComponents());
+        self.assertEqual(4,f2.getNumberOfTuples());
+        self.assertEqual(2,f2.getNumberOfComponents());
         expected5=[4.,104.,5.,105.,7.,107.,8.,108.]
-        for i in xrange(8):
+        for i in range(8):
             self.assertAlmostEqual(f2.getIJ(0,i),expected5[i],12);
             pass
-        self.failUnlessEqual(2,f2.getMesh().getNumberOfCells());
-        self.failUnlessEqual(4,f2.getMesh().getNumberOfNodes());
-        self.failUnlessEqual(2,f2.getMesh().getSpaceDimension());
-        self.failUnlessEqual(2,f2.getMesh().getMeshDimension());
+        self.assertEqual(2,f2.getMesh().getNumberOfCells());
+        self.assertEqual(4,f2.getMesh().getNumberOfNodes());
+        self.assertEqual(2,f2.getMesh().getSpaceDimension());
+        self.assertEqual(2,f2.getMesh().getMeshDimension());
         m2C=f2.getMesh();
-        self.failUnlessEqual(8,m2C.getMeshLength());
-        for i in xrange(8):#8 is not an error
+        self.assertEqual(8,m2C.getNodalConnectivityArrayLen());
+        for i in range(8):  # 8 is not an error
             self.assertAlmostEqual(expected2[i],m2C.getCoords().getIJ(0,i),12);
             pass
-        self.failUnlessEqual(expected3[:4],list(m2C.getNodalConnectivity().getValues())[4:]);
-        self.failUnlessEqual(expected3[4:8],list(m2C.getNodalConnectivity().getValues())[:4]);
-        self.failUnlessEqual(expected4[:3],list(m2C.getNodalConnectivityIndex().getValues()));
+        self.assertEqual(expected3[:4],list(m2C.getNodalConnectivity().getValues())[4:]);
+        self.assertEqual(expected3[4:8],list(m2C.getNodalConnectivity().getValues())[:4]);
+        self.assertEqual(expected4[:3],list(m2C.getNodalConnectivityIndex().getValues()));
         #idem previous because nodes of cell#4 are not fully present in part3
         part3=[1,2]
         arrr=DataArrayInt.New();
         arrr.setValues(part3,2,1);
         f2=f1.buildSubPart(arrr);
-        self.failUnlessEqual(4,f2.getNumberOfTuples());
-        self.failUnlessEqual(2,f2.getNumberOfComponents());
-        for i in xrange(8):
+        self.assertEqual(4,f2.getNumberOfTuples());
+        self.assertEqual(2,f2.getNumberOfComponents());
+        for i in range(8):
             self.assertAlmostEqual(f2.getIJ(0,i),expected5[i],12);
             pass
-        self.failUnlessEqual(2,f2.getMesh().getNumberOfCells());
-        self.failUnlessEqual(4,f2.getMesh().getNumberOfNodes());
-        self.failUnlessEqual(2,f2.getMesh().getSpaceDimension());
-        self.failUnlessEqual(2,f2.getMesh().getMeshDimension());
+        self.assertEqual(2,f2.getMesh().getNumberOfCells());
+        self.assertEqual(4,f2.getMesh().getNumberOfNodes());
+        self.assertEqual(2,f2.getMesh().getSpaceDimension());
+        self.assertEqual(2,f2.getMesh().getMeshDimension());
         m2C=f2.getMesh();
-        self.failUnlessEqual(8,m2C.getMeshLength());
-        for i in xrange(8):#8 is not an error
+        self.assertEqual(8,m2C.getNodalConnectivityArrayLen());
+        for i in range(8):  # 8 is not an error
             self.assertAlmostEqual(expected2[i],m2C.getCoords().getIJ(0,i),12);
             pass
-        self.failUnlessEqual(expected3[:4],list(m2C.getNodalConnectivity().getValues())[4:8]);
-        self.failUnlessEqual(expected3[4:8],list(m2C.getNodalConnectivity().getValues())[:4]);
-        self.failUnlessEqual(expected4[:3],list(m2C.getNodalConnectivityIndex().getValues()));
+        self.assertEqual(expected3[:4],list(m2C.getNodalConnectivity().getValues())[4:8]);
+        self.assertEqual(expected3[4:8],list(m2C.getNodalConnectivity().getValues())[:4]);
+        self.assertEqual(expected4[:3],list(m2C.getNodalConnectivityIndex().getValues()));
         #
         part4=[1,2,4]
         f2=f1.buildSubPart(part4);
-        self.failUnlessEqual(6,f2.getNumberOfTuples());
-        self.failUnlessEqual(2,f2.getNumberOfComponents());
+        self.assertEqual(6,f2.getNumberOfTuples());
+        self.assertEqual(2,f2.getNumberOfComponents());
         expected6=[4.,104.,5.,105.,7.,107.,8.,108.,10.,110.,11.,111.]
-        for i in xrange(12):
+        for i in range(12):
             self.assertAlmostEqual(f2.getIJ(0,i),expected6[i],12);
             pass
-        self.failUnlessEqual(3,f2.getMesh().getNumberOfCells());
-        self.failUnlessEqual(6,f2.getMesh().getNumberOfNodes());
-        self.failUnlessEqual(2,f2.getMesh().getSpaceDimension());
-        self.failUnlessEqual(2,f2.getMesh().getMeshDimension());
+        self.assertEqual(3,f2.getMesh().getNumberOfCells());
+        self.assertEqual(6,f2.getMesh().getNumberOfNodes());
+        self.assertEqual(2,f2.getMesh().getSpaceDimension());
+        self.assertEqual(2,f2.getMesh().getMeshDimension());
         m2C=f2.getMesh();
-        self.failUnlessEqual(13,m2C.getMeshLength());
-        for i in xrange(12):
+        self.assertEqual(13,m2C.getNodalConnectivityArrayLen());
+        for i in range(12):
             self.assertAlmostEqual(expected2[i],m2C.getCoords().getIJ(0,i),12);
             pass
-        self.failUnlessEqual(expected3[0:4],list(m2C.getNodalConnectivity().getValues())[4:8]);
-        self.failUnlessEqual(expected3[4:8],list(m2C.getNodalConnectivity().getValues())[0:4]);
-        self.failUnlessEqual(expected3[8:13],list(m2C.getNodalConnectivity().getValues())[8:13]);
-        self.failUnlessEqual(expected4,list(m2C.getNodalConnectivityIndex().getValues()));
+        self.assertEqual(expected3[0:4],list(m2C.getNodalConnectivity().getValues())[4:8]);
+        self.assertEqual(expected3[4:8],list(m2C.getNodalConnectivity().getValues())[0:4]);
+        self.assertEqual(expected3[8:13],list(m2C.getNodalConnectivity().getValues())[8:13]);
+        self.assertEqual(expected4,list(m2C.getNodalConnectivityIndex().getValues()));
         pass
 
     def testDoublyContractedProduct1(self):
@@ -227,13 +229,13 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         arr1=[7.8,8.9,9.1,10.2,23.4,34.5, 7.8,8.9,9.1,10.2,23.4,34.5, 7.8,8.9,9.1,10.2,23.4,34.5, 7.8,8.9,9.1,10.2,23.4,34.5, 7.8,8.9,9.1,10.2,23.4,34.5]
         array.setValues(arr1,mesh1.getNumberOfCells(),6);
         f1.setArray(array);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         #
         f2=f1.doublyContractedProduct();
-        f2.checkCoherency();
+        f2.checkConsistencyLight();
         self.assertEqual(1,f2.getNumberOfComponents());
         self.assertEqual(5,f2.getNumberOfTuples());
-        for i in xrange(5):
+        for i in range(5):
             self.assertAlmostEqual(3906.56,f2.getIJ(i,0),9);
             pass
         #
@@ -250,13 +252,13 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         array.setValues(arr1,mesh1.getNumberOfCells(),4);
         f1.setArray(array);
         #4 components
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         f2=f1.determinant();
-        f2.checkCoherency();
+        f2.checkConsistencyLight();
         self.assertEqual(CONST_ON_TIME_INTERVAL,f2.getTimeDiscretization());
         self.assertEqual(1,f2.getNumberOfComponents());
         self.assertEqual(5,f2.getNumberOfValues());
-        for i in xrange(5):
+        for i in range(5):
             self.assertAlmostEqual(-2.42,f2.getIJ(i,0),13);
             pass
         #6 components multi arrays with end array not defined
@@ -269,13 +271,13 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
               1.2,2.3,3.4,4.5,5.6,6.7, 1.2,2.3,3.4,4.5,5.6,6.7, 1.2,2.3,3.4,4.5,5.6,6.7, 1.2,2.3,3.4,4.5,5.6,6.7]
         array.setValues(arr2,mesh1.getNumberOfNodes(),6);
         f1.setArray(array);
-        self.assertRaises(InterpKernelException,f1.checkCoherency);#no end array specified !
+        self.assertRaises(InterpKernelException,f1.checkConsistencyLight);#no end array specified !
         #
         f2=f1.determinant();
         self.assertEqual(LINEAR_TIME,f2.getTimeDiscretization());
         self.assertEqual(1,f2.getArray().getNumberOfComponents());
         self.assertEqual(9,f2.getNumberOfTuples());
-        for i in xrange(9):
+        for i in range(9):
             self.assertAlmostEqual(137.335,f2.getIJ(i,0),10);
             pass
         #6 components multi arrays with end array defined
@@ -284,9 +286,9 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
               7.8,8.9,9.1,10.2,23.4,34.5, 7.8,8.9,9.1,10.2,23.4,34.5, 7.8,8.9,9.1,10.2,23.4,34.5, 7.8,8.9,9.1,10.2,23.4,34.5]
         array.setValues(arr3,mesh1.getNumberOfNodes(),6);
         f1.setEndArray(array);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         f2=f1.determinant();
-        f2.checkCoherency();
+        f2.checkConsistencyLight();
         self.assertEqual(LINEAR_TIME,f2.getTimeDiscretization());
         self.assertEqual(1,f2.getNumberOfComponents());
         self.assertEqual(9,f2.getNumberOfTuples());
@@ -298,7 +300,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertAlmostEqual(3.8,time2,12);
         self.assertEqual(7,it);
         self.assertEqual(3,order);
-        for i in xrange(9):
+        for i in range(9):
             self.assertAlmostEqual(137.335,f2.getIJ(i,0),10);
             self.assertAlmostEqual(1289.685,f2.getEndArray().getIJ(i,0),9);
             pass
@@ -311,9 +313,9 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         array.setValues(arr4,mesh1.getNumberOfCells(),9);
         f1.setArray(array);
         #
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         f2=f1.determinant();
-        f2.checkCoherency();
+        f2.checkConsistencyLight();
         self.assertEqual(ONE_TIME,f2.getTimeDiscretization());
         self.assertEqual(1,f2.getNumberOfComponents());
         self.assertEqual(5,f2.getNumberOfTuples());
@@ -321,7 +323,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertAlmostEqual(7.8,time2,12);
         self.assertEqual(10,it);
         self.assertEqual(2,order);
-        for i in xrange(5):
+        for i in range(5):
             self.assertAlmostEqual(3.267,f2.getIJ(i,0),13);
             pass
         pass
@@ -334,14 +336,14 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         arr1=[1.2,2.3,3.4,4.5,5.6,6.7, 1.2,2.3,3.4,4.5,5.6,6.7, 1.2,2.3,3.4,4.5,5.6,6.7, 1.2,2.3,3.4,4.5,5.6,6.7, 1.2,2.3,3.4,4.5,5.6,6.7]
         array.setValues(arr1,mesh1.getNumberOfCells(),6);
         f1.setArray(array);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         #
         f2=f1.eigenValues();
-        f2.checkCoherency();
+        f2.checkConsistencyLight();
         self.assertEqual(3,f2.getNumberOfComponents());
         self.assertEqual(5,f2.getNumberOfTuples());
         expected1=[13.638813677891717,-4.502313844635971,-2.2364998332557486]
-        for i in xrange(5):
+        for i in range(5):
             self.assertAlmostEqual(expected1[0],f2.getIJ(i,0),13);
             self.assertAlmostEqual(expected1[1],f2.getIJ(i,1),13);
             self.assertAlmostEqual(expected1[2],f2.getIJ(i,2),13);
@@ -356,17 +358,17 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         arr1=[1.2,2.3,3.4,4.5,5.6,6.7, 1.2,2.3,3.4,4.5,5.6,6.7, 1.2,2.3,3.4,4.5,5.6,6.7, 1.2,2.3,3.4,4.5,5.6,6.7, 1.2,2.3,3.4,4.5,5.6,6.7]
         array.setValues(arr1,mesh1.getNumberOfCells(),6);
         f1.setArray(array);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         #
         f2=f1.eigenVectors();
-        f2.checkCoherency();
+        f2.checkConsistencyLight();
         self.assertEqual(9,f2.getNumberOfComponents());
         self.assertEqual(5,f2.getNumberOfTuples());
         expected1=[0.5424262364180696, 0.5351201064614425, 0.6476266283176001,#eigenvect 0
                    0.7381111277307373, 0.06458838384003074, -0.6715804522117897,#eigenvect 1
                    -0.4012053603397987, 0.8423032781211455, -0.3599436712889738#eigenvect 2
                    ]
-        for i in xrange(5):
+        for i in range(5):
             self.assertAlmostEqual(expected1[0],f2.getIJ(i,0),13);
             self.assertAlmostEqual(expected1[1],f2.getIJ(i,1),13);
             self.assertAlmostEqual(expected1[2],f2.getIJ(i,2),13);
@@ -388,14 +390,14 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         arr1=[1.2,2.3,3.4,4.5,5.6,6.7,7.8,8.9,9.1, 1.2,2.3,3.4,4.5,5.6,6.7,7.8,8.9,9.1, 1.2,2.3,3.4,4.5,5.6,6.7,7.8,8.9,9.1, 1.2,2.3,3.4,4.5,5.6,6.7,7.8,8.9,9.1, 1.2,2.3,3.4,4.5,5.6,6.7,7.8,8.9,9.1]
         array.setValues(arr1,mesh1.getNumberOfCells(),9);
         f1.setArray(array);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         #
         f2=f1.inverse();
-        f2.checkCoherency();
+        f2.checkConsistencyLight();
         self.assertEqual(9,f2.getNumberOfComponents());
         self.assertEqual(5,f2.getNumberOfTuples());
         expected1=[-2.6538108356290113, 2.855831037649208, -1.1111111111111067, 3.461891643709813, -4.775022956841121, 2.2222222222222143, -1.1111111111111054, 2.222222222222214, -1.1111111111111072]
-        for i in xrange(5):
+        for i in range(5):
             self.assertAlmostEqual(expected1[0],f2.getIJ(i,0),13);
             self.assertAlmostEqual(expected1[1],f2.getIJ(i,1),13);
             self.assertAlmostEqual(expected1[2],f2.getIJ(i,2),13);
@@ -411,14 +413,14 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         arr3=[7.8,8.9,9.1,10.2,23.4,34.5, 7.8,8.9,9.1,10.2,23.4,34.5, 7.8,8.9,9.1,10.2,23.4,34.5, 7.8,8.9,9.1,10.2,23.4,34.5, 7.8,8.9,9.1,10.2,23.4,34.5]
         array.setValues(arr3,mesh1.getNumberOfCells(),6);
         f1.setArray(array);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         #
         f2=f1.inverse();
-        f2.checkCoherency();
+        f2.checkConsistencyLight();
         self.assertEqual(6,f2.getNumberOfComponents());
         self.assertEqual(5,f2.getNumberOfTuples());
         expected3=[-0.3617705098531818, -0.8678630828458127, -0.026843764174972983, 0.5539957431465833, 0.13133439560823013, -0.05301294502145887]
-        for i in xrange(5):
+        for i in range(5):
             self.assertAlmostEqual(expected3[0],f2.getIJ(i,0),13);
             self.assertAlmostEqual(expected3[1],f2.getIJ(i,1),13);
             self.assertAlmostEqual(expected3[2],f2.getIJ(i,2),13);
@@ -431,14 +433,14 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         arr2=[1.2,2.3,3.4,4.5, 1.2,2.3,3.4,4.5, 1.2,2.3,3.4,4.5, 1.2,2.3,3.4,4.5, 1.2,2.3,3.4,4.5]
         array.setValues(arr2,mesh1.getNumberOfCells(),4);
         f1.setArray(array);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         #
         f2=f1.inverse();
-        f2.checkCoherency();
+        f2.checkConsistencyLight();
         self.assertEqual(4,f2.getNumberOfComponents());
         self.assertEqual(5,f2.getNumberOfTuples());
         expected2=[-1.8595041322314059, 0.9504132231404963, 1.404958677685951, -0.49586776859504156]
-        for i in xrange(5):
+        for i in range(5):
             self.assertAlmostEqual(expected2[0],f2.getIJ(i,0),13);
             self.assertAlmostEqual(expected2[1],f2.getIJ(i,1),13);
             self.assertAlmostEqual(expected2[2],f2.getIJ(i,2),13);
@@ -455,13 +457,13 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         arr1=[1.2,2.3,3.4,4.5,5.6,6.7,7.8,8.9,9.1, 1.2,2.3,3.4,4.5,5.6,6.7,7.8,8.9,9.1, 1.2,2.3,3.4,4.5,5.6,6.7,7.8,8.9,9.1, 1.2,2.3,3.4,4.5,5.6,6.7,7.8,8.9,9.1, 1.2,2.3,3.4,4.5,5.6,6.7,7.8,8.9,9.1]
         array.setValues(arr1,mesh1.getNumberOfCells(),9);
         f1.setArray(array);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         #
         f2=f1.trace();
-        f2.checkCoherency();
+        f2.checkConsistencyLight();
         self.assertEqual(1,f2.getNumberOfComponents());
         self.assertEqual(5,f2.getNumberOfTuples());
-        for i in xrange(5):
+        for i in range(5):
             self.assertAlmostEqual(15.9,f2.getIJ(i,0),13);
             pass
         #
@@ -469,13 +471,13 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         arr3=[7.8,8.9,9.1,10.2,23.4,34.5, 7.8,8.9,9.1,10.2,23.4,34.5, 7.8,8.9,9.1,10.2,23.4,34.5, 7.8,8.9,9.1,10.2,23.4,34.5, 7.8,8.9,9.1,10.2,23.4,34.5]
         array.setValues(arr3,mesh1.getNumberOfCells(),6);
         f1.setArray(array);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         #
         f2=f1.trace();
-        f2.checkCoherency();
+        f2.checkConsistencyLight();
         self.assertEqual(1,f2.getNumberOfComponents());
         self.assertEqual(5,f2.getNumberOfTuples());
-        for i in xrange(5):
+        for i in range(5):
             self.assertAlmostEqual(25.8,f2.getIJ(i,0),13);
             pass
         #
@@ -483,13 +485,13 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         arr2=[1.2,2.3,3.4,4.5, 1.2,2.3,3.4,4.5, 1.2,2.3,3.4,4.5, 1.2,2.3,3.4,4.5, 1.2,2.3,3.4,4.5]
         array.setValues(arr2,mesh1.getNumberOfCells(),4);
         f1.setArray(array);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         #
         f2=f1.trace();
-        f2.checkCoherency();
+        f2.checkConsistencyLight();
         self.assertEqual(1,f2.getNumberOfComponents());
         self.assertEqual(5,f2.getNumberOfTuples());
-        for i in xrange(5):
+        for i in range(5):
             self.assertAlmostEqual(5.7,f2.getIJ(i,0),13);
             pass
         #
@@ -503,14 +505,14 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         arr1=[1.2,2.3,3.4,4.5,5.6,6.7, 1.2,2.3,3.4,4.5,5.6,6.7, 1.2,2.3,3.4,4.5,5.6,6.7, 1.2,2.3,3.4,4.5,5.6,6.7, 1.2,2.3,3.4,4.5,5.6,6.7]
         array.setValues(arr1,mesh1.getNumberOfCells(),6);
         f1.setArray(array);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         #
         f2=f1.deviator();
-        f2.checkCoherency();
+        f2.checkConsistencyLight();
         self.assertEqual(6,f2.getNumberOfComponents());
         self.assertEqual(5,f2.getNumberOfTuples());
         expected1=[-1.1,0.,1.1,4.5,5.6,6.7]
-        for i in xrange(5):
+        for i in range(5):
             self.assertAlmostEqual(expected1[0],f2.getIJ(i,0),13);
             self.assertAlmostEqual(expected1[1],f2.getIJ(i,1),13);
             self.assertAlmostEqual(expected1[2],f2.getIJ(i,2),13);
@@ -529,13 +531,13 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         arr1=[1.2,2.3,3.4,4.5,5.6, 1.2,2.3,3.4,4.5,5.6, 1.2,2.3,3.4,4.5,5.6, 1.2,2.3,3.4,4.5,5.6, 1.2,2.3,3.4,4.5,5.6]
         array.setValues(arr1,mesh1.getNumberOfCells(),5);
         f1.setArray(array);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         #
         f2=f1.magnitude();
-        f2.checkCoherency();
+        f2.checkConsistencyLight();
         self.assertEqual(1,f2.getNumberOfComponents());
         self.assertEqual(5,f2.getNumberOfTuples());
-        for i in xrange(5):
+        for i in range(5):
             self.assertAlmostEqual(8.3606219864313918,f2.getIJ(i,0),13);
             pass
         #
@@ -549,20 +551,20 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         arr1=[1.2,2.3,3.4,4.5,5.6, 1.2,3.4,4.5,5.6,2.3, 3.4,4.5,5.6,1.2,2.3, 5.6,1.2,2.3,3.4,4.5, 4.5,5.6,1.2,2.3,3.4]
         array.setValues(arr1,mesh1.getNumberOfCells(),5);
         f1.setArray(array);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         #
         f2=f1.maxPerTuple();
-        f2.checkCoherency();
+        f2.checkConsistencyLight();
         self.assertEqual(1,f2.getNumberOfComponents());
         self.assertEqual(5,f2.getNumberOfTuples());
-        for i in xrange(5):
+        for i in range(5):
             self.assertAlmostEqual(5.6,f2.getIJ(i,0),13);
             pass
         #
         d2,d2I=array.maxPerTupleWithCompoId()
         self.assertEqual(1,d2.getNumberOfComponents());
         self.assertEqual(5,d2.getNumberOfTuples());
-        for i in xrange(5):
+        for i in range(5):
             self.assertAlmostEqual(5.6,d2.getIJ(i,0),13);
             pass
         self.assertTrue(d2I.isEqual(DataArrayInt([4,3,2,0,1])))
@@ -576,22 +578,22 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         arr1=[1.2,2.3,3.4,4.5,5.6, 1.2,3.4,4.5,5.6,2.3, 3.4,4.5,5.6,1.2,2.3, 5.6,1.2,2.3,3.4,4.5, 4.5,5.6,1.2,2.3,3.4]
         array.setValues(arr1,mesh1.getNumberOfCells(),5);
         f1.setArray(array);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         #
         f1.changeNbOfComponents(3,7.77);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         self.assertEqual(3,f1.getNumberOfComponents());
         self.assertEqual(5,f1.getNumberOfTuples());
         expected1=[1.2,2.3,3.4, 1.2,3.4,4.5, 3.4,4.5,5.6, 5.6,1.2,2.3, 4.5,5.6,1.2]
-        for i in xrange(15):
+        for i in range(15):
             self.assertAlmostEqual(expected1[i],f1.getIJ(0,i),13);
             pass
         f1.changeNbOfComponents(4,7.77);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         self.assertEqual(4,f1.getNumberOfComponents());
         self.assertEqual(5,f1.getNumberOfTuples());
         expected2=[1.2,2.3,3.4,7.77, 1.2,3.4,4.5,7.77, 3.4,4.5,5.6,7.77, 5.6,1.2,2.3,7.77, 4.5,5.6,1.2,7.77]
-        for i in xrange(20):
+        for i in range(20):
             self.assertAlmostEqual(expected2[i],f1.getIJ(0,i),13);
             pass
         #
@@ -605,13 +607,13 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         arr1=[1.2,2.3,3.4,4.5,5.6, 1.2,3.4,4.5,5.6,2.3, 3.4,4.5,5.6,1.2,2.3, 5.6,1.2,2.3,3.4,4.5, 4.5,5.6,1.2,2.3,3.4]
         array.setValues(arr1,mesh1.getNumberOfCells(),5);
         f1.setArray(array);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         #
         f1.sortPerTuple(True);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         self.assertEqual(5,f1.getNumberOfComponents());
         self.assertEqual(5,f1.getNumberOfTuples());
-        for i in xrange(5):
+        for i in range(5):
             self.assertAlmostEqual(arr1[0],f1.getIJ(i,0),13);
             self.assertAlmostEqual(arr1[1],f1.getIJ(i,1),13);
             self.assertAlmostEqual(arr1[2],f1.getIJ(i,2),13);
@@ -620,10 +622,10 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
             pass
         #
         f1.sortPerTuple(False);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         self.assertEqual(5,f1.getNumberOfComponents());
         self.assertEqual(5,f1.getNumberOfTuples());
-        for i in xrange(5):
+        for i in range(5):
             self.assertAlmostEqual(arr1[4],f1.getIJ(i,0),13);
             self.assertAlmostEqual(arr1[3],f1.getIJ(i,1),13);
             self.assertAlmostEqual(arr1[2],f1.getIJ(i,2),13);
@@ -700,7 +702,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertTrue(f1.isEqualWithoutConsideringStr(f2,1e-12,1e-12));
         #
         pass
-    
+
     def testGetNodeIdsOfCell1(self):
         mesh1=MEDCouplingDataForTest.build2DTargetMesh_1();
         li=mesh1.getNodeIdsOfCell(1)
@@ -726,7 +728,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(5,f1.getNumberOfTuples());
         self.assertEqual(1,f1.getNumberOfComponents());
         expected1=[1.,1.4142135623730951, 1.4142135623730951,1.,1.]
-        for i in xrange(5):
+        for i in range(5):
             self.assertAlmostEqual(expected1[i],f1.getIJ(i,0),14);
             pass
         #
@@ -736,7 +738,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(5,f1.getNumberOfTuples());
         self.assertEqual(1,f1.getNumberOfComponents());
         expected2=[1.4142135623730951, 1.7320508075688772, 1.7320508075688772, 1.4142135623730951, 1.4142135623730951]
-        for i in xrange(5):
+        for i in range(5):
             self.assertAlmostEqual(expected2[i],f1.getIJ(i,0),14);
             pass
         pass
@@ -748,7 +750,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         f1.setMesh(m)
         f1.setName("myField");
         f1.fillFromAnalytic(1,"y+x");
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         self.assertEqual(f1.getName(),"myField");
         self.assertEqual(f1.getTypeOfField(),ON_CELLS);
         self.assertEqual(f1.getTimeDiscretization(),ONE_TIME);
@@ -757,7 +759,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         values1=[-0.1,0.23333333333333336,0.56666666666666665,0.4,0.9]
         tmp=f1.getArray().getValues();
         self.assertEqual(len(values1),len(tmp))
-        for i in xrange(len(values1)):
+        for i in range(len(values1)):
             self.assertTrue(abs(values1[i]-tmp[i])<1.e-12);
             pass
         #
@@ -765,7 +767,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         f1.setMesh(m)
         f1.fillFromAnalytic(1,"y+2*x");
         f1.setEndTime(1.2,3,4);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         self.assertEqual(f1.getTypeOfField(),ON_NODES);
         self.assertEqual(f1.getTimeDiscretization(),CONST_ON_TIME_INTERVAL);
         self.assertEqual(1,f1.getNumberOfComponents());
@@ -773,14 +775,14 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         values2=[-0.9,0.1,1.1,-0.4,0.6,1.6,0.1,1.1,2.1]
         tmp=f1.getArray().getValues();
         self.assertEqual(len(values2),len(tmp))
-        for i in xrange(len(values2)):
+        for i in range(len(values2)):
             self.assertTrue(abs(values2[i]-tmp[i])<1.e-12);
             pass
         f1=MEDCouplingFieldDouble.New(ON_NODES,LINEAR_TIME);
         f1.setMesh(m)
         f1.fillFromAnalytic(1,"2.*x+y");
         f1.setEndTime(1.2,3,4);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         self.assertEqual(f1.getTypeOfField(),ON_NODES);
         self.assertEqual(f1.getTimeDiscretization(),LINEAR_TIME);
         self.assertEqual(1,f1.getNumberOfComponents());
@@ -788,19 +790,19 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         tmp=f1.getArray().getValues();
         values2Bis=[-0.9,0.1,1.1,-0.4,0.6,1.6,0.1,1.1,2.1]
         self.assertEqual(len(values2Bis),len(tmp))
-        for i in xrange(len(values2Bis)):
+        for i in range(len(values2Bis)):
             self.assertTrue(abs(values2Bis[i]-tmp[i])<1.e-12);
             pass
         tmp=f1.getEndArray().getValues();
         self.assertEqual(len(values2Bis),len(tmp))
-        for i in xrange(len(values2Bis)):
+        for i in range(len(values2Bis)):
             self.assertTrue(abs(values2Bis[i]-tmp[i])<1.e-12);
             pass
         #
         f1=MEDCouplingFieldDouble.New(ON_NODES,ONE_TIME);
         f1.setMesh(m)
         f1.fillFromAnalytic(2,"(x+y)*IVec+2*(x+y)*JVec");
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         self.assertEqual(f1.getTypeOfField(),ON_NODES);
         self.assertEqual(f1.getTimeDiscretization(),ONE_TIME);
         self.assertEqual(2,f1.getNumberOfComponents());
@@ -808,15 +810,15 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         values3=[-0.6,-1.2,-0.1,-0.2,0.4,0.8,-0.1,-0.2,0.4,0.8,0.9,1.8,0.4,0.8,0.9,1.8,1.4,2.8]
         tmp=f1.getArray().getValues();
         self.assertEqual(len(values3),len(tmp))
-        for i in xrange(len(values3)):
+        for i in range(len(values3)):
             self.assertTrue(abs(values3[i]-tmp[i])<1.e-12);
             pass
         values4=f1.accumulate();
         self.assertTrue(abs(3.6-values4[0])<1.e-12);
         self.assertTrue(abs(7.2-values4[1])<1.e-12);
         values4=f1.integral(True);
-        self.assertTrue(abs(0.5-values4[0])<1.e-12);
-        self.assertTrue(abs(1.-values4[1])<1.e-12);
+        self.assertTrue(abs(0.4-values4[0])<1.e-12);
+        self.assertTrue(abs(0.8-values4[1])<1.e-12);
         #
         f1=MEDCouplingFieldDouble.New(ON_NODES,NO_TIME);
         f1.setMesh(m);
@@ -829,17 +831,17 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertRaises(InterpKernelException,f1.assign,0.07);
         f1.setMesh(m);
         f1.assign(0.07);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         self.assertEqual(1,f1.getNumberOfComponents());
         self.assertEqual(5,f1.getNumberOfTuples());
-        for i in xrange(5):
+        for i in range(5):
             self.assertAlmostEqual(0.07,f1.getIJ(i,0),16);
             pass
         f1.assign(0.09);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         self.assertEqual(1,f1.getNumberOfComponents());
         self.assertEqual(5,f1.getNumberOfTuples());
-        for i in xrange(5):
+        for i in range(5):
             self.assertAlmostEqual(0.09,f1.getIJ(i,0),16);
             pass
         #
@@ -847,15 +849,15 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         f1.setEndTime(4.5,2,3);
         f1.setMesh(m);
         f1.assign(0.08);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         self.assertEqual(1,f1.getNumberOfComponents());
         self.assertEqual(9,f1.getNumberOfTuples());
-        for i in xrange(9):
+        for i in range(9):
             self.assertAlmostEqual(0.08,f1.getIJ(i,0),16);
             pass
         self.assertEqual(1,f1.getEndArray().getNumberOfComponents());
         self.assertEqual(9,f1.getEndArray().getNumberOfTuples());
-        for i in xrange(9):
+        for i in range(9):
             self.assertAlmostEqual(0.08,f1.getEndArray().getIJ(i,0),16);
             pass
         pass
@@ -871,7 +873,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
                         132.680430393685,255.37973247196,96.15235602819];
         volHexa8=3258520.29637466;
         baryHexa8=[43.925705821778, 155.31893955289, 65.874418109644]
-        
+
         coordsForPenta6=[-68.199829618726,178.938498373416,62.608505919588,
                          8.461744647847,76.653979804423,165.00018874933,
                          -27.273893776752,167.567731083961,192.830034145464,
@@ -880,7 +882,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
                          132.680430393685,255.37973247196,96.15235602819];
         volPenta6=944849.868507338;
         baryPenta6=[39.631002313543,182.692711783428,106.98540473964]
-        
+
         coordsForPyra5=[132.680430393685,255.37973247196,96.15235602819,
                         -27.273893776752,167.567731083961,192.830034145464,
                         8.461744647847,76.653979804423,165.00018874933,
@@ -901,7 +903,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         mesh.insertNextCell(NORM_PENTA6,6,[i+8 for i in tmpConn])
         mesh.insertNextCell(NORM_PYRA5,5,[i+14 for i in tmpConn])
         mesh.finishInsertingCells();
-        mesh.checkCoherency();
+        mesh.checkConsistencyLight();
         mesh.mergeNodes(1e-7)
         self.assertEqual(12,mesh.getNumberOfNodes());
         vols=mesh.getMeasureField(True);
@@ -910,7 +912,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertAlmostEqual(volHexa8,vols.getIJ(0,0),6);
         self.assertAlmostEqual(volPenta6,vols.getIJ(1,0),7);
         self.assertAlmostEqual(volPyra5,vols.getIJ(2,0),7);
-        bary=mesh.getBarycenterAndOwner();
+        bary=mesh.computeCellCenterOfMass();
         self.assertEqual(3,bary.getNumberOfTuples());
         self.assertEqual(3,bary.getNumberOfComponents());
         self.assertAlmostEqual(baryHexa8[0],bary.getIJ(0,0),11);
@@ -932,7 +934,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         discZ=[-0.7,1.2,1.25,2.13,2.67]
         da.setValues(discX,4,1);
         m.setCoordsAt(0,da);
-        m.checkCoherency();
+        m.checkConsistencyLight();
         self.assertEqual(4,m.getNumberOfNodes());
         self.assertEqual(3,m.getNumberOfCells());
         self.assertEqual(1,m.getSpaceDimension());
@@ -940,27 +942,27 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(3,f.getNumberOfTuples());
         self.assertEqual(1,f.getNumberOfComponents());
         expected1=[1.1,2.4,4.4]
-        for i in xrange(3):
+        for i in range(3):
             self.assertAlmostEqual(expected1[i],f.getIJ(i,0),12);
             pass
         coords=m.getCoordinatesAndOwner();
         self.assertEqual(4,coords.getNumberOfTuples());
         self.assertEqual(1,coords.getNumberOfComponents());
-        for i in xrange(4):
+        for i in range(4):
             self.assertAlmostEqual(discX[i],coords.getIJ(i,0),12);
             pass
-        coords=m.getBarycenterAndOwner();
+        coords=m.computeCellCenterOfMass();
         self.assertEqual(3,coords.getNumberOfTuples());
         self.assertEqual(1,coords.getNumberOfComponents());
         expected1_3=[2.85,4.6,8.]
-        for i in xrange(3):
+        for i in range(3):
             self.assertAlmostEqual(expected1_3[i],coords.getIJ(i,0),12);
             pass
         #
         da=DataArrayDouble.New();
         da.setValues(discY,3,1);
         m.setCoordsAt(1,da);
-        m.checkCoherency();
+        m.checkConsistencyLight();
         self.assertEqual(12,m.getNumberOfNodes());
         self.assertEqual(6,m.getNumberOfCells());
         self.assertEqual(2,m.getSpaceDimension());
@@ -968,28 +970,28 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(6,f.getNumberOfTuples());
         self.assertEqual(1,f.getNumberOfComponents());
         expected2=[12.21,26.64,48.84,24.64,53.76,98.56]
-        for i in xrange(6):
+        for i in range(6):
             self.assertAlmostEqual(expected2[i],f.getIJ(i,0),12);
             pass
         coords=m.getCoordinatesAndOwner();
         self.assertEqual(12,coords.getNumberOfTuples());
         self.assertEqual(2,coords.getNumberOfComponents());
         expected2_2=[2.3,12.3,3.4,12.3,5.8,12.3,10.2,12.3, 2.3,23.4,3.4,23.4,5.8,23.4,10.2,23.4, 2.3,45.8,3.4,45.8,5.8,45.8,10.2,45.8]
-        for i in xrange(24):
+        for i in range(24):
             self.assertAlmostEqual(expected2_2[i],coords.getIJ(0,i),12);
             pass
-        coords=m.getBarycenterAndOwner();
+        coords=m.computeCellCenterOfMass();
         self.assertEqual(6,coords.getNumberOfTuples());
         self.assertEqual(2,coords.getNumberOfComponents());
         expected2_3=[2.85,17.85,4.6,17.85,8.,17.85, 2.85,34.6,4.6,34.6,8.,34.6]
-        for i in xrange(12):
+        for i in range(12):
             self.assertAlmostEqual(expected2_3[i],coords.getIJ(0,i),12);
             pass
         #
         da=DataArrayDouble.New();
         da.setValues(discZ,5,1);
         m.setCoordsAt(2,da);
-        m.checkCoherency();
+        m.checkConsistencyLight();
         self.assertEqual(60,m.getNumberOfNodes());
         self.assertEqual(24,m.getNumberOfCells());
         self.assertEqual(3,m.getSpaceDimension());
@@ -997,7 +999,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(24,f.getNumberOfTuples());
         self.assertEqual(1,f.getNumberOfComponents());
         expected3=[23.199, 50.616, 92.796, 46.816, 102.144, 187.264, 0.6105, 1.332, 2.442, 1.232, 2.688, 4.928, 10.7448, 23.4432, 42.9792, 21.6832, 47.3088, 86.7328, 6.5934, 14.3856, 26.3736, 13.3056, 29.0304, 53.2224]
-        for i in xrange(24):
+        for i in range(24):
             self.assertAlmostEqual(expected3[i],f.getIJ(i,0),12);
             pass
         coords=m.getCoordinatesAndOwner();
@@ -1009,10 +1011,10 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
             2.3,12.3,1.25, 3.4,12.3,1.25, 5.8,12.3,1.25, 10.2,12.3,1.25, 2.3,23.4,1.25, 3.4,23.4,1.25, 5.8,23.4,1.25, 10.2,23.4,1.25, 2.3,45.8,1.25, 3.4,45.8,1.25, 5.8,45.8,1.25, 10.2,45.8,1.25,
             2.3,12.3,2.13, 3.4,12.3,2.13, 5.8,12.3,2.13, 10.2,12.3,2.13, 2.3,23.4,2.13, 3.4,23.4,2.13, 5.8,23.4,2.13, 10.2,23.4,2.13, 2.3,45.8,2.13, 3.4,45.8,2.13, 5.8,45.8,2.13, 10.2,45.8,2.13,
             2.3,12.3,2.67, 3.4,12.3,2.67, 5.8,12.3,2.67, 10.2,12.3,2.67, 2.3,23.4,2.67, 3.4,23.4,2.67, 5.8,23.4,2.67, 10.2,23.4,2.67, 2.3,45.8,2.67, 3.4,45.8,2.67, 5.8,45.8,2.67, 10.2,45.8,2.67];
-        for i in xrange(180):
+        for i in range(180):
             self.assertAlmostEqual(expected3_2[i],coords.getIJ(0,i),12);
             pass
-        coords=m.getBarycenterAndOwner();
+        coords=m.computeCellCenterOfMass();
         self.assertEqual(24,coords.getNumberOfTuples());
         self.assertEqual(3,coords.getNumberOfComponents());
         expected3_3=[
@@ -1020,7 +1022,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
             2.85,17.85,1.225,4.6,17.85,1.225,8.,17.85,1.225, 2.85,34.6,1.225,4.6,34.6,1.225,8.,34.6,1.225,
             2.85,17.85,1.69,4.6,17.85,1.69,8.,17.85,1.69, 2.85,34.6,1.69,4.6,34.6,1.69,8.,34.6,1.69,
             2.85,17.85,2.4,4.6,17.85,2.4,8.,17.85,2.4, 2.85,34.6,2.4,4.6,34.6,2.4,8.,34.6,2.4];
-        for i in xrange(72):
+        for i in range(72):
             self.assertAlmostEqual(expected3_3[i],coords.getIJ(0,i),12);
             pass
         pass
@@ -1030,22 +1032,22 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         f=m.fillFromAnalytic(ON_NODES,2,"x*2.");
         f.getArray().setInfoOnComponent(0,"titi");
         f.getArray().setInfoOnComponent(1,"tutu");
-        f.checkCoherency();
+        f.checkConsistencyLight();
         self.assertEqual(18,f.getNumberOfTuples());
         self.assertEqual(2,f.getNumberOfComponents());
         expected1=[-0.6, -0.6, 0.4, 0.4, 1.4, 1.4, -0.6, -0.6, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 1.4, 1.4, -0.6, -0.6, 0.4, 0.4, 1.4, 1.4, -0.6, -0.6, 1.4, 1.4, -0.6, -0.6, 0.4, 0.4, 1.4, 1.4, 0.4, 0.4]
-        for i in xrange(36):
+        for i in range(36):
             self.assertAlmostEqual(expected1[i],f.getIJ(0,i),12);
             pass
         self.assertTrue(f.zipCoords());
-        f.checkCoherency();
+        f.checkConsistencyLight();
         expected2=[-0.6, -0.6, 1.4, 1.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 1.4, 1.4, -0.6, -0.6, 0.4, 0.4, 1.4, 1.4, 1.4, 1.4, -0.6, -0.6, 0.4, 0.4, 1.4, 1.4, 0.4, 0.4]
-        for i in xrange(30):
+        for i in range(30):
             self.assertAlmostEqual(expected2[i],f.getIJ(0,i),12);
             pass
         self.assertTrue(not f.zipCoords());
-        f.checkCoherency();
-        for i in xrange(30):
+        f.checkConsistencyLight();
+        for i in range(30):
             self.assertAlmostEqual(expected2[i],f.getIJ(0,i),12);
             pass
         self.assertTrue(f.getArray().getInfoOnComponent(0)=="titi");
@@ -1073,18 +1075,18 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         expected1=[-0.05, -0.05, 0.3666666666666667, 0.3666666666666667, 0.53333333333333321, 0.53333333333333321,
                    -0.05, -0.05, 0.45, 0.45, 0.53333333333333321, 0.53333333333333321, -0.05, -0.05, 0.45, 0.45,
                    0.36666666666666659, 0.36666666666666659, 0.033333333333333326, 0.033333333333333326];
-        for i in xrange(20):
+        for i in range(20):
             self.assertAlmostEqual(expected1[i],f.getIJ(0,i),12);
             pass
         f.getArray().setInfoOnComponent(0,"titi");
         f.getArray().setInfoOnComponent(1,"tutu");
-        f.checkCoherency();
+        f.checkConsistencyLight();
         self.assertTrue(f.zipConnectivity(0));
         expected2=[-0.05, -0.05, 0.3666666666666667, 0.3666666666666667, 0.53333333333333321, 0.53333333333333321,
                    -0.05, -0.05, 0.45, 0.45, 0.36666666666666659, 0.36666666666666659, 0.033333333333333326, 0.033333333333333326];
         self.assertEqual(7,f.getNumberOfTuples());
         self.assertEqual(2,f.getNumberOfComponents());
-        for i in xrange(14):
+        for i in range(14):
             self.assertAlmostEqual(expected2[i],f.getIJ(0,i),12);
             pass
         self.assertTrue(f.getArray().getInfoOnComponent(0)=="titi");
@@ -1095,13 +1097,13 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
                    -0.3, -0.3, 0.2, 0.2, 0.7, 0.7];
         self.assertEqual(9,f2.getNumberOfTuples());
         self.assertEqual(2,f2.getNumberOfComponents());
-        for i in xrange(18):
+        for i in range(18):
             self.assertAlmostEqual(expected3[i],f2.getIJ(0,i),12);
             pass
         self.assertTrue(f2.zipConnectivity(0));
         self.assertEqual(9,f2.getNumberOfTuples());
         self.assertEqual(2,f2.getNumberOfComponents());
-        for i in xrange(18):
+        for i in range(18):
             self.assertAlmostEqual(expected3[i],f2.getIJ(0,i),12);
             pass
         pass
@@ -1120,7 +1122,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertTrue(b.getInfoOnComponent(0)=="toto");
         self.assertTrue(b.getInfoOnComponent(1)=="tata");
         expected1=[3.1, 13.1, 2.1, 12.1, 7.1, 17.1, 1.1, 11.1, 6.1, 16.1, 5.1, 15.1, 4.1, 14.1]
-        for i in xrange(14):
+        for i in range(14):
             self.assertAlmostEqual(expected1[i],b.getIJ(0,i),14);
             pass
         #
@@ -1135,7 +1137,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertTrue(d.getInfoOnComponent(0)=="toto");
         self.assertTrue(d.getInfoOnComponent(1)=="tata");
         expected2=[3, 13, 2, 12, 7, 17, 1, 11, 6, 16, 5, 15, 4, 14]
-        for i in xrange(14):
+        for i in range(14):
             self.assertEqual(expected2[i],d.getIJ(0,i));
             pass
         pass
@@ -1154,7 +1156,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertTrue(b.getInfoOnComponent(0)=="toto");
         self.assertTrue(b.getInfoOnComponent(1)=="tata");
         expected1=[5.1,15.1,3.1,13.1,1.1,11.1,7.1,17.1,6.1,16.1]
-        for i in xrange(10):
+        for i in range(10):
             self.assertAlmostEqual(expected1[i],b.getIJ(0,i),14);
             pass
         #
@@ -1169,7 +1171,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertTrue(d.getInfoOnComponent(0)=="toto");
         self.assertTrue(d.getInfoOnComponent(1)=="tata");
         expected2=[5,15,3,13,1,11,7,17,6,16]
-        for i in xrange(10):
+        for i in range(10):
             self.assertEqual(expected2[i],d.getIJ(0,i));
             pass
         pass
@@ -1184,7 +1186,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(7,a.getNumberOfTuples());
         self.assertEqual(2,a.getNumberOfComponents());
         expected1=[3.1, 13.1, 2.1, 12.1, 7.1, 17.1, 1.1, 11.1, 6.1, 16.1, 5.1, 15.1, 4.1, 14.1]
-        for i in xrange(14):
+        for i in range(14):
             self.assertAlmostEqual(expected1[i],a.getIJ(0,i),14);
             pass
         #
@@ -1195,7 +1197,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(7,c.getNumberOfTuples());
         self.assertEqual(2,c.getNumberOfComponents());
         expected2=[3, 13, 2, 12, 7, 17, 1, 11, 6, 16, 5, 15, 4, 14]
-        for i in xrange(14):
+        for i in range(14):
             self.assertEqual(expected2[i],c.getIJ(0,i));
             pass
         pass
@@ -1214,7 +1216,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertTrue(b.getInfoOnComponent(0)=="toto");
         self.assertTrue(b.getInfoOnComponent(1)=="tata");
         expected1=[4.1, 14.1, 2.1, 12.1, 1.1, 11.1, 7.1, 17.1, 6.1, 16.1, 5.1, 15.1, 3.1, 13.1]
-        for i in xrange(14):
+        for i in range(14):
             self.assertAlmostEqual(expected1[i],b.getIJ(0,i),14);
             pass
         #
@@ -1229,7 +1231,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertTrue(d.getInfoOnComponent(0)=="toto");
         self.assertTrue(d.getInfoOnComponent(1)=="tata");
         expected2=[4, 14, 2, 12, 1, 11, 7, 17, 6, 16, 5, 15, 3, 13]
-        for i in xrange(14):
+        for i in range(14):
             self.assertEqual(expected2[i],d.getIJ(0,i));
             pass
         pass
@@ -1244,7 +1246,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(7,a.getNumberOfTuples());
         self.assertEqual(2,a.getNumberOfComponents());
         expected1=[4.1, 14.1, 2.1, 12.1, 1.1, 11.1, 7.1, 17.1, 6.1, 16.1, 5.1, 15.1, 3.1, 13.1]
-        for i in xrange(14):
+        for i in range(14):
             self.assertAlmostEqual(expected1[i],a.getIJ(0,i),14);
             pass
         #
@@ -1255,7 +1257,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(7,c.getNumberOfTuples());
         self.assertEqual(2,c.getNumberOfComponents());
         expected2=[4, 14, 2, 12, 1, 11, 7, 17, 6, 16, 5, 15, 3, 13]
-        for i in xrange(14):
+        for i in range(14):
             self.assertEqual(expected2[i],c.getIJ(0,i));
             pass
         pass
@@ -1274,7 +1276,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertTrue(b.getInfoOnComponent(0)=="toto");
         self.assertTrue(b.getInfoOnComponent(1)=="tata");
         expected1=[5.1,15.1,3.1,13.1,1.1,11.1,7.1,17.1,6.1,16.1]
-        for i in xrange(10):
+        for i in range(10):
             self.assertAlmostEqual(expected1[i],b.getIJ(0,i),14);
             pass
         #
@@ -1289,7 +1291,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertTrue(d.getInfoOnComponent(0)=="toto");
         self.assertTrue(d.getInfoOnComponent(1)=="tata");
         expected2=[5,15,3,13,1,11,7,17,6,16]
-        for i in xrange(10):
+        for i in range(10):
             self.assertEqual(expected2[i],d.getIJ(0,i));
             pass
         pass
@@ -1306,7 +1308,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(3,ws.getNumberOfTuples());
         self.assertEqual(1,ws.getNumberOfComponents());
         expected1=[1,4,8]
-        for i in xrange(3):
+        for i in range(3):
             self.assertEqual(expected1[i],ws.getIJ(i,0));
             pass
         a=DataArrayDouble.New();
@@ -1319,7 +1321,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertAlmostEqual(-4.56,m,12);
         self.assertEqual(3,ws.getNumberOfTuples());
         self.assertEqual(1,ws.getNumberOfComponents());
-        for i in xrange(3):
+        for i in range(3):
             self.assertEqual(expected1[i],ws.getIJ(i,0));
             pass
         pass
@@ -1334,7 +1336,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         f.setArray(a);
         f.setMesh(m2);
         #
-        f.checkCoherency();
+        f.checkConsistencyLight();
         m=f.getMaxValue();
         self.assertAlmostEqual(8.71,m,12);
         m,ws=f.getMaxValue2();
@@ -1342,20 +1344,20 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(4,ws.getNumberOfTuples());
         self.assertEqual(1,ws.getNumberOfComponents());
         expected1=[0,3,7,17]
-        for i in xrange(4):
+        for i in range(4):
             self.assertEqual(expected1[i],ws.getIJ(i,0));
             pass
         #
         arr2=[-8.71,-4.53,12.41,-8.71,8.71,-8.7099,-4.55,-8.71,-5.55,-6.77,1e-200,-4.55,-8.7099,0.,-1.23,0.,-2.22,-8.71]
         a.setValues(arr2,18,1);
-        f.checkCoherency();
+        f.checkConsistencyLight();
         m=f.getMinValue();
         self.assertAlmostEqual(-8.71,m,12);
         m,ws=f.getMinValue2();
         self.assertAlmostEqual(-8.71,m,12);
         self.assertEqual(4,ws.getNumberOfTuples());
         self.assertEqual(1,ws.getNumberOfComponents());
-        for i in xrange(4):
+        for i in range(4):
             self.assertEqual(expected1[i],ws.getIJ(i,0));
             pass
         pass
@@ -1368,7 +1370,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         discZ=[-0.7,1.2,1.25,2.13,2.67]
         da.setValues(discX,4,1);
         m.setCoordsAt(0,da);
-        m.checkCoherency();
+        m.checkConsistencyLight();
         self.assertEqual(0,m.getCellContainingPoint([2.4],1e-12));
         self.assertEqual(1,m.getCellContainingPoint([3.7],1e-12));
         self.assertEqual(2,m.getCellContainingPoint([5.9],1e-12));
@@ -1376,7 +1378,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(-1,m.getCellContainingPoint([1.3],1e-12));
         #
         m2=m.buildUnstructured();
-        m2.checkCoherency();
+        m2.checkConsistencyLight();
         f1=m.getMeasureField(False);
         f2=m2.getMeasureField(False);
         self.assertTrue(isinstance(f1.getMesh(),MEDCouplingCMesh))
@@ -1384,7 +1386,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(f2.getNumberOfTuples(),3);
         self.assertEqual(1,m2.getMeshDimension());
         self.assertEqual(1,m2.getSpaceDimension());
-        for i in xrange(3):
+        for i in range(3):
             self.assertAlmostEqual(f1.getIJ(i,0),f2.getIJ(i,0),10);
             pass
         da=DataArrayDouble.New();
@@ -1392,14 +1394,14 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         m.setCoordsAt(1,da);
         #
         m2=m.buildUnstructured();
-        m2.checkCoherency();
+        m2.checkConsistencyLight();
         f1=m.getMeasureField(False);
         f2=m2.getMeasureField(False);
         self.assertEqual(f1.getNumberOfTuples(),6);
         self.assertEqual(f2.getNumberOfTuples(),6);
         self.assertEqual(2,m2.getMeshDimension());
         self.assertEqual(2,m2.getSpaceDimension());
-        for i in xrange(6):
+        for i in range(6):
             self.assertAlmostEqual(f1.getIJ(i,0),f2.getIJ(i,0),10);
             pass
         #
@@ -1407,14 +1409,14 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         da.setValues(discZ,5,1);
         m.setCoordsAt(2,da);
         m2=m.buildUnstructured();
-        m2.checkCoherency();
+        m2.checkConsistencyLight();
         f1=m.getMeasureField(False);
         f2=m2.getMeasureField(False);
         self.assertEqual(f1.getNumberOfTuples(),24);
         self.assertEqual(f2.getNumberOfTuples(),24);
         self.assertEqual(3,m2.getMeshDimension());
         self.assertEqual(3,m2.getSpaceDimension());
-        for i in xrange(24):
+        for i in range(24):
             self.assertAlmostEqual(f1.getIJ(i,0),f2.getIJ(i,0),10);
             pass
         #
@@ -1439,11 +1441,11 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(6,da2.getNumberOfTuples());
         self.assertEqual(1,da2.getNumberOfComponents());
         expected1=[1,3,0,5,2,4]
-        for i in xrange(6):
+        for i in range(6):
             self.assertEqual(expected1[i],da2.getIJ(i,0));
             pass
         da3=da2.invertArrayN2O2O2N(6);
-        for i in xrange(6):
+        for i in range(6):
             self.assertEqual(arr1[i],da3.getIJ(i,0));
             pass
         #
@@ -1454,22 +1456,22 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(6,da2.getNumberOfTuples());
         self.assertEqual(1,da2.getNumberOfComponents());
         expected2=[5,7,8,0,3,2]
-        for i in xrange(6):
+        for i in range(6):
             self.assertEqual(expected2[i],da2.getIJ(i,0));
             pass
         da3=da2.invertArrayN2O2O2N(10);
-        for i in xrange(10):
+        for i in range(10):
             self.assertEqual(arr2[i],da3.getIJ(i,0));
             pass
         pass
-    
+
     def testKeepSetSelectedComponent1(self):
         arr1=[1.,2.,3.,4., 11.,12.,13.,14., 21.,22.,23.,24., 31.,32.,33.,34., 41.,42.,43.,44.]
         a1=DataArrayDouble.New();
         a1.setValues(arr1,5,4);
         expp=[21.,22.,23.,24.]
         self.assertEqual(4,len(a1.getTuple(2)));
-        for i in xrange(4):
+        for i in range(4):
             self.assertAlmostEqual(expp[i],a1.getTuple(2)[i],12)
             pass
         a1.setInfoOnComponent(0,"aaaa");
@@ -1487,7 +1489,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertTrue(a2.getInfoOnComponent(4)=="aaaa");
         self.assertTrue(a2.getInfoOnComponent(5)=="aaaa");
         expected1=[2.,3.,2.,3.,1.,1., 12.,13.,12.,13.,11.,11., 22.,23.,22.,23.,21.,21., 32.,33.,32.,33.,31.,31., 42.,43.,42.,43.,41.,41.]
-        for i in xrange(30):
+        for i in range(30):
             self.assertAlmostEqual(expected1[i],a2.getIJ(0,i),14);
             pass
         a3=a1.convertToIntArr();
@@ -1501,7 +1503,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertTrue(a4.getInfoOnComponent(3)=="cccc");
         self.assertTrue(a4.getInfoOnComponent(4)=="aaaa");
         self.assertTrue(a4.getInfoOnComponent(5)=="aaaa");
-        for i in xrange(30):
+        for i in range(30):
             self.assertEqual(int(expected1[i]),a4.getIJ(0,i));
             pass
         # setSelectedComponents
@@ -1520,7 +1522,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertTrue(a2.getInfoOnComponent(4)=="aaaa");
         self.assertTrue(a2.getInfoOnComponent(5)=="aaaa");
         expected2=[2.,4.,3.,3.,1.,1., 12.,14.,13.,13.,11.,11., 22.,24.,23.,23.,21.,21., 32.,34.,33.,33.,31.,31., 42.,44.,43.,43.,41.,41.]
-        for i in xrange(30):
+        for i in range(30):
             self.assertAlmostEqual(expected2[i],a2.getIJ(0,i),14);
             pass
         a6=a5.convertToIntArr();
@@ -1535,7 +1537,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertTrue(a4.getInfoOnComponent(3)=="cccc");
         self.assertTrue(a4.getInfoOnComponent(4)=="aaaa");
         self.assertTrue(a4.getInfoOnComponent(5)=="aaaa");
-        for i in xrange(30):
+        for i in range(30):
             self.assertEqual(int(expected2[i]),a4.getIJ(0,i));
             pass
         # test of throw
@@ -1564,7 +1566,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         f1.setMesh(m1);
         f1.setName("f1");
         f1.setArray(a1);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         #
         arr2V=[1,2,1,2,0,0]
         f2=f1.keepSelectedComponents(arr2V);
@@ -1573,7 +1575,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertAlmostEqual(2.3,t,13);
         self.assertEqual(4,dt);
         self.assertEqual(5,it);
-        f2.checkCoherency();
+        f2.checkConsistencyLight();
         self.assertEqual(6,f2.getNumberOfComponents());
         self.assertEqual(5,f2.getNumberOfTuples());
         self.assertTrue(f2.getArray().getInfoOnComponent(0)=="bbbb");
@@ -1583,7 +1585,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertTrue(f2.getArray().getInfoOnComponent(4)=="aaaa");
         self.assertTrue(f2.getArray().getInfoOnComponent(5)=="aaaa");
         expected1=[2.,3.,2.,3.,1.,1., 12.,13.,12.,13.,11.,11., 22.,23.,22.,23.,21.,21., 32.,33.,32.,33.,31.,31., 42.,43.,42.,43.,41.,41.]
-        for i in xrange(30):
+        for i in range(30):
             self.assertAlmostEqual(expected1[i],f2.getIJ(0,i),14);
             pass
         #setSelectedComponents
@@ -1592,12 +1594,12 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         f5.setTime(6.7,8,9);
         f5.getArray().setInfoOnComponent(0,"eeee");
         f5.getArray().setInfoOnComponent(1,"ffff");
-        f5.checkCoherency();
+        f5.checkConsistencyLight();
         arr4V=[1,2]
         f2.setSelectedComponents(f5,arr4V);
         self.assertEqual(6,f2.getNumberOfComponents());
         self.assertEqual(5,f2.getNumberOfTuples());
-        f2.checkCoherency();
+        f2.checkConsistencyLight();
         t,dt,it=f2.getTime()
         self.assertAlmostEqual(2.3,t,13);
         self.assertEqual(4,dt);
@@ -1609,12 +1611,12 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertTrue(f2.getArray().getInfoOnComponent(4)=="aaaa");
         self.assertTrue(f2.getArray().getInfoOnComponent(5)=="aaaa");
         expected2=[2.,4.,3.,3.,1.,1., 12.,14.,13.,13.,11.,11., 22.,24.,23.,23.,21.,21., 32.,34.,33.,33.,31.,31., 42.,44.,43.,43.,41.,41.]
-        for i in xrange(30):
+        for i in range(30):
             self.assertAlmostEqual(expected2[i],f2.getIJ(0,i),14);
             pass
         #
         pass
-    
+
     def testElementaryDAThrowAndSpecialCases(self):
         da=DataArrayInt.New();
         self.assertRaises(InterpKernelException, da.checkAllocated);
@@ -1623,16 +1625,16 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         da.alloc(7,1);
         da.fillWithValue(11); #11,11,11,11...
         da.iota(10); #10,11,12,13...
-        
+
         db=DataArrayInt.New();
         db.alloc(7,2);
-        
+
         dbl2=DataArrayDouble.New();
         dbl2.alloc(7,2);
         self.assertRaises(InterpKernelException, dbl2.isUniform, 10., 1e-15);
         self.assertRaises(InterpKernelException, dbl2.sort);
         self.assertRaises(InterpKernelException, dbl2.iota, 10.);
-        
+
         dbl=DataArrayDouble.New();
         #DataArrayDouble not allocated yet
         self.assertRaises(InterpKernelException, dbl.iota, 10.);
@@ -1640,7 +1642,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertRaises(InterpKernelException, dbl.sort);
         self.assertRaises(InterpKernelException, dbl.fromNoInterlace);
         self.assertRaises(InterpKernelException, dbl.toNoInterlace);
-        
+
         dbl.alloc(7,1);
         dbl.iota(10.);
         self.assertTrue(not dbl.isUniform(10.,1e-15));
@@ -1653,16 +1655,16 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertTrue(dbl.isMonotonic(False, .99));
         self.assertTrue(not dbl.isMonotonic(False, 1.1));
         self.assertTrue(not dbl.isMonotonic(False, -1.1));
-        
+
         dc=DataArrayInt.New();
         dc.alloc(14,1);
-        
+
         dd=DataArrayDouble.New();
         self.assertRaises(InterpKernelException, dd.checkAllocated);
         self.assertRaises(InterpKernelException, dd.fillWithValue, 1.);
         self.assertRaises(InterpKernelException, dd.iota, 1.);
         self.assertTrue(not ((dd.repr().find("No data"))==-1));
-        
+
         dd.alloc(0,1); #Allocated but nbOfElements==0!
         self.assertTrue(not ((dd.repr().find("Number of tuples : 0"))==-1));
         self.assertTrue(not ((dd.repr().find("Empty Data"))==-1));
@@ -1670,7 +1672,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         dd.iota(10); #?!...ok
         self.assertTrue(dd.isMonotonic(True, 1.));  #nothing is monotonic
         self.assertTrue(dd.isMonotonic(False, 1.));
-        
+
         self.assertRaises(InterpKernelException, db.copyStringInfoFrom, da);
         self.assertRaises(InterpKernelException, db.copyStringInfoFrom, da);
         cIds=[2,2]
@@ -1678,12 +1680,12 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         cIds[0]=1;
         cIds[0]=-1;
         self.assertRaises(InterpKernelException, da.copyPartOfStringInfoFrom, db, cIds);
-        
+
         info=["infoOfOneComponent"]*2;
         self.assertRaises(InterpKernelException, da.setInfoOnComponents, info);
         self.assertRaises(InterpKernelException, da.setInfoOnComponent, 1, info[0]);
         db.setInfoOnComponents(info);
-        
+
         self.assertRaises(InterpKernelException, da.getInfoOnComponent, -1);
         self.assertRaises(InterpKernelException, da.getInfoOnComponent, 2);
         self.assertTrue(db.getInfoOnComponent(1)==db.getInfoOnComponent(0));
@@ -1691,50 +1693,50 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertRaises(InterpKernelException, db.getVarOnComponent, 2);
         self.assertRaises(InterpKernelException, db.getUnitOnComponent, -1);
         self.assertRaises(InterpKernelException, db.getUnitOnComponent, 2);
-        
+
         self.assertTrue(da.GetVarNameFromInfo("varname unit ")=="varname unit ");
         self.assertTrue(da.GetVarNameFromInfo("varname]unit[")=="varname]unit[");
         self.assertTrue(da.GetVarNameFromInfo("[unit]")=="");
         self.assertTrue(da.GetVarNameFromInfo("varname [unit]")=="varname");
-        
+
         self.assertTrue(da.GetUnitFromInfo("varname unit ")=="");
         self.assertTrue(da.GetUnitFromInfo("varname]unit[")=="");
         self.assertTrue(da.GetUnitFromInfo("[unit]")=="unit");
         self.assertTrue(da.GetUnitFromInfo("varname [unit]")=="unit");
-        
+
         self.assertRaises(InterpKernelException, da.checkNbOfTuplesAndComp, db, "theMessageInThrow");
         self.assertRaises(InterpKernelException, da.checkNbOfTuplesAndComp, dc, "theMessageInThrow");
         self.assertRaises(InterpKernelException, db.checkNbOfTuplesAndComp, dc, "theMessageInThrow");
-        
+
         self.assertRaises(InterpKernelException, da.checkNbOfTuplesAndComp, 7, 2, "theMessageInThrow");
         da.checkNbOfTuplesAndComp(7,1,"theMessageInThrow");
-        
+
         self.assertRaises(InterpKernelException, db.checkNbOfElems, 7*2+1, "theMessageInThrow");
         db.checkNbOfElems(7*2,"theMessageInThrow");
-        
+
         self.assertRaises(InterpKernelException, db.GetNumberOfItemGivenBES, 10, 9, 1, "theMessageInThrow");
         self.assertRaises(InterpKernelException, db.GetNumberOfItemGivenBES, 0, 1, -1, "theMessageInThrow");
         self.assertEqual(10,db.GetNumberOfItemGivenBES(0,10,1,"theMessageInThrow"));
         self.assertEqual(5,db.GetNumberOfItemGivenBES(0,10,2,"theMessageInThrow"));
         self.assertEqual(6,db.GetNumberOfItemGivenBES(0,11,2,"theMessageInThrow"));
-        
+
         self.assertTrue(not ((da.repr().find("Number of components : 1"))==-1));
         self.assertTrue(not ((dd.repr().find("Number of components : 1"))==-1));
         self.assertTrue(not ((dbl.repr().find("Number of components : 1"))==-1));
-        
+
         self.assertTrue(not ((da.reprZip().find("Number of components : 1"))==-1));
         self.assertTrue(not ((dd.reprZip().find("Number of components : 1"))==-1));
         self.assertTrue(not ((dbl.reprZip().find("Number of components : 1"))==-1));
-        
-        self.assertRaises(InterpKernelException, dbl.selectByTupleId2, 0, 1, -1);
-        self.assertRaises(InterpKernelException, dbl.substr, -1, 1);
-        self.assertRaises(InterpKernelException, dbl.substr, 8, 1);
-        self.assertRaises(InterpKernelException, dbl.substr, 0, 8);
+
+        self.assertRaises(InterpKernelException, dbl.selectByTupleIdSafeSlice, 0, 1, -1);
+        self.assertRaises(InterpKernelException, dbl.subArray, -1, 1);
+        self.assertRaises(InterpKernelException, dbl.subArray, 8, 1);
+        self.assertRaises(InterpKernelException, dbl.subArray, 0, 8);
         self.assertRaises(InterpKernelException, dbl.meldWith, dd);
-        
+
         self.assertRaises(InterpKernelException, dbl.setPartOfValuesAdv, dbl2, da); #dbl dbl2 not have the same number of components
         self.assertRaises(InterpKernelException, dbl.setPartOfValuesAdv, dd, da);  #da tuple selector DataArrayInt instance not have exactly 2 components
-        
+
         dbl3=DataArrayDouble.New();
         dbl3.alloc(6,2);
         dbl3.fillWithValue(11.);
@@ -1756,32 +1758,32 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertRaises(InterpKernelException, dbl3.inverse);
         self.assertRaises(InterpKernelException, dbl3.trace);
         self.assertRaises(InterpKernelException, dbl3.deviator);
-        
+
         dbl3.setIJ(5,1,12.);
         self.assertTrue(dbl3.getMaxValueInArray()==12.);
         self.assertTrue(dbl3.getMinValueInArray()==11.);
-        
+
         db.fillWithValue(100); #bad Ids
         self.assertRaises(InterpKernelException, dbl3.setPartOfValuesAdv, dbl2, db);
         db.fillWithValue(-1); #bad Ids
         self.assertRaises(InterpKernelException, dbl3.setPartOfValuesAdv, dbl2, db);
         db.fillWithValue(6); #bad Ids for dbl3
         self.assertRaises(InterpKernelException, dbl3.setPartOfValuesAdv, dbl2, db);
-        
+
         dbl3.checkNoNullValues();
         dbl3.setIJ(5,0,0.);
         self.assertRaises(InterpKernelException, dbl3.checkNoNullValues);
         self.assertRaises(InterpKernelException, dbl3.applyInv, 1.);  #div by zero
-        self.assertRaises(InterpKernelException, dbl2.getIdsInRange, 1., 2.);
+        self.assertRaises(InterpKernelException, dbl2.findIdsInRange, 1., 2.);
         a=[]
         self.assertRaises(InterpKernelException, DataArrayDouble_Aggregate, a);
         self.assertRaises(InterpKernelException, DataArrayDouble_Meld, a);
-        
+
         a=[dbl2,dbl]; #Nb of components mismatch
         self.assertRaises(InterpKernelException, DataArrayDouble_Aggregate, a);
-        
+
         self.assertRaises(InterpKernelException, DataArrayDouble_Dot, dbl2, dbl);
-        
+
         self.assertRaises(InterpKernelException, DataArrayDouble_CrossProduct, dbl2, dbl); #Nb of components mismatch
         self.assertRaises(InterpKernelException, DataArrayDouble_CrossProduct, dbl2, dbl2); #Nb of components must be equal to 3
         dbl4=DataArrayDouble.New();
@@ -1789,7 +1791,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         dbl5=DataArrayDouble.New();
         dbl5.alloc(7,3);
         self.assertRaises(InterpKernelException, DataArrayDouble_CrossProduct, dbl4, dbl5); #Nb of tuples mismatch
-        
+
         a[0]=dbl4; #Nb of tuple mismatch
         a[1]=dbl5; #Nb of tuple mismatch
         self.assertRaises(InterpKernelException, DataArrayDouble_Meld, a);
@@ -1800,7 +1802,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         tab1=[5,-2,-4,-2,3,2,-2];
         da=DataArrayInt.New();
         da.setValues(tab1,7,1);
-        da2=da.getIdsEqual(-2);
+        da2=da.findIdsEqual(-2);
         self.assertEqual(3,da2.getNumberOfTuples());
         self.assertEqual(1,da2.getNumberOfComponents());
         expected1=[1,3,6];
@@ -1811,7 +1813,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         tab1=[5,-2,-4,-2,3,2,-2];
         da=DataArrayInt.New();
         da.setValues(tab1,7,1);
-        da2=da.getIdsEqualList([3,-2,0]);
+        da2=da.findIdsEqualList([3,-2,0]);
         self.assertEqual(4,da2.getNumberOfTuples());
         self.assertEqual(1,da2.getNumberOfComponents());
         expected1=[1,3,4,6];
@@ -1831,11 +1833,11 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         da4=da3.fromNoInterlace();
         self.assertEqual(5,da4.getNumberOfTuples());
         self.assertEqual(3,da4.getNumberOfComponents());# it's not a bug. Avoid to have 1 million components !
-        for i in xrange(15):
+        for i in range(15):
             self.assertAlmostEqual(expected1[i],da4.getIJ(0,i),14);
             pass
         pass
-    
+
     def testDAToNoInterlace1(self):
         tab1=[1,2,3,11,12,13,21,22,23,31,32,33,41,42,43]
         da=DataArrayInt.New();
@@ -1849,11 +1851,11 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         da4=da3.toNoInterlace();
         self.assertEqual(5,da4.getNumberOfTuples());
         self.assertEqual(3,da4.getNumberOfComponents());# it's not a bug. Avoid to have 1 million components !
-        for i in xrange(15):
+        for i in range(15):
             self.assertAlmostEqual(expected1[i],da4.getIJ(0,i),14);
             pass
         pass
-    
+
     def testDAIsUniform1(self):
         tab1=[1,1,1,1,1]
         da=DataArrayInt.New();
@@ -1870,36 +1872,49 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         da2.setIJ(1,0,1.+1.e-11);
         self.assertTrue(not da2.isUniform(1.,1.e-12));
         pass
-    
+
+    def testDAHasUniqueValues1(self):
+        da=DataArrayInt([1,2,3,4,5])
+        self.assertTrue(da.hasUniqueValues())
+        da[1,0] = 5
+        self.assertFalse(da.hasUniqueValues())
+        da=DataArrayInt([])
+        self.assertTrue(da.hasUniqueValues())
+        da=DataArrayInt([(1,2), (2,3)]) # wrong num of compo
+        self.assertRaises(InterpKernelException, da.hasUniqueValues)
+        da=DataArrayInt()  # non allocated array
+        self.assertRaises(InterpKernelException, da.hasUniqueValues)
+        pass
+
     def testDADFromPolarToCart1(self):
         tab1=[2.,0.2,2.5,0.7]
         da=DataArrayDouble.New();
         da.setValues(tab1,2,2);
         da2=da.fromPolarToCart();
         expected1=[1.9601331556824833,0.39733866159012243, 1.9121054682112213,1.6105442180942275]
-        for i in xrange(4):
+        for i in range(4):
             self.assertAlmostEqual(expected1[i],da2.getIJ(0,i),13);
             pass
         pass
-    
+
     def testDADFromCylToCart1(self):
         tab1=[2.,0.2,4.,2.5,0.7,9.]
         da=DataArrayDouble.New();
         da.setValues(tab1,2,3);
         da2=da.fromCylToCart();
         expected1=[1.9601331556824833,0.39733866159012243,4., 1.9121054682112213,1.6105442180942275,9.]
-        for i in xrange(6):
+        for i in range(6):
             self.assertAlmostEqual(expected1[i],da2.getIJ(0,i),13);
             pass
         pass
-    
+
     def testDADFromSpherToCart1(self):
         tab1=[2.,0.2,0.3,2.5,0.7,0.8]
         da=DataArrayDouble.New();
         da.setValues(tab1,2,3);
         da2=da.fromSpherToCart();
         expected1=[0.37959212195737485,0.11742160338765303,1.9601331556824833, 1.1220769624465328,1.1553337045129035,1.9121054682112213]
-        for i in xrange(6):
+        for i in range(6):
             self.assertAlmostEqual(expected1[i],da2.getIJ(0,i),13);
             pass
         pass
@@ -1911,7 +1926,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         mesh.convertToPolyTypes(eltsV);
         mesh.unPolyze();
         mesh2=MEDCouplingDataForTest.build3DTargetMesh_1();
-        mesh.checkCoherency();
+        mesh.checkConsistencyLight();
         self.assertTrue(mesh.isEqual(mesh2,1e-12));
         mesh.convertToPolyTypes(eltsV);
         self.assertTrue(not mesh.isEqual(mesh2,1e-12));
@@ -1954,7 +1969,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         mesh.insertNextCell(NORM_HEXA8,8,conn[16:24])
         mesh.insertNextCell(NORM_HEXA8,8,conn[24:32])
         mesh.finishInsertingCells();
-        mesh.checkCoherency();
+        mesh.checkConsistencyLight();
         self.assertEqual(4,mesh.getNumberOfCells());
         self.assertEqual(NORM_HEXA8,mesh.getTypeOfCell(0));
         self.assertEqual(NORM_HEXA8,mesh.getTypeOfCell(1));
@@ -1962,18 +1977,58 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(NORM_HEXA8,mesh.getTypeOfCell(3));
         f1=mesh.getMeasureField(True);
         mesh.convertDegeneratedCells();
-        mesh.checkCoherency();
+        mesh.checkConsistencyLight();
         f2=mesh.getMeasureField(True);
         self.assertEqual(4,mesh.getNumberOfCells());
         self.assertEqual(NORM_PENTA6,mesh.getTypeOfCell(0));
         self.assertEqual(NORM_PYRA5,mesh.getTypeOfCell(1));
         self.assertEqual(NORM_TETRA4,mesh.getTypeOfCell(2));
         self.assertEqual(NORM_PYRA5,mesh.getTypeOfCell(3));
-        for i in xrange(4):
+        for i in range(4):
             self.assertAlmostEqual(f1.getArray().getIJ(0,i),f2.getArray().getIJ(0,i),5);
             pass
         pass
 
+    def testConvertDegeneratedCellsAndRemoveFlatOnes1(self):
+          coo = DataArrayDouble([0.0]*10) # Just to have some. Values do not matter.
+          mesh = MEDCouplingUMesh("m", 2)
+          mesh.setCoords(coo)
+
+          # Linear
+          c = [NORM_QUAD4, 0,1,0,2, NORM_TRI3, 0,1,1, NORM_TRI3, 0,1,2, NORM_QUAD4, 1,0,2,1, NORM_POLYGON, 1,0,1,1]
+          cI = [0, 5, 9, 13, 18, 23]
+          mesh.setConnectivity(DataArrayInt(c),DataArrayInt(cI))
+          mesh2 = mesh.deepCopy(); mesh3 = mesh.deepCopy();
+          mesh.convertDegeneratedCells()
+          c, cI = mesh.getNodalConnectivity().getValues(), mesh.getNodalConnectivityIndex().getValues()
+          self.assertEqual(c, [NORM_QUAD4, 0,1,0,2, NORM_POLYGON, 0,1, NORM_TRI3, 0,1,2, NORM_TRI3, 1,0,2, NORM_POLYGON, 1,0])
+          self.assertEqual(cI, [0, 5, 8, 12, 16, 19])
+
+          res = mesh2.convertDegeneratedCellsAndRemoveFlatOnes()
+          c, cI = mesh2.getNodalConnectivity().getValues(), mesh2.getNodalConnectivityIndex().getValues()
+          self.assertEqual(c, [NORM_QUAD4, 0,1,0,2, NORM_TRI3, 0,1,2, NORM_TRI3, 1,0,2])
+          self.assertEqual(cI, [0, 5, 9, 13])
+          self.assertEqual(res.getValues(), [1,4])
+
+          # Quadratics now:
+          c = [NORM_TRI6, 0,1,0, 2,3,0, NORM_QUAD8, 0,1,1,3,  4,1,6,7, NORM_QPOLYG, 0,1, NORM_QPOLYG, 0,1,2,2, NORM_TRI6, 0,1,2,  3,4,5]
+          cI = [0, 7, 16, 19, 24, 31]
+          mesh3.setConnectivity(DataArrayInt(c),DataArrayInt(cI))
+
+          mesh3.convertDegeneratedCells()
+          c, cI = mesh3.getNodalConnectivity().getValues(), mesh3.getNodalConnectivityIndex().getValues()
+          self.assertEqual(c, [NORM_QPOLYG, 0,1, 2,3, NORM_TRI6, 0,1,3,  4,6,7, NORM_QPOLYG, 0,1, NORM_QPOLYG, 0,1,2,2, NORM_TRI6, 0,1,2,  3,4,5])
+          self.assertEqual(cI, [0, 5, 12, 15, 20, 27])
+          mesh4 = mesh3.deepCopy()
+
+          res = mesh4.convertDegeneratedCellsAndRemoveFlatOnes()
+          c, cI = mesh4.getNodalConnectivity().getValues(), mesh4.getNodalConnectivityIndex().getValues()
+          self.assertEqual(c, [NORM_QPOLYG, 0,1, 2,3, NORM_TRI6, 0,1,3,  4,6,7, NORM_TRI6, 0,1,2,  3,4,5])
+          self.assertEqual(cI, [0, 5, 12, 19])
+          self.assertEqual(res.getValues(), [2,3])
+
+          pass
+
     def testGetNodeIdsNearPoints1(self):
         mesh=MEDCouplingDataForTest.build2DTargetMesh_1();
         coords=mesh.getCoords();
@@ -2111,21 +2166,21 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertTrue(tmp2);
         self.assertEqual(37,tmp3);
         i.convertDegeneratedCells();
-        i.checkCoherency();
+        i.checkConsistencyLight();
         self.assertEqual(36,i.getNumberOfCells());
         self.assertEqual(37,i.getNumberOfNodes());
         self.assertEqual(12,i.getNumberOfCellsWithType(NORM_TRI3));
         self.assertEqual(24,i.getNumberOfCellsWithType(NORM_QUAD4));
         expected1=[0.25,0.75,2.0625]
         j=i.getMeasureField(True);
-        for ii in xrange(12):
-            for k in xrange(3):
+        for ii in range(12):
+            for k in range(3):
                 self.assertAlmostEqual(expected1[k],j.getIJ(0,ii*3+k),10);
                 pass
             pass
         expected2=[0.62200846792814113, 0.16666666666681595, 1.4513530918323276, 0.38888888888923495, 2.6293994326053212, 0.7045454545460802, 0.45534180126145435, 0.45534180126150181, 1.0624642029433926, 1.0624642029435025, 1.9248539780597826, 1.9248539780599816, 0.16666666666661334, 0.62200846792815856, 0.38888888888876294, 1.4513530918323678, 0.70454545454522521, 2.629399432605394, -0.16666666666674007, 0.62200846792812436, -0.38888888888906142, 1.4513530918322881, -0.70454545454576778, 2.6293994326052488, -0.45534180126154766, 0.45534180126140844, -1.0624642029436118, 1.0624642029432834, -1.9248539780601803, 1.9248539780595841, -0.62200846792817499, 0.1666666666665495, -1.451353091832408, 0.388888888888613, -2.6293994326054668, 0.70454545454495332, -0.62200846792810593, -0.16666666666680507, -1.451353091832247, -0.38888888888921297, -2.6293994326051746, -0.70454545454604123, -0.45534180126135926, -0.45534180126159562, -1.0624642029431723, -1.0624642029437235, -1.9248539780593836, -1.9248539780603811, -0.1666666666664828, -0.62200846792819242, -0.38888888888846079, -1.4513530918324489, -0.70454545454467987, -2.6293994326055397, 0.16666666666687083, -0.62200846792808862, 0.38888888888936374, -1.4513530918322073, 0.70454545454631357, -2.6293994326051022, 0.45534180126164348, -0.45534180126131207, 1.0624642029438327, -1.0624642029430627, 1.9248539780605791, -1.9248539780591853, 0.62200846792821063, -0.16666666666641802, 1.4513530918324888, -0.38888888888831086, 2.6293994326056125, -0.70454545454440853]
-        m=i.getBarycenterAndOwner();
-        for i in xrange(72):
+        m=i.computeCellCenterOfMass();
+        for i in range(72):
             self.assertAlmostEqual(expected2[i],m.getIJ(0,i),10);
             pass
         #
@@ -2154,15 +2209,15 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         center=[0.,0.]
         f.rotate(center,None,pi/3);
         g=c.buildExtrudedMesh(f,0);
-        g.checkCoherency();
+        g.checkConsistencyLight();
         expected1=[ 0.4330127018922193, 0.4330127018922193, 0.649519052838329, 1.2990381056766578, 1.299038105676658, 1.948557158514987, 2.1650635094610955, 2.1650635094610964, 3.2475952641916446, 3.031088913245533, 3.0310889132455352, 4.546633369868303 ]
         f1=g.getMeasureField(True);
-        for i in xrange(12):
+        for i in range(12):
             self.assertAlmostEqual(expected1[i],f1.getIJ(0,i),12);
             pass
         expected2=[0.625, 0.21650635094610962, 1.625, 0.21650635094610959, 2.8750000000000004, 0.21650635094610965, 1.1250000000000002, 1.0825317547305482, 2.125, 1.0825317547305482, 3.3750000000000004, 1.0825317547305484, 2.125, 2.8145825622994254, 3.125, 2.8145825622994254, 4.375, 2.8145825622994254, 3.6250000000000009, 5.4126587736527414, 4.625, 5.4126587736527414, 5.875, 5.4126587736527414]
-        f2=g.getBarycenterAndOwner();
-        for i in xrange(24):
+        f2=g.computeCellCenterOfMass();
+        for i in range(24):
             self.assertAlmostEqual(expected2[i],f2.getIJ(0,i),12);
             pass
         pass
@@ -2203,8 +2258,8 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertTrue(tmp2);
         self.assertEqual(444,tmp3);
         expected1=[1.327751058489274, 4.2942574094314701, 13.024068164857139, 1.3069177251569044, 4.1484240761012954, 12.297505664866796, 1.270833333332571, 3.8958333333309674, 11.039062499993179, 1.2291666666659207, 3.6041666666644425, 9.585937499993932, 1.1930822748415895, 3.3515759238941376, 8.3274943351204556, 1.1722489415082769, 3.2057425905609289, 7.6009318351210622, 1.1722489415082862, 3.2057425905609884, 7.6009318351213713, 1.1930822748416161, 3.3515759238943001, 8.3274943351212727, 1.2291666666659564, 3.6041666666646734, 9.5859374999950777, 1.2708333333326081, 3.8958333333311868, 11.039062499994293, 1.3069177251569224, 4.1484240761014384, 12.297505664867627, 1.3277510584902354, 4.2942574094346071, 13.024068164866796]
-        for ii in xrange(12):
-            for jj in xrange(36):
+        for ii in range(12):
+            for jj in range(36):
                 self.assertAlmostEqual(expected1[jj],f2.getIJ(0,ii*36+jj),9);
                 pass
         #
@@ -2217,10 +2272,10 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(7,da.getNumberOfTuples());
         self.assertEqual(1,da.getNumberOfComponents());
         expected2=[0,0,1,2,3,4,4]
-        for i in xrange(7):
+        for i in range(7):
             self.assertEqual(expected2[i],da.getIJ(i,0));
             pass
-        m.checkCoherency();
+        m.checkConsistencyLight();
         self.assertEqual(7,m.getNumberOfCells());
         self.assertEqual(NORM_TRI3,m.getTypeOfCell(0));
         self.assertEqual(NORM_TRI3,m.getTypeOfCell(1));
@@ -2231,7 +2286,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(NORM_TRI3,m.getTypeOfCell(6));
         expected1=[0.125,0.125,0.125,0.125,0.25,0.125,0.125]
         f=m.getMeasureField(False);
-        for i in xrange(7):
+        for i in range(7):
             self.assertAlmostEqual(expected1[i]*sqrt(2.),f.getIJ(i,0),10);
             pass
         types=m.getAllGeoTypes();
@@ -2242,10 +2297,10 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         da=m.simplexize(1);
         self.assertEqual(7,da.getNumberOfTuples());
         self.assertEqual(1,da.getNumberOfComponents());
-        for i in xrange(7):
+        for i in range(7):
             self.assertEqual(expected2[i],da.getIJ(i,0));
             pass
-        m.checkCoherency();
+        m.checkConsistencyLight();
         types=m.getAllGeoTypes();
         self.assertEqual([NORM_TRI3,NORM_POLYGON],types);
         self.assertEqual(7,m.getNumberOfCells());
@@ -2257,7 +2312,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(NORM_TRI3,m.getTypeOfCell(5));
         self.assertEqual(NORM_TRI3,m.getTypeOfCell(6));
         f=m.getMeasureField(False);
-        for i in xrange(7):
+        for i in range(7):
             self.assertAlmostEqual(expected1[i]*sqrt(2.),f.getIJ(i,0),10);
             pass
         pass
@@ -2272,15 +2327,15 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         arr.setValues(arr1,5,2);
         f1.setArray(arr);
         #
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         self.assertTrue(f1.simplexize(0));
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         expected1=[10.,110.,10.,110.,20.,120.,30.,130.,40.,140.,50.,150.,50.,150.]
-        for i in xrange(14):
+        for i in range(14):
             self.assertAlmostEqual(expected1[i],f1.getIJ(0,i),10);
             pass
         self.assertTrue(not f1.simplexize(0));
-        for i in xrange(14):
+        for i in range(14):
             self.assertAlmostEqual(expected1[i],f1.getIJ(0,i),10);
             pass
         #
@@ -2302,7 +2357,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         da3.setInfoOnComponent(1,"c1da3");
         da3.setInfoOnComponent(2,"c2da3");
         #
-        da1C=da1.deepCpy();
+        da1C=da1.deepCopy();
         da1.meldWith(da3);
         self.assertEqual(5,da1.getNumberOfComponents());
         self.assertEqual(7,da1.getNumberOfTuples());
@@ -2313,7 +2368,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertTrue(da1.getInfoOnComponent(4)=="c2da3");
         #
         expected1=[7.,7.,0.,0.,0., 7.,7.,10.,100.,1000., 7.,7.,20.,200.,2000., 7.,7.,30.,300.,3000., 7.,7.,40.,400.,4000.,7.,7.,50.,500.,5000.,7.,7.,60.,600.,6000.]
-        for i in xrange(35):
+        for i in range(35):
             self.assertAlmostEqual(expected1[i],da1.getIJ(0,i),10);
             pass
         #
@@ -2327,7 +2382,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertTrue(dai1.getInfoOnComponent(2)=="c0da3");
         self.assertTrue(dai1.getInfoOnComponent(3)=="c1da3");
         self.assertTrue(dai1.getInfoOnComponent(4)=="c2da3");
-        for i in xrange(35):
+        for i in range(35):
             self.assertEqual(int(expected1[i]),dai1.getIJ(0,i));
             pass
         # test of static method DataArrayDouble::meld
@@ -2341,13 +2396,13 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertTrue(da4.getInfoOnComponent(2)=="c0da3");
         self.assertTrue(da4.getInfoOnComponent(3)=="c1da3");
         self.assertTrue(da4.getInfoOnComponent(4)=="c2da3");
-        for i in xrange(35):
+        for i in range(35):
             self.assertAlmostEqual(expected1[i],da4.getIJ(0,i),10);
             pass
         # test of static method DataArrayInt::meld
         dai1=da1C.convertToIntArr();
-        dai4=DataArrayInt.Meld(dai1,dai3);
-        tmp=DataArrayInt.Meld([dai1,dai3]);
+        dai4=DataArrayInt32.Meld(dai1,dai3);
+        tmp=DataArrayInt32.Meld([dai1,dai3]);
         self.assertTrue(dai4.isEqual(tmp))
         self.assertEqual(5,dai4.getNumberOfComponents());
         self.assertEqual(7,dai4.getNumberOfTuples());
@@ -2356,7 +2411,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertTrue(dai4.getInfoOnComponent(2)=="c0da3");
         self.assertTrue(dai4.getInfoOnComponent(3)=="c1da3");
         self.assertTrue(dai4.getInfoOnComponent(4)=="c2da3");
-        for i in xrange(35):
+        for i in range(35):
             self.assertEqual(int(expected1[i]),dai4.getIJ(0,i));
             pass
         pass
@@ -2371,26 +2426,26 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         da1.setInfoOnComponent(0,"aaa");
         f1.setArray(da1);
         f1.setTime(3.4,2,1);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         #
-        f2=f1.deepCpy();
+        f2=f1.deepCopy();
         f2.setMesh(f1.getMesh());
-        f2.checkCoherency();
+        f2.checkConsistencyLight();
         f2.changeNbOfComponents(2,5.);
         f2.assign(5.);
         f2.getArray().setInfoOnComponent(0,"bbb");
         f2.getArray().setInfoOnComponent(1,"ccc");
-        f2.checkCoherency();
+        f2.checkConsistencyLight();
         #
         f3=MEDCouplingFieldDouble.MeldFields(f2,f1);
-        f3.checkCoherency();
+        f3.checkConsistencyLight();
         self.assertEqual(5,f3.getNumberOfTuples());
         self.assertEqual(3,f3.getNumberOfComponents());
         self.assertTrue(f3.getArray().getInfoOnComponent(0)=="bbb");
         self.assertTrue(f3.getArray().getInfoOnComponent(1)=="ccc");
         self.assertTrue(f3.getArray().getInfoOnComponent(2)=="aaa");
         expected1=[5.,5.,12.,5.,5.,23.,5.,5.,34.,5.,5.,45.,5.,5.,56.]
-        for i in xrange(15):
+        for i in range(15):
             self.assertAlmostEqual(expected1[i],f3.getIJ(0,i),12);
             pass
         time,dt,it=f3.getTime();
@@ -2401,13 +2456,13 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         f4=f2.buildNewTimeReprFromThis(NO_TIME,False);
         f5=f1.buildNewTimeReprFromThis(NO_TIME,False);
         f6=MEDCouplingFieldDouble.MeldFields(f4,f5);
-        f6.checkCoherency();
+        f6.checkConsistencyLight();
         self.assertEqual(5,f6.getNumberOfTuples());
         self.assertEqual(3,f6.getNumberOfComponents());
         self.assertTrue(f6.getArray().getInfoOnComponent(0)=="bbb");
         self.assertTrue(f6.getArray().getInfoOnComponent(1)=="ccc");
         self.assertTrue(f6.getArray().getInfoOnComponent(2)=="aaa");
-        for i in xrange(15):
+        for i in range(15):
             self.assertAlmostEqual(expected1[i],f6.getIJ(0,i),12);
             pass
         #
@@ -2420,10 +2475,10 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         m2.translate(vec);
         #
         m3=MEDCouplingUMesh.MergeUMeshes([m1,m2]);
-        da,b,newNbOfNodes=m3.mergeNodes2(0.01);
+        da,b,newNbOfNodes=m3.mergeNodesCenter(0.01);
         self.assertEqual(9,m3.getNumberOfNodes());
         expected1=[-0.299,-0.3, 0.201,-0.3, 0.701,-0.3, -0.299,0.2, 0.201,0.2, 0.701,0.2, -0.299,0.7, 0.201,0.7, 0.701,0.7]
-        for i in xrange(18):
+        for i in range(18):
             self.assertAlmostEqual(expected1[i],m3.getCoords().getIJ(0,i),13);
             pass
         #
@@ -2453,7 +2508,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         f4=MEDCouplingFieldDouble.MergeFields([f1,f2,f3]);
         self.assertEqual(15,f4.getMesh().getNumberOfCells());
         expected1=[2.,2.,2.,2.,2.,2.,2.,2.,2.,2., 5.,5.,5.,5.,5.,5.,5.,5.,5.,5., 7.,7.,7.,7.,7.,7.,7.,7.,7.,7.]
-        for i in xrange(30):
+        for i in range(30):
             self.assertAlmostEqual(expected1[i],f4.getIJ(0,i),13);
             pass
         #
@@ -2467,7 +2522,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(8,b.getNumberOfTuples());
         self.assertEqual(1,b.getNumberOfComponents());
         expected1=[0,2,4,5,6,9,10,11]
-        for i in xrange(8):
+        for i in range(8):
             self.assertEqual(expected1[i],b.getIJ(0,i));
             pass
         pass
@@ -2483,14 +2538,14 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(7,b.getNumberOfTuples());
         self.assertEqual(1,b.getNumberOfComponents());
         expected1=[0,1,3,5,7,8,18]
-        for i in xrange(7):
+        for i in range(7):
             self.assertEqual(expected1[i],b.getIJ(0,i));
             pass
         b=DataArrayInt.BuildUnion([a,c]);
         self.assertEqual(7,b.getNumberOfTuples());
         self.assertEqual(1,b.getNumberOfComponents());
         expected1=[0,1,3,5,7,8,18]
-        for i in xrange(7):
+        for i in range(7):
             self.assertEqual(expected1[i],b.getIJ(0,i));
             pass
         pass
@@ -2506,14 +2561,14 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(2,b.getNumberOfTuples());
         self.assertEqual(1,b.getNumberOfComponents());
         expected1=[3,8]
-        for i in xrange(2):
+        for i in range(2):
             self.assertEqual(expected1[i],b.getIJ(0,i));
             pass
         b=DataArrayInt.BuildIntersection([a,c]);
         self.assertEqual(2,b.getNumberOfTuples());
         self.assertEqual(1,b.getNumberOfComponents());
         expected1=[3,8]
-        for i in xrange(2):
+        for i in range(2):
             self.assertEqual(expected1[i],b.getIJ(0,i));
             pass
         pass
@@ -2526,7 +2581,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(6,b.getNumberOfTuples());
         self.assertEqual(1,b.getNumberOfComponents());
         expected1=[2,3,1,0,2,6]
-        for i in xrange(6):
+        for i in range(6):
             self.assertEqual(expected1[i],b.getIJ(0,i));
             pass
         pass
@@ -2545,7 +2600,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertTrue(b.getInfoOnComponent(0)=="toto");
         self.assertTrue(b.getInfoOnComponent(1)=="tata");
         expected1=[5.1,15.1,3.1,13.1,1.1,11.1,7.1,17.1,6.1,16.1]
-        for i in xrange(10):
+        for i in range(10):
             self.assertAlmostEqual(expected1[i],b.getIJ(0,i),14);
             pass
         arr4=[4,-1,0,6,5]
@@ -2564,7 +2619,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertTrue(d.getInfoOnComponent(0)=="toto");
         self.assertTrue(d.getInfoOnComponent(1)=="tata");
         expected2=[5,15,3,13,1,11,7,17,6,16]
-        for i in xrange(10):
+        for i in range(10):
             self.assertEqual(expected2[i],d.getIJ(0,i));
             pass
         self.assertRaises(InterpKernelException,c.selectByTupleIdSafe,arr4);
@@ -2630,7 +2685,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(13,da1.getNumberOfTuples());
         #
         expected1=[-1.,0.,0.,1.,1.,0.,0.,-1.,0.707106781186548,0.707106781186548,0.,-1.,0.,1.,1.,0.,0.,1.,1.,0.,-1.,0.,0.,1.,1.,0.];
-        for i in xrange(26):
+        for i in range(26):
             self.assertAlmostEqual(expected1[i],da1.getIJ(0,i),14);
             pass
         pass
@@ -2685,7 +2740,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         myCoords=DataArrayDouble.New();
         myCoords.setValues(targetCoords,9,2);
         targetMesh.setCoords(myCoords);
-        targetMesh.checkCoherency();
+        targetMesh.checkConsistencyLight();
         pass
 
     def testFieldOperatorDivDiffComp1(self):
@@ -2699,16 +2754,16 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         f2=MEDCouplingFieldDouble.New(ON_CELLS);
         f2.setArray(arr);
         f2.setMesh(m1);
-        f2.checkCoherency();
+        f2.checkConsistencyLight();
         #
         f3=f1/f2;
         self.assertRaises(InterpKernelException,f2.__div__,f1)
-        f3.checkCoherency();
+        f3.checkConsistencyLight();
         f1/=f2;
         #self.assertRaises(InterpKernelException,f2.__idiv__,f1) # mem leaks
         self.assertTrue(f1.isEqual(f3,1e-10,1e-10));
         expected1=[-0.5, 0.0, 0.0, 0.33333333333333331, 0.25, 0.0, 0.0, -0.20000000000000001, 0.117851130197758, 0.117851130197758, 0.0, -0.14285714285714285, 0.0, 0.125, 0.1111111111111111, 0.0, 0.0, 0.10000000000000001, 0.090909090909090912, 0.0, -0.083333333333333329, 0.0, 0.0, 0.076923076923076927, 0.071428571428571425, 0.0]
-        for i in xrange(26):
+        for i in range(26):
             self.assertAlmostEqual(expected1[i],f3.getIJ(0,i),10);
             pass
         pass
@@ -2725,14 +2780,14 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(12,da1.getNbOfElems());
         self.assertEqual(4,da1.getNumberOfComponents());
         self.assertEqual(3,da1.getNumberOfTuples());
-        for i in xrange(12):
+        for i in range(12):
             self.assertEqual(i,da1.getIJ(0,i));
         #
         da1.rearrange(6);
         self.assertEqual(12,da1.getNbOfElems());
         self.assertEqual(6,da1.getNumberOfComponents());
         self.assertEqual(2,da1.getNumberOfTuples());
-        for i in xrange(12):
+        for i in range(12):
             self.assertEqual(i,da1.getIJ(0,i));
         #
         self.assertRaises(InterpKernelException,da1.rearrange,7);
@@ -2741,14 +2796,14 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(12,da1.getNbOfElems());
         self.assertEqual(12,da1.getNumberOfComponents());
         self.assertEqual(1,da1.getNumberOfTuples());
-        for i in xrange(12):
+        for i in range(12):
             self.assertEqual(i,da1.getIJ(0,i));
         #
         da1.rearrange(3);
         self.assertEqual(12,da1.getNbOfElems());
         self.assertEqual(3,da1.getNumberOfComponents());
         self.assertEqual(4,da1.getNumberOfTuples());
-        for i in xrange(12):
+        for i in range(12):
             self.assertEqual(i,da1.getIJ(0,i));
         #double
         da2=da1.convertToDblArr();
@@ -2761,14 +2816,14 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(12,da2.getNbOfElems());
         self.assertEqual(4,da2.getNumberOfComponents());
         self.assertEqual(3,da2.getNumberOfTuples());
-        for i in xrange(12):
+        for i in range(12):
             self.assertAlmostEqual(float(i),da2.getIJ(0,i),14);
         #
         da2.rearrange(6);
         self.assertEqual(12,da2.getNbOfElems());
         self.assertEqual(6,da2.getNumberOfComponents());
         self.assertEqual(2,da2.getNumberOfTuples());
-        for i in xrange(12):
+        for i in range(12):
             self.assertAlmostEqual(float(i),da2.getIJ(0,i),14);
         #
         self.assertRaises(InterpKernelException,da2.rearrange,7);
@@ -2778,14 +2833,14 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(12,da2.getNbOfElems());
         self.assertEqual(1,da2.getNumberOfComponents());
         self.assertEqual(12,da2.getNumberOfTuples());
-        for i in xrange(12):
+        for i in range(12):
             self.assertAlmostEqual(float(i),da2.getIJ(0,i),14);
         #
         da2.rearrange(3);
         self.assertEqual(12,da2.getNbOfElems());
         self.assertEqual(3,da2.getNumberOfComponents());
         self.assertEqual(4,da2.getNumberOfTuples());
-        for i in xrange(12):
+        for i in range(12):
             self.assertAlmostEqual(float(i),da2.getIJ(0,i),14);
         pass
 
@@ -2854,7 +2909,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         d.sort()
         self.assertEqual(5,d.getNumberOfTuples());
         self.assertEqual(1,d.getNumberOfComponents());
-        for i in xrange(5):
+        for i in range(5):
             self.assertAlmostEqual(float(expect3[i]),d.getIJ(i,0),14);
             pass
         pass
@@ -2883,7 +2938,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(2,b.getNumberOfComponents());
         self.assertEqual(3,b.getNumberOfTuples());
         expected1=[0.36666666666666665,-0.13333333333333333,-0.05,-0.05,0.45,0.45];
-        for i in xrange(6):
+        for i in range(6):
             self.assertAlmostEqual(expected1[i],b.getIJ(0,i),14);
             pass
         pass
@@ -2897,7 +2952,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(1,b.getNumberOfComponents());
         self.assertEqual(3,b.getNumberOfTuples());
         expected1=[0.125,0.25,0.25];
-        for i in xrange(3):
+        for i in range(3):
             self.assertAlmostEqual(expected1[i],b.getIJ(0,i),14);
             pass
         pass
@@ -2912,7 +2967,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(3,b.getArray().getNumberOfComponents());
         self.assertEqual(3,b.getArray().getNumberOfTuples());
         expected1=[0.,0.,-1.,0.,0.,-1.,0.,0.,-1.];
-        for i in xrange(9):
+        for i in range(9):
             self.assertAlmostEqual(expected1[i],b.getArray().getIJ(0,i),14);
             pass
         pass
@@ -2966,7 +3021,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         self.assertEqual(0,a.getIJ(1,0));
         self.assertEqual(4,a.getIJ(2,0));
         pass
-    
+
     def testSwigErrorDaIntSelectByTupleId1(self):
         a=DataArrayInt.New();
         arr1=[1,11,2,12,3,13,4,14,5,15,6,16,7,17]
@@ -3002,7 +3057,7 @@ class MEDCouplingBasicsTest2(unittest.TestCase):
         da.renumberInPlace(d)
         da.renumber(d)
         pass
-      
+
     pass
 
 if __name__ == '__main__':