Salome HOME
Thank you to Yutaka Nishizawa for having report this bug (SALOME forum).
[tools/medcoupling.git] / src / ParaMEDMEMTest / ParaMEDMEMTest_InterpKernelDEC.cxx
index e2687395cec6e42bc4089c4fe3b4d3fe6675b156..7f6ef3893a9a0646a50b5a5a8e4a018cc9b5001e 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D
+// Copyright (C) 2007-2016  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -33,6 +33,7 @@
 #include "ICoCoMEDField.hxx"
 #include "ParaMEDLoader.hxx"
 #include "MEDLoader.hxx"
+#include "TestInterpKernelUtils.hxx"
 
  
 #include <string>
@@ -46,7 +47,7 @@
 
 
 using namespace std;
-using namespace ParaMEDMEM;
+using namespace MEDCoupling;
 
 void ParaMEDMEMTest::testInterpKernelDEC_2D()
 {
@@ -88,15 +89,15 @@ void ParaMEDMEMTest::testInterpKernelDEC_1D()
     procs_target.insert(i);
   self_procs.insert(rank);
   //
-  ParaMEDMEM::MEDCouplingUMesh *mesh=0;
-  ParaMEDMEM::ParaMESH *paramesh=0;
-  ParaMEDMEM::ParaFIELD *parafieldP0=0;
+  MEDCoupling::MEDCouplingUMesh *mesh=0;
+  MEDCoupling::ParaMESH *paramesh=0;
+  MEDCoupling::ParaFIELD *parafieldP0=0;
   //
-  ParaMEDMEM::CommInterface interface;
+  MEDCoupling::CommInterface interface;
   //
-  ProcessorGroup* self_group = new ParaMEDMEM::MPIProcessorGroup(interface,self_procs);
-  ProcessorGroup* target_group = new ParaMEDMEM::MPIProcessorGroup(interface,procs_target);
-  ProcessorGroup* source_group = new ParaMEDMEM::MPIProcessorGroup(interface,procs_source);
+  ProcessorGroup* self_group = new MEDCoupling::MPIProcessorGroup(interface,self_procs);
+  ProcessorGroup* target_group = new MEDCoupling::MPIProcessorGroup(interface,procs_target);
+  ProcessorGroup* source_group = new MEDCoupling::MPIProcessorGroup(interface,procs_source);
   //
   MPI_Barrier(MPI_COMM_WORLD);
   if(source_group->containsMyRank())
@@ -145,10 +146,10 @@ void ParaMEDMEMTest::testInterpKernelDEC_1D()
           myCoords->decrRef();
         }
       paramesh=new ParaMESH(mesh,*source_group,"source mesh");
-      ParaMEDMEM::ComponentTopology comptopo;
+      MEDCoupling::ComponentTopology comptopo;
       parafieldP0 = new ParaFIELD(ON_CELLS,NO_TIME,paramesh, comptopo);
       double *valueP0=parafieldP0->getField()->getArray()->getPointer();
-      parafieldP0->getField()->setNature(ConservativeVolumic);
+      parafieldP0->getField()->setNature(IntensiveMaximum);
       if(rank==0)
         {
           valueP0[0]=7.; valueP0[1]=8.;
@@ -195,12 +196,12 @@ void ParaMEDMEMTest::testInterpKernelDEC_1D()
           myCoords->decrRef();
           paramesh=new ParaMESH(mesh,*target_group,targetMeshName);
         }
-      ParaMEDMEM::ComponentTopology comptopo;
+      MEDCoupling::ComponentTopology comptopo;
       parafieldP0 = new ParaFIELD(ON_CELLS,NO_TIME,paramesh, comptopo);
-      parafieldP0->getField()->setNature(ConservativeVolumic);
+      parafieldP0->getField()->setNature(IntensiveMaximum);
     }
   // test 1
-  ParaMEDMEM::InterpKernelDEC dec(*source_group,*target_group);
+  MEDCoupling::InterpKernelDEC dec(*source_group,*target_group);
   if (source_group->containsMyRank())
     { 
       dec.setMethod("P0");
@@ -234,14 +235,14 @@ void ParaMEDMEMTest::testInterpKernelDEC_1D()
       const double *res=parafieldP0->getField()->getArray()->getConstPointer();
       if(rank==3)
         {
-          CPPUNIT_ASSERT_EQUAL(1,parafieldP0->getField()->getNumberOfTuples());
-          CPPUNIT_ASSERT_EQUAL(1,parafieldP0->getField()->getNumberOfComponents());
+          CPPUNIT_ASSERT_EQUAL(1,(int)parafieldP0->getField()->getNumberOfTuples());
+          CPPUNIT_ASSERT_EQUAL(1,(int)parafieldP0->getField()->getNumberOfComponents());
           CPPUNIT_ASSERT_DOUBLES_EQUAL(7.4,res[0],1e-12);
         }
       if(rank==4)
         {
-          CPPUNIT_ASSERT_EQUAL(1,parafieldP0->getField()->getNumberOfTuples());
-          CPPUNIT_ASSERT_EQUAL(1,parafieldP0->getField()->getNumberOfComponents());
+          CPPUNIT_ASSERT_EQUAL(1,(int)parafieldP0->getField()->getNumberOfTuples());
+          CPPUNIT_ASSERT_EQUAL(1,(int)parafieldP0->getField()->getNumberOfComponents());
           CPPUNIT_ASSERT_DOUBLES_EQUAL(9.0540540540540526,res[0],1e-12);
         }
       dec.sendData();
@@ -277,15 +278,15 @@ void ParaMEDMEMTest::testInterpKernelDEC_2DCurve()
     procs_target.insert(i);
   self_procs.insert(rank);
   //
-  ParaMEDMEM::MEDCouplingUMesh *mesh=0;
-  ParaMEDMEM::ParaMESH *paramesh=0;
-  ParaMEDMEM::ParaFIELD *parafieldP0=0;
+  MEDCoupling::MEDCouplingUMesh *mesh=0;
+  MEDCoupling::ParaMESH *paramesh=0;
+  MEDCoupling::ParaFIELD *parafieldP0=0;
   //
-  ParaMEDMEM::CommInterface interface;
+  MEDCoupling::CommInterface interface;
   //
-  ProcessorGroup* self_group = new ParaMEDMEM::MPIProcessorGroup(interface,self_procs);
-  ProcessorGroup* target_group = new ParaMEDMEM::MPIProcessorGroup(interface,procs_target);
-  ProcessorGroup* source_group = new ParaMEDMEM::MPIProcessorGroup(interface,procs_source);
+  ProcessorGroup* self_group = new MEDCoupling::MPIProcessorGroup(interface,self_procs);
+  ProcessorGroup* target_group = new MEDCoupling::MPIProcessorGroup(interface,procs_target);
+  ProcessorGroup* source_group = new MEDCoupling::MPIProcessorGroup(interface,procs_source);
   //
   MPI_Barrier(MPI_COMM_WORLD);
   if(source_group->containsMyRank())
@@ -334,10 +335,10 @@ void ParaMEDMEMTest::testInterpKernelDEC_2DCurve()
           myCoords->decrRef();
         }
       paramesh=new ParaMESH(mesh,*source_group,"source mesh");
-      ParaMEDMEM::ComponentTopology comptopo;
+      MEDCoupling::ComponentTopology comptopo;
       parafieldP0 = new ParaFIELD(ON_CELLS,NO_TIME,paramesh, comptopo);
       double *valueP0=parafieldP0->getField()->getArray()->getPointer();
-      parafieldP0->getField()->setNature(ConservativeVolumic);
+      parafieldP0->getField()->setNature(IntensiveMaximum);
       if(rank==0)
         {
           valueP0[0]=7.; valueP0[1]=8.;
@@ -384,12 +385,12 @@ void ParaMEDMEMTest::testInterpKernelDEC_2DCurve()
           myCoords->decrRef();
           paramesh=new ParaMESH(mesh,*target_group,targetMeshName);
         }
