diff --git a/CMakeLists_files.cmake b/CMakeLists_files.cmake index 4d34bcb99..ef201f91f 100644 --- a/CMakeLists_files.cmake +++ b/CMakeLists_files.cmake @@ -73,7 +73,7 @@ if(ENABLE_ECL_INPUT) src/opm/parser/eclipse/EclipseState/IOConfig/IOConfig.cpp src/opm/parser/eclipse/EclipseState/IOConfig/RestartConfig.cpp src/opm/parser/eclipse/EclipseState/Runspec.cpp - src/opm/parser/eclipse/EclipseState/Schedule/Completion.cpp + src/opm/parser/eclipse/EclipseState/Schedule/Connection.cpp src/opm/parser/eclipse/EclipseState/Schedule/CompletionSet.cpp src/opm/parser/eclipse/EclipseState/Schedule/Events.cpp src/opm/parser/eclipse/EclipseState/Schedule/Group.cpp @@ -178,7 +178,7 @@ if(ENABLE_ECL_INPUT) tests/parser/AquanconTests.cpp tests/parser/BoxTests.cpp tests/parser/ColumnSchemaTests.cpp - tests/parser/CompletionTests.cpp + tests/parser/ConnectionTests.cpp tests/parser/COMPSEGUnits.cpp tests/parser/CopyRegTests.cpp tests/parser/DeckTests.cpp @@ -453,7 +453,7 @@ if(ENABLE_ECL_INPUT) opm/parser/eclipse/EclipseState/Schedule/ScheduleEnums.hpp opm/parser/eclipse/EclipseState/Schedule/OilVaporizationProperties.hpp opm/parser/eclipse/EclipseState/Schedule/GroupTree.hpp - opm/parser/eclipse/EclipseState/Schedule/Completion.hpp + opm/parser/eclipse/EclipseState/Schedule/Connection.hpp opm/parser/eclipse/EclipseState/Schedule/DynamicState.hpp opm/parser/eclipse/EclipseState/Schedule/MSW/Segment.hpp opm/parser/eclipse/EclipseState/Schedule/MSW/SegmentSet.hpp diff --git a/opm/parser/eclipse/EclipseState/Schedule/CompletionSet.hpp b/opm/parser/eclipse/EclipseState/Schedule/CompletionSet.hpp index f5ac4203b..47ba20a5e 100644 --- a/opm/parser/eclipse/EclipseState/Schedule/CompletionSet.hpp +++ b/opm/parser/eclipse/EclipseState/Schedule/CompletionSet.hpp @@ -21,7 +21,7 @@ #ifndef COMPLETIONSET_HPP_ #define COMPLETIONSET_HPP_ -#include +#include namespace Opm { class EclipseGrid; @@ -30,18 +30,18 @@ namespace Opm { public: CompletionSet() = default; // cppcheck-suppress noExplicitConstructor - CompletionSet( std::initializer_list< Completion > ); + CompletionSet( std::initializer_list< Connection > ); CompletionSet(const CompletionSet& src, const EclipseGrid& grid); - using const_iterator = std::vector< Completion >::const_iterator; + using const_iterator = std::vector< Connection >::const_iterator; - void add( Completion ); + void add( Connection ); size_t size() const; - const Completion& get(size_t index) const; - const Completion& getFromIJK(const int i, const int j, const int k) const; + const Connection& get(size_t index) const; + const Connection& getFromIJK(const int i, const int j, const int k) const; - const_iterator begin() const { return this->m_completions.begin(); } - const_iterator end() const { return this->m_completions.end(); } + const_iterator begin() const { return this->m_connections.begin(); } + const_iterator end() const { return this->m_connections.end(); } void filter(const EclipseGrid& grid); bool allCompletionsShut() const; /// Order completions irrespective of input order. @@ -62,7 +62,7 @@ namespace Opm { bool operator!=( const CompletionSet& ) const; private: - std::vector< Completion > m_completions; + std::vector< Connection > m_connections; size_t findClosestCompletion(int oi, int oj, double oz, size_t start_pos); }; } diff --git a/opm/parser/eclipse/EclipseState/Schedule/Completion.hpp b/opm/parser/eclipse/EclipseState/Schedule/Connection.hpp similarity index 86% rename from opm/parser/eclipse/EclipseState/Schedule/Completion.hpp rename to opm/parser/eclipse/EclipseState/Schedule/Connection.hpp index 7bde184de..6d473b2a9 100644 --- a/opm/parser/eclipse/EclipseState/Schedule/Completion.hpp +++ b/opm/parser/eclipse/EclipseState/Schedule/Connection.hpp @@ -39,9 +39,9 @@ namespace Opm { class Eclipse3DProperties; class Schedule; - class Completion { + class Connection { public: - Completion(int i, int j , int k , + Connection(int i, int j , int k , int complnum, double depth, WellCompletion::StateEnum state , @@ -51,12 +51,12 @@ namespace Opm { const int satTableId, const WellCompletion::DirectionEnum direction = WellCompletion::DirectionEnum::Z); - Completion(const Completion&, WellCompletion::StateEnum newStatus); - Completion(const Completion&, double wellPi); - Completion(const Completion&, int complnum ); - Completion(const Completion& completion_initial, int segment_number, double center_depth); + Connection(const Connection&, WellCompletion::StateEnum newStatus); + Connection(const Connection&, double wellPi); + Connection(const Connection&, int complnum ); + Connection(const Connection& connection_initial, int segment_number, double center_depth); - bool sameCoordinate(const Completion& other) const; + bool sameCoordinate(const Connection& other) const; bool sameCoordinate(const int i, const int j, const int k) const; int getI() const; @@ -78,7 +78,7 @@ namespace Opm { WellCompletion::DirectionEnum getDirection() const; - static std::map< std::string, std::vector< Completion > > + static std::map< std::string, std::vector< Connection > > fromCOMPDAT( const EclipseGrid& grid, const Eclipse3DProperties& eclipseProperties, const DeckKeyword& compdatKeyword, @@ -86,8 +86,8 @@ namespace Opm { const ParseContext&, const Schedule&); - bool operator==( const Completion& ) const; - bool operator!=( const Completion& ) const; + bool operator==( const Connection& ) const; + bool operator!=( const Connection& ) const; private: int m_i, m_j, m_k; diff --git a/opm/parser/eclipse/EclipseState/Schedule/Well.hpp b/opm/parser/eclipse/EclipseState/Schedule/Well.hpp index 30770696e..3e6ad2195 100644 --- a/opm/parser/eclipse/EclipseState/Schedule/Well.hpp +++ b/opm/parser/eclipse/EclipseState/Schedule/Well.hpp @@ -40,7 +40,7 @@ namespace Opm { template< typename > class DynamicState; - class Completion; + class COnnection; class CompletionSet; class Segment; class SegmentSet; @@ -94,7 +94,7 @@ namespace Opm { bool isInjector(size_t timeStep) const; void addWELSPECS(const DeckRecord& deckRecord); - void addCompletions(size_t time_step, const std::vector< Completion >& ); + void addCompletions(size_t time_step, const std::vector< Connection >& ); void addCompletionSet(size_t time_step, CompletionSet ); const CompletionSet& getCompletions(size_t timeStep) const; const CompletionSet& getCompletions() const; diff --git a/src/opm/output/eclipse/RegionCache.cpp b/src/opm/output/eclipse/RegionCache.cpp index 54ac8176a..0d58b97af 100644 --- a/src/opm/output/eclipse/RegionCache.cpp +++ b/src/opm/output/eclipse/RegionCache.cpp @@ -19,7 +19,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/src/opm/parser/eclipse/EclipseState/Schedule/CompletionSet.cpp b/src/opm/parser/eclipse/EclipseState/Schedule/CompletionSet.cpp index 07101a9f9..3f2f8f7fa 100644 --- a/src/opm/parser/eclipse/EclipseState/Schedule/CompletionSet.cpp +++ b/src/opm/parser/eclipse/EclipseState/Schedule/CompletionSet.cpp @@ -23,12 +23,12 @@ #include #include -#include +#include #include namespace Opm { - CompletionSet::CompletionSet( std::initializer_list< Completion > cs ) { + CompletionSet::CompletionSet( std::initializer_list< Connection > cs ) { for( auto&& c : cs ) this->add( c ); } @@ -41,14 +41,14 @@ namespace Opm { } size_t CompletionSet::size() const { - return m_completions.size(); + return m_connections.size(); } - const Completion& CompletionSet::get(size_t index) const { - return this->m_completions.at( index ); + const Connection& CompletionSet::get(size_t index) const { + return this->m_connections.at( index ); } - const Completion& CompletionSet::getFromIJK(const int i, const int j, const int k) const { + const Connection& CompletionSet::getFromIJK(const int i, const int j, const int k) const { for (size_t ic = 0; ic < size(); ++ic) { if (get(ic).sameCoordinate(i, j, k)) { return get(ic); @@ -58,31 +58,31 @@ namespace Opm { } - void CompletionSet::add( Completion completion ) { - auto same = [&]( const Completion& c ) { + void CompletionSet::add( Connection completion ) { + auto same = [&]( const Connection& c ) { return c.sameCoordinate( completion ); }; - auto prev = std::find_if( this->m_completions.begin(), - this->m_completions.end(), + auto prev = std::find_if( this->m_connections.begin(), + this->m_connections.end(), same ); - if( prev != this->m_completions.end() ) { + if( prev != this->m_connections.end() ) { // update the completion, but preserve it's number - *prev = Completion( completion, prev->complnum() ); + *prev = Connection( completion, prev->complnum() ); return; } - m_completions.emplace_back( completion ); + m_connections.emplace_back( completion ); } bool CompletionSet::allCompletionsShut( ) const { - auto shut = []( const Completion& c ) { + auto shut = []( const Connection& c ) { return c.getState() == WellCompletion::StateEnum::SHUT; }; - return std::all_of( this->m_completions.begin(), - this->m_completions.end(), + return std::all_of( this->m_connections.begin(), + this->m_connections.end(), shut ); } @@ -90,14 +90,14 @@ namespace Opm { void CompletionSet::orderCompletions(size_t well_i, size_t well_j) { - if (m_completions.empty()) { + if (m_connections.empty()) { return; } // Find the first completion and swap it into the 0-position. const double surface_z = 0.0; size_t first_index = findClosestCompletion(well_i, well_j, surface_z, 0); - std::swap(m_completions[first_index], m_completions[0]); + std::swap(m_connections[first_index], m_connections[0]); // Repeat for remaining completions. // @@ -105,13 +105,13 @@ namespace Opm { // O(n^2) algorithm. However, it should be acceptable since // the expected number of completions is fairly low (< 100). - if( this->m_completions.empty() ) return; + if( this->m_connections.empty() ) return; - for (size_t pos = 1; pos < m_completions.size() - 1; ++pos) { - const auto& prev = m_completions[pos - 1]; + for (size_t pos = 1; pos < m_connections.size() - 1; ++pos) { + const auto& prev = m_connections[pos - 1]; const double prevz = prev.getCenterDepth(); size_t next_index = findClosestCompletion(prev.getI(), prev.getJ(), prevz, pos); - std::swap(m_completions[next_index], m_completions[pos]); + std::swap(m_connections[next_index], m_connections[pos]); } } @@ -122,8 +122,8 @@ namespace Opm { size_t closest = std::numeric_limits::max(); int min_ijdist2 = std::numeric_limits::max(); double min_zdiff = std::numeric_limits::max(); - for (size_t pos = start_pos; pos < m_completions.size(); ++pos) { - const auto& completion = m_completions[ pos ]; + for (size_t pos = start_pos; pos < m_connections.size(); ++pos) { + const auto& completion = m_connections[ pos ]; const double depth = completion.getCenterDepth(); const int ci = completion.getI(); @@ -156,10 +156,16 @@ namespace Opm { } +<<<<<<< HEAD:src/opm/parser/eclipse/EclipseState/Schedule/CompletionSet.cpp void CompletionSet::filter(const EclipseGrid& grid) { auto new_end = std::remove_if(m_completions.begin(), m_completions.end(), - [&grid](const Completion& c) { return !grid.cellActive(c.getI(), c.getJ(), c.getK()); }); - m_completions.erase(new_end, m_completions.end()); +======= + void ConnectionSet::filter(const EclipseGrid& grid) { + auto new_end = std::remove_if(m_connections.begin(), + m_connections.end(), +>>>>>>> e36a653... fixup! Rename Completion -> Connection:src/opm/parser/eclipse/EclipseState/Schedule/ConnectionSet.cpp + [&grid](const Connection& c) { return !grid.cellActive(c.getI(), c.getJ(), c.getK()); }); + m_connections.erase(new_end, m_connections.end()); } } diff --git a/src/opm/parser/eclipse/EclipseState/Schedule/Completion.cpp b/src/opm/parser/eclipse/EclipseState/Schedule/Connection.cpp similarity index 81% rename from src/opm/parser/eclipse/EclipseState/Schedule/Completion.cpp rename to src/opm/parser/eclipse/EclipseState/Schedule/Connection.cpp index a730f2726..f935d9a4e 100644 --- a/src/opm/parser/eclipse/EclipseState/Schedule/Completion.cpp +++ b/src/opm/parser/eclipse/EclipseState/Schedule/Connection.cpp @@ -28,7 +28,7 @@ #include #include #include -#include +#include #include #include #include @@ -36,7 +36,7 @@ namespace Opm { - Completion::Completion(int i, int j , int k , + Connection::Connection(int i, int j , int k , int compnum, double depth, WellCompletion::StateEnum state , @@ -57,14 +57,14 @@ namespace Opm { m_center_depth( depth ) {} - Completion::Completion(const Completion& oldCompletion, WellCompletion::StateEnum newStatus ) : - Completion( oldCompletion ) + Connection::Connection(const Connection& oldConnection, WellCompletion::StateEnum newStatus ) : + Connection( oldConnection ) { this->m_state = newStatus; } - Completion::Completion(const Completion& oldCompletion, double wellPi) : - Completion( oldCompletion ) + Connection::Connection(const Connection& oldConnection, double wellPi) : + Connection( oldConnection ) { if( this->m_wellPi != 0 ) { this->m_wellPi *= wellPi; @@ -73,21 +73,21 @@ namespace Opm { } } - Completion::Completion( const Completion& c, int num ) : - Completion( c ) + Connection::Connection( const Connection& c, int num ) : + Connection( c ) { this->m_complnum = num; } - Completion::Completion(const Completion& completion_initial, int segment_number, double center_depth) - : Completion(completion_initial) + Connection::Connection(const Connection& connection_initial, int segment_number, double center_depth) + : Connection(connection_initial) { assert(segment_number > 0); this->m_segment_number = segment_number; this->m_center_depth = center_depth; } - bool Completion::sameCoordinate(const Completion& other) const { + bool Connection::sameCoordinate(const Connection& other) const { if ((m_i == other.m_i) && (m_j == other.m_j) && (m_k == other.m_k)) @@ -96,7 +96,7 @@ namespace Opm { return false; } - bool Completion::sameCoordinate(const int i, const int j, const int k) const { + bool Connection::sameCoordinate(const int i, const int j, const int k) const { if ((m_i == i) && (m_j == j) && (m_k == k)) { return true; } else { @@ -107,19 +107,19 @@ namespace Opm { /** This will break up one record and return a pair: . The reason it + [Connection1, Connection2, ... , ConnectionN]>. The reason it will return a list is that the 'K1 K2' structure is disentangled, and each completion is returned separately. */ - inline std::vector< Completion > + inline std::vector< Connection > fromCOMPDAT( const EclipseGrid& grid, const Eclipse3DProperties& eclipseProperties, const DeckRecord& compdatRecord, const Well& well, int prev_complnum ) { - std::vector< Completion > completions; + std::vector< Connection > completions; // We change from eclipse's 1 - n, to a 0 - n-1 solution // I and J can be defaulted with 0 or *, in which case they are fetched @@ -135,7 +135,7 @@ namespace Opm { int K1 = compdatRecord.getItem("K1").get< int >(0) - 1; int K2 = compdatRecord.getItem("K2").get< int >(0) - 1; WellCompletion::StateEnum state = WellCompletion::StateEnumFromString( compdatRecord.getItem("STATE").getTrimmedString(0) ); - Value connectionTransmissibilityFactor("ConnectionTransmissibilityFactor"); + Value connectionTransmissibilityFactor("CompletionTransmissibilityFactor"); Value diameter("Diameter"); Value skinFactor("SkinFactor"); int satTableId; @@ -187,21 +187,21 @@ namespace Opm { Will return a map: { - "WELL1" : [ Completion1 , Completion2 , ... , CompletionN ], - "WELL2" : [ Completion1 , Completion2 , ... , CompletionN ], + "WELL1" : [ Connection1 , Connection2 , ... , ConnectionN ], + "WELL2" : [ Connection1 , Connection2 , ... , ConnectionN ], ... } */ - std::map< std::string, std::vector< Completion > > - Completion::fromCOMPDAT( const EclipseGrid& grid , + std::map< std::string, std::vector< Connection > > + Connection::fromCOMPDAT( const EclipseGrid& grid , const Eclipse3DProperties& eclipseProperties, const DeckKeyword& compdatKeyword, const std::vector< const Well* >& wells, const ParseContext& parseContext, const Schedule& schedule) { - std::map< std::string, std::vector< Completion > > res; + std::map< std::string, std::vector< Connection > > res; std::vector< int > prev_compls( wells.size(), 0 ); for( const auto& record : compdatKeyword ) { @@ -233,7 +233,7 @@ namespace Opm { return res; } - void Completion::fixDefaultIJ(int wellHeadI , int wellHeadJ) { + void Connection::fixDefaultIJ(int wellHeadI , int wellHeadJ) { if (m_i < 0) m_i = wellHeadI; @@ -241,82 +241,82 @@ namespace Opm { m_j = wellHeadJ; } - void Completion::shift_complnum( int shift ) { + void Connection::shift_complnum( int shift ) { this->m_complnum += shift; } - int Completion::getI() const { + int Connection::getI() const { return m_i; } - int Completion::getJ() const { + int Connection::getJ() const { return m_j; } - int Completion::getK() const { + int Connection::getK() const { return m_k; } - int Completion::complnum() const { + int Connection::complnum() const { return this->m_complnum; } - WellCompletion::StateEnum Completion::getState() const { + WellCompletion::StateEnum Connection::getState() const { return m_state; } - double Completion::getConnectionTransmissibilityFactor() const { + double Connection::getConnectionTransmissibilityFactor() const { return m_connectionTransmissibilityFactor.getValue(); } - double Completion::getDiameter() const { + double Connection::getDiameter() const { return m_diameter.getValue(); } - double Completion::getSkinFactor() const { + double Connection::getSkinFactor() const { return m_skinFactor.getValue(); } - int Completion::getSatTableId() const { + int Connection::getSatTableId() const { return m_satTableId; } - const Value& Completion::getConnectionTransmissibilityFactorAsValueObject() const { + const Value& Connection::getConnectionTransmissibilityFactorAsValueObject() const { return m_connectionTransmissibilityFactor; } - Value Completion::getDiameterAsValueObject() const { + Value Connection::getDiameterAsValueObject() const { return m_diameter; } - Value Completion::getSkinFactorAsValueObject() const { + Value Connection::getSkinFactorAsValueObject() const { return m_skinFactor; } - WellCompletion::DirectionEnum Completion::getDirection() const { + WellCompletion::DirectionEnum Connection::getDirection() const { return m_direction; } - double Completion::getWellPi() const { + double Connection::getWellPi() const { return m_wellPi; } - int Completion::getSegmentNumber() const { + int Connection::getSegmentNumber() const { if (!attachedToSegment()) { throw std::runtime_error(" the completion is not attached to a segment!\n "); } return m_segment_number; } - double Completion::getCenterDepth() const { + double Connection::getCenterDepth() const { return m_center_depth; } - bool Completion::attachedToSegment() const { + bool Connection::attachedToSegment() const { return (m_segment_number > 0); } - bool Completion::operator==( const Completion& rhs ) const { + bool Connection::operator==( const Connection& rhs ) const { return this->m_i == rhs.m_i && this->m_j == rhs.m_j && this->m_k == rhs.m_k @@ -333,7 +333,7 @@ namespace Opm { && this->m_center_depth == rhs.m_center_depth; } - bool Completion::operator!=( const Completion& rhs ) const { + bool Connection::operator!=( const Connection& rhs ) const { return !( *this == rhs ); } } diff --git a/src/opm/parser/eclipse/EclipseState/Schedule/MSW/Compsegs.cpp b/src/opm/parser/eclipse/EclipseState/Schedule/MSW/Compsegs.cpp index aeff3cd53..51bfbbae4 100644 --- a/src/opm/parser/eclipse/EclipseState/Schedule/MSW/Compsegs.cpp +++ b/src/opm/parser/eclipse/EclipseState/Schedule/MSW/Compsegs.cpp @@ -23,11 +23,12 @@ #include #include #include -#include "Compsegs.hpp" #include #include #include +#include "Compsegs.hpp" + namespace Opm { @@ -237,8 +238,8 @@ namespace Opm { const int j = compseg.m_j; const int k = compseg.m_k; - const Completion& completion = completion_set.getFromIJK( i, j, k ); - completion_set.add(Completion(completion, compseg.m_segment_number, compseg.m_center_depth) ); + const Connection& connection = completion_set.getFromIJK( i, j, k ); + completion_set.add(Connection(connection, compseg.m_segment_number, compseg.m_center_depth) ); } for (size_t ic = 0; ic < completion_set.size(); ++ic) { diff --git a/src/opm/parser/eclipse/EclipseState/Schedule/Schedule.cpp b/src/opm/parser/eclipse/EclipseState/Schedule/Schedule.cpp index b281521d8..db4dc89d7 100644 --- a/src/opm/parser/eclipse/EclipseState/Schedule/Schedule.cpp +++ b/src/opm/parser/eclipse/EclipseState/Schedule/Schedule.cpp @@ -606,7 +606,7 @@ namespace Opm { continue; } - newCompletionSet.add( Completion{ currentCompletion, wellPi } ); + newCompletionSet.add( Connection{ currentCompletion, wellPi } ); } well->addCompletionSet(currentStep, newCompletionSet); @@ -935,7 +935,7 @@ namespace Opm { const int K1 = maybe( record, "K1" ); const int K2 = maybe( record, "K2" ); - auto new_completion = [=]( const Completion& c ) -> Completion { + auto new_completion = [=]( const Connection& c ) -> Connection { if( !defaulted( I ) && c.getI() != I ) return c; if( !defaulted( J ) && c.getJ() != J ) return c; if( !defaulted( K1 ) && c.getK() < K1 ) return c; @@ -1011,7 +1011,7 @@ namespace Opm { * criteria *and* the completion number. A defaulted field always * matches the property in question. */ - auto new_completion = [=]( const Completion& completion ) -> Completion { + auto new_completion = [=]( const Connection& completion ) -> Connection { if( !defaulted( I ) && completion.getI() != I ) return completion; if( !defaulted( J ) && completion.getJ() != J ) return completion; if( !defaulted( K ) && completion.getK() != K ) return completion; @@ -1418,7 +1418,7 @@ namespace Opm { void Schedule::handleCOMPDAT( const DeckKeyword& keyword, size_t currentStep, const EclipseGrid& grid, const Eclipse3DProperties& eclipseProperties, const ParseContext& parseContext) { const auto wells = this->getWells( currentStep ); - auto completions = Completion::fromCOMPDAT( grid, eclipseProperties, keyword, wells, parseContext, *this ); + auto completions = Connection::fromCOMPDAT( grid, eclipseProperties, keyword, wells, parseContext, *this ); for( const auto pair : completions ) { auto& well = this->m_wells.get( pair.first ); diff --git a/src/opm/parser/eclipse/EclipseState/Schedule/Well.cpp b/src/opm/parser/eclipse/EclipseState/Schedule/Well.cpp index de8b3d0b6..17b6cb060 100644 --- a/src/opm/parser/eclipse/EclipseState/Schedule/Well.cpp +++ b/src/opm/parser/eclipse/EclipseState/Schedule/Well.cpp @@ -22,7 +22,7 @@ #include #include -#include +#include #include #include #include @@ -359,7 +359,7 @@ namespace Opm { return m_completions.back(); } - void Well::addCompletions(size_t time_step, const std::vector< Completion >& newCompletions ) { + void Well::addCompletions(size_t time_step, const std::vector< Connection >& newCompletions ) { auto new_set = this->getCompletions( time_step ); int complnum_shift = new_set.size(); diff --git a/src/opm/parser/eclipse/EclipseState/SummaryConfig/SummaryConfig.cpp b/src/opm/parser/eclipse/EclipseState/SummaryConfig/SummaryConfig.cpp index 86470b449..905e5cde6 100644 --- a/src/opm/parser/eclipse/EclipseState/SummaryConfig/SummaryConfig.cpp +++ b/src/opm/parser/eclipse/EclipseState/SummaryConfig/SummaryConfig.cpp @@ -28,7 +28,7 @@ #include #include #include -#include +#include #include #include #include @@ -211,7 +211,7 @@ inline std::array< int, 3 > getijk( const DeckRecord& record, }}; } -inline std::array< int, 3 > getijk( const Completion& completion ) { +inline std::array< int, 3 > getijk( const Connection& completion ) { return {{ completion.getI(), completion.getJ(), completion.getK() }}; } diff --git a/tests/parser/CompletionTests.cpp b/tests/parser/ConnectionTests.cpp similarity index 84% rename from tests/parser/CompletionTests.cpp rename to tests/parser/ConnectionTests.cpp index 697ad5789..2bb285d33 100644 --- a/tests/parser/CompletionTests.cpp +++ b/tests/parser/ConnectionTests.cpp @@ -32,14 +32,14 @@ #include #include -#include +#include #include #include #include namespace Opm { -inline std::ostream& operator<<( std::ostream& stream, const Completion& c ) { +inline std::ostream& operator<<( std::ostream& stream, const Connection& c ) { return stream << "(" << c.getI() << "," << c.getJ() << "," << c.getK() << ")"; } @@ -54,12 +54,12 @@ inline std::ostream& operator<<( std::ostream& stream, const CompletionSet& cs ) BOOST_AUTO_TEST_CASE(CreateCompletionOK) { - Opm::Completion completion(10,10,10, 1, 0.0,Opm::WellCompletion::OPEN,Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); + Opm::Connection completion(10,10,10, 1, 0.0,Opm::WellCompletion::OPEN,Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); } BOOST_AUTO_TEST_CASE(testGetFunctions) { - Opm::Completion completion(10,11,12, 1, 0.0, Opm::WellCompletion::OPEN,Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); + Opm::Connection completion(10,11,12, 1, 0.0, Opm::WellCompletion::OPEN,Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); BOOST_CHECK_EQUAL( 10 , completion.getI() ); BOOST_CHECK_EQUAL( 11 , completion.getJ() ); BOOST_CHECK_EQUAL( 12 , completion.getK() ); @@ -73,11 +73,11 @@ BOOST_AUTO_TEST_CASE(testGetFunctions) { BOOST_AUTO_TEST_CASE(CompletionTestssameCoordinate) { - Opm::Completion completion1(10,10,10, 1, 0.0, Opm::WellCompletion::OPEN, Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); - Opm::Completion completion2(10,10,10, 1, 0.0, Opm::WellCompletion::OPEN, Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); - Opm::Completion completion3(11,10,10, 1, 0.0, Opm::WellCompletion::OPEN, Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); - Opm::Completion completion4(10,11,10, 1, 0.0, Opm::WellCompletion::OPEN, Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); - Opm::Completion completion5(10,10,11, 1, 0.0, Opm::WellCompletion::OPEN, Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); + Opm::Connection completion1(10,10,10, 1, 0.0, Opm::WellCompletion::OPEN, Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); + Opm::Connection completion2(10,10,10, 1, 0.0, Opm::WellCompletion::OPEN, Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); + Opm::Connection completion3(11,10,10, 1, 0.0, Opm::WellCompletion::OPEN, Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); + Opm::Connection completion4(10,11,10, 1, 0.0, Opm::WellCompletion::OPEN, Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); + Opm::Connection completion5(10,10,11, 1, 0.0, Opm::WellCompletion::OPEN, Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); BOOST_CHECK( completion1.sameCoordinate( completion2 )); BOOST_CHECK_EQUAL( false , completion1.sameCoordinate( completion3 )); @@ -94,8 +94,8 @@ BOOST_AUTO_TEST_CASE(CreateCompletionSetOK) { BOOST_AUTO_TEST_CASE(AddCompletionSizeCorrect) { Opm::CompletionSet completionSet; - Opm::Completion completion1( 10,10,10, 1, 0.0,Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); - Opm::Completion completion2( 11,10,10, 1, 0.0,Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); + Opm::Connection completion1( 10,10,10, 1, 0.0,Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); + Opm::Connection completion2( 11,10,10, 1, 0.0,Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); completionSet.add( completion1 ); BOOST_CHECK_EQUAL( 1U , completionSet.size() ); @@ -108,8 +108,8 @@ BOOST_AUTO_TEST_CASE(AddCompletionSizeCorrect) { BOOST_AUTO_TEST_CASE(CompletionSetGetOutOfRangeThrows) { Opm::CompletionSet completionSet; - Opm::Completion completion1( 10,10,10,1, 0.0,Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); - Opm::Completion completion2( 11,10,10,1, 0.0,Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); + Opm::Connection completion1( 10,10,10,1, 0.0,Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); + Opm::Connection completion2( 11,10,10,1, 0.0,Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); completionSet.add( completion1 ); BOOST_CHECK_EQUAL( 1U , completionSet.size() ); @@ -124,8 +124,8 @@ BOOST_AUTO_TEST_CASE(CompletionSetGetOutOfRangeThrows) { BOOST_AUTO_TEST_CASE(AddCompletionSameCellUpdates) { Opm::CompletionSet completionSet; - Opm::Completion completion1( 10,10,10, 1, 0.0, Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); - Opm::Completion completion2( 10,10,10, 1, 0.0,Opm::WellCompletion::SHUT , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); + Opm::Connection completion1( 10,10,10, 1, 0.0, Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); + Opm::Connection completion2( 10,10,10, 1, 0.0,Opm::WellCompletion::SHUT , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); completionSet.add( completion1 ); @@ -140,9 +140,9 @@ BOOST_AUTO_TEST_CASE(AddCompletionSameCellUpdates) { BOOST_AUTO_TEST_CASE(AddCompletionCopy) { Opm::CompletionSet completionSet; - Opm::Completion completion1( 10,10,10, 1, 0.0, Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); - Opm::Completion completion2( 10,10,11, 1, 0.0, Opm::WellCompletion::SHUT , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); - Opm::Completion completion3( 10,10,12, 1, 0.0, Opm::WellCompletion::SHUT , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); + Opm::Connection completion1( 10,10,10, 1, 0.0, Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); + Opm::Connection completion2( 10,10,11, 1, 0.0, Opm::WellCompletion::SHUT , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); + Opm::Connection completion3( 10,10,12, 1, 0.0, Opm::WellCompletion::SHUT , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); completionSet.add( completion1 ); completionSet.add( completion2 ); @@ -161,9 +161,9 @@ BOOST_AUTO_TEST_CASE(AddCompletionCopy) { BOOST_AUTO_TEST_CASE(ActiveCompletions) { Opm::EclipseGrid grid(10,10,10); Opm::CompletionSet completions; - Opm::Completion completion1( 0,0,0, 1, 0.0, Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); - Opm::Completion completion2( 0,0,1, 1, 0.0, Opm::WellCompletion::SHUT , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); - Opm::Completion completion3( 0,0,2, 1, 0.0, Opm::WellCompletion::SHUT , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); + Opm::Connection completion1( 0,0,0, 1, 0.0, Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); + Opm::Connection completion2( 0,0,1, 1, 0.0, Opm::WellCompletion::SHUT , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); + Opm::Connection completion3( 0,0,2, 1, 0.0, Opm::WellCompletion::SHUT , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); completions.add( completion1 ); completions.add( completion2 ); diff --git a/tests/parser/MultisegmentWellTests.cpp b/tests/parser/MultisegmentWellTests.cpp index c1e378bf8..6dabba986 100644 --- a/tests/parser/MultisegmentWellTests.cpp +++ b/tests/parser/MultisegmentWellTests.cpp @@ -32,7 +32,7 @@ #include #include -#include +#include #include #include @@ -43,13 +43,13 @@ BOOST_AUTO_TEST_CASE(MultisegmentWellTest) { Opm::CompletionSet completion_set; - completion_set.add(Opm::Completion( 19, 0, 0, 1, 0.0, Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor", 200.), Opm::Value("D", 0.5), Opm::Value("SKIN", 0.), 0) ); - completion_set.add(Opm::Completion( 19, 0, 1, 1, 0.0, Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor", 200.), Opm::Value("D", 0.5), Opm::Value("SKIN", 0.), 0) ); - completion_set.add(Opm::Completion( 19, 0, 2, 1, 0.0, Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor", 200.), Opm::Value("D", 0.4), Opm::Value("SKIN", 0.), 0) ); - completion_set.add(Opm::Completion( 18, 0, 1, 1, 0.0, Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor", 200.), Opm::Value("D", 0.4), Opm::Value("SKIN", 0.), 0, Opm::WellCompletion::DirectionEnum::X) ); - completion_set.add(Opm::Completion( 17, 0, 1, 1, 0.0, Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor", 200.), Opm::Value("D", 0.4), Opm::Value("SKIN", 0.), 0, Opm::WellCompletion::DirectionEnum::X) ); - completion_set.add(Opm::Completion( 16, 0, 1, 1, 0.0, Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor", 200.), Opm::Value("D", 0.4), Opm::Value("SKIN", 0.), 0, Opm::WellCompletion::DirectionEnum::X) ); - completion_set.add(Opm::Completion( 15, 0, 1, 1, 0.0, Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor", 200.), Opm::Value("D", 0.4), Opm::Value("SKIN", 0.), 0, Opm::WellCompletion::DirectionEnum::X) ); + completion_set.add(Opm::Connection( 19, 0, 0, 1, 0.0, Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor", 200.), Opm::Value("D", 0.5), Opm::Value("SKIN", 0.), 0) ); + completion_set.add(Opm::Connection( 19, 0, 1, 1, 0.0, Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor", 200.), Opm::Value("D", 0.5), Opm::Value("SKIN", 0.), 0) ); + completion_set.add(Opm::Connection( 19, 0, 2, 1, 0.0, Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor", 200.), Opm::Value("D", 0.4), Opm::Value("SKIN", 0.), 0) ); + completion_set.add(Opm::Connection( 18, 0, 1, 1, 0.0, Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor", 200.), Opm::Value("D", 0.4), Opm::Value("SKIN", 0.), 0, Opm::WellCompletion::DirectionEnum::X) ); + completion_set.add(Opm::Connection( 17, 0, 1, 1, 0.0, Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor", 200.), Opm::Value("D", 0.4), Opm::Value("SKIN", 0.), 0, Opm::WellCompletion::DirectionEnum::X) ); + completion_set.add(Opm::Connection( 16, 0, 1, 1, 0.0, Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor", 200.), Opm::Value("D", 0.4), Opm::Value("SKIN", 0.), 0, Opm::WellCompletion::DirectionEnum::X) ); + completion_set.add(Opm::Connection( 15, 0, 1, 1, 0.0, Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor", 200.), Opm::Value("D", 0.4), Opm::Value("SKIN", 0.), 0, Opm::WellCompletion::DirectionEnum::X) ); BOOST_CHECK_EQUAL( 7U , completion_set.size() ); @@ -90,31 +90,31 @@ BOOST_AUTO_TEST_CASE(MultisegmentWellTest) { BOOST_CHECK_EQUAL(7U, new_completion_set.size()); - const Opm::Completion& completion1 = new_completion_set.get(0); + const Opm::Connection& completion1 = new_completion_set.get(0); const int segment_number_completion1 = completion1.getSegmentNumber(); const double center_depth_completion1 = completion1.getCenterDepth(); BOOST_CHECK_EQUAL(segment_number_completion1, 1); BOOST_CHECK_EQUAL(center_depth_completion1, 2512.5); - const Opm::Completion& completion3 = new_completion_set.get(2); + const Opm::Connection& completion3 = new_completion_set.get(2); const int segment_number_completion3 = completion3.getSegmentNumber(); const double center_depth_completion3 = completion3.getCenterDepth(); BOOST_CHECK_EQUAL(segment_number_completion3, 3); BOOST_CHECK_EQUAL(center_depth_completion3, 2562.5); - const Opm::Completion& completion5 = new_completion_set.get(4); + const Opm::Connection& completion5 = new_completion_set.get(4); const int segment_number_completion5 = completion5.getSegmentNumber(); const double center_depth_completion5 = completion5.getCenterDepth(); BOOST_CHECK_EQUAL(segment_number_completion5, 6); BOOST_CHECK_CLOSE(center_depth_completion5, 2538.83, 0.001); - const Opm::Completion& completion6 = new_completion_set.get(5); + const Opm::Connection& completion6 = new_completion_set.get(5); const int segment_number_completion6 = completion6.getSegmentNumber(); const double center_depth_completion6 = completion6.getCenterDepth(); BOOST_CHECK_EQUAL(segment_number_completion6, 6); BOOST_CHECK_CLOSE(center_depth_completion6, 2537.83, 0.001); - const Opm::Completion& completion7 = new_completion_set.get(6); + const Opm::Connection& completion7 = new_completion_set.get(6); const int segment_number_completion7 = completion7.getSegmentNumber(); const double center_depth_completion7 = completion7.getCenterDepth(); BOOST_CHECK_EQUAL(segment_number_completion7, 7); diff --git a/tests/parser/WellTests.cpp b/tests/parser/WellTests.cpp index 0597f942d..59fd4d0fc 100644 --- a/tests/parser/WellTests.cpp +++ b/tests/parser/WellTests.cpp @@ -32,6 +32,7 @@ #include #include +#include #include #include #include @@ -52,7 +53,7 @@ static Opm::TimeMap createXDaysTimeMap(size_t numDays) { } namespace Opm { -inline std::ostream& operator<<( std::ostream& stream, const Completion& c ) { +inline std::ostream& operator<<( std::ostream& stream, const Connection& c ) { return stream << "(" << c.getI() << "," << c.getJ() << "," << c.getK() << ")"; } inline std::ostream& operator<<( std::ostream& stream, const Well& well ) { @@ -344,15 +345,15 @@ BOOST_AUTO_TEST_CASE(UpdateCompletions) { const auto& completions = well.getCompletions( 0 ); BOOST_CHECK_EQUAL( 0U , completions.size()); - Opm::Completion comp1( 10 , 10 , 10 , 1, 10, Opm::WellCompletion::AUTO , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); - Opm::Completion comp2( 10 , 10 , 11 , 1, 11, Opm::WellCompletion::SHUT , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); - Opm::Completion comp3( 10 , 10 , 12 , 1, 12, Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); - Opm::Completion comp4( 10 , 10 , 12 , 1, 12, Opm::WellCompletion::SHUT , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); - Opm::Completion comp5( 10 , 10 , 13 , 1, 13, Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); + Opm::Connection comp1( 10 , 10 , 10 , 1, 10, Opm::WellCompletion::AUTO , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); + Opm::Connection comp2( 10 , 10 , 11 , 1, 11, Opm::WellCompletion::SHUT , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); + Opm::Connection comp3( 10 , 10 , 12 , 1, 12, Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); + Opm::Connection comp4( 10 , 10 , 12 , 1, 12, Opm::WellCompletion::SHUT , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); + Opm::Connection comp5( 10 , 10 , 13 , 1, 13, Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); //std::vector newCompletions2{ comp4 , comp5}; Newer c++ - std::vector< Opm::Completion > newCompletions, newCompletions2; + std::vector< Opm::Connection > newCompletions, newCompletions2; newCompletions.push_back( comp1 ); newCompletions.push_back( comp2 ); newCompletions.push_back( comp3 ); @@ -372,8 +373,8 @@ BOOST_AUTO_TEST_CASE(UpdateCompletions) { } // Helper function for CompletionOrder test. -inline Opm::Completion completion( int i, int j, int k, int complnum = 1 ) { - return Opm::Completion{ i, j, k, +inline Opm::Connection connection( int i, int j, int k, int complnum = 1 ) { + return Opm::Connection { i, j, k, complnum, k*1.0, Opm::WellCompletion::AUTO, @@ -390,10 +391,10 @@ BOOST_AUTO_TEST_CASE(CompletionOrder) { { // Vertical well. Opm::Well well("WELL1" , 5, 5, 0.0, Opm::Phase::OIL, timeMap , 0); - auto c1 = completion(5, 5, 8); - auto c2 = completion(5, 5, 9); - auto c3 = completion(5, 5, 1); - auto c4 = completion(5, 5, 0); + auto c1 = connection(5, 5, 8); + auto c2 = connection(5, 5, 9); + auto c3 = connection(5, 5, 1); + auto c4 = connection(5, 5, 0); Opm::CompletionSet cv1 = { c1, c2 }; well.addCompletionSet(1, cv1); BOOST_CHECK_EQUAL(well.getCompletions(1).get(0), c1); @@ -406,14 +407,14 @@ BOOST_AUTO_TEST_CASE(CompletionOrder) { { // Horizontal well. Opm::Well well("WELL1" , 5, 5, 0.0, Opm::Phase::OIL, timeMap , 0); - auto c1 = completion(6, 5, 8, 1); - auto c2 = completion(5, 6, 7, 2); - auto c3 = completion(7, 5, 8, 1); - auto c4 = completion(9, 5, 8, 2); - auto c5 = completion(8, 5, 9, 3); - auto c6 = completion(5, 5, 4, 1); + auto c1 = connection(6, 5, 8, 1); + auto c2 = connection(5, 6, 7, 2); + auto c3 = connection(7, 5, 8, 1); + auto c4 = connection(9, 5, 8, 2); + auto c5 = connection(8, 5, 9, 3); + auto c6 = connection(5, 5, 4, 1); - std::vector< Opm::Completion > cv1 = { c1, c2 }; + std::vector< Opm::Connection > cv1 = { c1, c2 }; well.addCompletions(1, cv1); BOOST_CHECK_EQUAL(well.getCompletions(1).get(0), c2); @@ -423,29 +424,29 @@ BOOST_AUTO_TEST_CASE(CompletionOrder) { * comparing to the right value by forcing the right-hand-side of the * comparison to use the expected completion number */ - std::vector< Opm::Completion > cv2 = { c3, c4, c5 }; + std::vector< Opm::Connection > cv2 = { c3, c4, c5 }; well.addCompletions(2, cv2); - BOOST_CHECK_EQUAL(well.getCompletions(1).get(0), Completion( c2, 2 ) ); - BOOST_CHECK_EQUAL(well.getCompletions(2).get(0), Completion( c2, 2 ) ); - BOOST_CHECK_EQUAL(well.getCompletions(2).get(1), Completion( c1, 1 ) ); - BOOST_CHECK_EQUAL(well.getCompletions(2).get(2), Completion( c3, 3 ) ); - BOOST_CHECK_EQUAL(well.getCompletions(2).get(3), Completion( c5, 5 ) ); - BOOST_CHECK_EQUAL(well.getCompletions(2).get(4), Completion( c4, 4 ) ); - std::vector< Opm::Completion > cv3 = { c6 }; + BOOST_CHECK_EQUAL(well.getCompletions(1).get(0), Connection( c2, 2 ) ); + BOOST_CHECK_EQUAL(well.getCompletions(2).get(0), Connection( c2, 2 ) ); + BOOST_CHECK_EQUAL(well.getCompletions(2).get(1), Connection( c1, 1 ) ); + BOOST_CHECK_EQUAL(well.getCompletions(2).get(2), Connection( c3, 3 ) ); + BOOST_CHECK_EQUAL(well.getCompletions(2).get(3), Connection( c5, 5 ) ); + BOOST_CHECK_EQUAL(well.getCompletions(2).get(4), Connection( c4, 4 ) ); + std::vector< Opm::Connection > cv3 = { c6 }; well.addCompletions(3, cv3); - BOOST_CHECK_EQUAL(well.getCompletions(1).get(0), Completion( c2, 2 ) ); - BOOST_CHECK_EQUAL(well.getCompletions(2).get(0), Completion( c2, 2 ) ); - BOOST_CHECK_EQUAL(well.getCompletions(2).get(1), Completion( c1, 1 ) ); - BOOST_CHECK_EQUAL(well.getCompletions(2).get(2), Completion( c3, 3 ) ); - BOOST_CHECK_EQUAL(well.getCompletions(2).get(3), Completion( c5, 5 ) ); - BOOST_CHECK_EQUAL(well.getCompletions(2).get(4), Completion( c4, 4 ) ); - BOOST_CHECK_EQUAL(well.getCompletions(3).get(0), Completion( c6, 6 ) ); - BOOST_CHECK_EQUAL(well.getCompletions(3).get(1), Completion( c2, 2 ) ); - BOOST_CHECK_EQUAL(well.getCompletions(3).get(2), Completion( c1, 1 ) ); - BOOST_CHECK_EQUAL(well.getCompletions(3).get(3), Completion( c3, 3 ) ); - BOOST_CHECK_EQUAL(well.getCompletions(3).get(4), Completion( c5, 5 ) ); - BOOST_CHECK_EQUAL(well.getCompletions(3).get(5), Completion( c4, 4 ) ); + BOOST_CHECK_EQUAL(well.getCompletions(1).get(0), Connection( c2, 2 ) ); + BOOST_CHECK_EQUAL(well.getCompletions(2).get(0), Connection( c2, 2 ) ); + BOOST_CHECK_EQUAL(well.getCompletions(2).get(1), Connection( c1, 1 ) ); + BOOST_CHECK_EQUAL(well.getCompletions(2).get(2), Connection( c3, 3 ) ); + BOOST_CHECK_EQUAL(well.getCompletions(2).get(3), Connection( c5, 5 ) ); + BOOST_CHECK_EQUAL(well.getCompletions(2).get(4), Connection( c4, 4 ) ); + BOOST_CHECK_EQUAL(well.getCompletions(3).get(0), Connection( c6, 6 ) ); + BOOST_CHECK_EQUAL(well.getCompletions(3).get(1), Connection( c2, 2 ) ); + BOOST_CHECK_EQUAL(well.getCompletions(3).get(2), Connection( c1, 1 ) ); + BOOST_CHECK_EQUAL(well.getCompletions(3).get(3), Connection( c3, 3 ) ); + BOOST_CHECK_EQUAL(well.getCompletions(3).get(4), Connection( c5, 5 ) ); + BOOST_CHECK_EQUAL(well.getCompletions(3).get(5), Connection( c4, 4 ) ); } } @@ -636,8 +637,8 @@ BOOST_AUTO_TEST_CASE(WellStatus) { Opm::Well well("WELL1" , 0, 0, 0.0, Opm::Phase::OIL, timeMap , 0); - std::vector newCompletions; - Opm::Completion comp1(10 , 10 , 10 , 1, 0.25 , Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); + std::vector newCompletions; + Opm::Connection comp1(10 , 10 , 10 , 1, 0.25 , Opm::WellCompletion::OPEN , Opm::Value("ConnectionTransmissibilityFactor",99.88), Opm::Value("D",22.33), Opm::Value("SKIN",33.22), 0); newCompletions.push_back( comp1 ); diff --git a/tests/parser/integration/CompletionsFromDeck.cpp b/tests/parser/integration/CompletionsFromDeck.cpp index 1e497759d..643b491c0 100644 --- a/tests/parser/integration/CompletionsFromDeck.cpp +++ b/tests/parser/integration/CompletionsFromDeck.cpp @@ -26,7 +26,7 @@ #include #include #include -#include +#include #include #include @@ -48,7 +48,7 @@ BOOST_AUTO_TEST_CASE( CreateCompletionsFromKeyword ) { const auto& COMPDAT1 = deck.getKeyword("COMPDAT" , 1); const auto wells = schedule.getWells( 0 ); - auto completions = Completion::fromCOMPDAT( grid, eclipseProperties, COMPDAT1, wells, ParseContext(), schedule ); + auto completions = Connection::fromCOMPDAT( grid, eclipseProperties, COMPDAT1, wells, ParseContext(), schedule ); BOOST_CHECK_EQUAL( 3U , completions.size() ); BOOST_CHECK( completions.find("W_1") != completions.end() ); @@ -59,7 +59,7 @@ BOOST_AUTO_TEST_CASE( CreateCompletionsFromKeyword ) { BOOST_CHECK_EQUAL( 5U , completions.find("W_2")->second.size() ); BOOST_CHECK_EQUAL( 5U , completions.find("W_3")->second.size() ); - std::vector W_3Completions = completions.find("W_3")->second; + std::vector W_3Completions = completions.find("W_3")->second; const auto& completion0 = W_3Completions[0]; const auto& completion4 = W_3Completions[4]; @@ -89,7 +89,7 @@ BOOST_AUTO_TEST_CASE( CreateCompletionsFromKeyword ) { BOOST_CHECK_EQUAL (well2->getStatus(0) , WellCommon::StatusEnum::SHUT); // Check saturation table number for connection - std::vector W_1Completions = completions.find("W_1")->second; + std::vector W_1Completions = completions.find("W_1")->second; const auto& W1_completion0 = W_1Completions[0]; const auto& W1_completion3 = W_1Completions[3]; const auto& W1_completion4 = W_1Completions[4]; diff --git a/tests/parser/integration/ParseKEYWORD.cpp b/tests/parser/integration/ParseKEYWORD.cpp index 948aff264..0c6ed0ab3 100644 --- a/tests/parser/integration/ParseKEYWORD.cpp +++ b/tests/parser/integration/ParseKEYWORD.cpp @@ -576,25 +576,25 @@ BOOST_AUTO_TEST_CASE( MULTISEGMENT_ABS ) { const auto& completions = well->getCompletions(0); BOOST_CHECK_EQUAL(7U, completions.size()); - const Completion& completion5 = completions.get(4); + const Connection& completion5 = completions.get(4); const int seg_number_completion5 = completion5.getSegmentNumber(); const double completion5_depth = completion5.getCenterDepth(); BOOST_CHECK_EQUAL(seg_number_completion5, 6); BOOST_CHECK_CLOSE(completion5_depth, 2538.83, 0.001); - const Completion& completion6 = completions.get(5); + const Connection& completion6 = completions.get(5); const int seg_number_completion6 = completion6.getSegmentNumber(); const double completion6_depth = completion6.getCenterDepth(); BOOST_CHECK_EQUAL(seg_number_completion6, 6); BOOST_CHECK_CLOSE(completion6_depth, 2537.83, 0.001); - const Completion& completion1 = completions.get(0); + const Connection& completion1 = completions.get(0); const int seg_number_completion1 = completion1.getSegmentNumber(); const double completion1_depth = completion1.getCenterDepth(); BOOST_CHECK_EQUAL(seg_number_completion1, 1); BOOST_CHECK_EQUAL(completion1_depth, 2512.5); - const Completion& completion3 = completions.get(2); + const Connection& completion3 = completions.get(2); const int seg_number_completion3 = completion3.getSegmentNumber(); const double completion3_depth = completion3.getCenterDepth(); BOOST_CHECK_EQUAL(seg_number_completion3, 3);