]> SALOME platform Git repositories - tools/medcoupling.git/commitdiff
Salome HOME
*** empty log message ***
authorcvw <cvw>
Wed, 21 Mar 2012 14:06:07 +0000 (14:06 +0000)
committercvw <cvw>
Wed, 21 Mar 2012 14:06:07 +0000 (14:06 +0000)
src/MEDPartitioner/MEDPARTITIONER_MeshCollection.cxx
src/MEDPartitioner/MEDPARTITIONER_MeshCollection.hxx
src/MEDPartitioner/Makefile.am
src/MEDPartitioner/medpartitioner.cxx
src/MEDPartitioner/medpartitioner_para.cxx

index 472bacdebfda4530459cca27ea9b76442a1639ab..ef6f8c3237b26932a6663934ad484bcb4ccb389d 100644 (file)
@@ -167,6 +167,18 @@ MEDPARTITIONER::MeshCollection::MeshCollection(MeshCollection& initialCollection
   if (MyGlobals::_Is0verbose)
     std::cout << "treating fields" << std::endl;
   castAllFields(initialCollection,"cellFieldDouble");
+  if (_i_non_empty_mesh<0)
+    {
+      for (int i=0; i<_mesh.size(); i++)
+        {
+          if (_mesh[i])
+            {
+              _i_non_empty_mesh=i; //first existing one local
+              break;
+            }
+        }
+    }
+
 }
 
 /*!
@@ -1139,7 +1151,7 @@ MEDPARTITIONER::MeshCollection::~MeshCollection()
   delete _driver;
   if (_topology!=0 && _owns_topology)
     delete _topology;
-#ifdef HAVE_MPI2  
+#ifdef HAVE_MPI2
   delete _joint_finder;
 #endif
 }
@@ -1203,6 +1215,36 @@ int MEDPARTITIONER::MeshCollection::getMeshDimension() const
   return _i_non_empty_mesh < 0 ? -1 : _mesh[_i_non_empty_mesh]->getMeshDimension();
 }
 
+int MEDPARTITIONER::MeshCollection::getNbOfLocalMeshes() const
+{
+  int nb=0;
+  for (int i=0; i<_mesh.size(); i++)
+    {
+      if (_mesh[i]) nb++;
+    }
+  return nb;
+}
+
+int MEDPARTITIONER::MeshCollection::getNbOfLocalCells() const
+{
+  int nb=0;
+  for (int i=0; i<_mesh.size(); i++)
+    {
+      if (_mesh[i]) nb=nb+_mesh[i]->getNumberOfCells();
+    }
+  return nb;
+}
+
+int MEDPARTITIONER::MeshCollection::getNbOfLocalFaces() const
+{
+  int nb=0;
+  for (int i=0; i<_face_mesh.size(); i++)
+    {
+      if (_face_mesh[i]) nb=nb+_face_mesh[i]->getNumberOfCells();
+    }
+  return nb;
+}
+
 std::vector<ParaMEDMEM::MEDCouplingUMesh*>& MEDPARTITIONER::MeshCollection::getMesh()
 {
   return _mesh;
index 989e895cb6f39fa0637401f3eba0a61509e17f30..cd964147a4e18fe693162ea427c2df7aac028e95 100644 (file)
@@ -82,6 +82,11 @@ namespace MEDPARTITIONER
 
     //getting mesh dimension
     int getMeshDimension() const;
+    int getNbOfLocalMeshes() const;
+    int getNbOfGlobalMeshes() const { return _mesh.size(); }
+    int getNbOfLocalCells() const;
+    int getNbOfLocalFaces() const;
+    
     //getting a reference to mesh vector
     std::vector<ParaMEDMEM::MEDCouplingUMesh*>& getMesh();
     std::vector<ParaMEDMEM::MEDCouplingUMesh*>& getFaceMesh();
index 278c7e56d069aaaf9c7ab574466c3ecc6d8471f8..06db0a502032bba43b876cddf0f7c7995484c9c6 100644 (file)
@@ -66,9 +66,15 @@ MEDPARTITIONER_ParaDomainSelector.cxx \
 MEDPARTITIONER_ConnectZone.cxx \
 MEDPARTITIONER_SkyLineArray.cxx
 
-libmedpartitioner_la_CPPFLAGS = $(MPI_INCLUDES) $(MED3_INCLUDES) $(HDF5_INCLUDES) \
-       $(LIBXML_INCLUDES) -I$(srcdir)/../INTERP_KERNEL/Bases -I$(srcdir)/../MEDCoupling \
-       -I$(srcdir)/../MEDLoader -I$(srcdir)/../INTERP_KERNEL
+libmedpartitioner_la_CPPFLAGS = \
+       $(MPI_INCLUDES) \
+       $(MED3_INCLUDES) \
+       $(HDF5_INCLUDES) \
+       $(LIBXML_INCLUDES) \
+       -I$(srcdir)/../INTERP_KERNEL/Bases \
+       -I$(srcdir)/../MEDCoupling \
+       -I$(srcdir)/../MEDLoader \
+       -I$(srcdir)/../INTERP_KERNEL
 
 libmedpartitioner_la_LDFLAGS = 
 
@@ -98,21 +104,40 @@ if MED_ENABLE_SCOTCH
     libmedpartitioner_la_LDFLAGS += $(SCOTCH_LIBS)
 endif
 
-libmedpartitioner_la_LDFLAGS += $(MED3_LIBS_C_ONLY) $(HDF5_LIBS) $(STDLIB) $(LIBXML_LIBS) $(MPI_LIBS) \
-       ../INTERP_KERNEL/libinterpkernel.la ../MEDCoupling/libmedcoupling.la ../MEDLoader/libmedloader.la
+libmedpartitioner_la_LDFLAGS += \
+       $(MED3_LIBS_C_ONLY) \
+       $(HDF5_LIBS) \
+       $(STDLIB) \
+       $(LIBXML_LIBS) \
+       $(MPI_LIBS) \
+       ../INTERP_KERNEL/libinterpkernel.la \
+       ../MEDCoupling/libmedcoupling.la \
+       ../MEDLoader/libmedloader.la
 
 # Executables targets
 if MPI_IS_OK
   bin_PROGRAMS = medpartitioner_para
   dist_medpartitioner_para_SOURCES = medpartitioner_para.cxx
-  medpartitioner_para_CPPFLAGS = -I$(srcdir)/../INTERP_KERNEL/Bases -I$(srcdir)/../MEDCoupling \
-       -I$(srcdir)/../MEDLoader -I$(srcdir)/../INTERP_KERNEL $(MPI_INCLUDES) $(PARMETIS_CPPFLAGS)
+  medpartitioner_para_CPPFLAGS = \
+       -I$(srcdir)/../INTERP_KERNEL/Bases \
+       -I$(srcdir)/../MEDCoupling \
+       -I$(srcdir)/../MEDLoader \
+       -I$(srcdir)/../INTERP_KERNEL \
+       $(MPI_INCLUDES) \
+       $(PARMETIS_CPPFLAGS)
+
   medpartitioner_para_LDADD = libmedpartitioner.la
+
 else !MPI_IS_OK
+
   bin_PROGRAMS = medpartitioner
   dist_medpartitioner_SOURCES = medpartitioner.cxx
-  medpartitioner_CPPFLAGS = -I$(srcdir)/../INTERP_KERNEL/Bases -I$(srcdir)/../MEDCoupling \
-       -I$(srcdir)/../MEDLoader -I$(srcdir)/../INTERP_KERNEL
+  medpartitioner_CPPFLAGS = \
+       -I$(srcdir)/../INTERP_KERNEL/Bases \
+       -I$(srcdir)/../MEDCoupling \
+       -I$(srcdir)/../MEDLoader \
+       -I$(srcdir)/../INTERP_KERNEL
 
 if MED_ENABLE_METIS
   medpartitioner_CPPFLAGS += $(METIS_CPPFLAGS)
index 8469d70a350ed6e88b5f946083566bb0e7875f81..470d8164d31ec443872364ee3d1943597e77c79f 100644 (file)
@@ -245,7 +245,7 @@ int main(int argc, char** argv)
         {
           if (MyGlobals::_Rank==0)
             cerr<<"Problem on final meshName : set at 'Merge'"<<endl;
-          finalInformations.push_back("finalMeshName=Merge");
+          finalInformations.push_back(SerializeFromString("finalMeshName=Merge"));
         }
     
       //see field info nbComponents & componentInfo (if fields present)
index 4b6737036254624c73a3a716482a994c1d37a3fa..94f07f4dac5f27592e84ac583d2723f8d704b83c 100644 (file)
@@ -284,7 +284,7 @@ int main(int argc, char** argv)
         {
           if (MyGlobals::_Rank==0)
             cerr<<"Problem on final meshName : set at 'Merge'"<<endl;
-          finalInformations.push_back("finalMeshName=Merge");
+          finalInformations.push_back(SerializeFromString("finalMeshName=Merge"));
         }
     
       //see field info nbComponents & componentInfo (if fields present)