X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FMEDPartitioner%2FMEDPARTITIONER_ParaDomainSelector.hxx;h=e5009e39378584bb274430a096f795c8a5f59261;hb=ffb8188e28b2b60ee207a8644286821bc4e8fcdc;hp=9a50a11787d8de762f9afe74253ad3ace8028a4a;hpb=659f8c67d0348350e12fde38fe8c4de1ff95dffe;p=tools%2Fmedcoupling.git diff --git a/src/MEDPartitioner/MEDPARTITIONER_ParaDomainSelector.hxx b/src/MEDPartitioner/MEDPARTITIONER_ParaDomainSelector.hxx index 9a50a1178..e5009e393 100644 --- a/src/MEDPartitioner/MEDPARTITIONER_ParaDomainSelector.hxx +++ b/src/MEDPartitioner/MEDPARTITIONER_ParaDomainSelector.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 CEA/DEN, EDF R&D +// Copyright (C) 2007-2020 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 @@ -21,11 +21,12 @@ #define __MEDPARTITIONER_PARADOMAINSELECTOR_HXX__ #include "MEDPARTITIONER.hxx" +#include "MCType.hxx" #include #include -namespace ParaMEDMEM +namespace MEDCoupling { class MEDCouplingUMesh; } @@ -59,35 +60,35 @@ namespace MEDPARTITIONER //identifier for a joint int jointId( int local_domain, int distant_domain ) const; - int getNbTotalCells() { return _cell_shift_by_domain.back(); } - int getNbTotalNodes() { return _node_shift_by_domain.back(); }; - int getNbTotalFaces() { return _face_shift_by_domain.back(); }; + mcIdType getNbTotalCells() { return _cell_shift_by_domain.back(); } + mcIdType getNbTotalNodes() { return _node_shift_by_domain.back(); }; + mcIdType getNbTotalFaces() { return _face_shift_by_domain.back(); }; //Collect nb of entities on procs - void gatherNbOf(const std::vector& domain_meshes); + void gatherNbOf(const std::vector& domain_meshes); //distribution of the graph vertices among the processors - int* getProcVtxdist() const; + mcIdType* getProcVtxdist() const; //nb of nodes on processors with lower rank - int getProcNodeShift() const; + mcIdType getProcNodeShift() const; //nb of cells in domains with lower index - int getDomainCellShift(int domainIndex) const; + mcIdType getDomainCellShift(int domainIndex) const; //nb of nodes in domains with lower index - int getDomainNodeShift(int domainIndex) const; + mcIdType getDomainNodeShift(int domainIndex) const; //Gather graphs from all processors into one - std::auto_ptr gatherGraph(const Graph* graph) const; + std::unique_ptr gatherGraph(const Graph* graph) const; //Set nb of cell/cell pairs in a joint between domains - void setNbCellPairs( int nb_cell_pairs, int dist_domain, int loc_domain ); + void setNbCellPairs( mcIdType nb_cell_pairs, int dist_domain, int loc_domain ); //Gather size of each proc/proc joint void gatherNbCellPairs(); //nb of cell/cell pairs in a joint between domains on different procs - int getNbCellPairs( int dist_domain, int loc_domain ) const; + mcIdType getNbCellPairs( int dist_domain, int loc_domain ) const; //get the first global id of sub-entity for the joint - int getFisrtGlobalIdOfSubentity( int loc_domain, int dist_domain ) const; + mcIdType getFisrtGlobalIdOfSubentity( int loc_domain, int dist_domain ) const; //Send-receive local ids of joint faces int* exchangeSubentityIds( int loc_domain, int dist_domain, const std::vector& loc_ids_here ) const; @@ -97,18 +98,18 @@ namespace MEDPARTITIONER //Evaluate current memory usage and return the maximal one in KB int evaluateMemory() const; - void sendMesh(const ParaMEDMEM::MEDCouplingUMesh& mesh, int target) const; - void recvMesh(ParaMEDMEM::MEDCouplingUMesh*& mesh, int source) const; + void sendMesh(const MEDCoupling::MEDCouplingUMesh& mesh, int target) const; + void recvMesh(MEDCoupling::MEDCouplingUMesh*& mesh, int source) const; private: int _rank; //my rank int _world_size; //nb of processors int _nb_result_domains; //required nb of domains - std::vector< int > _nb_cell_pairs_by_joint; - std::vector< int > _nb_vert_of_procs; //graph vertices - std::vector< int > _cell_shift_by_domain; - std::vector< int > _node_shift_by_domain; - std::vector< int > _face_shift_by_domain; + std::vector< mcIdType > _nb_cell_pairs_by_joint; + std::vector< mcIdType > _nb_vert_of_procs; //graph vertices + std::vector< mcIdType > _cell_shift_by_domain; + std::vector< mcIdType > _node_shift_by_domain; + std::vector< mcIdType > _face_shift_by_domain; double _init_time; bool _mesure_memory;