diff --git a/opm/parser/eclipse/EclipseState/EclipseState.cpp b/opm/parser/eclipse/EclipseState/EclipseState.cpp index 5ffba058b..2a3ab1d4c 100644 --- a/opm/parser/eclipse/EclipseState/EclipseState.cpp +++ b/opm/parser/eclipse/EclipseState/EclipseState.cpp @@ -260,13 +260,6 @@ namespace Opm { return m_vfpinjTables; } - const std::vector& EclipseState::getSof2Tables() const { - return m_sof2Tables; - } - - const std::vector& EclipseState::getSof3Tables() const { - return m_sof3Tables; - } const std::vector& EclipseState::getSwfnTables() const { return m_swfnTables; @@ -338,8 +331,6 @@ namespace Opm { initSimpleTables(deck, "PVDO", m_pvdoTables); initSimpleTables(deck, "RSVD", m_rsvdTables); initSimpleTables(deck, "RVVD", m_rvvdTables); - initSimpleTables(deck, "SOF2", m_sof2Tables); - initSimpleTables(deck, "SOF3", m_sof3Tables); initSimpleTables(deck, "SWFN", m_swfnTables); initSimpleTables(deck, "SGFN", m_sgfnTables); initSimpleTables(deck, "SSFN", m_ssfnTables); diff --git a/opm/parser/eclipse/EclipseState/EclipseState.hpp b/opm/parser/eclipse/EclipseState/EclipseState.hpp index b0329de39..928a2ab17 100644 --- a/opm/parser/eclipse/EclipseState/EclipseState.hpp +++ b/opm/parser/eclipse/EclipseState/EclipseState.hpp @@ -56,8 +56,6 @@ #include #include #include -#include -#include #include #include #include @@ -139,8 +137,6 @@ namespace Opm { const std::vector& getRsvdTables() const; const std::vector& getRvvdTables() const; const std::vector& getRtempvdTables() const; - const std::vector& getSof2Tables() const; - const std::vector& getSof3Tables() const; const std::vector& getSwfnTables() const; const std::vector& getSgfnTables() const; const std::vector& getSsfnTables() const; @@ -293,8 +289,6 @@ namespace Opm { std::vector m_rsvdTables; std::vector m_rvvdTables; std::vector m_rtempvdTables; - std::vector m_sof2Tables; - std::vector m_sof3Tables; std::vector m_swfnTables; std::vector m_sgfnTables; std::vector m_ssfnTables; diff --git a/opm/parser/eclipse/EclipseState/Grid/SatfuncPropertyInitializers.hpp b/opm/parser/eclipse/EclipseState/Grid/SatfuncPropertyInitializers.hpp index f62a9b392..94116b18d 100644 --- a/opm/parser/eclipse/EclipseState/Grid/SatfuncPropertyInitializers.hpp +++ b/opm/parser/eclipse/EclipseState/Grid/SatfuncPropertyInitializers.hpp @@ -246,9 +246,10 @@ protected: } case SaturationFunctionFamily::FamilyII: { + auto tables = m_eclipseState.getTables(); const std::vector& swfnTables = m_eclipseState.getSwfnTables(); const std::vector& sgfnTables = m_eclipseState.getSgfnTables(); - const std::vector& sof3Tables = m_eclipseState.getSof3Tables(); + const std::vector& sof3Tables = tables->getSof3Tables(); for (size_t tableIdx = 0; tableIdx < numSatTables; ++tableIdx) { // find the critical water saturation @@ -373,9 +374,10 @@ protected: break; } case SaturationFunctionFamily::FamilyII: { + auto tables = m_eclipseState.getTables(); const std::vector& swfnTables = m_eclipseState.getSwfnTables(); const std::vector& sgfnTables = m_eclipseState.getSgfnTables(); - const std::vector& sof3Tables = m_eclipseState.getSof3Tables(); + const std::vector& sof3Tables = tables->getSof3Tables(); for (size_t tableIdx = 0; tableIdx < numSatTables; ++tableIdx) { // find the maximum output values of the oil-gas system @@ -425,7 +427,7 @@ protected: const std::vector& slgofTables = tables->getSlgofTables(); const std::vector& swfnTables = m_eclipseState.getSwfnTables(); const std::vector& sgfnTables = m_eclipseState.getSgfnTables(); - const std::vector& sof3Tables = m_eclipseState.getSof3Tables(); + const std::vector& sof3Tables = tables->getSof3Tables(); bool family1 = (!sgofTables.empty() || !slgofTables.empty()) && !swofTables.empty(); bool family2 = !swfnTables.empty() && !sgfnTables.empty() && !sof3Tables.empty(); diff --git a/opm/parser/eclipse/EclipseState/Tables/Sof2Table.hpp b/opm/parser/eclipse/EclipseState/Tables/Sof2Table.hpp index fa3a0c799..8413eaf6b 100644 --- a/opm/parser/eclipse/EclipseState/Tables/Sof2Table.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/Sof2Table.hpp @@ -23,12 +23,12 @@ namespace Opm { // forward declaration - class EclipseState; + class Tables; class Sof2Table : protected SingleRecordTable { typedef SingleRecordTable ParentType; - friend class EclipseState; + friend class Tables; /*! * \brief Read the SOF2 keyword and provide some convenience diff --git a/opm/parser/eclipse/EclipseState/Tables/Sof3Table.hpp b/opm/parser/eclipse/EclipseState/Tables/Sof3Table.hpp index 18407c1eb..1c02a915e 100644 --- a/opm/parser/eclipse/EclipseState/Tables/Sof3Table.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/Sof3Table.hpp @@ -23,12 +23,12 @@ namespace Opm { // forward declaration - class EclipseState; + class Tables; class Sof3Table : protected SingleRecordTable { typedef SingleRecordTable ParentType; - friend class EclipseState; + friend class Tables; /*! * \brief Read the SOF3 keyword and provide some convenience diff --git a/opm/parser/eclipse/EclipseState/Tables/TableManager.cpp b/opm/parser/eclipse/EclipseState/Tables/TableManager.cpp index 92a9b5cc2..ca03a6ee3 100644 --- a/opm/parser/eclipse/EclipseState/Tables/TableManager.cpp +++ b/opm/parser/eclipse/EclipseState/Tables/TableManager.cpp @@ -29,6 +29,8 @@ namespace Opm { initSimpleTables(deck, "SWOF", m_swofTables); initSimpleTables(deck, "SGOF", m_sgofTables); initSimpleTables(deck, "SLGOF", m_slgofTables); + initSimpleTables(deck, "SOF2", m_sof2Tables); + initSimpleTables(deck, "SOF3", m_sof3Tables); } @@ -81,6 +83,13 @@ namespace Opm { return m_sgofTables; } + const std::vector& Tables::getSof2Tables() const { + return m_sof2Tables; + } + + const std::vector& Tables::getSof3Tables() const { + return m_sof3Tables; + } 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!"); diff --git a/opm/parser/eclipse/EclipseState/Tables/TableManager.hpp b/opm/parser/eclipse/EclipseState/Tables/TableManager.hpp index 448617c5f..791832248 100644 --- a/opm/parser/eclipse/EclipseState/Tables/TableManager.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/TableManager.hpp @@ -26,6 +26,8 @@ #include #include #include +#include +#include namespace Opm { @@ -36,6 +38,8 @@ namespace Opm { std::shared_ptr getTabdims() const; + const std::vector& getSof2Tables() const; + const std::vector& getSof3Tables() const; const std::vector& getSwofTables() const; const std::vector& getSgofTables() const; const std::vector& getSlgofTables() const; @@ -76,6 +80,8 @@ namespace Opm { } } + std::vector m_sof2Tables; + std::vector m_sof3Tables; std::vector m_sgofTables; std::vector m_swofTables; std::vector m_slgofTables;