From 9e79fa2e41caa4a3be64d1b481b255a869ccb7fd Mon Sep 17 00:00:00 2001 From: Joakim Hove Date: Mon, 31 Aug 2015 16:27:38 +0200 Subject: [PATCH] Moved xxxVD tables EclipseState -> Tables --- .../eclipse/EclipseState/EclipseState.cpp | 33 ------------------ .../eclipse/EclipseState/EclipseState.hpp | 18 ---------- .../Grid/SatfuncPropertyInitializers.hpp | 4 +-- .../EclipseState/Tables/EnkrvdTable.hpp | 4 +-- .../EclipseState/Tables/EnptvdTable.hpp | 4 +-- .../EclipseState/Tables/ImkrvdTable.hpp | 4 +-- .../EclipseState/Tables/ImptvdTable.hpp | 4 +-- .../eclipse/EclipseState/Tables/RsvdTable.hpp | 4 +-- .../eclipse/EclipseState/Tables/RvvdTable.hpp | 4 +-- .../EclipseState/Tables/TableManager.cpp | 34 +++++++++++++++++++ .../EclipseState/Tables/TableManager.hpp | 18 ++++++++++ 11 files changed, 66 insertions(+), 65 deletions(-) diff --git a/opm/parser/eclipse/EclipseState/EclipseState.cpp b/opm/parser/eclipse/EclipseState/EclipseState.cpp index 1fb138330..48e5ea5e8 100644 --- a/opm/parser/eclipse/EclipseState/EclipseState.cpp +++ b/opm/parser/eclipse/EclipseState/EclipseState.cpp @@ -164,24 +164,6 @@ namespace Opm { return m_tables; } - const std::vector& EclipseState::getEnkrvdTables() const { - return m_enkrvdTables; - } - - const std::vector& EclipseState::getEnptvdTables() const { - return m_enptvdTables; - } - - - const std::vector& EclipseState::getImkrvdTables() const { - return m_imkrvdTables; - } - - const std::vector& EclipseState::getImptvdTables() const { - return m_imptvdTables; - } - - const std::vector& EclipseState::getPvtgTables() const { return m_pvtgTables; @@ -192,14 +174,6 @@ namespace Opm { return m_pvtoTables; } - const std::vector& EclipseState::getRsvdTables() const { - return m_rsvdTables; - } - - const std::vector& EclipseState::getRvvdTables() const { - return m_rvvdTables; - } - const std::map& EclipseState::getVFPProdTables() const { return m_vfpprodTables; @@ -255,13 +229,6 @@ namespace Opm { void EclipseState::initTables(DeckConstPtr deck) { m_tables = std::make_shared( *deck ); - initSimpleTables(deck, "ENKRVD", m_enkrvdTables); - initSimpleTables(deck, "ENPTVD", m_enptvdTables); - initSimpleTables(deck, "IMKRVD", m_imkrvdTables); - initSimpleTables(deck, "IMPTVD", m_imptvdTables); - initSimpleTables(deck, "RSVD", m_rsvdTables); - initSimpleTables(deck, "RVVD", m_rvvdTables); - initVFPProdTables(deck, m_vfpprodTables); initVFPInjTables(deck, m_vfpinjTables); diff --git a/opm/parser/eclipse/EclipseState/EclipseState.hpp b/opm/parser/eclipse/EclipseState/EclipseState.hpp index e2d0507cc..94a0afc3b 100644 --- a/opm/parser/eclipse/EclipseState/EclipseState.hpp +++ b/opm/parser/eclipse/EclipseState/EclipseState.hpp @@ -34,14 +34,8 @@ #include #include -#include -#include -#include -#include #include #include -#include -#include #include #include #include @@ -99,14 +93,8 @@ namespace Opm { // the tables used by the deck. If the tables had some defaulted data in the // deck, the objects returned here exhibit the correct values. If the table is // not present in the deck, the corresponding vector is of size zero. - const std::vector& getEnkrvdTables() const; - const std::vector& getEnptvdTables() const; - const std::vector& getImkrvdTables() const; - const std::vector& getImptvdTables() const; const std::vector& getPvtgTables() const; const std::vector& getPvtoTables() const; - const std::vector& getRsvdTables() const; - const std::vector& getRvvdTables() const; const std::map& getVFPProdTables() const; const std::map& getVFPInjTables() const; size_t getNumPhases() const; @@ -225,14 +213,8 @@ namespace Opm { SimulationConfigConstPtr m_simulationConfig; std::shared_ptr m_tables; - std::vector m_enkrvdTables; - std::vector m_enptvdTables; - std::vector m_imkrvdTables; - std::vector m_imptvdTables; std::vector m_pvtgTables; std::vector m_pvtoTables; - std::vector m_rsvdTables; - std::vector m_rvvdTables; std::map m_vfpprodTables; std::map m_vfpinjTables; diff --git a/opm/parser/eclipse/EclipseState/Grid/SatfuncPropertyInitializers.hpp b/opm/parser/eclipse/EclipseState/Grid/SatfuncPropertyInitializers.hpp index 1b58c26cf..e1cf9d3e7 100644 --- a/opm/parser/eclipse/EclipseState/Grid/SatfuncPropertyInitializers.hpp +++ b/opm/parser/eclipse/EclipseState/Grid/SatfuncPropertyInitializers.hpp @@ -544,7 +544,7 @@ public: // sampling points. Both of these are outside the scope of opm-parser, so we just // assign a NaN in this case... bool useEnptvd = this->m_deck.hasKeyword("ENPTVD"); - const auto& enptvdTables = this->m_eclipseState.getEnptvdTables(); + const auto& enptvdTables = tables->getEnptvdTables(); for (size_t cellIdx = 0; cellIdx < eclipseGrid->getCartesianSize(); cellIdx++) { int satTableIdx = satnum->iget( cellIdx ) - 1; int endNum = endnum->iget( cellIdx ) - 1; @@ -599,7 +599,7 @@ public: // sampling points. Both of these are outside the scope of opm-parser, so we just // assign a NaN in this case... bool useImptvd = this->m_deck.hasKeyword("IMPTVD"); - const auto& imptvdTables = this->m_eclipseState.getImptvdTables(); + const auto& imptvdTables = tables->getImptvdTables(); for (size_t cellIdx = 0; cellIdx < eclipseGrid->getCartesianSize(); cellIdx++) { int imbTableIdx = imbnum->iget( cellIdx ) - 1; int endNum = endnum->iget( cellIdx ) - 1; diff --git a/opm/parser/eclipse/EclipseState/Tables/EnkrvdTable.hpp b/opm/parser/eclipse/EclipseState/Tables/EnkrvdTable.hpp index a33869f50..e78ce7f7f 100644 --- a/opm/parser/eclipse/EclipseState/Tables/EnkrvdTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/EnkrvdTable.hpp @@ -23,12 +23,12 @@ namespace Opm { // forward declaration - class EclipseState; + class Tables; class EnkrvdTable : protected SingleRecordTable { typedef SingleRecordTable ParentType; - friend class EclipseState; + friend class Tables; EnkrvdTable() = default; /*! diff --git a/opm/parser/eclipse/EclipseState/Tables/EnptvdTable.hpp b/opm/parser/eclipse/EclipseState/Tables/EnptvdTable.hpp index 6696ddf52..c82671964 100644 --- a/opm/parser/eclipse/EclipseState/Tables/EnptvdTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/EnptvdTable.hpp @@ -23,12 +23,12 @@ namespace Opm { // forward declaration - class EclipseState; + class Tables; class EnptvdTable : protected SingleRecordTable { typedef SingleRecordTable ParentType; - friend class EclipseState; + friend class Tables; EnptvdTable() = default; /*! diff --git a/opm/parser/eclipse/EclipseState/Tables/ImkrvdTable.hpp b/opm/parser/eclipse/EclipseState/Tables/ImkrvdTable.hpp index 82849cce0..c54c44a4d 100644 --- a/opm/parser/eclipse/EclipseState/Tables/ImkrvdTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/ImkrvdTable.hpp @@ -23,12 +23,12 @@ namespace Opm { // forward declaration - class EclipseState; + class Tables; class ImkrvdTable : protected SingleRecordTable { typedef SingleRecordTable ParentType; - friend class EclipseState; + friend class Tables; ImkrvdTable() = default; /*! diff --git a/opm/parser/eclipse/EclipseState/Tables/ImptvdTable.hpp b/opm/parser/eclipse/EclipseState/Tables/ImptvdTable.hpp index aa19a0344..191336312 100644 --- a/opm/parser/eclipse/EclipseState/Tables/ImptvdTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/ImptvdTable.hpp @@ -23,12 +23,12 @@ namespace Opm { // forward declaration - class EclipseState; + class Tables; class ImptvdTable : protected SingleRecordTable { typedef SingleRecordTable ParentType; - friend class EclipseState; + friend class Tables; ImptvdTable() = default; /*! diff --git a/opm/parser/eclipse/EclipseState/Tables/RsvdTable.hpp b/opm/parser/eclipse/EclipseState/Tables/RsvdTable.hpp index 09c33a5ea..957b771ac 100644 --- a/opm/parser/eclipse/EclipseState/Tables/RsvdTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/RsvdTable.hpp @@ -23,12 +23,12 @@ namespace Opm { // forward declaration - class EclipseState; + class Tables; class RsvdTable : protected SingleRecordTable { typedef SingleRecordTable ParentType; - friend class EclipseState; + friend class Tables; RsvdTable() = default; /*! diff --git a/opm/parser/eclipse/EclipseState/Tables/RvvdTable.hpp b/opm/parser/eclipse/EclipseState/Tables/RvvdTable.hpp index 7deefc87c..f35597a99 100644 --- a/opm/parser/eclipse/EclipseState/Tables/RvvdTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/RvvdTable.hpp @@ -23,12 +23,12 @@ namespace Opm { // forward declaration - class EclipseState; + class Tables; class RvvdTable : protected SingleRecordTable { typedef SingleRecordTable ParentType; - friend class EclipseState; + friend class Tables; RvvdTable() = default; diff --git a/opm/parser/eclipse/EclipseState/Tables/TableManager.cpp b/opm/parser/eclipse/EclipseState/Tables/TableManager.cpp index 3eb29e0db..f5c0592d6 100644 --- a/opm/parser/eclipse/EclipseState/Tables/TableManager.cpp +++ b/opm/parser/eclipse/EclipseState/Tables/TableManager.cpp @@ -44,6 +44,13 @@ namespace Opm { initSimpleTables(deck, "PLYDHFLF", m_plydhflfTables); initSimpleTables(deck, "OILVISCT", m_oilvisctTables); initSimpleTables(deck, "WATVISCT", m_watvisctTables); + initSimpleTables(deck, "ENKRVD", m_enkrvdTables); + initSimpleTables(deck, "ENPTVD", m_enptvdTables); + initSimpleTables(deck, "IMKRVD", m_imkrvdTables); + initSimpleTables(deck, "IMPTVD", m_imptvdTables); + initSimpleTables(deck, "RSVD", m_rsvdTables); + initSimpleTables(deck, "RVVD", m_rvvdTables); + initPlyshlogTables(deck, "PLYSHLOG", m_plyshlogTables); initRocktabTables(deck); @@ -285,6 +292,33 @@ namespace Opm { } + const std::vector& Tables::getEnkrvdTables() const { + return m_enkrvdTables; + } + + const std::vector& Tables::getEnptvdTables() const { + return m_enptvdTables; + } + + + const std::vector& Tables::getImkrvdTables() const { + return m_imkrvdTables; + } + + const std::vector& Tables::getImptvdTables() const { + return m_imptvdTables; + } + + + const std::vector& Tables::getRsvdTables() const { + return m_rsvdTables; + } + + const std::vector& Tables::getRvvdTables() const { + return m_rvvdTables; + } + + void Tables::complainAboutAmbiguousKeyword(const Deck& deck, const std::string& keywordName) const { OpmLog::addMessage(Log::MessageType::Error, "The " + keywordName + " keyword must be unique in the deck. Ignoring all!"); auto keywords = deck.getKeywordList(keywordName); diff --git a/opm/parser/eclipse/EclipseState/Tables/TableManager.hpp b/opm/parser/eclipse/EclipseState/Tables/TableManager.hpp index 1ae6b5de5..7be015e64 100644 --- a/opm/parser/eclipse/EclipseState/Tables/TableManager.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/TableManager.hpp @@ -45,6 +45,12 @@ #include #include #include +#include +#include +#include +#include +#include +#include namespace Opm { @@ -77,6 +83,12 @@ namespace Opm { const std::vector& getOilvisctTables() const; const std::vector& getGasvisctTables() const; const std::vector& getRtempvdTables() const; + const std::vector& getEnkrvdTables() const; + const std::vector& getEnptvdTables() const; + const std::vector& getImkrvdTables() const; + const std::vector& getImptvdTables() const; + const std::vector& getRsvdTables() const; + const std::vector& getRvvdTables() const; private: void complainAboutAmbiguousKeyword(const Deck& deck, const std::string& keywordName) const; @@ -145,6 +157,12 @@ namespace Opm { std::vector m_oilvisctTables; std::vector m_gasvisctTables; std::vector m_rtempvdTables; + std::vector m_enkrvdTables; + std::vector m_enptvdTables; + std::vector m_imkrvdTables; + std::vector m_imptvdTables; + std::vector m_rsvdTables; + std::vector m_rvvdTables; std::shared_ptr m_tabdims; }; }