From 0250a9408c203619c75acf2a894d9241fc4f8013 Mon Sep 17 00:00:00 2001 From: Joakim Hove Date: Mon, 31 Aug 2015 16:36:07 +0200 Subject: [PATCH] Moved VFP Tables EclipseState -> Tables --- .../eclipse/EclipseState/EclipseState.cpp | 65 ------------------- .../eclipse/EclipseState/EclipseState.hpp | 11 ---- .../EclipseState/Tables/TableManager.cpp | 57 +++++++++++++++- .../EclipseState/Tables/TableManager.hpp | 13 ++++ 4 files changed, 69 insertions(+), 77 deletions(-) diff --git a/opm/parser/eclipse/EclipseState/EclipseState.cpp b/opm/parser/eclipse/EclipseState/EclipseState.cpp index 48e5ea5e8..4e52c70cb 100644 --- a/opm/parser/eclipse/EclipseState/EclipseState.cpp +++ b/opm/parser/eclipse/EclipseState/EclipseState.cpp @@ -175,16 +175,6 @@ namespace Opm { } - const std::map& EclipseState::getVFPProdTables() const { - return m_vfpprodTables; - } - - const std::map& EclipseState::getVFPInjTables() const { - return m_vfpinjTables; - } - - - ScheduleConstPtr EclipseState::getSchedule() const { return schedule; } @@ -229,10 +219,6 @@ namespace Opm { void EclipseState::initTables(DeckConstPtr deck) { m_tables = std::make_shared( *deck ); - initVFPProdTables(deck, m_vfpprodTables); - initVFPInjTables(deck, m_vfpinjTables); - - initFullTables(deck, "PVTG", m_pvtgTables); initFullTables(deck, "PVTO", m_pvtoTables); } @@ -428,57 +414,6 @@ namespace Opm { - void EclipseState::initVFPProdTables(DeckConstPtr deck, - std::map& tableMap) { - if (!deck->hasKeyword(ParserKeywords::VFPPROD::keywordName)) { - return; - } - - int num_tables = deck->numKeywords(ParserKeywords::VFPPROD::keywordName); - const auto& keywords = deck->getKeywordList(); - const auto unit_system = deck->getActiveUnitSystem(); - for (int i=0; i& tableMap) { - if (!deck->hasKeyword(ParserKeywords::VFPINJ::keywordName)) { - return; - } - - int num_tables = deck->numKeywords(ParserKeywords::VFPINJ::keywordName); - const auto& keywords = deck->getKeywordList(); - const auto unit_system = deck->getActiveUnitSystem(); - for (int i=0; i #include #include -#include -#include #include #include #include @@ -95,8 +93,6 @@ namespace Opm { // not present in the deck, the corresponding vector is of size zero. const std::vector& getPvtgTables() const; const std::vector& getPvtoTables() const; - const std::map& getVFPProdTables() const; - const std::map& getVFPInjTables() const; size_t getNumPhases() const; // the unit system used by the deck. note that it is rarely needed to convert @@ -174,11 +170,6 @@ namespace Opm { } } - void initVFPProdTables(DeckConstPtr deck, - std::map& tableMap); - - void initVFPInjTables(DeckConstPtr deck, - std::map& tableMap); void setMULTFLT(std::shared_ptr section) const; void initMULTREGT(DeckConstPtr deck); @@ -215,8 +206,6 @@ namespace Opm { std::shared_ptr m_tables; std::vector m_pvtgTables; std::vector m_pvtoTables; - std::map m_vfpprodTables; - std::map m_vfpinjTables; std::set phases; std::string m_title; diff --git a/opm/parser/eclipse/EclipseState/Tables/TableManager.cpp b/opm/parser/eclipse/EclipseState/Tables/TableManager.cpp index f5c0592d6..cdcc8a1a8 100644 --- a/opm/parser/eclipse/EclipseState/Tables/TableManager.cpp +++ b/opm/parser/eclipse/EclipseState/Tables/TableManager.cpp @@ -51,11 +51,13 @@ namespace Opm { initSimpleTables(deck, "RSVD", m_rsvdTables); initSimpleTables(deck, "RVVD", m_rvvdTables); - initPlyshlogTables(deck, "PLYSHLOG", m_plyshlogTables); initRocktabTables(deck); initRTempTables(deck); initGasvisctTables(deck, "GASVISCT", m_gasvisctTables); + + initVFPProdTables(deck, m_vfpprodTables); + initVFPInjTables(deck, m_vfpinjTables); } @@ -196,6 +198,59 @@ namespace Opm { } + + void Tables::initVFPProdTables(const Deck& deck, + std::map& tableMap) { + if (!deck.hasKeyword(ParserKeywords::VFPPROD::keywordName)) { + return; + } + + int num_tables = deck.numKeywords(ParserKeywords::VFPPROD::keywordName); + const auto& keywords = deck.getKeywordList(); + const auto unit_system = deck.getActiveUnitSystem(); + for (int i=0; i& tableMap) { + if (!deck.hasKeyword(ParserKeywords::VFPINJ::keywordName)) { + return; + } + + int num_tables = deck.numKeywords(ParserKeywords::VFPINJ::keywordName); + const auto& keywords = deck.getKeywordList(); + const auto unit_system = deck.getActiveUnitSystem(); + for (int i=0; i Tables::getTabdims() const { return m_tabdims; } diff --git a/opm/parser/eclipse/EclipseState/Tables/TableManager.hpp b/opm/parser/eclipse/EclipseState/Tables/TableManager.hpp index 7be015e64..46f9ff2d0 100644 --- a/opm/parser/eclipse/EclipseState/Tables/TableManager.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/TableManager.hpp @@ -51,6 +51,8 @@ #include #include #include +#include +#include namespace Opm { @@ -89,6 +91,8 @@ namespace Opm { const std::vector& getImptvdTables() const; const std::vector& getRsvdTables() const; const std::vector& getRvvdTables() const; + const std::map& getVFPProdTables() const; + const std::map& getVFPInjTables() const; private: void complainAboutAmbiguousKeyword(const Deck& deck, const std::string& keywordName) const; @@ -104,6 +108,13 @@ namespace Opm { std::vector& tableVector); + void initVFPProdTables(const Deck& deck, + std::map& tableMap); + + void initVFPInjTables(const Deck& deck, + std::map& tableMap); + + template void initSimpleTables(const Deck& deck, const std::string& keywordName, @@ -135,6 +146,8 @@ namespace Opm { } } + std::map m_vfpprodTables; + std::map m_vfpinjTables; std::vector m_pvdsTables; std::vector m_swfnTables; std::vector m_sgfnTables;