X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FMEDPartitioner%2FMEDPARTITIONER_MeshCollection.hxx;h=04a7083b259efde6c0e9f05c13873fc9bfd8ad14;hb=a25fc7c3173633c8eec4a4db9cda520f947317b7;hp=2e6827a73b47dbd88400b6c0eb98e9369e6ba5d5;hpb=10f37bf6f33a762626d7f1093b2f5450c1688667;p=tools%2Fmedcoupling.git diff --git a/src/MEDPartitioner/MEDPARTITIONER_MeshCollection.hxx b/src/MEDPartitioner/MEDPARTITIONER_MeshCollection.hxx index 2e6827a73..04a7083b2 100644 --- a/src/MEDPartitioner/MEDPARTITIONER_MeshCollection.hxx +++ b/src/MEDPartitioner/MEDPARTITIONER_MeshCollection.hxx @@ -1,9 +1,9 @@ -// Copyright (C) 2007-2012 CEA/DEN, EDF R&D +// Copyright (C) 2007-2015 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 // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -22,6 +22,7 @@ #include "MEDPARTITIONER.hxx" #include "MEDPARTITIONER_Graph.hxx" +#include "MEDPARTITIONER_Utils.hxx" #include "MEDCouplingUMesh.hxx" @@ -75,6 +76,9 @@ namespace MEDPARTITIONER //creation of the cell graph void buildCellGraph(MEDPARTITIONER::SkyLineArray* & array,int *& edgeweights ); + //creation of the cell graph + void buildParallelCellGraph(MEDPARTITIONER::SkyLineArray* & array,int *& edgeweights ); + //creation and partition of the associated graph Topology* createPartition(int nbdomain, Graph::splitter_type type = Graph::METIS, const std::string& ="", int* edgeweights=0, int* verticesweights=0); @@ -143,6 +147,9 @@ namespace MEDPARTITIONER const std::multimap, std::pair >& nodeMapping, std::vector > >& new2oldIds); + //constructing connect zones + void buildConnectZones(); + private: void castIntField(std::vector& meshesCastFrom, std::vector& meshesCastTo, @@ -156,16 +163,21 @@ namespace MEDPARTITIONER void remapIntField(int inew, int iold, - const ParaMEDMEM::MEDCouplingUMesh& sourceMesh, - const ParaMEDMEM::MEDCouplingUMesh& targetMesh, - const int* fromArray, - std::string nameArrayTo, - const BBTree<3,int>* tree); + const ParaMEDMEM::MEDCouplingUMesh& sourceMesh, + const ParaMEDMEM::MEDCouplingUMesh& targetMesh, + const int* fromArray, + std::string nameArrayTo, + const BBTreeOfDim* tree); void remapDoubleField(int inew, int iold, ParaMEDMEM::DataArrayDouble* fromArray, std::string nameArrayTo, std::string descriptionField); + + void createJointGroup( const std::vector< int >& faces, + const int inew1, + const int inew2, + const bool is2nd ); private: //link to mesh_collection topology