-      ParaMEDMEM::ComponentTopology comptopo;
+      MEDCoupling::ComponentTopology comptopo;
       parafieldP0 = new ParaFIELD(ON_CELLS,NO_TIME,paramesh, comptopo);
-      parafieldP0->getField()->setNature(ConservativeVolumic);
+      parafieldP0->getField()->setNature(IntensiveMaximum);
     }
   // test 1
-  ParaMEDMEM::InterpKernelDEC dec(*source_group,*target_group);
+  MEDCoupling::InterpKernelDEC dec(*source_group,*target_group);
   if (source_group->containsMyRank())
     { 
       dec.setMethod("P0");
@@ -423,14 +424,14 @@ void ParaMEDMEMTest::testInterpKernelDEC_2DCurve()
       const double *res=parafieldP0->getField()->getArray()->getConstPointer();
       if(rank==3)
         {
-          CPPUNIT_ASSERT_EQUAL(1,parafieldP0->getField()->getNumberOfTuples());
-          CPPUNIT_ASSERT_EQUAL(1,parafieldP0->getField()->getNumberOfComponents());
+          CPPUNIT_ASSERT_EQUAL(1,(int)parafieldP0->getField()->getNumberOfTuples());
+          CPPUNIT_ASSERT_EQUAL(1,(int)parafieldP0->getField()->getNumberOfComponents());
           CPPUNIT_ASSERT_DOUBLES_EQUAL(7.4,res[0],1e-12);
         }
       if(rank==4)
         {
-          CPPUNIT_ASSERT_EQUAL(1,parafieldP0->getField()->getNumberOfTuples());
-          CPPUNIT_ASSERT_EQUAL(1,parafieldP0->getField()->getNumberOfComponents());
+          CPPUNIT_ASSERT_EQUAL(1,(int)parafieldP0->getField()->getNumberOfTuples());
+          CPPUNIT_ASSERT_EQUAL(1,(int)parafieldP0->getField()->getNumberOfComponents());
           CPPUNIT_ASSERT_DOUBLES_EQUAL(9.0540540540540526,res[0],1e-12);
         }
       dec.sendData();
@@ -481,23 +482,23 @@ void ParaMEDMEMTest::testInterpKernelDEC_2D_(const char *srcMeth, const char *ta
     procs_target.insert(i);
   self_procs.insert(rank);
   
-  ParaMEDMEM::CommInterface interface;
+  MEDCoupling::CommInterface interface;
     
-  ParaMEDMEM::ProcessorGroup* self_group = new ParaMEDMEM::MPIProcessorGroup(interface,self_procs);
-  ParaMEDMEM::ProcessorGroup* target_group = new ParaMEDMEM::MPIProcessorGroup(interface,procs_target);
-  ParaMEDMEM::ProcessorGroup* source_group = new ParaMEDMEM::MPIProcessorGroup(interface,procs_source);
+  MEDCoupling::ProcessorGroup* self_group = new MEDCoupling::MPIProcessorGroup(interface,self_procs);
+  MEDCoupling::ProcessorGroup* target_group = new MEDCoupling::MPIProcessorGroup(interface,procs_target);
+  MEDCoupling::ProcessorGroup* source_group = new MEDCoupling::MPIProcessorGroup(interface,procs_source);
   
   //loading the geometry for the source group
 
-  ParaMEDMEM::InterpKernelDEC dec (*source_group,*target_group);
+  MEDCoupling::InterpKernelDEC dec (*source_group,*target_group);
 
-  ParaMEDMEM::MEDCouplingUMesh* mesh;
-  ParaMEDMEM::ParaMESH* paramesh;
-  ParaMEDMEM::ParaFIELD* parafield;
+  MEDCoupling::MEDCouplingUMesh* mesh;
+  MEDCoupling::ParaMESH* paramesh;
+  MEDCoupling::ParaFIELD* parafield;
   ICoCo::MEDField* icocofield ;
   
-  string filename_xml1              = getResourceFile("square1_split");
-  string filename_xml2              = getResourceFile("square2_split");
+  string filename_xml1              = "square1_split";
+  string filename_xml2              = "square2_split";
   //string filename_seq_wr            = makeTmpFile("");
   //string filename_seq_med           = makeTmpFile("myWrField_seq_pointe221.med");
   
@@ -511,20 +512,21 @@ void ParaMEDMEMTest::testInterpKernelDEC_2D_(const char *srcMeth, const char *ta
       
       ostringstream strstream;
       strstream <<master<<rank+1<<".med";
+      string fName = INTERP_TEST::getResourceFile(strstream.str());
       ostringstream meshname ;
       meshname<< "Mesh_2_"<< rank+1;
       
-      mesh=MEDLoader::ReadUMeshFromFile(strstream.str().c_str(),meshname.str().c_str(),0);
+      mesh=ReadUMeshFromFile(fName.c_str(),meshname.str().c_str(),0);
       
     
       paramesh=new ParaMESH (mesh,*source_group,"source mesh");
     
-      //      ParaMEDMEM::ParaSUPPORT* parasupport=new UnstructuredParaSUPPORT( support,*source_group);
-      ParaMEDMEM::ComponentTopology comptopo;
+      //      MEDCoupling::ParaSUPPORT* parasupport=new UnstructuredParaSUPPORT( support,*source_group);
+      MEDCoupling::ComponentTopology comptopo;
       if(srcM=="P0")
         {
           parafield = new ParaFIELD(ON_CELLS,NO_TIME,paramesh, comptopo);
-          parafield->getField()->setNature(ConservativeVolumic);
+          parafield->getField()->setNature(IntensiveMaximum);
         }
       else
         parafield = new ParaFIELD(ON_NODES,NO_TIME,paramesh, comptopo);
@@ -550,17 +552,18 @@ void ParaMEDMEMTest::testInterpKernelDEC_2D_(const char *srcMeth, const char *ta
       string master= filename_xml2;
       ostringstream strstream;
       strstream << master<<(rank-nproc_source+1)<<".med";
+      string fName = INTERP_TEST::getResourceFile(strstream.str());
       ostringstream meshname ;
       meshname<< "Mesh_3_"<<rank-nproc_source+1;
-      mesh = MEDLoader::ReadUMeshFromFile(strstream.str().c_str(),meshname.str().c_str(),0);
+      mesh = ReadUMeshFromFile(fName.c_str(),meshname.str().c_str(),0);
       
       paramesh=new ParaMESH (mesh,*target_group,"target mesh");
-      //      ParaMEDMEM::ParaSUPPORT* parasupport=new UnstructuredParaSUPPORT(support,*target_group);
-      ParaMEDMEM::ComponentTopology comptopo;
+      //      MEDCoupling::ParaSUPPORT* parasupport=new UnstructuredParaSUPPORT(support,*target_group);
+      MEDCoupling::ComponentTopology comptopo;
       if(targetM=="P0")
         {
           parafield = new ParaFIELD(ON_CELLS,NO_TIME,paramesh, comptopo);
-          parafield->getField()->setNature(ConservativeVolumic);
+          parafield->getField()->setNature(IntensiveMaximum);
         }
       else
         parafield = new ParaFIELD(ON_NODES,NO_TIME,paramesh, comptopo);
@@ -598,14 +601,14 @@ void ParaMEDMEMTest::testInterpKernelDEC_2D_(const char *srcMeth, const char *ta
       ostringstream filename;
       filename<<"./sourcesquareb_"<<source_group->myRank()+1;
       aRemover.Register(filename.str().c_str());
-      //MEDLoader::WriteField("./sourcesquareb",parafield->getField());
+      //WriteField("./sourcesquareb",parafield->getField());
    
       dec.recvData();
       cout <<"writing"<<endl;
       ParaMEDLoader::WriteParaMesh("./sourcesquare",paramesh);
       if (source_group->myRank()==0)
         aRemover.Register("./sourcesquare");
-      //MEDLoader::WriteField("./sourcesquare",parafield->getField());
+      //WriteField("./sourcesquare",parafield->getField());
       
      
       filename<<"./sourcesquare_"<<source_group->myRank()+1;
@@ -628,7 +631,7 @@ void ParaMEDMEMTest::testInterpKernelDEC_2D_(const char *srcMeth, const char *ta
 
       dec.recvData();
       ParaMEDLoader::WriteParaMesh("./targetsquareb",paramesh);
-      //MEDLoader::WriteField("./targetsquareb",parafield->getField());
+      //WriteField("./targetsquareb",parafield->getField());
       if (target_group->myRank()==0)
         aRemover.Register("./targetsquareb");
       ostringstream filename;
@@ -636,7 +639,7 @@ void ParaMEDMEMTest::testInterpKernelDEC_2D_(const char *srcMeth, const char *ta
       aRemover.Register(filename.str().c_str());
       dec.sendData();
       ParaMEDLoader::WriteParaMesh("./targetsquare",paramesh);
-      //MEDLoader::WriteField("./targetsquare",parafield->getField());
+      //WriteField("./targetsquare",parafield->getField());
       
       if (target_group->myRank()==0)
         aRemover.Register("./targetsquareb");
@@ -687,21 +690,21 @@ void ParaMEDMEMTest::testInterpKernelDEC2_2D_(const char *srcMeth, const char *t
     procs_target.insert(i);
   self_procs.insert(rank);
   
-  ParaMEDMEM::CommInterface interface;
+  MEDCoupling::CommInterface interface;
     
-  ParaMEDMEM::ProcessorGroup* self_group = new ParaMEDMEM::MPIProcessorGroup(interface,self_procs);
-  ParaMEDMEM::ProcessorGroup* target_group = new ParaMEDMEM::MPIProcessorGroup(interface,procs_target);
-  ParaMEDMEM::ProcessorGroup* source_group = new ParaMEDMEM::MPIProcessorGroup(interface,procs_source);
+  MEDCoupling::ProcessorGroup* self_group = new MEDCoupling::MPIProcessorGroup(interface,self_procs);
+  MEDCoupling::ProcessorGroup* target_group = new MEDCoupling::MPIProcessorGroup(interface,procs_target);
+  MEDCoupling::ProcessorGroup* source_group = new MEDCoupling::MPIProcessorGroup(interface,procs_source);
   
   //loading the geometry for the source group
 
-  ParaMEDMEM::InterpKernelDEC dec (*source_group,*target_group);
+  MEDCoupling::InterpKernelDEC dec (*source_group,*target_group);
 
-  ParaMEDMEM::MEDCouplingUMesh* mesh;
-  ParaMEDMEM::MEDCouplingFieldDouble* mcfield;
+  MEDCoupling::MEDCouplingUMesh* mesh;
+  MEDCoupling::MEDCouplingFieldDouble* mcfield;
   
-  string filename_xml1              = getResourceFile("square1_split");
-  string filename_xml2              = getResourceFile("square2_split");
+  string filename_xml1              = "square1_split";
+  string filename_xml2              = "square2_split";
   
   // To remove tmp files from disk
   ParaMEDMEMTest_TmpFilesRemover aRemover;
@@ -713,11 +716,12 @@ void ParaMEDMEMTest::testInterpKernelDEC2_2D_(const char *srcMeth, const char *t
       
       ostringstream strstream;
       strstream <<master<<rank+1<<".med";
+      string fName = INTERP_TEST::getResourceFile(strstream.str());
       ostringstream meshname ;
       meshname<< "Mesh_2_"<< rank+1;
       
-      mesh=MEDLoader::ReadUMeshFromFile(strstream.str().c_str(),meshname.str().c_str(),0);
-      ParaMEDMEM::ComponentTopology comptopo;
+      mesh=ReadUMeshFromFile(fName.c_str(),meshname.str().c_str(),0);
+      MEDCoupling::ComponentTopology comptopo;
       if(srcM=="P0")
         {
           mcfield = MEDCouplingFieldDouble::New(ON_CELLS,NO_TIME);
@@ -726,7 +730,7 @@ void ParaMEDMEMTest::testInterpKernelDEC2_2D_(const char *srcMeth, const char *t
           array->alloc(mcfield->getNumberOfTuples(),1);
           mcfield->setArray(array);
           array->decrRef();
-          mcfield->setNature(ConservativeVolumic);
+          mcfield->setNature(IntensiveMaximum);
         }
       else
         {
@@ -756,10 +760,11 @@ void ParaMEDMEMTest::testInterpKernelDEC2_2D_(const char *srcMeth, const char *t
       string master= filename_xml2;
       ostringstream strstream;
       strstream << master<<(rank-nproc_source+1)<<".med";
+      string fName = INTERP_TEST::getResourceFile(strstream.str());
       ostringstream meshname ;
       meshname<< "Mesh_3_"<<rank-nproc_source+1;
-      mesh = MEDLoader::ReadUMeshFromFile(strstream.str().c_str(),meshname.str().c_str(),0);
-      ParaMEDMEM::ComponentTopology comptopo;
+      mesh = ReadUMeshFromFile(fName.c_str(),meshname.str().c_str(),0);
+      MEDCoupling::ComponentTopology comptopo;
       if(targetM=="P0")
         {
           mcfield = MEDCouplingFieldDouble::New(ON_CELLS,NO_TIME);
@@ -768,7 +773,7 @@ void ParaMEDMEMTest::testInterpKernelDEC2_2D_(const char *srcMeth, const char *t
           array->alloc(mcfield->getNumberOfTuples(),1);
           mcfield->setArray(array);
           array->decrRef();
-          mcfield->setNature(ConservativeVolumic);
+          mcfield->setNature(IntensiveMaximum);
         }
       else
         {
@@ -844,26 +849,29 @@ void ParaMEDMEMTest::testInterpKernelDEC_3D_(const char *srcMeth, const char *ta
     procs_target.insert(i);
   self_procs.insert(rank);
   
-  ParaMEDMEM::CommInterface interface;
+  MEDCoupling::CommInterface interface;
     
-  ParaMEDMEM::ProcessorGroup* self_group = new ParaMEDMEM::MPIProcessorGroup(interface,self_procs);
-  ParaMEDMEM::ProcessorGroup* target_group = new ParaMEDMEM::MPIProcessorGroup(interface,procs_target);
-  ParaMEDMEM::ProcessorGroup* source_group = new ParaMEDMEM::MPIProcessorGroup(interface,procs_source);
+  MEDCoupling::ProcessorGroup* self_group = new MEDCoupling::MPIProcessorGroup(interface,self_procs);
+  MEDCoupling::ProcessorGroup* target_group = new MEDCoupling::MPIProcessorGroup(interface,procs_target);
+  MEDCoupling::ProcessorGroup* source_group = new MEDCoupling::MPIProcessorGroup(interface,procs_source);
   
   //loading the geometry for the source group
 
-  ParaMEDMEM::InterpKernelDEC dec (*source_group,*target_group);
+  MEDCoupling::InterpKernelDEC dec (*source_group,*target_group);
 
-  ParaMEDMEM::MEDCouplingUMesh* mesh;
-  ParaMEDMEM::ParaMESH* paramesh;
-  ParaMEDMEM::ParaFIELD* parafield;
+  MEDCoupling::MEDCouplingUMesh* mesh;
+  MEDCoupling::ParaMESH* paramesh;
+  MEDCoupling::ParaFIELD* parafield;
   ICoCo::MEDField* icocofield ;
   
-  string tmp_dir                    = getenv("TMP");
-  if (tmp_dir == "")
+  char * tmp_dir_c                    = getenv("TMP");
+  string tmp_dir;
+  if (tmp_dir_c != NULL)
+    tmp_dir = string(tmp_dir_c);
+  else
     tmp_dir = "/tmp";
-  string filename_xml1              = getResourceFile("Mesh3D_10_2d");
-  string filename_xml2              = getResourceFile("Mesh3D_11");
+  string filename_xml1              = "Mesh3D_10_2d";
+  string filename_xml2              = "Mesh3D_11";
   //string filename_seq_wr            = makeTmpFile("");
   //string filename_seq_med           = makeTmpFile("myWrField_seq_pointe221.med");
   
@@ -877,20 +885,21 @@ void ParaMEDMEMTest::testInterpKernelDEC_3D_(const char *srcMeth, const char *ta
       
       ostringstream strstream;
       strstream <<master<<rank+1<<".med";
+      std::string fName = INTERP_TEST::getResourceFile(strstream.str());
       ostringstream meshname ;
       meshname<< "Mesh_3_"<< rank+1;
       
-      mesh=MEDLoader::ReadUMeshFromFile(strstream.str().c_str(),meshname.str().c_str(),0);
+      mesh=ReadUMeshFromFile(fName.c_str(),meshname.str().c_str(),0);
       
     
       paramesh=new ParaMESH (mesh,*source_group,"source mesh");
     
-      //      ParaMEDMEM::ParaSUPPORT* parasupport=new UnstructuredParaSUPPORT( support,*source_group);
-      ParaMEDMEM::ComponentTopology comptopo;
+      //      MEDCoupling::ParaSUPPORT* parasupport=new UnstructuredParaSUPPORT( support,*source_group);
+      MEDCoupling::ComponentTopology comptopo;
       if(srcM=="P0")
         {
           parafield = new ParaFIELD(ON_CELLS,NO_TIME,paramesh, comptopo);
-          parafield->getField()->setNature(ConservativeVolumic);
+          parafield->getField()->setNature(IntensiveMaximum);
         }
       else
         parafield = new ParaFIELD(ON_NODES,NO_TIME,paramesh, comptopo);
@@ -916,17 +925,18 @@ void ParaMEDMEMTest::testInterpKernelDEC_3D_(const char *srcMeth, const char *ta
       string master= filename_xml2;
       ostringstream strstream;
       strstream << master << ".med";
+      std::string fName = INTERP_TEST::getResourceFile(strstream.str());
       ostringstream meshname ;
       meshname<< "Mesh_6";
-      mesh = MEDLoader::ReadUMeshFromFile(strstream.str().c_str(),meshname.str().c_str(),0);
+      mesh = ReadUMeshFromFile(fName.c_str(),meshname.str().c_str(),0);
       
       paramesh=new ParaMESH (mesh,*target_group,"target mesh");
-      //      ParaMEDMEM::ParaSUPPORT* parasupport=new UnstructuredParaSUPPORT(support,*target_group);
-      ParaMEDMEM::ComponentTopology comptopo;
+      //      MEDCoupling::ParaSUPPORT* parasupport=new UnstructuredParaSUPPORT(support,*target_group);
+      MEDCoupling::ComponentTopology comptopo;
       if(targetM=="P0")
         {
           parafield = new ParaFIELD(ON_CELLS,NO_TIME,paramesh, comptopo);
-          parafield->getField()->setNature(ConservativeVolumic);
+          parafield->getField()->setNature(IntensiveMaximum);
         }
       else
         parafield = new ParaFIELD(ON_NODES,NO_TIME,paramesh, comptopo);
@@ -962,14 +972,14 @@ void ParaMEDMEMTest::testInterpKernelDEC_3D_(const char *srcMeth, const char *ta
       ostringstream filename;
       filename<<"./sourcesquareb_"<<source_group->myRank()+1;
       aRemover.Register(filename.str().c_str());
-      //MEDLoader::WriteField("./sourcesquareb",parafield->getField());
+      //WriteField("./sourcesquareb",parafield->getField());
    
       dec.recvData();
       cout <<"writing"<<endl;
       ParaMEDLoader::WriteParaMesh("./sourcesquare",paramesh);
       if (source_group->myRank()==0)
         aRemover.Register("./sourcesquare");
-      //MEDLoader::WriteField("./sourcesquare",parafield->getField());
+      //WriteField("./sourcesquare",parafield->getField());
       
      
       filename<<"./sourcesquare_"<<source_group->myRank()+1;
@@ -988,7 +998,7 @@ void ParaMEDMEMTest::testInterpKernelDEC_3D_(const char *srcMeth, const char *ta
 
       dec.recvData();
       ParaMEDLoader::WriteParaMesh("./targetsquareb",paramesh);
-      //MEDLoader::WriteField("./targetsquareb",parafield->getField());
+      //WriteField("./targetsquareb",parafield->getField());
       if (target_group->myRank()==0)
         aRemover.Register("./targetsquareb");
       ostringstream filename;
@@ -996,7 +1006,7 @@ void ParaMEDMEMTest::testInterpKernelDEC_3D_(const char *srcMeth, const char *ta
       aRemover.Register(filename.str().c_str());
       dec.sendData();
       ParaMEDLoader::WriteParaMesh("./targetsquare",paramesh);
-      //MEDLoader::WriteField("./targetsquare",parafield->getField());
+      //WriteField("./targetsquare",parafield->getField());
       
       if (target_group->myRank()==0)
         aRemover.Register("./targetsquareb");
@@ -1105,15 +1115,15 @@ void ParaMEDMEMTest::testInterpKernelDECNonOverlapp_2D_P0P0()
     procs_target.insert(i);
   self_procs.insert(rank);
   //
-  ParaMEDMEM::MEDCouplingUMesh *mesh=0;
-  ParaMEDMEM::ParaMESH *paramesh=0;
-  ParaMEDMEM::ParaFIELD* parafield=0;
+  MEDCoupling::MEDCouplingUMesh *mesh=0;
+  MEDCoupling::ParaMESH *paramesh=0;
+  MEDCoupling::ParaFIELD* parafield=0;
   //
-  ParaMEDMEM::CommInterface interface;
+  MEDCoupling::CommInterface interface;
   //
-  ProcessorGroup* self_group = new ParaMEDMEM::MPIProcessorGroup(interface,self_procs);
-  ProcessorGroup* target_group = new ParaMEDMEM::MPIProcessorGroup(interface,procs_target);
-  ProcessorGroup* source_group = new ParaMEDMEM::MPIProcessorGroup(interface,procs_source);
+  ProcessorGroup* self_group = new MEDCoupling::MPIProcessorGroup(interface,self_procs);
+  ProcessorGroup* target_group = new MEDCoupling::MPIProcessorGroup(interface,procs_target);
+  ProcessorGroup* source_group = new MEDCoupling::MPIProcessorGroup(interface,procs_source);
   //
   MPI_Barrier(MPI_COMM_WORLD);
   if(source_group->containsMyRank())
@@ -1130,7 +1140,7 @@ void ParaMEDMEMTest::testInterpKernelDECNonOverlapp_2D_P0P0()
       mesh->setCoords(myCoords);
       myCoords->decrRef();
       paramesh=new ParaMESH(mesh,*source_group,"source mesh");
-      ParaMEDMEM::ComponentTopology comptopo;
+      MEDCoupling::ComponentTopology comptopo;
       parafield = new ParaFIELD(ON_CELLS,NO_TIME,paramesh, comptopo);
       double *value=parafield->getField()->getArray()->getPointer();
       value[0]=34+13*((double)rank);
@@ -1150,12 +1160,12 @@ void ParaMEDMEMTest::testInterpKernelDECNonOverlapp_2D_P0P0()
       mesh->setCoords(myCoords);
       myCoords->decrRef();
       paramesh=new ParaMESH (mesh,*target_group,"target mesh");
-      ParaMEDMEM::ComponentTopology comptopo;
+      MEDCoupling::ComponentTopology comptopo;
       parafield = new ParaFIELD(ON_CELLS,NO_TIME,paramesh, comptopo);
     }
   //test 1 - Conservative volumic
-  ParaMEDMEM::InterpKernelDEC dec(*source_group,*target_group);
-  parafield->getField()->setNature(ConservativeVolumic);
+  MEDCoupling::InterpKernelDEC dec(*source_group,*target_group);
+  parafield->getField()->setNature(IntensiveMaximum);
   if (source_group->containsMyRank())
     { 
       dec.setMethod("P0");
@@ -1176,9 +1186,9 @@ void ParaMEDMEMTest::testInterpKernelDECNonOverlapp_2D_P0P0()
       CPPUNIT_ASSERT_DOUBLES_EQUAL(expected[0],res[0],1e-13);
       CPPUNIT_ASSERT_DOUBLES_EQUAL(expected[1],res[1],1e-13);
     }
-  //test 2 - Integral
-  ParaMEDMEM::InterpKernelDEC dec2(*source_group,*target_group);
-  parafield->getField()->setNature(Integral);
+  //test 2 - ExtensiveMaximum
+  MEDCoupling::InterpKernelDEC dec2(*source_group,*target_group);
+  parafield->getField()->setNature(ExtensiveMaximum);
   if (source_group->containsMyRank())
     { 
       dec2.setMethod("P0");
@@ -1199,9 +1209,9 @@ void ParaMEDMEMTest::testInterpKernelDECNonOverlapp_2D_P0P0()
       CPPUNIT_ASSERT_DOUBLES_EQUAL(expected[0],res[0],1e-13);
       CPPUNIT_ASSERT_DOUBLES_EQUAL(expected[1],res[1],1e-13);
     }
-  //test 3 - Integral with global constraint
-  ParaMEDMEM::InterpKernelDEC dec3(*source_group,*target_group);
-  parafield->getField()->setNature(IntegralGlobConstraint);
+  //test 3 - ExtensiveMaximum with global constraint
+  MEDCoupling::InterpKernelDEC dec3(*source_group,*target_group);
+  parafield->getField()->setNature(ExtensiveConservation);
   if (source_group->containsMyRank())
     { 
       dec3.setMethod("P0");
@@ -1222,9 +1232,9 @@ void ParaMEDMEMTest::testInterpKernelDECNonOverlapp_2D_P0P0()
       CPPUNIT_ASSERT_DOUBLES_EQUAL(expected[0],res[0],1e-13);
       CPPUNIT_ASSERT_DOUBLES_EQUAL(expected[1],res[1],1e-13);
     }
-  //test 4 - RevIntegral
-  ParaMEDMEM::InterpKernelDEC dec4(*source_group,*target_group);
-  parafield->getField()->setNature(RevIntegral);
+  //test 4 - IntensiveConservation
+  MEDCoupling::InterpKernelDEC dec4(*source_group,*target_group);
+  parafield->getField()->setNature(IntensiveConservation);
   if (source_group->containsMyRank())
     { 
       dec4.setMethod("P0");
@@ -1246,8 +1256,8 @@ void ParaMEDMEMTest::testInterpKernelDECNonOverlapp_2D_P0P0()
       CPPUNIT_ASSERT_DOUBLES_EQUAL(expected[1],res[1],1e-13);
     }
   //test 5 - Conservative volumic reversed
-  ParaMEDMEM::InterpKernelDEC dec5(*source_group,*target_group);
-  parafield->getField()->setNature(ConservativeVolumic);
+  MEDCoupling::InterpKernelDEC dec5(*source_group,*target_group);
+  parafield->getField()->setNature(IntensiveMaximum);
   if (source_group->containsMyRank())
     { 
       dec5.setMethod("P0");
@@ -1256,7 +1266,7 @@ void ParaMEDMEMTest::testInterpKernelDECNonOverlapp_2D_P0P0()
       dec5.setForcedRenormalization(false);
       dec5.recvData();
       const double *res=parafield->getField()->getArray()->getConstPointer();
-      CPPUNIT_ASSERT_EQUAL(1,parafield->getField()->getNumberOfTuples());
+      CPPUNIT_ASSERT_EQUAL(1,(int)parafield->getField()->getNumberOfTuples());
       const double expected[]={37.8518518518519,43.5333333333333};
       CPPUNIT_ASSERT_DOUBLES_EQUAL(expected[rank],res[0],1e-13);
     }
@@ -1272,9 +1282,9 @@ void ParaMEDMEMTest::testInterpKernelDECNonOverlapp_2D_P0P0()
       res[1]=toSet[1];
       dec5.sendData();
     }
-  //test 6 - Integral reversed
-  ParaMEDMEM::InterpKernelDEC dec6(*source_group,*target_group);
-  parafield->getField()->setNature(Integral);
+  //test 6 - ExtensiveMaximum reversed
+  MEDCoupling::InterpKernelDEC dec6(*source_group,*target_group);
+  parafield->getField()->setNature(ExtensiveMaximum);
   if (source_group->containsMyRank())
     { 
       dec6.setMethod("P0");
@@ -1283,7 +1293,7 @@ void ParaMEDMEMTest::testInterpKernelDECNonOverlapp_2D_P0P0()
       dec6.setForcedRenormalization(false);
       dec6.recvData();
       const double *res=parafield->getField()->getArray()->getConstPointer();
-      CPPUNIT_ASSERT_EQUAL(1,parafield->getField()->getNumberOfTuples());
+      CPPUNIT_ASSERT_EQUAL(1,(int)parafield->getField()->getNumberOfTuples());
       const double expected[]={0.794600591715977,1.35631163708087};
       CPPUNIT_ASSERT_DOUBLES_EQUAL(expected[rank],res[0],1e-13);
     }
@@ -1299,9 +1309,9 @@ void ParaMEDMEMTest::testInterpKernelDECNonOverlapp_2D_P0P0()
       res[1]=toSet[1];
       dec6.sendData();
     }
-  //test 7 - Integral with global constraint reversed
-  ParaMEDMEM::InterpKernelDEC dec7(*source_group,*target_group);
-  parafield->getField()->setNature(IntegralGlobConstraint);
+  //test 7 - ExtensiveMaximum with global constraint reversed
+  MEDCoupling::InterpKernelDEC dec7(*source_group,*target_group);
+  parafield->getField()->setNature(ExtensiveConservation);
   if (source_group->containsMyRank())
     { 
       dec7.setMethod("P0");
@@ -1310,7 +1320,7 @@ void ParaMEDMEMTest::testInterpKernelDECNonOverlapp_2D_P0P0()
       dec7.setForcedRenormalization(false);
       dec7.recvData();
       const double *res=parafield->getField()->getArray()->getConstPointer();
-      CPPUNIT_ASSERT_EQUAL(1,parafield->getField()->getNumberOfTuples());
+      CPPUNIT_ASSERT_EQUAL(1,(int)parafield->getField()->getNumberOfTuples());
       const double expected[]={36.4592592592593,44.5407407407407};
       CPPUNIT_ASSERT_DOUBLES_EQUAL(expected[rank],res[0],1e-13);
     }
@@ -1326,9 +1336,9 @@ void ParaMEDMEMTest::testInterpKernelDECNonOverlapp_2D_P0P0()
       res[1]=toSet[1];
       dec7.sendData();
     }
-  //test 8 - Integral with RevIntegral reversed
-  ParaMEDMEM::InterpKernelDEC dec8(*source_group,*target_group);
-  parafield->getField()->setNature(RevIntegral);
+  //test 8 - ExtensiveMaximum with IntensiveConservation reversed
+  MEDCoupling::InterpKernelDEC dec8(*source_group,*target_group);
+  parafield->getField()->setNature(IntensiveConservation);
   if (source_group->containsMyRank())
     { 
       dec8.setMethod("P0");
@@ -1337,7 +1347,7 @@ void ParaMEDMEMTest::testInterpKernelDECNonOverlapp_2D_P0P0()
       dec8.setForcedRenormalization(false);
       dec8.recvData();
       const double *res=parafield->getField()->getArray()->getConstPointer();
-      CPPUNIT_ASSERT_EQUAL(1,parafield->getField()->getNumberOfTuples());
+      CPPUNIT_ASSERT_EQUAL(1,(int)parafield->getField()->getNumberOfTuples());
       const double expected[]={0.81314102564102553,1.3428994082840233};
       CPPUNIT_ASSERT_DOUBLES_EQUAL(expected[rank],res[0],1e-13);
     }
@@ -1384,15 +1394,15 @@ void ParaMEDMEMTest::testInterpKernelDECNonOverlapp_2D_P0P1P1P0()
     procs_target.insert(i);
   self_procs.insert(rank);
   //
-  ParaMEDMEM::MEDCouplingUMesh *mesh=0;
-  ParaMEDMEM::ParaMESH *paramesh=0;
-  ParaMEDMEM::ParaFIELD *parafieldP0=0,*parafieldP1=0;
+  MEDCoupling::MEDCouplingUMesh *mesh=0;
+  MEDCoupling::ParaMESH *paramesh=0;
+  MEDCoupling::ParaFIELD *parafieldP0=0,*parafieldP1=0;
   //
-  ParaMEDMEM::CommInterface interface;
+  MEDCoupling::CommInterface interface;
   //
-  ProcessorGroup* self_group = new ParaMEDMEM::MPIProcessorGroup(interface,self_procs);
-  ProcessorGroup* target_group = new ParaMEDMEM::MPIProcessorGroup(interface,procs_target);
-  ProcessorGroup* source_group = new ParaMEDMEM::MPIProcessorGroup(interface,procs_source);
+  ProcessorGroup* self_group = new MEDCoupling::MPIProcessorGroup(interface,self_procs);
+  ProcessorGroup* target_group = new MEDCoupling::MPIProcessorGroup(interface,procs_target);
+  ProcessorGroup* source_group = new MEDCoupling::MPIProcessorGroup(interface,procs_source);
   //
   MPI_Barrier(MPI_COMM_WORLD);
   if(source_group->containsMyRank())
@@ -1428,13 +1438,13 @@ void ParaMEDMEMTest::testInterpKernelDECNonOverlapp_2D_P0P1P1P0()
           myCoords->decrRef();
         }
       paramesh=new ParaMESH(mesh,*source_group,"source mesh");
-      ParaMEDMEM::ComponentTopology comptopo;
+      MEDCoupling::ComponentTopology comptopo;
       parafieldP0 = new ParaFIELD(ON_CELLS,NO_TIME,paramesh, comptopo);
       parafieldP1 = new ParaFIELD(ON_NODES,NO_TIME,paramesh, comptopo);
       double *valueP0=parafieldP0->getField()->getArray()->getPointer();
       double *valueP1=parafieldP1->getField()->getArray()->getPointer();
-      parafieldP0->getField()->setNature(ConservativeVolumic);
-      parafieldP1->getField()->setNature(ConservativeVolumic);
+      parafieldP0->getField()->setNature(IntensiveMaximum);
+      parafieldP1->getField()->setNature(IntensiveMaximum);
       if(rank==0)
         {
           valueP0[0]=31.;
@@ -1514,14 +1524,14 @@ void ParaMEDMEMTest::testInterpKernelDECNonOverlapp_2D_P0P1P1P0()
           paramesh->setNodeGlobal(da);
           da->decrRef();
         }
-      ParaMEDMEM::ComponentTopology comptopo;
+      MEDCoupling::ComponentTopology comptopo;
       parafieldP0 = new ParaFIELD(ON_CELLS,NO_TIME,paramesh, comptopo);
       parafieldP1 = new ParaFIELD(ON_NODES,NO_TIME,paramesh, comptopo);
-      parafieldP0->getField()->setNature(ConservativeVolumic);
-      parafieldP1->getField()->setNature(ConservativeVolumic);
+      parafieldP0->getField()->setNature(IntensiveMaximum);
+      parafieldP1->getField()->setNature(IntensiveMaximum);
     }
   // test 1 - P0 P1
-  ParaMEDMEM::InterpKernelDEC dec(*source_group,*target_group);
+  MEDCoupling::InterpKernelDEC dec(*source_group,*target_group);
   if (source_group->containsMyRank())
     { 
       dec.setMethod("P0");
@@ -1551,24 +1561,24 @@ void ParaMEDMEMTest::testInterpKernelDECNonOverlapp_2D_P0P1P1P0()
       if(rank==2)
         {
           const double expectP2[5]={39.0, 31.0, 31.0, 47.0, 39.0};
-          CPPUNIT_ASSERT_EQUAL(5,parafieldP1->getField()->getNumberOfTuples());
-          CPPUNIT_ASSERT_EQUAL(1,parafieldP1->getField()->getNumberOfComponents());
+          CPPUNIT_ASSERT_EQUAL(5,(int)parafieldP1->getField()->getNumberOfTuples());
+          CPPUNIT_ASSERT_EQUAL(1,(int)parafieldP1->getField()->getNumberOfComponents());
           for(int kk=0;kk<5;kk++)
             CPPUNIT_ASSERT_DOUBLES_EQUAL(expectP2[kk],res[kk],1e-12);
         }
       if(rank==3)
         {
           const double expectP3[3]={39.0, 31.0, 31.0};
-          CPPUNIT_ASSERT_EQUAL(3,parafieldP1->getField()->getNumberOfTuples());
-          CPPUNIT_ASSERT_EQUAL(1,parafieldP1->getField()->getNumberOfComponents());
+          CPPUNIT_ASSERT_EQUAL(3,(int)parafieldP1->getField()->getNumberOfTuples());
+          CPPUNIT_ASSERT_EQUAL(1,(int)parafieldP1->getField()->getNumberOfComponents());
           for(int kk=0;kk<3;kk++)
             CPPUNIT_ASSERT_DOUBLES_EQUAL(expectP3[kk],res[kk],1e-12);
         }
       if(rank==4)
         {
           const double expectP4[6]={47.0, 47.0, 47.0, 39.0, 39.0, 31.0};
-          CPPUNIT_ASSERT_EQUAL(6,parafieldP1->getField()->getNumberOfTuples());
-          CPPUNIT_ASSERT_EQUAL(1,parafieldP1->getField()->getNumberOfComponents());
+          CPPUNIT_ASSERT_EQUAL(6,(int)parafieldP1->getField()->getNumberOfTuples());
+          CPPUNIT_ASSERT_EQUAL(1,(int)parafieldP1->getField()->getNumberOfComponents());
           for(int kk=0;kk<6;kk++)
             CPPUNIT_ASSERT_DOUBLES_EQUAL(expectP4[kk],res[kk],1e-12);
         }
@@ -1604,14 +1614,14 @@ void ParaMEDMEMTest::testInterpKernelDEC2DM1D_P0P0()
   for (int i=nproc_source;i<size; i++)
     procs_target.insert(i);
   //
-  ParaMEDMEM::MEDCouplingUMesh *mesh=0;
-  ParaMEDMEM::ParaMESH *paramesh=0;
-  ParaMEDMEM::ParaFIELD *parafield=0;
+  MEDCoupling::MEDCouplingUMesh *mesh=0;
+  MEDCoupling::ParaMESH *paramesh=0;
+  MEDCoupling::ParaFIELD *parafield=0;
   //
-  ParaMEDMEM::CommInterface interface;
+  MEDCoupling::CommInterface interface;
   //
-  ProcessorGroup* target_group = new ParaMEDMEM::MPIProcessorGroup(interface,procs_target);
-  ProcessorGroup* source_group = new ParaMEDMEM::MPIProcessorGroup(interface,procs_source);
+  ProcessorGroup* target_group = new MEDCoupling::MPIProcessorGroup(interface,procs_target);
+  ProcessorGroup* source_group = new MEDCoupling::MPIProcessorGroup(interface,procs_source);
   //
   MPI_Barrier(MPI_COMM_WORLD);
   if(source_group->containsMyRank())
@@ -1641,10 +1651,10 @@ void ParaMEDMEMTest::testInterpKernelDEC2DM1D_P0P0()
           mesh->insertNextCell(INTERP_KERNEL::NORM_QUAD4,4,targetConn+7);
           mesh->finishInsertingCells();
         }
-      ParaMEDMEM::ComponentTopology comptopo;
+      MEDCoupling::ComponentTopology comptopo;
       paramesh=new ParaMESH(mesh,*source_group,"source mesh");
       parafield=new ParaFIELD(ON_CELLS,NO_TIME,paramesh, comptopo);
-      parafield->getField()->setNature(ConservativeVolumic);
+      parafield->getField()->setNature(IntensiveMaximum);
       double *vals=parafield->getField()->getArray()->getPointer();
       if(rank==0)
         { vals[0]=7.; vals[1]=8.; }
@@ -1654,12 +1664,12 @@ void ParaMEDMEMTest::testInterpKernelDEC2DM1D_P0P0()
   else
     {
       mesh=MEDCouplingUMesh::New("an example of -1 D mesh",-1);
-      ParaMEDMEM::ComponentTopology comptopo;
+      MEDCoupling::ComponentTopology comptopo;
       paramesh=new ParaMESH(mesh,*target_group,"target mesh");
       parafield=new ParaFIELD(ON_CELLS,NO_TIME,paramesh, comptopo);
-      parafield->getField()->setNature(ConservativeVolumic);
+      parafield->getField()->setNature(IntensiveMaximum);
     }
-  ParaMEDMEM::InterpKernelDEC dec(*source_group,*target_group);
+  MEDCoupling::InterpKernelDEC dec(*source_group,*target_group);
   if(source_group->containsMyRank())
     {
       dec.setMethod("P0");
@@ -1692,9 +1702,9 @@ void ParaMEDMEMTest::testInterpKernelDEC2DM1D_P0P0()
       CPPUNIT_ASSERT_DOUBLES_EQUAL(9.125,res[0],1e-12);
       dec.sendData();
     }
-  ParaMEDMEM::InterpKernelDEC dec2(*source_group,*target_group);
+  MEDCoupling::InterpKernelDEC dec2(*source_group,*target_group);
   dec2.setMethod("P0");
-  parafield->getField()->setNature(IntegralGlobConstraint);
+  parafield->getField()->setNature(ExtensiveConservation);
   if(source_group->containsMyRank())
     {
       double *vals=parafield->getField()->getArray()->getPointer();
@@ -1729,9 +1739,9 @@ void ParaMEDMEMTest::testInterpKernelDEC2DM1D_P0P0()
       dec2.sendData();
     }
   //
-  ParaMEDMEM::InterpKernelDEC dec3(*source_group,*target_group);
+  MEDCoupling::InterpKernelDEC dec3(*source_group,*target_group);
   dec3.setMethod("P0");
-  parafield->getField()->setNature(Integral);
+  parafield->getField()->setNature(ExtensiveMaximum);
   if(source_group->containsMyRank())
     {
       double *vals=parafield->getField()->getArray()->getPointer();
@@ -1766,9 +1776,9 @@ void ParaMEDMEMTest::testInterpKernelDEC2DM1D_P0P0()
       dec3.sendData();
     }
   //
-  ParaMEDMEM::InterpKernelDEC dec4(*source_group,*target_group);
+  MEDCoupling::InterpKernelDEC dec4(*source_group,*target_group);
   dec4.setMethod("P0");
-  parafield->getField()->setNature(RevIntegral);
+  parafield->getField()->setNature(IntensiveConservation);
   if(source_group->containsMyRank())
     {
       double *vals=parafield->getField()->getArray()->getPointer();
@@ -1826,11 +1836,11 @@ void ParaMEDMEMTest::testInterpKernelDECPartialProcs()
   procs_source.insert(0);
   procs_target.insert(1);
   //
-  ParaMEDMEM::MEDCouplingUMesh *mesh=0;
-  ParaMEDMEM::ParaMESH *paramesh=0;
-  ParaMEDMEM::ParaFIELD *parafield=0;
+  MEDCoupling::MEDCouplingUMesh *mesh=0;
+  MEDCoupling::ParaMESH *paramesh=0;
+  MEDCoupling::ParaFIELD *parafield=0;
   //
-  ParaMEDMEM::CommInterface interface;
+  MEDCoupling::CommInterface interface;
   //
   MPI_Barrier(MPI_COMM_WORLD);
   double targetCoords[8]={ 0.,0., 1., 0., 0., 1., 1., 1. };
@@ -1845,11 +1855,11 @@ void ParaMEDMEMTest::testInterpKernelDECPartialProcs()
   ProcessorGroup* target_group=0;
   ProcessorGroup* source_group=0;
   //
-  ParaMEDMEM::InterpKernelDEC *dec=0;
+  MEDCoupling::InterpKernelDEC *dec=0;
   if(rank==0 || rank==1)
     {
-      target_group = new ParaMEDMEM::MPIProcessorGroup(interface,procs_target,partialComm);
-      source_group = new ParaMEDMEM::MPIProcessorGroup(interface,procs_source,partialComm);
+      target_group = new MEDCoupling::MPIProcessorGroup(interface,procs_target,partialComm);
+      source_group = new MEDCoupling::MPIProcessorGroup(interface,procs_source,partialComm);
       if(source_group->containsMyRank())
         {    
           mesh=MEDCouplingUMesh::New();
@@ -1863,13 +1873,13 @@ void ParaMEDMEMTest::testInterpKernelDECPartialProcs()
           mesh->allocateCells(1);
           mesh->insertNextCell(INTERP_KERNEL::NORM_QUAD4,4,targetConn);
           mesh->finishInsertingCells();
-          ParaMEDMEM::ComponentTopology comptopo;
+          MEDCoupling::ComponentTopology comptopo;
           paramesh=new ParaMESH(mesh,*source_group,"source mesh");
           parafield=new ParaFIELD(ON_CELLS,NO_TIME,paramesh, comptopo);
-          parafield->getField()->setNature(ConservativeVolumic);
+          parafield->getField()->setNature(IntensiveMaximum);
           double *vals=parafield->getField()->getArray()->getPointer();
           vals[0]=7.;
-          dec=new ParaMEDMEM::InterpKernelDEC(*source_group,*target_group);
+          dec=new MEDCoupling::InterpKernelDEC(*source_group,*target_group);
           dec->attachLocalField(parafield);
           dec->synchronize();
           dec->sendData();
@@ -1889,11 +1899,11 @@ void ParaMEDMEMTest::testInterpKernelDECPartialProcs()
           mesh->insertNextCell(INTERP_KERNEL::NORM_TRI3,3,targetConn);
           mesh->insertNextCell(INTERP_KERNEL::NORM_TRI3,3,targetConn+3);
           mesh->finishInsertingCells();
-          ParaMEDMEM::ComponentTopology comptopo;
+          MEDCoupling::ComponentTopology comptopo;
           paramesh=new ParaMESH(mesh,*target_group,"target mesh");
           parafield=new ParaFIELD(ON_CELLS,NO_TIME,paramesh, comptopo);
-          parafield->getField()->setNature(ConservativeVolumic);
-          dec=new ParaMEDMEM::InterpKernelDEC(*source_group,*target_group);
+          parafield->getField()->setNature(IntensiveMaximum);
+          dec=new MEDCoupling::InterpKernelDEC(*source_group,*target_group);
           dec->attachLocalField(parafield);
           dec->synchronize();
           dec->recvData();
@@ -1907,6 +1917,10 @@ void ParaMEDMEMTest::testInterpKernelDECPartialProcs()
   delete target_group;
   delete source_group;
   delete dec;
+  if(partialComm != MPI_COMM_NULL)
+    comm.commFree(&partialComm);
+  comm.groupFree(&grp);
+  comm.groupFree(&group_world);
   MPI_Barrier(MPI_COMM_WORLD);
 }
 
@@ -1934,15 +1948,15 @@ void ParaMEDMEMTest::testInterpKernelDEC3DSurfEmptyBBox()
     procs_target.insert(i);
   self_procs.insert(rank);
   //
-  ParaMEDMEM::MEDCouplingUMesh *mesh=0;
-  ParaMEDMEM::ParaMESH *paramesh=0;
-  ParaMEDMEM::ParaFIELD *parafieldP0=0;
+  MEDCoupling::MEDCouplingUMesh *mesh=0;
+  MEDCoupling::ParaMESH *paramesh=0;
+  MEDCoupling::ParaFIELD *parafieldP0=0;
   //
-  ParaMEDMEM::CommInterface interface;
+  MEDCoupling::CommInterface interface;
   //
-  ProcessorGroup* self_group = new ParaMEDMEM::MPIProcessorGroup(interface,self_procs);
-  ProcessorGroup* target_group = new ParaMEDMEM::MPIProcessorGroup(interface,procs_target);
-  ProcessorGroup* source_group = new ParaMEDMEM::MPIProcessorGroup(interface,procs_source);
+  ProcessorGroup* self_group = new MEDCoupling::MPIProcessorGroup(interface,self_procs);
+  ProcessorGroup* target_group = new MEDCoupling::MPIProcessorGroup(interface,procs_target);
+  ProcessorGroup* source_group = new MEDCoupling::MPIProcessorGroup(interface,procs_source);
   //
   MPI_Barrier(MPI_COMM_WORLD);
   if(source_group->containsMyRank())
@@ -1961,10 +1975,10 @@ void ParaMEDMEMTest::testInterpKernelDEC3DSurfEmptyBBox()
       myCoords->decrRef();
       //
       paramesh=new ParaMESH(mesh,*source_group,"source mesh");
-      ParaMEDMEM::ComponentTopology comptopo;
+      MEDCoupling::ComponentTopology comptopo;
       parafieldP0 = new ParaFIELD(ON_CELLS,NO_TIME,paramesh, comptopo);
       double *valueP0=parafieldP0->getField()->getArray()->getPointer();
-      parafieldP0->getField()->setNature(ConservativeVolumic);
+      parafieldP0->getField()->setNature(IntensiveMaximum);
       valueP0[0]=7.; valueP0[1]=8.;
     }
   else
@@ -2000,12 +2014,12 @@ void ParaMEDMEMTest::testInterpKernelDEC3DSurfEmptyBBox()
           myCoords->decrRef();
           paramesh=new ParaMESH(mesh,*target_group,targetMeshName);
         }
-      ParaMEDMEM::ComponentTopology comptopo;
+      MEDCoupling::ComponentTopology comptopo;
       parafieldP0 = new ParaFIELD(ON_CELLS,NO_TIME,paramesh, comptopo);
-      parafieldP0->getField()->setNature(ConservativeVolumic);
+      parafieldP0->getField()->setNature(IntensiveMaximum);
     }
   // test 1
-  ParaMEDMEM::InterpKernelDEC dec(*source_group,*target_group);
+  MEDCoupling::InterpKernelDEC dec(*source_group,*target_group);
   if (source_group->containsMyRank())
     { 
       dec.setMethod("P0");
@@ -2092,27 +2106,30 @@ void ParaMEDMEMTest::testAsynchronousInterpKernelDEC_2D(double dtA, double tmaxA
     procs_target.insert(i);
   self_procs.insert(rank);
   
-  ParaMEDMEM::CommInterface interface;
+  MEDCoupling::CommInterface interface;
     
-  ParaMEDMEM::ProcessorGroup* self_group = new ParaMEDMEM::MPIProcessorGroup(interface,self_procs);
-  ParaMEDMEM::ProcessorGroup* target_group = new ParaMEDMEM::MPIProcessorGroup(interface,procs_target);
-  ParaMEDMEM::ProcessorGroup* source_group = new ParaMEDMEM::MPIProcessorGroup(interface,procs_source);
+  MEDCoupling::ProcessorGroup* self_group = new MEDCoupling::MPIProcessorGroup(interface,self_procs);
+  MEDCoupling::ProcessorGroup* target_group = new MEDCoupling::MPIProcessorGroup(interface,procs_target);
+  MEDCoupling::ProcessorGroup* source_group = new MEDCoupling::MPIProcessorGroup(interface,procs_source);
     
   //loading the geometry for the source group
 
-  ParaMEDMEM::InterpKernelDEC dec (*source_group,*target_group);
+  MEDCoupling::InterpKernelDEC dec (*source_group,*target_group);
   
-  ParaMEDMEM::MEDCouplingUMesh* mesh;
-  ParaMEDMEM::ParaMESH* paramesh;
-  ParaMEDMEM::ParaFIELD* parafield;
+  MEDCoupling::MEDCouplingUMesh* mesh;
+  MEDCoupling::ParaMESH* paramesh;
+  MEDCoupling::ParaFIELD* parafield;
   
   ICoCo::MEDField* icocofield ;
 
-  string tmp_dir                    = getenv("TMP");
-  if (tmp_dir == "")
+  char * tmp_dir_c                    = getenv("TMP");
+  string tmp_dir;
+  if (tmp_dir_c != NULL)
+    tmp_dir = string(tmp_dir_c);
+  else
     tmp_dir = "/tmp";
-  string filename_xml1              = getResourceFile("square1_split");
-  string filename_xml2              = getResourceFile("square2_split"); 
+  string filename_xml1              = "square1_split";
+  string filename_xml2              = "square2_split";
   //string filename_seq_wr            = makeTmpFile("");
   //string filename_seq_med           = makeTmpFile("myWrField_seq_pointe221.med");
   
@@ -2127,19 +2144,20 @@ void ParaMEDMEMTest::testAsynchronousInterpKernelDEC_2D(double dtA, double tmaxA
       
       ostringstream strstream;
       strstream <<master<<rank+1<<".med";
+      string fName = INTERP_TEST::getResourceFile(strstream.str());
       ostringstream meshname ;
       meshname<< "Mesh_2_"<< rank+1;
       
-      mesh=MEDLoader::ReadUMeshFromFile(strstream.str().c_str(),meshname.str().c_str(),0);
+      mesh=ReadUMeshFromFile(fName.c_str(),meshname.str().c_str(),0);
 
       paramesh=new ParaMESH (mesh,*source_group,"source mesh");
     
-      //      ParaMEDMEM::ParaSUPPORT* parasupport=new UnstructuredParaSUPPORT( support,*source_group);
-      ParaMEDMEM::ComponentTopology comptopo;
+      //      MEDCoupling::ParaSUPPORT* parasupport=new UnstructuredParaSUPPORT( support,*source_group);
+      MEDCoupling::ComponentTopology comptopo;
       if(srcM=="P0")
         {
           parafield = new ParaFIELD(ON_CELLS,NO_TIME,paramesh, comptopo);
-          parafield->getField()->setNature(ConservativeVolumic);//InvertIntegral);//ConservativeVolumic);
+          parafield->getField()->setNature(IntensiveMaximum);//InvertIntegral);//IntensiveMaximum);
         }
       else
         parafield = new ParaFIELD(ON_NODES,NO_TIME,paramesh, comptopo);
@@ -2168,18 +2186,19 @@ void ParaMEDMEMTest::testAsynchronousInterpKernelDEC_2D(double dtA, double tmaxA
       string master= filename_xml2;
       ostringstream strstream;
       strstream << master<<(rank-nproc_source+1)<<".med";
+      string fName = INTERP_TEST::getResourceFile(strstream.str());
       ostringstream meshname ;
       meshname<< "Mesh_3_"<<rank-nproc_source+1;
       
-      mesh = MEDLoader::ReadUMeshFromFile(strstream.str().c_str(),meshname.str().c_str(),0);
+      mesh = ReadUMeshFromFile(fName.c_str(),meshname.str().c_str(),0);
 
       paramesh=new ParaMESH (mesh,*target_group,"target mesh");
-      //      ParaMEDMEM::ParaSUPPORT* parasupport=new UnstructuredParaSUPPORT(support,*target_group);
-      ParaMEDMEM::ComponentTopology comptopo;
+      //      MEDCoupling::ParaSUPPORT* parasupport=new UnstructuredParaSUPPORT(support,*target_group);
+      MEDCoupling::ComponentTopology comptopo;
       if(targetM=="P0")
         {
           parafield = new ParaFIELD(ON_CELLS,NO_TIME,paramesh, comptopo);
-          parafield->getField()->setNature(ConservativeVolumic);//InvertIntegral);//ConservativeVolumic);
+          parafield->getField()->setNature(IntensiveMaximum);//InvertIntegral);//IntensiveMaximum);
         }
       else
         parafield = new ParaFIELD(ON_NODES,NO_TIME,paramesh, comptopo);