From 4342210b5e00ccc19af4bf13df9970b7e6d1c385 Mon Sep 17 00:00:00 2001 From: Andreas Lauser Date: Thu, 12 Jul 2018 10:26:11 +0200 Subject: [PATCH] CollectToIORank: fix formatting of function declarations reduce unnecessary usage of whitespace --- ebos/collecttoiorank.hh | 285 +++++++++++++++++++--------------------- 1 file changed, 137 insertions(+), 148 deletions(-) diff --git a/ebos/collecttoiorank.hh b/ebos/collecttoiorank.hh index 14e6eb685..fb154446b 100644 --- a/ebos/collecttoiorank.hh +++ b/ebos/collecttoiorank.hh @@ -41,14 +41,14 @@ #include -namespace Ewoms -{ -template < class Vanguard > +namespace Ewoms{ + +template class CollectDataToIORank { public: - typedef typename Vanguard :: Grid Grid; - typedef typename Grid :: CollectiveCommunication CollectiveCommunication; + typedef typename Vanguard::Grid Grid; + typedef typename Grid::CollectiveCommunication CollectiveCommunication; // global id class GlobalCellIndex @@ -56,32 +56,43 @@ public: int globalId_; int localIndex_; bool isInterior_; + public: - GlobalCellIndex() : globalId_(-1), localIndex_(-1), isInterior_(true) {} - void setGhost() { isInterior_ = false; } + GlobalCellIndex() + : globalId_(-1) + , localIndex_(-1) + , isInterior_(true) + {} + void setGhost() + { isInterior_ = false; } - void setId( const int globalId ) { globalId_ = globalId; } - void setIndex( const int localIndex ) { localIndex_ = localIndex; } + void setId(int globalId) + { globalId_ = globalId; } + void setIndex(int localIndex) + { localIndex_ = localIndex; } - int localIndex () const { return localIndex_; } - int id () const { return globalId_; } - bool isInterior() const { return isInterior_; } + int localIndex () const + { return localIndex_; } + int id () const + { return globalId_; } + bool isInterior() const + { return isInterior_; } }; - typedef typename Dune::PersistentContainer< Grid, GlobalCellIndex > GlobalIndexContainer; + typedef typename Dune::PersistentContainer GlobalIndexContainer; - static const int dimension = Grid :: dimension ; + static const int dimension = Grid::dimension ; - typedef typename Grid :: LeafGridView GridView; - typedef GridView AllGridView; + typedef typename Grid::LeafGridView GridView; + typedef GridView AllGridView; - typedef Dune :: Point2PointCommunicator< Dune :: SimpleMessageBuffer > P2PCommunicatorType; - typedef typename P2PCommunicatorType :: MessageBufferType MessageBufferType; + typedef Dune::Point2PointCommunicator P2PCommunicatorType; + typedef typename P2PCommunicatorType::MessageBufferType MessageBufferType; - typedef std::vector< GlobalCellIndex > LocalIndexMapType; + typedef std::vector LocalIndexMapType; typedef std::vector IndexMapType; - typedef std::vector< IndexMapType > IndexMapStorageType; + typedef std::vector IndexMapStorageType; class DistributeIndexMapping : public P2PCommunicatorType::DataHandleInterface { @@ -89,80 +100,74 @@ public: const std::vector& distributedGlobalIndex_; IndexMapType& localIndexMap_; IndexMapStorageType& indexMaps_; - std::map< const int, const int > globalPosition_; + std::map globalPosition_; std::vector& ranks_; public: - DistributeIndexMapping( const std::vector& globalIndex, - const std::vector& distributedGlobalIndex, - IndexMapType& localIndexMap, - IndexMapStorageType& indexMaps, - std::vector& ranks) - : distributedGlobalIndex_( distributedGlobalIndex ), - localIndexMap_( localIndexMap ), - indexMaps_( indexMaps ), - globalPosition_(), - ranks_(ranks) + DistributeIndexMapping(std::vector& globalIndex, + std::vector& distributedGlobalIndex, + IndexMapType& localIndexMap, + IndexMapStorageType& indexMaps, + std::vector& ranks) + : distributedGlobalIndex_(distributedGlobalIndex) + , localIndexMap_(localIndexMap) + , indexMaps_(indexMaps) + , globalPosition_() + , ranks_(ranks) { - const size_t size = globalIndex.size(); + size_t size = globalIndex.size(); // create mapping globalIndex --> localIndex - for ( size_t index = 0; index < size; ++index ) - { - globalPosition_.insert( std::make_pair( globalIndex[ index ], index ) ); - } + for (size_t index = 0; index < size; ++index) + globalPosition_.insert(std::make_pair(globalIndex[index], index)); // we need to create a mapping from local to global - if( ! indexMaps_.empty() ) - { - ranks_.resize( size, -1); + if (!indexMaps_.empty()) { + ranks_.resize(size, -1); // for the ioRank create a localIndex to index in global state map IndexMapType& indexMap = indexMaps_.back(); - const size_t localSize = localIndexMap_.size(); - indexMap.resize( localSize ); - for( size_t i=0; i :: value ; - CollectDataToIORank( const Vanguard& vanguard ) - : toIORankComm_( ) + CollectDataToIORank(const Vanguard& vanguard) + : toIORankComm_() { // index maps only have to be build when reordering is needed if( ! needsReordering && ! isParallel() ) @@ -282,16 +287,16 @@ public: const IndexMapStorageType& indexMaps_; public: - PackUnPackCellData( const Opm::data::Solution& localCellData, - Opm::data::Solution& globalCellData, - const IndexMapType& localIndexMap, - const IndexMapStorageType& indexMaps, - const size_t globalSize, - const bool isIORank ) - : localCellData_( localCellData ), - globalCellData_( globalCellData ), - localIndexMap_( localIndexMap ), - indexMaps_( indexMaps ) + PackUnPackCellData(const Opm::data::Solution& localCellData, + Opm::data::Solution& globalCellData, + const IndexMapType& localIndexMap, + const IndexMapStorageType& indexMaps, + size_t globalSize, + bool isIORank) + : localCellData_(localCellData) + , globalCellData_(globalCellData) + , localIndexMap_(localIndexMap) + , indexMaps_(indexMaps) { if( isIORank ) { @@ -314,7 +319,7 @@ public: } // pack all data associated with link - void pack( const int link, MessageBufferType& buffer ) + void pack(int link, MessageBufferType& buffer) { // we should only get one link if( link != 0 ) { @@ -330,9 +335,9 @@ public: } } - void doUnpack( const IndexMapType& indexMap, MessageBufferType& buffer ) + void doUnpack(const IndexMapType& indexMap, MessageBufferType& buffer) { - // we loop over the data as + // we loop over the data as // its order governs the order the data got received. for (auto& pair : localCellData_) { const std::string& key = pair.first; @@ -344,18 +349,16 @@ public: } // unpack all data associated with link - void unpack( const int link, MessageBufferType& buffer ) - { - doUnpack( indexMaps_[ link ], buffer ); - } + void unpack(int link, MessageBufferType& buffer) + { doUnpack(indexMaps_[link], buffer); } protected: template - void write( MessageBufferType& buffer, - const IndexMapType& localIndexMap, - const Vector& vector, - const unsigned int offset = 0, - const unsigned int stride = 1 ) const + void write(MessageBufferType& buffer, + const IndexMapType& localIndexMap, + const Vector& vector, + unsigned int offset = 0, + unsigned int stride = 1) const { unsigned int size = localIndexMap.size(); buffer.write( size ); @@ -369,10 +372,11 @@ public: } template - void read( MessageBufferType& buffer, - const IndexMapType& indexMap, - Vector& vector, - const unsigned int offset = 0, const unsigned int stride = 1 ) const + void read(MessageBufferType& buffer, + const IndexMapType& indexMap, + Vector& vector, + unsigned int offset = 0, + unsigned int stride = 1) const { unsigned int size = 0; buffer.read( size ); @@ -384,8 +388,6 @@ public: buffer.read( vector[ index ] ); } } - - }; class PackUnPackWellData : public P2PCommunicatorType::DataHandleInterface @@ -396,36 +398,33 @@ public: public: PackUnPackWellData(const Opm::data::Wells& localWellData, Opm::data::Wells& globalWellData, - const bool isIORank ) - :localWellData_( localWellData ), - globalWellData_( globalWellData ) + bool isIORank) + : localWellData_(localWellData) + , globalWellData_(globalWellData) { - if( isIORank ) - { + if (isIORank) { MessageBufferType buffer; - pack( 0, buffer ); + pack(0, buffer); // pass a dummy_link to satisfy virtual class - const int dummy_link = -1; - unpack( dummy_link, buffer ); + int dummyLink = -1; + unpack(dummyLink, buffer); } } // pack all data associated with link - void pack( const int link, MessageBufferType& buffer ) + void pack(int link, MessageBufferType& buffer) { // we should only get one link - if( link != 0 ) { + if (link != 0) throw std::logic_error("link in method pack is not 0 as expected"); - } + localWellData_.write(buffer); } // unpack all data associated with link - void unpack( const int /*link*/, MessageBufferType& buffer ) - { - globalWellData_.read(buffer); - } + void unpack(int /*link*/, MessageBufferType& buffer) + { globalWellData_.read(buffer); } }; @@ -435,11 +434,11 @@ public: std::map, double>& globalBlockValues_; public: - PackUnPackBlockData( const std::map, double>& localBlockData, - std::map, double>& globalBlockValues, - const bool isIORank ) - : localBlockData_( localBlockData ), - globalBlockValues_( globalBlockValues ) + PackUnPackBlockData(const std::map, double>& localBlockData, + std::map, double>& globalBlockValues, + bool isIORank) + : localBlockData_(localBlockData) + , globalBlockValues_(globalBlockValues) { if( isIORank ) { @@ -453,7 +452,7 @@ public: } // pack all data associated with link - void pack( const int link, MessageBufferType& buffer ) + void pack(int link, MessageBufferType& buffer) { // we should only get one link if( link != 0 ) { @@ -471,7 +470,7 @@ public: } // unpack all data associated with link - void unpack( const int /*link*/, MessageBufferType& buffer ) + void unpack(int /*link*/, MessageBufferType& buffer) { // read all block data unsigned int size = 0; @@ -490,7 +489,9 @@ public: }; // gather solution to rank 0 for EclipseWriter - void collect( const Opm::data::Solution& localCellData, const std::map, double>& localBlockData, const Opm::data::Wells& localWellData) + void collect(const Opm::data::Solution& localCellData, + const std::map, double>& localBlockData, + const Opm::data::Wells& localWellData) { globalCellData_ = {}; globalBlockData_.clear(); @@ -540,31 +541,21 @@ public: } const std::map, double>& globalBlockData() const - { - return globalBlockData_; - } + { return globalBlockData_; } const Opm::data::Solution& globalCellData() const - { - return globalCellData_; - } + { return globalCellData_; } const Opm::data::Wells& globalWellData() const - { - return globalWellData_; - } + { return globalWellData_; } bool isIORank() const - { - return toIORankComm_.rank() == ioRank; - } + { return toIORankComm_.rank() == ioRank; } bool isParallel() const - { - return toIORankComm_.size() > 1; - } + { return toIORankComm_.size() > 1; } - int localIdxToGlobalIdx(const unsigned localIdx) const + int localIdxToGlobalIdx(unsigned localIdx) const { if ( ! isParallel() ) { @@ -581,34 +572,32 @@ public: return indexMap[localIdx]; } - size_t numCells () const { return globalCartesianIndex_.size(); } + size_t numCells () const + { return globalCartesianIndex_.size(); } const std::vector& globalRanks() const - { - return globalRanks_; - } + { return globalRanks_; } - bool isGlobalIdxOnThisRank(const unsigned globalIdx) const + bool isGlobalIdxOnThisRank(unsigned globalIdx) const { - if ( ! isParallel() ) - { + if (!isParallel()) return true; - } + // the last indexMap is the local one const IndexMapType& indexMap = indexMaps_.back(); - if( indexMap.empty() ) + if (indexMap.empty()) throw std::logic_error("index map is not created on this rank"); return std::find(indexMap.begin(), indexMap.end(), globalIdx) != indexMap.end(); } protected: - P2PCommunicatorType toIORankComm_; - IndexMapType globalCartesianIndex_; - IndexMapType localIndexMap_; - IndexMapStorageType indexMaps_; + P2PCommunicatorType toIORankComm_; + IndexMapType globalCartesianIndex_; + IndexMapType localIndexMap_; + IndexMapStorageType indexMaps_; std::vector globalRanks_; - Opm::data::Solution globalCellData_; + Opm::data::Solution globalCellData_; std::map, double> globalBlockData_; Opm::data::Wells globalWellData_; };