From c85a032240ef3f56c346257712de1600aa573395 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Kvalsvik?= Date: Fri, 15 Jan 2016 13:46:50 +0100 Subject: [PATCH] Splits tables' implementations into .cpp file Most tables are trivial extensions of SimpleTable, but had their implementation in headers. This required them to include more headers than we want to expose and makes them harder to maintain and verify. Instead, all these SimpleTable derivatives are now implemented in Tables.cpp, only declaring their interfaces in their respective .hpp files. Clients won't notice the difference. rebase into tables --- opm/parser/eclipse/CMakeLists.txt | 3 +- .../Grid/SatfuncPropertyInitializers.hpp | 1 + .../EclipseState/Tables/EnkrvdTable.hpp | 42 +- .../EclipseState/Tables/EnptvdTable.hpp | 46 +- .../EclipseState/Tables/GasvisctTable.hpp | 58 +- .../EclipseState/Tables/ImkrvdTable.hpp | 42 +- .../EclipseState/Tables/ImptvdTable.hpp | 45 +- .../eclipse/EclipseState/Tables/MiscTable.hpp | 15 +- .../eclipse/EclipseState/Tables/MsfnTable.hpp | 26 +- .../EclipseState/Tables/OilvisctTable.hpp | 19 +- .../EclipseState/Tables/PlyadsTable.hpp | 21 +- .../EclipseState/Tables/PlydhflfTable.hpp | 18 +- .../EclipseState/Tables/PlymaxTable.hpp | 26 +- .../EclipseState/Tables/PlyrockTable.hpp | 37 +- .../EclipseState/Tables/PlyshlogTable.hpp | 97 +- .../EclipseState/Tables/PlyviscTable.hpp | 19 +- .../EclipseState/Tables/PmiscTable.hpp | 15 +- .../eclipse/EclipseState/Tables/PvdgTable.hpp | 26 +- .../eclipse/EclipseState/Tables/PvdoTable.hpp | 22 +- .../eclipse/EclipseState/Tables/PvdsTable.hpp | 23 +- .../eclipse/EclipseState/Tables/PvtgTable.cpp | 42 - .../eclipse/EclipseState/Tables/PvtoTable.cpp | 24 - .../EclipseState/Tables/RocktabTable.hpp | 57 +- .../eclipse/EclipseState/Tables/RsvdTable.hpp | 17 +- .../EclipseState/Tables/RtempvdTable.hpp | 22 +- .../eclipse/EclipseState/Tables/RvvdTable.hpp | 15 +- .../EclipseState/Tables/SgcwmisTable.hpp | 14 +- .../eclipse/EclipseState/Tables/SgfnTable.hpp | 30 +- .../eclipse/EclipseState/Tables/SgofTable.hpp | 38 +- .../EclipseState/Tables/SgwfnTable.hpp | 27 +- .../EclipseState/Tables/SimpleTable.cpp | 1 + .../EclipseState/Tables/SimpleTable.hpp | 2 +- .../EclipseState/Tables/SlgofTable.hpp | 34 +- .../eclipse/EclipseState/Tables/Sof2Table.hpp | 20 +- .../eclipse/EclipseState/Tables/Sof3Table.hpp | 26 +- .../EclipseState/Tables/SorwmisTable.hpp | 17 +- .../eclipse/EclipseState/Tables/SsfnTable.hpp | 27 +- .../eclipse/EclipseState/Tables/SwfnTable.hpp | 22 +- .../eclipse/EclipseState/Tables/SwofTable.hpp | 37 +- .../EclipseState/Tables/TableManager.cpp | 65 +- .../EclipseState/Tables/TableManager.hpp | 31 +- .../eclipse/EclipseState/Tables/Tables.cpp | 1074 +++++++++++++++++ .../EclipseState/Tables/WatvisctTable.hpp | 19 +- .../Tables/tests/SimpleTableTests.cpp | 5 +- .../Tables/tests/TableManagerTests.cpp | 1 + .../IntegrationTests/ParseMiscible.cpp | 4 + .../eclipse/IntegrationTests/Polymer.cpp | 4 + 47 files changed, 1302 insertions(+), 974 deletions(-) delete mode 100644 opm/parser/eclipse/EclipseState/Tables/PvtgTable.cpp delete mode 100644 opm/parser/eclipse/EclipseState/Tables/PvtoTable.cpp create mode 100644 opm/parser/eclipse/EclipseState/Tables/Tables.cpp diff --git a/opm/parser/eclipse/CMakeLists.txt b/opm/parser/eclipse/CMakeLists.txt index ee7c2a31f..f1e75711f 100644 --- a/opm/parser/eclipse/CMakeLists.txt +++ b/opm/parser/eclipse/CMakeLists.txt @@ -115,9 +115,8 @@ EclipseState/Tables/TableColumn.cpp EclipseState/Tables/ColumnSchema.cpp EclipseState/Tables/TableSchema.cpp EclipseState/Tables/TableIndex.cpp -EclipseState/Tables/PvtgTable.cpp -EclipseState/Tables/PvtoTable.cpp EclipseState/Tables/PvtxTable.cpp +EclipseState/Tables/Tables.cpp # EclipseState/Grid/GridProperty.cpp EclipseState/Grid/Box.cpp diff --git a/opm/parser/eclipse/EclipseState/Grid/SatfuncPropertyInitializers.hpp b/opm/parser/eclipse/EclipseState/Grid/SatfuncPropertyInitializers.hpp index 5f54f200e..ccb2a73c2 100644 --- a/opm/parser/eclipse/EclipseState/Grid/SatfuncPropertyInitializers.hpp +++ b/opm/parser/eclipse/EclipseState/Grid/SatfuncPropertyInitializers.hpp @@ -34,6 +34,7 @@ #include #include #include +#include namespace Opm { diff --git a/opm/parser/eclipse/EclipseState/Tables/EnkrvdTable.hpp b/opm/parser/eclipse/EclipseState/Tables/EnkrvdTable.hpp index 7cadcefb5..9b2049449 100644 --- a/opm/parser/eclipse/EclipseState/Tables/EnkrvdTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/EnkrvdTable.hpp @@ -20,9 +20,6 @@ #define OPM_PARSER_ENKRVD_TABLE_HPP #include "SimpleTable.hpp" -#include - - namespace Opm { @@ -31,21 +28,8 @@ namespace Opm { class EnkrvdTable : public SimpleTable { public: - EnkrvdTable(std::shared_ptr< const DeckItem > item) - { - m_schema = std::make_shared( ); + EnkrvdTable( std::shared_ptr< const DeckItem > item ); - m_schema->addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) ); - m_schema->addColumn( ColumnSchema( "KRWMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "KRGMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "KROMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "KRWCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "KRGCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "KROCRITG",Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "KROCRITW",Table::RANDOM , Table::DEFAULT_LINEAR ) ); - - SimpleTable::init(item); - } // using this method is strongly discouraged but the current endpoint scaling // code makes it hard to avoid @@ -54,50 +38,42 @@ namespace Opm { /*! * \brief The datum depth for the remaining columns */ - const TableColumn& getDepthColumn() const - { return SimpleTable::getColumn(0); } + const TableColumn& getDepthColumn() const; /*! * \brief Maximum relative permeability of water */ - const TableColumn& getKrwmaxColumn() const - { return SimpleTable::getColumn(1); } + const TableColumn& getKrwmaxColumn() const; /*! * \brief Maximum relative permeability of gas */ - const TableColumn& getKrgmaxColumn() const - { return SimpleTable::getColumn(2); } + const TableColumn& getKrgmaxColumn() const; /*! * \brief Maximum relative permeability of oil */ - const TableColumn& getKromaxColumn() const - { return SimpleTable::getColumn(3); } + const TableColumn& getKromaxColumn() const; /*! * \brief Relative permeability of water at the critical oil (or gas) saturation */ - const TableColumn& getKrwcritColumn() const - { return SimpleTable::getColumn(4); } + const TableColumn& getKrwcritColumn() const; /*! * \brief Relative permeability of gas at the critical oil (or water) saturation */ - const TableColumn& getKrgcritColumn() const - { return SimpleTable::getColumn(5); } + const TableColumn& getKrgcritColumn() const; /*! * \brief Oil relative permeability of oil at the critical gas saturation */ - const TableColumn& getKrocritgColumn() const - { return SimpleTable::getColumn(6); } + const TableColumn& getKrocritgColumn() const; /*! * \brief Oil relative permeability of oil at the critical water saturation */ - const TableColumn& getKrocritwColumn() const - { return SimpleTable::getColumn(7); } + const TableColumn& getKrocritwColumn() const; }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/EnptvdTable.hpp b/opm/parser/eclipse/EclipseState/Tables/EnptvdTable.hpp index a63f102da..a7618ab63 100644 --- a/opm/parser/eclipse/EclipseState/Tables/EnptvdTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/EnptvdTable.hpp @@ -20,7 +20,6 @@ #define OPM_PARSER_ENPTVD_TABLE_HPP #include "SimpleTable.hpp" -#include namespace Opm { @@ -28,76 +27,53 @@ namespace Opm { class EnptvdTable : public SimpleTable { public: - EnptvdTable(std::shared_ptr< const DeckItem > item) - { - m_schema = std::make_shared( ); - m_schema->addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) ); - m_schema->addColumn( ColumnSchema( "SWCO", Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "SWCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "SWMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "SGCO", Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "SGCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "SGMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "SOWCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "SOGCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); - - SimpleTable::init(item); - } - + EnptvdTable( std::shared_ptr< const DeckItem > item ); + // using this method is strongly discouraged but the current endpoint scaling // code makes it hard to avoid using SimpleTable::getColumn; - const TableColumn& getDepthColumn() const - { return SimpleTable::getColumn(0); } + const TableColumn& getDepthColumn() const; /*! * \brief Connate water saturation */ - const TableColumn& getSwcoColumn() const - { return SimpleTable::getColumn(1); } + const TableColumn& getSwcoColumn() const; /*! * \brief Critical water saturation */ - const TableColumn& getSwcritColumn() const - { return SimpleTable::getColumn(2); } + const TableColumn& getSwcritColumn() const; /*! * \brief Maximum water saturation */ - const TableColumn& getSwmaxColumn() const - { return SimpleTable::getColumn(3); } + const TableColumn& getSwmaxColumn() const; /*! * \brief Connate gas saturation */ - const TableColumn& getSgcoColumn() const - { return SimpleTable::getColumn(4); } + const TableColumn& getSgcoColumn() const; /*! * \brief Critical gas saturation */ - const TableColumn& getSgcritColumn() const - { return SimpleTable::getColumn(5); } + const TableColumn& getSgcritColumn() const; /*! * \brief Maximum gas saturation */ - const TableColumn& getSgmaxColumn() const - { return SimpleTable::getColumn(6); } + const TableColumn& getSgmaxColumn() const; /*! * \brief Critical oil-in-water saturation */ - const TableColumn& getSowcritColumn() const - { return SimpleTable::getColumn(7); } + const TableColumn& getSowcritColumn() const; /*! * \brief Critical oil-in-gas saturation */ - const TableColumn& getSogcritColumn() const - { return SimpleTable::getColumn(8); } + const TableColumn& getSogcritColumn() const; }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/GasvisctTable.hpp b/opm/parser/eclipse/EclipseState/Tables/GasvisctTable.hpp index e905ff863..414034291 100644 --- a/opm/parser/eclipse/EclipseState/Tables/GasvisctTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/GasvisctTable.hpp @@ -20,69 +20,19 @@ #ifndef OPM_PARSER_GASVISCT_TABLE_HPP #define OPM_PARSER_GASVISCT_TABLE_HPP -#include #include "SimpleTable.hpp" -#include -#include namespace Opm { + class Deck; class DeckItem; class GasvisctTable : public SimpleTable { public: - GasvisctTable(const Deck& deck, std::shared_ptr< const DeckItem > deckItem) - { - int numComponents = deck.getKeyword()->getRecord(0)->getItem(0)->getInt(0); + GasvisctTable( const Deck& deck, std::shared_ptr< const DeckItem > deckItem ); - auto temperatureDimension = deck.getActiveUnitSystem()->getDimension("Temperature"); - auto viscosityDimension = deck.getActiveUnitSystem()->getDimension("Viscosity"); - - m_schema = std::make_shared( ); - m_schema->addColumn( ColumnSchema( "Temperature" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); - for (int compIdx = 0; compIdx < numComponents; ++ compIdx) { - std::string columnName = "Viscosity" + std::to_string(compIdx); - m_schema->addColumn( ColumnSchema( columnName, Table::INCREASING , Table::DEFAULT_NONE ) ); - } - SimpleTable::addColumns( ); - - { - size_t numFlatItems = deckItem->size( ); - if ( numFlatItems % numColumns() != 0) - throw std::runtime_error("Number of columns in the data file is inconsistent " - "with the expected number for keyword GASVISCT"); - } - - { - size_t numRows = deckItem->size() / m_schema->size(); - for (size_t columnIndex=0; columnIndex < m_schema->size(); columnIndex++) { - auto& column = getColumn( columnIndex ); - for (size_t rowIdx = 0; rowIdx < numRows; rowIdx++) { - size_t deckIndex = rowIdx * m_schema->size() + columnIndex; - - if (deckItem->defaultApplied( deckIndex )) - column.addDefault(); - else { - double rawValue = deckItem->getRawDouble( deckIndex ); - double SIValue; - - if (columnIndex == 0) - SIValue = temperatureDimension->convertRawToSi(rawValue); - else - SIValue = viscosityDimension->convertRawToSi(rawValue); - - column.addValue( SIValue ); - } - } - } - } - } - - const TableColumn& getTemperatureColumn() const - { return SimpleTable::getColumn(0); } - - const TableColumn& getGasViscosityColumn(size_t compIdx) const - { return SimpleTable::getColumn(1 + compIdx); } + const TableColumn& getTemperatureColumn() const; + const TableColumn& getGasViscosityColumn(size_t compIdx) const; }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/ImkrvdTable.hpp b/opm/parser/eclipse/EclipseState/Tables/ImkrvdTable.hpp index 84cc6ef6a..9a3159988 100644 --- a/opm/parser/eclipse/EclipseState/Tables/ImkrvdTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/ImkrvdTable.hpp @@ -20,8 +20,6 @@ #define OPM_PARSER_IMKRVD_TABLE_HPP #include "SimpleTable.hpp" -#include - namespace Opm { @@ -29,70 +27,48 @@ namespace Opm { class ImkrvdTable : public SimpleTable { public: - ImkrvdTable(std::shared_ptr< const DeckItem > item) - { - m_schema = std::make_shared( ); - m_schema->addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) ); - m_schema->addColumn( ColumnSchema( "KRWMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "KRGMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "KROMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "KRWCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "KRGCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "KROCRITG",Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "KROCRITW", Table::RANDOM , Table::DEFAULT_LINEAR ) ); - - SimpleTable::init(item); - } + ImkrvdTable( std::shared_ptr< const DeckItem > item ); /*! * \brief The datum depth for the remaining columns */ - const TableColumn& getDepthColumn() const - { return SimpleTable::getColumn(0); } + const TableColumn& getDepthColumn() const; /*! * \brief Maximum relative permeability of water */ - const TableColumn& getKrwmaxColumn() const - { return SimpleTable::getColumn(1); } + const TableColumn& getKrwmaxColumn() const; /*! * \brief Maximum relative permeability of gas */ - const TableColumn& getKrgmaxColumn() const - { return SimpleTable::getColumn(2); } + const TableColumn& getKrgmaxColumn() const; /*! * \brief Maximum relative permeability of oil */ - const TableColumn& getKromaxColumn() const - { return SimpleTable::getColumn(3); } + const TableColumn& getKromaxColumn() const; /*! * \brief Relative permeability of water at the critical oil (or gas) saturation */ - const TableColumn& getKrwcritColumn() const - { return SimpleTable::getColumn(4); } + const TableColumn& getKrwcritColumn() const; /*! * \brief Relative permeability of gas at the critical oil (or water) saturation */ - const TableColumn& getKrgcritColumn() const - { return SimpleTable::getColumn(5); } + const TableColumn& getKrgcritColumn() const; /*! * \brief Oil relative permeability of oil at the critical gas saturation */ - const TableColumn& getKrocritgColumn() const - { return SimpleTable::getColumn(6); } + const TableColumn& getKrocritgColumn() const; /*! * \brief Oil relative permeability of oil at the critical water saturation */ - const TableColumn& getKrocritwColumn() const - { return SimpleTable::getColumn(7); } + const TableColumn& getKrocritwColumn() const; }; } #endif - diff --git a/opm/parser/eclipse/EclipseState/Tables/ImptvdTable.hpp b/opm/parser/eclipse/EclipseState/Tables/ImptvdTable.hpp index 69691b47b..2aff75636 100644 --- a/opm/parser/eclipse/EclipseState/Tables/ImptvdTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/ImptvdTable.hpp @@ -21,7 +21,6 @@ #define OPM_PARSER_IMPTVD_TABLE_HPP #include "SimpleTable.hpp" -#include namespace Opm { @@ -30,72 +29,50 @@ namespace Opm { class ImptvdTable : public SimpleTable { public: - ImptvdTable(std::shared_ptr< const DeckItem > item) - { - m_schema = std::make_shared( ); - m_schema->addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) ); - m_schema->addColumn( ColumnSchema( "SWCO", Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "SWCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "SWMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "SGCO", Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "SGCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "SGMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "SOWCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "SOGCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + ImptvdTable( std::shared_ptr< const DeckItem > item ); - SimpleTable::init(item); - } - - const TableColumn& getDepthColumn() const - { return SimpleTable::getColumn(0); } + const TableColumn& getDepthColumn() const; /*! * \brief Connate water saturation */ - const TableColumn& getSwcoColumn() const - { return SimpleTable::getColumn(1); } + const TableColumn& getSwcoColumn() const; /*! * \brief Critical water saturation */ - const TableColumn& getSwcritColumn() const - { return SimpleTable::getColumn(2); } + const TableColumn& getSwcritColumn() const; /*! * \brief Maximum water saturation */ - const TableColumn& getSwmaxColumn() const - { return SimpleTable::getColumn(3); } + const TableColumn& getSwmaxColumn() const; /*! * \brief Connate gas saturation */ - const TableColumn& getSgcoColumn() const - { return SimpleTable::getColumn(4); } + const TableColumn& getSgcoColumn() const; /*! * \brief Critical gas saturation */ - const TableColumn& getSgcritColumn() const - { return SimpleTable::getColumn(5); } + const TableColumn& getSgcritColumn() const; /*! * \brief Maximum gas saturation */ - const TableColumn& getSgmaxColumn() const - { return SimpleTable::getColumn(6); } + const TableColumn& getSgmaxColumn() const; /*! * \brief Critical oil-in-water saturation */ - const TableColumn& getSowcritColumn() const - { return SimpleTable::getColumn(7); } + const TableColumn& getSowcritColumn() const; /*! * \brief Critical oil-in-gas saturation */ - const TableColumn& getSogcritColumn() const - { return SimpleTable::getColumn(8); } + const TableColumn& getSogcritColumn() const; + }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/MiscTable.hpp b/opm/parser/eclipse/EclipseState/Tables/MiscTable.hpp index 9be60b946..96ea58774 100644 --- a/opm/parser/eclipse/EclipseState/Tables/MiscTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/MiscTable.hpp @@ -21,7 +21,6 @@ #define OPM_PARSER_MISC_TABLE_HPP #include "SimpleTable.hpp" -#include namespace Opm { @@ -29,19 +28,11 @@ namespace Opm { class MiscTable : public SimpleTable { public: - MiscTable(std::shared_ptr< const DeckItem > item) - { - m_schema = std::make_shared(); - m_schema->addColumn( ColumnSchema( "SolventFraction" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) ); - m_schema->addColumn( ColumnSchema( "Miscibility" , Table::INCREASING , Table::DEFAULT_NONE) ); - SimpleTable::init( item ); - } + MiscTable( std::shared_ptr< const DeckItem > item ); - const TableColumn& getSolventFractionColumn() const - { return SimpleTable::getColumn(0); } + const TableColumn& getSolventFractionColumn() const; + const TableColumn& getMiscibilityColumn() const; - const TableColumn& getMiscibilityColumn() const - { return SimpleTable::getColumn(1); } }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/MsfnTable.hpp b/opm/parser/eclipse/EclipseState/Tables/MsfnTable.hpp index 9e11caf9b..67382b2f0 100644 --- a/opm/parser/eclipse/EclipseState/Tables/MsfnTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/MsfnTable.hpp @@ -21,7 +21,6 @@ #define OPM_PARSER_MSFN_TABLE_HPP #include "SimpleTable.hpp" -#include namespace Opm { @@ -29,29 +28,12 @@ namespace Opm { class MsfnTable : public SimpleTable { public: - MsfnTable(std::shared_ptr< const DeckItem > item) - { - m_schema = std::make_shared( ); - m_schema->addColumn( ColumnSchema( "GasPhaseFraction", Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); - m_schema->addColumn( ColumnSchema( "GasSolventRelpermMultiplier", Table::INCREASING , Table::DEFAULT_NONE)); - m_schema->addColumn( ColumnSchema( "OilRelpermMultiplier", Table::DECREASING , Table::DEFAULT_NONE)); + MsfnTable( std::shared_ptr< const DeckItem > item ); - SimpleTable::init( item ); - { - auto& column = getColumn("GasPhaseFraction"); - column.assertUnitRange(); - } - } + const TableColumn& getGasPhaseFractionColumn() const; + const TableColumn& getGasSolventRelpermMultiplierColumn() const; + const TableColumn& getOilRelpermMultiplierColumn() const; - - const TableColumn& getGasPhaseFractionColumn() const - { return SimpleTable::getColumn(0); } - - const TableColumn& getGasSolventRelpermMultiplierColumn() const - { return SimpleTable::getColumn(1); } - - const TableColumn& getOilRelpermMultiplierColumn() const - { return SimpleTable::getColumn(2); } }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/OilvisctTable.hpp b/opm/parser/eclipse/EclipseState/Tables/OilvisctTable.hpp index 1079cc438..aba3fa16f 100644 --- a/opm/parser/eclipse/EclipseState/Tables/OilvisctTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/OilvisctTable.hpp @@ -20,28 +20,17 @@ #define OPM_PARSER_OILVISCT_TABLE_HPP #include "SimpleTable.hpp" -#include namespace Opm { class DeckItem; class OilvisctTable : public SimpleTable { - public: + public: + OilvisctTable( std::shared_ptr< const DeckItem > item ); - OilvisctTable(std::shared_ptr< const DeckItem > item) - { - m_schema = std::make_shared( ); - m_schema->addColumn( ColumnSchema("Temperature" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) ); - m_schema->addColumn( ColumnSchema("Viscosity" , Table::DECREASING , Table::DEFAULT_NONE) ); - SimpleTable::init(item); - } - - const TableColumn& getTemperatureColumn() const - { return SimpleTable::getColumn(0); } - - const TableColumn& getOilViscosityColumn() const - { return SimpleTable::getColumn(1); } + const TableColumn& getTemperatureColumn() const; + const TableColumn& getOilViscosityColumn() const; }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/PlyadsTable.hpp b/opm/parser/eclipse/EclipseState/Tables/PlyadsTable.hpp index b56e55383..4635e59d5 100644 --- a/opm/parser/eclipse/EclipseState/Tables/PlyadsTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/PlyadsTable.hpp @@ -20,30 +20,17 @@ #define OPM_PARSER_PLYADS_TABLE_HPP #include "SimpleTable.hpp" -#include namespace Opm { class DeckItem; class PlyadsTable : public SimpleTable { - public: + public: + PlyadsTable( std::shared_ptr< const DeckItem > item ); - PlyadsTable(std::shared_ptr< const DeckItem > item) - { - m_schema = std::make_shared(); - m_schema->addColumn( ColumnSchema("PolymerConcentration" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); - m_schema->addColumn( ColumnSchema("AdsorbedPolymer" , Table::INCREASING , Table::DEFAULT_NONE )); - - SimpleTable::init(item); - } - - - const TableColumn& getPolymerConcentrationColumn() const - { return SimpleTable::getColumn(0); } - - const TableColumn& getAdsorbedPolymerColumn() const - { return SimpleTable::getColumn(1); } + const TableColumn& getPolymerConcentrationColumn() const; + const TableColumn& getAdsorbedPolymerColumn() const; }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/PlydhflfTable.hpp b/opm/parser/eclipse/EclipseState/Tables/PlydhflfTable.hpp index c0e43904b..ea80dbd70 100644 --- a/opm/parser/eclipse/EclipseState/Tables/PlydhflfTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/PlydhflfTable.hpp @@ -20,8 +20,6 @@ #define OPM_PARSER_PLYDHFLF_TABLE_HPP #include "SimpleTable.hpp" -#include - namespace Opm { @@ -30,20 +28,10 @@ namespace Opm { class PlydhflfTable : public SimpleTable { public: - PlydhflfTable(std::shared_ptr< const DeckItem > item) - { - m_schema = std::make_shared( ); - m_schema->addColumn( ColumnSchema("Temperature" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) ); - m_schema->addColumn( ColumnSchema("PolymerHalflife" , Table::STRICTLY_DECREASING , Table::DEFAULT_NONE ) ); + PlydhflfTable( std::shared_ptr< const DeckItem > item ); - SimpleTable::init(item); - } - - const TableColumn& getTemperatureColumn() const - { return SimpleTable::getColumn(0); } - - const TableColumn& getPolymerHalflifeColumn() const - { return SimpleTable::getColumn(1); } + const TableColumn& getTemperatureColumn() const; + const TableColumn& getPolymerHalflifeColumn() const; }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/PlymaxTable.hpp b/opm/parser/eclipse/EclipseState/Tables/PlymaxTable.hpp index 087b86607..a41062685 100644 --- a/opm/parser/eclipse/EclipseState/Tables/PlymaxTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/PlymaxTable.hpp @@ -20,34 +20,16 @@ #define OPM_PARSER_PLYMAX_TABLE_HPP #include "SimpleTable.hpp" -#include -#include namespace Opm { class PlymaxTable : public SimpleTable { - public: - PlymaxTable(std::shared_ptr< const DeckRecord > record) - { - m_schema = std::make_shared( ); + public: - m_schema->addColumn( ColumnSchema("C_POLYMER", Table::RANDOM , Table::DEFAULT_NONE) ); - m_schema->addColumn( ColumnSchema("C_POLYMER_MAX", Table::RANDOM , Table::DEFAULT_NONE) ); + PlymaxTable( std::shared_ptr< const DeckRecord > record ); - addColumns(); - for (size_t colIdx = 0; colIdx < record->size(); colIdx++) { - auto item = record->getItem( colIdx ); - auto& column = getColumn( colIdx ); - - column.addValue( item->getSIDouble(0) ); - } - } - - const TableColumn& getPolymerConcentrationColumn() const - { return SimpleTable::getColumn(0); } - - const TableColumn& getMaxPolymerConcentrationColumn() const - { return SimpleTable::getColumn(1); } + const TableColumn& getPolymerConcentrationColumn() const; + const TableColumn& getMaxPolymerConcentrationColumn() const; }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/PlyrockTable.hpp b/opm/parser/eclipse/EclipseState/Tables/PlyrockTable.hpp index de55ce306..2cda5ce82 100644 --- a/opm/parser/eclipse/EclipseState/Tables/PlyrockTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/PlyrockTable.hpp @@ -20,8 +20,6 @@ #define OPM_PARSER_PLYROCK_TABLE_HPP #include "SimpleTable.hpp" -#include -#include namespace Opm { @@ -31,34 +29,14 @@ namespace Opm { public: // This is not really a table; every column has only one element. - PlyrockTable(std::shared_ptr< const DeckRecord > record) - { - m_schema = std::make_shared( ); - m_schema->addColumn( ColumnSchema("DeadPoreVolume", Table::RANDOM , Table::DEFAULT_NONE) ); - m_schema->addColumn( ColumnSchema("ResidualResistanceFactor", Table::RANDOM , Table::DEFAULT_NONE) ); - m_schema->addColumn( ColumnSchema("RockDensityFactor", Table::RANDOM , Table::DEFAULT_NONE) ); - m_schema->addColumn( ColumnSchema("AdsorbtionIndex", Table::RANDOM , Table::DEFAULT_NONE) ); - m_schema->addColumn( ColumnSchema("MaxAdsorbtion", Table::RANDOM , Table::DEFAULT_NONE) ); - addColumns(); - for (size_t colIdx = 0; colIdx < record->size(); colIdx++) { - auto item = record->getItem( colIdx ); - auto& column = getColumn( colIdx ); - - column.addValue( item->getSIDouble(0) ); - } - } + PlyrockTable( std::shared_ptr< const DeckRecord > record ); // since this keyword is not necessarily monotonic, it cannot be evaluated! //using SimpleTable::evaluate; - const TableColumn& getDeadPoreVolumeColumn() const - { return SimpleTable::getColumn(0); } - - const TableColumn& getResidualResistanceFactorColumn() const - { return SimpleTable::getColumn(1); } - - const TableColumn& getRockDensityFactorColumn() const - { return SimpleTable::getColumn(2); } + const TableColumn& getDeadPoreVolumeColumn() const; + const TableColumn& getResidualResistanceFactorColumn() const; + const TableColumn& getRockDensityFactorColumn() const; // is column is actually an integer, but this is not yet // supported by opm-parser (yet?) as it would require quite a @@ -68,11 +46,8 @@ namespace Opm { // just a double which can be converted to an integer in the // calling code. (Make sure, that you don't interpolate // indices, though!) - const TableColumn& getAdsorbtionIndexColumn() const - { return SimpleTable::getColumn(3); } - - const TableColumn& getMaxAdsorbtionColumn() const - { return SimpleTable::getColumn(4); } + const TableColumn& getAdsorbtionIndexColumn() const; + const TableColumn& getMaxAdsorbtionColumn() const; }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/PlyshlogTable.hpp b/opm/parser/eclipse/EclipseState/Tables/PlyshlogTable.hpp index 85e45e67b..30e1653f9 100644 --- a/opm/parser/eclipse/EclipseState/Tables/PlyshlogTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/PlyshlogTable.hpp @@ -20,99 +20,31 @@ #define OPM_PARSER_PLYSHLOG_TABLE_HPP #include "SimpleTable.hpp" -#include -#include -#include namespace Opm { + class DeckRecord; class TableManager; class PlyshlogTable : public SimpleTable { public: friend class TableManager; - PlyshlogTable(std::shared_ptr< const DeckRecord > indexRecord, std::shared_ptr< const DeckRecord > dataRecord) { - { - const auto item = indexRecord->getItem(); - setRefPolymerConcentration(item->getRawDouble(0)); - } - - { - const auto item = indexRecord->getItem(); - if (item->hasValue(0)) { - setHasRefSalinity(true); - setRefSalinity(item->getRawDouble(0)); - } else - setHasRefSalinity(false); - } - - { - const auto item = indexRecord->getItem(); - if (item->hasValue(0)) { - setHasRefTemperature(true); - setRefTemperature(item->getRawDouble(0)); - } else - setHasRefTemperature(false); - } - - m_schema = std::make_shared(); - m_schema->addColumn( ColumnSchema("WaterVelocity" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); - m_schema->addColumn( ColumnSchema("ShearMultiplier" , Table::RANDOM , Table::DEFAULT_NONE)); - - SimpleTable::init( dataRecord->getItem() ); - } - - public: - - double getRefPolymerConcentration() const { - return m_refPolymerConcentration; - } - double getRefSalinity() const { - return m_refSalinity; - } - - double getRefTemperature() const{ - return m_refTemperature; - } - - void setRefPolymerConcentration(const double refPlymerConcentration) { - m_refPolymerConcentration = refPlymerConcentration; - } - - void setRefSalinity(const double refSalinity) { - m_refSalinity = refSalinity; - } - - void setRefTemperature(const double refTemperature) { - m_refTemperature = refTemperature; - } - - bool hasRefSalinity() const { - return m_hasRefSalinity; - } - - bool hasRefTemperature() const { - return m_hasRefTemperature; - } - - void setHasRefSalinity(const bool has) { - m_hasRefSalinity = has; - } - - void setHasRefTemperature(const bool has) { - m_refTemperature = has; - } - - const TableColumn& getWaterVelocityColumn() const { - return getColumn(0); - } - - const TableColumn& getShearMultiplierColumn() const { - return getColumn(1); - } + PlyshlogTable(std::shared_ptr< const DeckRecord > indexRecord, std::shared_ptr< const DeckRecord > dataRecord); + double getRefPolymerConcentration() const; + double getRefSalinity() const; + double getRefTemperature() const; + void setRefPolymerConcentration(const double refPlymerConcentration); + void setRefSalinity(const double refSalinity); + void setRefTemperature(const double refTemperature); + bool hasRefSalinity() const; + bool hasRefTemperature() const; + void setHasRefSalinity(const bool has); + void setHasRefTemperature(const bool has); + const TableColumn& getWaterVelocityColumn() const; + const TableColumn& getShearMultiplierColumn() const; private: double m_refPolymerConcentration; @@ -122,7 +54,6 @@ namespace Opm { bool m_hasRefSalinity; bool m_hasRefTemperature; }; - } #endif diff --git a/opm/parser/eclipse/EclipseState/Tables/PlyviscTable.hpp b/opm/parser/eclipse/EclipseState/Tables/PlyviscTable.hpp index 1b8b456b0..aac12cd32 100644 --- a/opm/parser/eclipse/EclipseState/Tables/PlyviscTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/PlyviscTable.hpp @@ -20,8 +20,6 @@ #define OPM_PARSER_PLYVISC_TABLE_HPP #include "SimpleTable.hpp" -#include - namespace Opm { @@ -29,21 +27,10 @@ namespace Opm { class PlyviscTable : public SimpleTable { public: - PlyviscTable(std::shared_ptr< const DeckItem > item) - { - m_schema = std::make_shared(); - m_schema->addColumn( ColumnSchema( "PolymerConcentration" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); - m_schema->addColumn( ColumnSchema( "ViscosityMultiplier" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); - SimpleTable::init(item); - } + PlyviscTable( std::shared_ptr< const DeckItem > item ); - public: - - const TableColumn& getPolymerConcentrationColumn() const - { return SimpleTable::getColumn(0); } - - const TableColumn& getViscosityMultiplierColumn() const - { return SimpleTable::getColumn(1); } + const TableColumn& getPolymerConcentrationColumn() const; + const TableColumn& getViscosityMultiplierColumn() const; }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/PmiscTable.hpp b/opm/parser/eclipse/EclipseState/Tables/PmiscTable.hpp index 913d73d2a..bb21a65c8 100644 --- a/opm/parser/eclipse/EclipseState/Tables/PmiscTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/PmiscTable.hpp @@ -21,7 +21,6 @@ #define OPM_PARSER_PMISC_TABLE_HPP #include "SimpleTable.hpp" -#include namespace Opm { @@ -30,19 +29,11 @@ namespace Opm { class PmiscTable : public SimpleTable { public: - PmiscTable(std::shared_ptr< const DeckItem > item) - { - m_schema = std::make_shared(); - m_schema->addColumn( ColumnSchema( "OilPhasePressure" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) ); - m_schema->addColumn( ColumnSchema( "Miscibility" , Table::INCREASING , Table::DEFAULT_NONE) ); - SimpleTable::init( item ); - } + PmiscTable( std::shared_ptr< const DeckItem > item ); - const TableColumn& getOilPhasePressureColumn() const - { return SimpleTable::getColumn(0); } + const TableColumn& getOilPhasePressureColumn() const; + const TableColumn& getMiscibilityColumn() const; - const TableColumn& getMiscibilityColumn() const - { return SimpleTable::getColumn(1); } }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/PvdgTable.hpp b/opm/parser/eclipse/EclipseState/Tables/PvdgTable.hpp index 6b287f5cf..2efc77afc 100644 --- a/opm/parser/eclipse/EclipseState/Tables/PvdgTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/PvdgTable.hpp @@ -20,34 +20,18 @@ #define OPM_PARSER_PVDG_TABLE_HPP #include "SimpleTable.hpp" -#include namespace Opm { class DeckItem; class PvdgTable : public SimpleTable { - public: + public: + PvdgTable( std::shared_ptr< const DeckItem > item ); - PvdgTable(std::shared_ptr< const DeckItem > item) - { - m_schema = std::make_shared(); - m_schema->addColumn( ColumnSchema( "P" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); - m_schema->addColumn( ColumnSchema( "BG" , Table::STRICTLY_DECREASING , Table::DEFAULT_LINEAR)); - m_schema->addColumn( ColumnSchema( "MUG" , Table::INCREASING , Table::DEFAULT_LINEAR )); - - SimpleTable::init( item ); - } - - - const TableColumn& getPressureColumn() const - { return SimpleTable::getColumn(0); } - - const TableColumn& getFormationFactorColumn() const - { return SimpleTable::getColumn(1); } - - const TableColumn& getViscosityColumn() const - { return SimpleTable::getColumn(2); } + const TableColumn& getPressureColumn() const; + const TableColumn& getFormationFactorColumn() const; + const TableColumn& getViscosityColumn() const; }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/PvdoTable.hpp b/opm/parser/eclipse/EclipseState/Tables/PvdoTable.hpp index 3ea9f6561..efda57b3f 100644 --- a/opm/parser/eclipse/EclipseState/Tables/PvdoTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/PvdoTable.hpp @@ -20,7 +20,6 @@ #define OPM_PARSER_PVDO_TABLE_HPP #include "SimpleTable.hpp" -#include namespace Opm { @@ -29,24 +28,11 @@ namespace Opm { class PvdoTable : public SimpleTable { public: - PvdoTable(std::shared_ptr< const DeckItem > item) - { - m_schema = std::make_shared( ); + PvdoTable( std::shared_ptr< const DeckItem > item ); - m_schema->addColumn( ColumnSchema("P" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); - m_schema->addColumn( ColumnSchema("BO" , Table::STRICTLY_DECREASING , Table::DEFAULT_LINEAR)); - m_schema->addColumn( ColumnSchema("MUO" , Table::INCREASING , Table::DEFAULT_LINEAR)); - SimpleTable::init(item); - } - - const TableColumn& getPressureColumn() const - { return SimpleTable::getColumn(0); } - - const TableColumn& getFormationFactorColumn() const - { return SimpleTable::getColumn(1); } - - const TableColumn& getViscosityColumn() const - { return SimpleTable::getColumn(2); } + const TableColumn& getPressureColumn() const; + const TableColumn& getFormationFactorColumn() const; + const TableColumn& getViscosityColumn() const; }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/PvdsTable.hpp b/opm/parser/eclipse/EclipseState/Tables/PvdsTable.hpp index df3e353a5..f45b985bb 100644 --- a/opm/parser/eclipse/EclipseState/Tables/PvdsTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/PvdsTable.hpp @@ -21,7 +21,6 @@ #define OPM_PARSER_PVDS_TABLE_HPP #include "SimpleTable.hpp" -#include namespace Opm { @@ -29,25 +28,11 @@ namespace Opm { class PvdsTable : public SimpleTable { public: - PvdsTable(std::shared_ptr< const DeckItem > item) - { - m_schema = std::make_shared(); + PvdsTable( std::shared_ptr< const DeckItem > item ); - m_schema->addColumn( ColumnSchema( "P" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); - m_schema->addColumn( ColumnSchema( "BG" , Table::STRICTLY_DECREASING , Table::DEFAULT_LINEAR )); - m_schema->addColumn( ColumnSchema( "MUG" , Table::INCREASING , Table::DEFAULT_LINEAR )); - - SimpleTable::init(item); - } - - const TableColumn& getPressureColumn() const - { return SimpleTable::getColumn(0); } - - const TableColumn& getFormationFactorColumn() const - { return SimpleTable::getColumn(1); } - - const TableColumn& getViscosityColumn() const - { return SimpleTable::getColumn(2); } + const TableColumn& getPressureColumn() const; + const TableColumn& getFormationFactorColumn() const; + const TableColumn& getViscosityColumn() const; }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/PvtgTable.cpp b/opm/parser/eclipse/EclipseState/Tables/PvtgTable.cpp deleted file mode 100644 index b9ab6e2b5..000000000 --- a/opm/parser/eclipse/EclipseState/Tables/PvtgTable.cpp +++ /dev/null @@ -1,42 +0,0 @@ -/* - Copyright (C) 2013 by Andreas Lauser - - This file is part of the Open Porous Media project (OPM). - - OPM is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OPM is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with OPM. If not, see . - */ - -#include -#include -#include -#include - -namespace Opm { - PvtgTable::PvtgTable(Opm::DeckKeywordConstPtr keyword, size_t tableIdx ) : PvtxTable("P") - { - m_underSaturatedSchema = std::make_shared( ); - m_underSaturatedSchema->addColumn( ColumnSchema( "RV" , Table::STRICTLY_DECREASING , Table::DEFAULT_NONE )); - m_underSaturatedSchema->addColumn( ColumnSchema( "BG" , Table::RANDOM , Table::DEFAULT_LINEAR )); - m_underSaturatedSchema->addColumn( ColumnSchema( "MUG" , Table::RANDOM , Table::DEFAULT_LINEAR )); - - - m_saturatedSchema = std::make_shared( ); - m_saturatedSchema->addColumn( ColumnSchema( "PG" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); - m_saturatedSchema->addColumn( ColumnSchema( "RV" , Table::RANDOM , Table::DEFAULT_NONE )); - m_saturatedSchema->addColumn( ColumnSchema( "BG" , Table::RANDOM , Table::DEFAULT_LINEAR )); - m_saturatedSchema->addColumn( ColumnSchema( "MUG" , Table::RANDOM , Table::DEFAULT_LINEAR )); - - PvtxTable::init(keyword , tableIdx); - } -} diff --git a/opm/parser/eclipse/EclipseState/Tables/PvtoTable.cpp b/opm/parser/eclipse/EclipseState/Tables/PvtoTable.cpp deleted file mode 100644 index 628362f39..000000000 --- a/opm/parser/eclipse/EclipseState/Tables/PvtoTable.cpp +++ /dev/null @@ -1,24 +0,0 @@ -#include -#include -#include -#include - -namespace Opm { - PvtoTable::PvtoTable(Opm::DeckKeywordConstPtr keyword , size_t tableIdx) : PvtxTable("RS") { - m_underSaturatedSchema = std::make_shared( ); - - m_underSaturatedSchema->addColumn( ColumnSchema( "P" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); - m_underSaturatedSchema->addColumn( ColumnSchema( "BO" , Table::RANDOM , Table::DEFAULT_LINEAR )); - m_underSaturatedSchema->addColumn( ColumnSchema( "MU" , Table::RANDOM , Table::DEFAULT_LINEAR )); - - - - m_saturatedSchema = std::make_shared( ); - m_saturatedSchema->addColumn( ColumnSchema( "RS" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); - m_saturatedSchema->addColumn( ColumnSchema( "P" , Table::RANDOM , Table::DEFAULT_NONE )); - m_saturatedSchema->addColumn( ColumnSchema( "BO" , Table::RANDOM , Table::DEFAULT_LINEAR )); - m_saturatedSchema->addColumn( ColumnSchema( "MU" , Table::RANDOM , Table::DEFAULT_LINEAR )); - - PvtxTable::init(keyword , tableIdx); - } -} diff --git a/opm/parser/eclipse/EclipseState/Tables/RocktabTable.hpp b/opm/parser/eclipse/EclipseState/Tables/RocktabTable.hpp index 1c9a56c33..c8306404d 100644 --- a/opm/parser/eclipse/EclipseState/Tables/RocktabTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/RocktabTable.hpp @@ -20,7 +20,6 @@ #define OPM_PARSER_ROCKTAB_TABLE_HPP #include "SimpleTable.hpp" -#include namespace Opm { @@ -30,56 +29,14 @@ namespace Opm { public: RocktabTable(std::shared_ptr< const DeckItem > item, bool isDirectional, - bool hasStressOption) - { - Table::ColumnOrderEnum POOrder; + bool hasStressOption); - m_isDirectional = isDirectional; - m_schema = std::make_shared( ); - if (hasStressOption) - POOrder = Table::STRICTLY_INCREASING; - else - POOrder = Table::STRICTLY_DECREASING; - - m_schema->addColumn( ColumnSchema("PO" , POOrder , Table::DEFAULT_NONE ) ); - m_schema->addColumn( ColumnSchema("PV_MULT" , Table::RANDOM , Table::DEFAULT_LINEAR ) ); - - if (isDirectional) { - m_schema->addColumn( ColumnSchema("PV_MULT_TRANX" , Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema("PV_MULT_TRANY" , Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema("PV_MULT_TRANZ" , Table::RANDOM , Table::DEFAULT_LINEAR ) ); - } else - m_schema->addColumn( ColumnSchema("PV_MULT_TRAN" , Table::RANDOM , Table::DEFAULT_LINEAR ) ); - - SimpleTable::init(item); - } - - - const TableColumn& getPressureColumn() const - { return SimpleTable::getColumn(0); } - - const TableColumn& getPoreVolumeMultiplierColumn() const - { return SimpleTable::getColumn(1); } - - const TableColumn& getTransmissibilityMultiplierColumn() const - { return SimpleTable::getColumn(2); } - - const TableColumn& getTransmissibilityMultiplierXColumn() const - { return SimpleTable::getColumn(2); } - - const TableColumn& getTransmissibilityMultiplierYColumn() const - { - if (!m_isDirectional) - return SimpleTable::getColumn(2); - return SimpleTable::getColumn(3); - } - - const TableColumn& getTransmissibilityMultiplierZColumn() const - { - if (!m_isDirectional) - return SimpleTable::getColumn(2); - return SimpleTable::getColumn(4); - } + const TableColumn& getPressureColumn() const; + const TableColumn& getPoreVolumeMultiplierColumn() const; + const TableColumn& getTransmissibilityMultiplierColumn() const; + const TableColumn& getTransmissibilityMultiplierXColumn() const; + const TableColumn& getTransmissibilityMultiplierYColumn() const; + const TableColumn& getTransmissibilityMultiplierZColumn() const; private: bool m_isDirectional; diff --git a/opm/parser/eclipse/EclipseState/Tables/RsvdTable.hpp b/opm/parser/eclipse/EclipseState/Tables/RsvdTable.hpp index 923a2d133..25ce11e50 100644 --- a/opm/parser/eclipse/EclipseState/Tables/RsvdTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/RsvdTable.hpp @@ -20,7 +20,6 @@ #define OPM_PARSER_RSVD_TABLE_HPP #include "SimpleTable.hpp" -#include namespace Opm { @@ -28,20 +27,10 @@ namespace Opm { class RsvdTable : public SimpleTable { public: - RsvdTable(std::shared_ptr< const DeckItem > item) - { - m_schema = std::make_shared( ); - m_schema->addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); - m_schema->addColumn( ColumnSchema( "RS" , Table::RANDOM , Table::DEFAULT_NONE )); + RsvdTable( std::shared_ptr< const DeckItem > item ); - SimpleTable::init(item); - } - - const TableColumn& getDepthColumn() const - { return SimpleTable::getColumn(0); } - - const TableColumn& getRsColumn() const - { return SimpleTable::getColumn(1); } + const TableColumn& getDepthColumn() const; + const TableColumn& getRsColumn() const; }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/RtempvdTable.hpp b/opm/parser/eclipse/EclipseState/Tables/RtempvdTable.hpp index f7de487a9..2ae80eda2 100644 --- a/opm/parser/eclipse/EclipseState/Tables/RtempvdTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/RtempvdTable.hpp @@ -20,7 +20,6 @@ #define OPM_PARSER_RTEMPVD_TABLE_HPP #include "SimpleTable.hpp" -#include namespace Opm { @@ -28,25 +27,10 @@ namespace Opm { class RtempvdTable : public SimpleTable { public: - RtempvdTable(std::shared_ptr< const DeckItem > item) - { - m_schema = std::make_shared(); - m_schema->addColumn( ColumnSchema( "Depth" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) ); - m_schema->addColumn( ColumnSchema( "Temperature" , Table::RANDOM , Table::DEFAULT_NONE) ); + RtempvdTable( std::shared_ptr< const DeckItem > item ); - SimpleTable::init( item ); - } - - const TableColumn& getDepthColumn() const - { - return SimpleTable::getColumn(0); - } - - - const TableColumn& getTemperatureColumn() const - { - return SimpleTable::getColumn(1); - } + const TableColumn& getDepthColumn() const; + const TableColumn& getTemperatureColumn() const; }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/RvvdTable.hpp b/opm/parser/eclipse/EclipseState/Tables/RvvdTable.hpp index 52cdd6884..16e11d15a 100644 --- a/opm/parser/eclipse/EclipseState/Tables/RvvdTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/RvvdTable.hpp @@ -27,19 +27,10 @@ namespace Opm { class RvvdTable : public SimpleTable { public: - RvvdTable(std::shared_ptr< const DeckItem > item) - { - m_schema = std::make_shared( ); - m_schema->addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) ); - m_schema->addColumn( ColumnSchema( "RV" , Table::RANDOM , Table::DEFAULT_LINEAR ) ); - SimpleTable::init(item); - } + RvvdTable( std::shared_ptr< const DeckItem > item ); - const TableColumn& getDepthColumn() const - { return SimpleTable::getColumn(0); } - - const TableColumn& getRvColumn() const - { return SimpleTable::getColumn(1); } + const TableColumn& getDepthColumn() const; + const TableColumn& getRvColumn() const; }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/SgcwmisTable.hpp b/opm/parser/eclipse/EclipseState/Tables/SgcwmisTable.hpp index 2bae52fe2..dce63852d 100644 --- a/opm/parser/eclipse/EclipseState/Tables/SgcwmisTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/SgcwmisTable.hpp @@ -28,19 +28,11 @@ namespace Opm { class SgcwmisTable : public SimpleTable { public: - SgcwmisTable(std::shared_ptr< const DeckItem > item) - { - m_schema = std::make_shared(); - m_schema->addColumn( ColumnSchema( "WaterSaturation" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) ); - m_schema->addColumn( ColumnSchema( "MiscibleResidualGasSaturation" , Table::INCREASING , Table::DEFAULT_NONE) ); - SimpleTable::init(item); - } + SgcwmisTable( std::shared_ptr< const DeckItem > item ); - const TableColumn& getWaterSaturationColumn() const - { return SimpleTable::getColumn(0); } + const TableColumn& getWaterSaturationColumn() const; + const TableColumn& getMiscibleResidualGasColumn() const; - const TableColumn& getMiscibleResidualGasColumn() const - { return SimpleTable::getColumn(1); } }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/SgfnTable.hpp b/opm/parser/eclipse/EclipseState/Tables/SgfnTable.hpp index 443cddc99..d6d528e14 100644 --- a/opm/parser/eclipse/EclipseState/Tables/SgfnTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/SgfnTable.hpp @@ -20,35 +20,19 @@ #define OPM_PARSER_SGFN_TABLE_HPP #include "SimpleTable.hpp" -#include -#include namespace Opm { + + class DeckItem; + class SgfnTable : public SimpleTable { public: - SgfnTable(std::shared_ptr< const DeckItem > item) - { - m_schema = std::make_shared(); + SgfnTable( std::shared_ptr< const DeckItem > item ); - m_schema->addColumn( ColumnSchema("SG" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) ); - m_schema->addColumn( ColumnSchema("KRG" , Table::INCREASING , Table::DEFAULT_LINEAR)); - m_schema->addColumn( ColumnSchema("PCOG" , Table::INCREASING , Table::DEFAULT_LINEAR)); - - SimpleTable::init(item); - } - - - const TableColumn& getSgColumn() const - { return SimpleTable::getColumn(0); } - - const TableColumn& getKrgColumn() const - { return SimpleTable::getColumn(1); } - - // this column is p_g - p_o (non-wetting phase pressure minus - // wetting phase pressure for a given gas saturation) - const TableColumn& getPcogColumn() const - { return SimpleTable::getColumn(2); } + const TableColumn& getSgColumn() const; + const TableColumn& getKrgColumn() const; + const TableColumn& getPcogColumn() const; }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/SgofTable.hpp b/opm/parser/eclipse/EclipseState/Tables/SgofTable.hpp index a5285aeae..255af0284 100644 --- a/opm/parser/eclipse/EclipseState/Tables/SgofTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/SgofTable.hpp @@ -21,51 +21,23 @@ #include "SimpleTable.hpp" -#include - namespace Opm { - // forward declaration - class DeckItem; class SgofTable : public SimpleTable { public: - SgofTable(std::shared_ptr< const DeckItem > item) - { - m_schema = std::make_shared(); - m_schema->addColumn( ColumnSchema("SG" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); - m_schema->addColumn( ColumnSchema("KRG" , Table::RANDOM , Table::DEFAULT_LINEAR )); - m_schema->addColumn( ColumnSchema("KROG" , Table::RANDOM , Table::DEFAULT_LINEAR )); - m_schema->addColumn( ColumnSchema("PCOG" , Table::RANDOM , Table::DEFAULT_LINEAR )); + SgofTable( std::shared_ptr< const DeckItem > item ); - SimpleTable::init( item ); - } + const TableColumn& getSgColumn() const; + const TableColumn& getKrgColumn() const; + const TableColumn& getKrogColumn() const; - const TableColumn& getSgColumn() const - { - return SimpleTable::getColumn(0); - } - - const TableColumn& getKrgColumn() const - { - return SimpleTable::getColumn(1); - } - - const TableColumn& getKrogColumn() const - { - return SimpleTable::getColumn(2); - } - - // this column is p_g - p_o (non-wetting phase pressure minus // wetting phase pressure for a given gas saturation. the name // is inconsistent, but it is the one used in the Eclipse // manual...) - const TableColumn& getPcogColumn() const - { - return SimpleTable::getColumn(3); - } + const TableColumn& getPcogColumn() const; }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/SgwfnTable.hpp b/opm/parser/eclipse/EclipseState/Tables/SgwfnTable.hpp index b44027471..4f455e982 100644 --- a/opm/parser/eclipse/EclipseState/Tables/SgwfnTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/SgwfnTable.hpp @@ -20,7 +20,6 @@ #define OPM_PARSER_SGWFN_TABLE_HPP #include "SimpleTable.hpp" -#include namespace Opm { @@ -29,30 +28,14 @@ namespace Opm { class SgwfnTable : public SimpleTable { public: - SgwfnTable(std::shared_ptr< const DeckItem > item) { - m_schema = std::make_shared(); - - m_schema->addColumn( ColumnSchema( "SG" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) ); - m_schema->addColumn( ColumnSchema( "KRG" , Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "KRGW" , Table::RANDOM , Table::DEFAULT_LINEAR ) ); - m_schema->addColumn( ColumnSchema( "PCGW" , Table::RANDOM , Table::DEFAULT_LINEAR ) ); - - SimpleTable::init( item ); - } - - const TableColumn& getSgColumn() const - { return SimpleTable::getColumn(0); } - - const TableColumn& getKrgColumn() const - { return SimpleTable::getColumn(1); } - - const TableColumn& getKrgwColumn() const - { return SimpleTable::getColumn(2); } + SgwfnTable( std::shared_ptr< const DeckItem > item ); + const TableColumn& getSgColumn() const; + const TableColumn& getKrgColumn() const; + const TableColumn& getKrgwColumn() const; // this column is p_g - p_w (non-wetting phase pressure minus // wetting phase pressure for a given water saturation) - const TableColumn& getPcgwColumn() const - { return SimpleTable::getColumn(3); } + const TableColumn& getPcgwColumn() const; }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/SimpleTable.cpp b/opm/parser/eclipse/EclipseState/Tables/SimpleTable.cpp index 1d4083d8d..523bb06ce 100644 --- a/opm/parser/eclipse/EclipseState/Tables/SimpleTable.cpp +++ b/opm/parser/eclipse/EclipseState/Tables/SimpleTable.cpp @@ -20,6 +20,7 @@ #include #include +#include #include namespace Opm { diff --git a/opm/parser/eclipse/EclipseState/Tables/SimpleTable.hpp b/opm/parser/eclipse/EclipseState/Tables/SimpleTable.hpp index 59c30c3d0..fe60b875b 100644 --- a/opm/parser/eclipse/EclipseState/Tables/SimpleTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/SimpleTable.hpp @@ -20,7 +20,7 @@ #define OPM_PARSER_SIMPLE_TABLE_HPP #include -#include +#include #include #include diff --git a/opm/parser/eclipse/EclipseState/Tables/SlgofTable.hpp b/opm/parser/eclipse/EclipseState/Tables/SlgofTable.hpp index 4c38eb84a..14a25cb83 100644 --- a/opm/parser/eclipse/EclipseState/Tables/SlgofTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/SlgofTable.hpp @@ -21,8 +21,6 @@ #include "SimpleTable.hpp" -#include - namespace Opm { class DeckItem; @@ -30,38 +28,16 @@ namespace Opm { class SlgofTable : public SimpleTable { public: - - SlgofTable(std::shared_ptr< const DeckItem > item) - { - m_schema = std::make_shared(); - m_schema->addColumn( ColumnSchema("SL" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); - m_schema->addColumn( ColumnSchema("KRG" , Table::DECREASING , Table::DEFAULT_LINEAR )); - m_schema->addColumn( ColumnSchema("KROG" , Table::INCREASING , Table::DEFAULT_LINEAR )); - m_schema->addColumn( ColumnSchema("PCOG" , Table::DECREASING , Table::DEFAULT_LINEAR )); - - SimpleTable::init( item ); - - if (getSlColumn().back() != 1.0) { - throw std::invalid_argument("The last saturation of the SLGOF keyword must be 1!"); - } - } - - - const TableColumn& getSlColumn() const - { return SimpleTable::getColumn(0); } - - const TableColumn& getKrgColumn() const - { return SimpleTable::getColumn(1); } - - const TableColumn& getKrogColumn() const - { return SimpleTable::getColumn(2); } + SlgofTable( std::shared_ptr< const DeckItem > item ); + const TableColumn& getSlColumn() const; + const TableColumn& getKrgColumn() const; + const TableColumn& getKrogColumn() const; // this column is p_g - p_o (non-wetting phase pressure minus // wetting phase pressure for a given gas saturation. the name // is inconsistent, but it is the one used in the Eclipse // manual...) - const TableColumn& getPcogColumn() const - { return SimpleTable::getColumn(3); } + const TableColumn& getPcogColumn() const; }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/Sof2Table.hpp b/opm/parser/eclipse/EclipseState/Tables/Sof2Table.hpp index 089c0bab9..c9a91dabf 100644 --- a/opm/parser/eclipse/EclipseState/Tables/Sof2Table.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/Sof2Table.hpp @@ -20,29 +20,17 @@ #define OPM_PARSER_SOF2_TABLE_HPP #include "SimpleTable.hpp" -#include namespace Opm { class DeckItem; class Sof2Table : public SimpleTable { - public: + public: + Sof2Table( std::shared_ptr< const DeckItem > item ); - Sof2Table(std::shared_ptr< const DeckItem > item) - { - m_schema = std::make_shared( ); - m_schema->addColumn( ColumnSchema( "SO" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); - m_schema->addColumn( ColumnSchema( "KRO" , Table::INCREASING , Table::DEFAULT_NONE )); - - SimpleTable::init(item); - } - - const TableColumn& getSoColumn() const - { return SimpleTable::getColumn(0); } - - const TableColumn& getKroColumn() const - { return SimpleTable::getColumn(1); } + const TableColumn& getSoColumn() const; + const TableColumn& getKroColumn() const; }; } #endif diff --git a/opm/parser/eclipse/EclipseState/Tables/Sof3Table.hpp b/opm/parser/eclipse/EclipseState/Tables/Sof3Table.hpp index ba472db47..a45555cc3 100644 --- a/opm/parser/eclipse/EclipseState/Tables/Sof3Table.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/Sof3Table.hpp @@ -26,28 +26,12 @@ namespace Opm { class DeckItem; class Sof3Table : public SimpleTable { + public: + Sof3Table( std::shared_ptr< const DeckItem > item ); - public: - Sof3Table(std::shared_ptr< const DeckItem > item) - { - m_schema = std::make_shared(); - - m_schema->addColumn( ColumnSchema("SO" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); - m_schema->addColumn( ColumnSchema("KROW" , Table::INCREASING , Table::DEFAULT_LINEAR )); - m_schema->addColumn( ColumnSchema("KROG" , Table::INCREASING , Table::DEFAULT_LINEAR )); - - SimpleTable::init( item ); - } - - - const TableColumn& getSoColumn() const - { return SimpleTable::getColumn(0); } - - const TableColumn& getKrowColumn() const - { return SimpleTable::getColumn(1); } - - const TableColumn& getKrogColumn() const - { return SimpleTable::getColumn(2); } + const TableColumn& getSoColumn() const; + const TableColumn& getKrowColumn() const; + const TableColumn& getKrogColumn() const; }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/SorwmisTable.hpp b/opm/parser/eclipse/EclipseState/Tables/SorwmisTable.hpp index 0a88d7cc6..1323cb5b0 100644 --- a/opm/parser/eclipse/EclipseState/Tables/SorwmisTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/SorwmisTable.hpp @@ -21,7 +21,6 @@ #define OPM_PARSER_SORWMIS_TABLE_HPP #include "SimpleTable.hpp" -#include namespace Opm { @@ -30,21 +29,11 @@ namespace Opm { class SorwmisTable : public SimpleTable { public: - SorwmisTable(std::shared_ptr< const DeckItem > item) - { + SorwmisTable( std::shared_ptr< const DeckItem > item ); - m_schema = std::make_shared(); - m_schema->addColumn( ColumnSchema( "WaterSaturation" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) ); - m_schema->addColumn( ColumnSchema( "MiscibleResidualOilSaturation" , Table::INCREASING , Table::DEFAULT_NONE) ); + const TableColumn& getWaterSaturationColumn() const; + const TableColumn& getMiscibleResidualOilColumn() const; - SimpleTable::init(item); - } - - const TableColumn& getWaterSaturationColumn() const - { return SimpleTable::getColumn(0); } - - const TableColumn& getMiscibleResidualOilColumn() const - { return SimpleTable::getColumn(1); } }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/SsfnTable.hpp b/opm/parser/eclipse/EclipseState/Tables/SsfnTable.hpp index 6f7b851eb..e422aeba8 100644 --- a/opm/parser/eclipse/EclipseState/Tables/SsfnTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/SsfnTable.hpp @@ -20,34 +20,19 @@ #define OPM_PARSER_SSFN_TABLE_HPP #include "SimpleTable.hpp" -#include namespace Opm { class DeckItem; class SsfnTable : public SimpleTable { - public: - friend class TableManager; - SsfnTable(std::shared_ptr< const DeckItem > item) - { - m_schema = std::make_shared(); + public: + friend class TableManager; + SsfnTable( std::shared_ptr< const DeckItem > item ); - m_schema->addColumn( ColumnSchema("SolventFraction" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); - m_schema->addColumn( ColumnSchema("GasRelPermMultiplier" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); - m_schema->addColumn( ColumnSchema("SolventRelPermMultiplier" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); - - SimpleTable::init(item); - } - - const TableColumn& getSolventFractionColumn() const - { return SimpleTable::getColumn(0); } - - const TableColumn& getGasRelPermMultiplierColumn() const - { return SimpleTable::getColumn(1); } - - const TableColumn& getSolventRelPermMultiplierColumn() const - { return SimpleTable::getColumn(2); } + const TableColumn& getSolventFractionColumn() const; + const TableColumn& getGasRelPermMultiplierColumn() const; + const TableColumn& getSolventRelPermMultiplierColumn() const; }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/SwfnTable.hpp b/opm/parser/eclipse/EclipseState/Tables/SwfnTable.hpp index 5b4e19a4f..2570f383e 100644 --- a/opm/parser/eclipse/EclipseState/Tables/SwfnTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/SwfnTable.hpp @@ -20,33 +20,19 @@ #define OPM_PARSER_SWFN_TABLE_HPP #include "SimpleTable.hpp" -#include namespace Opm { class SwfnTable : public SimpleTable { public: - SwfnTable(std::shared_ptr< const DeckItem > item) - { - m_schema = std::make_shared(); + SwfnTable( std::shared_ptr< const DeckItem > item ); - m_schema->addColumn( ColumnSchema("SW" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); - m_schema->addColumn( ColumnSchema("KRW" , Table::INCREASING , Table::DEFAULT_LINEAR )); - m_schema->addColumn( ColumnSchema("PCOW" , Table::DECREASING , Table::DEFAULT_LINEAR )); - - SimpleTable::init(item); - } - - const TableColumn& getSwColumn() const - { return SimpleTable::getColumn(0); } - - const TableColumn& getKrwColumn() const - { return SimpleTable::getColumn(1); } + const TableColumn& getSwColumn() const; + const TableColumn& getKrwColumn() const; // this column is p_o - p_w (non-wetting phase pressure minus // wetting phase pressure for a given water saturation) - const TableColumn& getPcowColumn() const - { return SimpleTable::getColumn(2); } + const TableColumn& getPcowColumn() const; }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/SwofTable.hpp b/opm/parser/eclipse/EclipseState/Tables/SwofTable.hpp index 579ea3d6a..d1c5d2d67 100644 --- a/opm/parser/eclipse/EclipseState/Tables/SwofTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/SwofTable.hpp @@ -20,7 +20,6 @@ #define OPM_PARSER_SWOF_TABLE_HPP #include "SimpleTable.hpp" -#include namespace Opm { @@ -28,40 +27,14 @@ namespace Opm { class SwofTable : public SimpleTable { public: - - SwofTable(std::shared_ptr< const DeckItem > item) { - m_schema = std::make_shared( ); - - m_schema->addColumn( ColumnSchema( "SW" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) ); - m_schema->addColumn( ColumnSchema( "KRW" , Table::RANDOM , Table::DEFAULT_LINEAR) ); - m_schema->addColumn( ColumnSchema( "KROW" , Table::RANDOM , Table::DEFAULT_LINEAR) ); - m_schema->addColumn( ColumnSchema( "PCOW" , Table::RANDOM , Table::DEFAULT_LINEAR) ); - - SimpleTable::init( item ); - } - - - const TableColumn& getSwColumn() const - { - return SimpleTable::getColumn(0); - } - - const TableColumn& getKrwColumn() const - { - return SimpleTable::getColumn(1); - } - - const TableColumn& getKrowColumn() const - { - return SimpleTable::getColumn(2); - } + SwofTable( std::shared_ptr< const DeckItem > item ); + const TableColumn& getSwColumn() const; + const TableColumn& getKrwColumn() const; + const TableColumn& getKrowColumn() const; // this column is p_o - p_w (non-wetting phase pressure minus // wetting phase pressure for a given water saturation) - const TableColumn& getPcowColumn() const - { - return SimpleTable::getColumn(3); - } + const TableColumn& getPcowColumn() const; }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/TableManager.cpp b/opm/parser/eclipse/EclipseState/Tables/TableManager.cpp index 820430b88..22eecbc3b 100644 --- a/opm/parser/eclipse/EclipseState/Tables/TableManager.cpp +++ b/opm/parser/eclipse/EclipseState/Tables/TableManager.cpp @@ -21,42 +21,47 @@ #include #include #include +#include +#include +#include +#include +#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include #include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include +#include +#include +#include +#include +#include #include #include diff --git a/opm/parser/eclipse/EclipseState/Tables/TableManager.hpp b/opm/parser/eclipse/EclipseState/Tables/TableManager.hpp index 9fff20323..acd28c2d7 100644 --- a/opm/parser/eclipse/EclipseState/Tables/TableManager.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/TableManager.hpp @@ -25,38 +25,8 @@ #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include #include -#include #include #include #include @@ -69,6 +39,7 @@ #include + namespace Opm { class Tabdims; diff --git a/opm/parser/eclipse/EclipseState/Tables/Tables.cpp b/opm/parser/eclipse/EclipseState/Tables/Tables.cpp new file mode 100644 index 000000000..5e9a80713 --- /dev/null +++ b/opm/parser/eclipse/EclipseState/Tables/Tables.cpp @@ -0,0 +1,1074 @@ +/* + Copyright (C) 2013 by Andreas Lauser + + This file is part of the Open Porous Media project (OPM). + + OPM is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OPM is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with OPM. If not, see . + */ + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Opm { + +PvtgTable::PvtgTable(Opm::DeckKeywordConstPtr keyword, size_t tableIdx ) : + PvtxTable("P") { + + m_saturatedSchema = std::make_shared< TableSchema >(); + m_underSaturatedSchema = std::make_shared< TableSchema >(); + + m_underSaturatedSchema->addColumn( ColumnSchema( "RV" , Table::STRICTLY_DECREASING , Table::DEFAULT_NONE )); + m_underSaturatedSchema->addColumn( ColumnSchema( "BG" , Table::RANDOM , Table::DEFAULT_LINEAR )); + m_underSaturatedSchema->addColumn( ColumnSchema( "MUG" , Table::RANDOM , Table::DEFAULT_LINEAR )); + + m_saturatedSchema = std::make_shared< TableSchema >( ); + m_saturatedSchema->addColumn( ColumnSchema( "PG" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); + m_saturatedSchema->addColumn( ColumnSchema( "RV" , Table::RANDOM , Table::DEFAULT_NONE )); + m_saturatedSchema->addColumn( ColumnSchema( "BG" , Table::RANDOM , Table::DEFAULT_LINEAR )); + m_saturatedSchema->addColumn( ColumnSchema( "MUG" , Table::RANDOM , Table::DEFAULT_LINEAR )); + + PvtxTable::init(keyword, tableIdx); + } + +PvtoTable::PvtoTable(Opm::DeckKeywordConstPtr keyword, size_t tableIdx) : + PvtxTable("P") { + + m_saturatedSchema = std::make_shared< TableSchema >(); + m_underSaturatedSchema = std::make_shared< TableSchema >(); + + m_underSaturatedSchema->addColumn( ColumnSchema( "P" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); + m_underSaturatedSchema->addColumn( ColumnSchema( "BO" , Table::RANDOM , Table::DEFAULT_LINEAR )); + m_underSaturatedSchema->addColumn( ColumnSchema( "MU" , Table::RANDOM , Table::DEFAULT_LINEAR )); + + m_saturatedSchema->addColumn( ColumnSchema( "RS" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); + m_saturatedSchema->addColumn( ColumnSchema( "P" , Table::RANDOM , Table::DEFAULT_NONE )); + m_saturatedSchema->addColumn( ColumnSchema( "BO" , Table::RANDOM , Table::DEFAULT_LINEAR )); + m_saturatedSchema->addColumn( ColumnSchema( "MU" , Table::RANDOM , Table::DEFAULT_LINEAR )); + + PvtxTable::init(keyword , tableIdx); + } + +SwofTable::SwofTable( std::shared_ptr< const DeckItem > item ) { + + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn( ColumnSchema( "SW" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) ); + m_schema->addColumn( ColumnSchema( "KRW" , Table::RANDOM , Table::DEFAULT_LINEAR) ); + m_schema->addColumn( ColumnSchema( "KROW" , Table::RANDOM , Table::DEFAULT_LINEAR) ); + m_schema->addColumn( ColumnSchema( "PCOW" , Table::RANDOM , Table::DEFAULT_LINEAR) ); + + SimpleTable::init( item ); +} + +const TableColumn& SwofTable::getSwColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& SwofTable::getKrwColumn() const { + return SimpleTable::getColumn(1); +} + +const TableColumn& SwofTable::getKrowColumn() const { + return SimpleTable::getColumn(2); +} + +const TableColumn& SwofTable::getPcowColumn() const { + return SimpleTable::getColumn(3); +} + +SgwfnTable::SgwfnTable( std::shared_ptr< const DeckItem > item ) { + + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn( ColumnSchema( "SG" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) ); + m_schema->addColumn( ColumnSchema( "KRG" , Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "KRGW" , Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "PCGW" , Table::RANDOM , Table::DEFAULT_LINEAR ) ); + + SimpleTable::init( item ); +} + +const TableColumn& SgwfnTable::getSgColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& SgwfnTable::getKrgColumn() const { + return SimpleTable::getColumn(1); +} + +const TableColumn& SgwfnTable::getKrgwColumn() const { + return SimpleTable::getColumn(2); +} + +const TableColumn& SgwfnTable::getPcgwColumn() const { + return SimpleTable::getColumn(3); +} + +SgofTable::SgofTable( std::shared_ptr< const DeckItem > item ) { + m_schema = std::make_shared< TableSchema >(); + m_schema->addColumn( ColumnSchema("SG" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); + m_schema->addColumn( ColumnSchema("KRG" , Table::RANDOM , Table::DEFAULT_LINEAR )); + m_schema->addColumn( ColumnSchema("KROG" , Table::RANDOM , Table::DEFAULT_LINEAR )); + m_schema->addColumn( ColumnSchema("PCOG" , Table::RANDOM , Table::DEFAULT_LINEAR )); + + SimpleTable::init( item ); +} + +const TableColumn& SgofTable::getSgColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& SgofTable::getKrgColumn() const { + return SimpleTable::getColumn(1); +} + +const TableColumn& SgofTable::getKrogColumn() const { + return SimpleTable::getColumn(2); +} + +const TableColumn& SgofTable::getPcogColumn() const { + return SimpleTable::getColumn(3); + +} + +SlgofTable::SlgofTable( std::shared_ptr< const DeckItem > item ) { + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn( ColumnSchema("SL" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); + m_schema->addColumn( ColumnSchema("KRG" , Table::DECREASING , Table::DEFAULT_LINEAR )); + m_schema->addColumn( ColumnSchema("KROG" , Table::INCREASING , Table::DEFAULT_LINEAR )); + m_schema->addColumn( ColumnSchema("PCOG" , Table::DECREASING , Table::DEFAULT_LINEAR )); + + SimpleTable::init( item ); + + if (getSlColumn().back() != 1.0) { + throw std::invalid_argument("The last saturation of the SLGOF keyword must be 1!"); + } +} + +const TableColumn& SlgofTable::getSlColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& SlgofTable::getKrgColumn() const { + return SimpleTable::getColumn(1); +} + +const TableColumn& SlgofTable::getKrogColumn() const { + return SimpleTable::getColumn(2); +} + +const TableColumn& SlgofTable::getPcogColumn() const { + return SimpleTable::getColumn(3); +} + +Sof2Table::Sof2Table( std::shared_ptr< const DeckItem > item ) { + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn( ColumnSchema( "SO" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); + m_schema->addColumn( ColumnSchema( "KRO" , Table::INCREASING , Table::DEFAULT_NONE )); + + SimpleTable::init(item); +} + +const TableColumn& Sof2Table::getSoColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& Sof2Table::getKroColumn() const { + return SimpleTable::getColumn(1); +} + +Sof3Table::Sof3Table( std::shared_ptr< const DeckItem > item ) { + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn( ColumnSchema("SO" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); + m_schema->addColumn( ColumnSchema("KROW" , Table::INCREASING , Table::DEFAULT_LINEAR )); + m_schema->addColumn( ColumnSchema("KROG" , Table::INCREASING , Table::DEFAULT_LINEAR )); + + SimpleTable::init( item ); +} + + +const TableColumn& Sof3Table::getSoColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& Sof3Table::getKrowColumn() const { + return SimpleTable::getColumn(1); +} + +const TableColumn& Sof3Table::getKrogColumn() const { + return SimpleTable::getColumn(2); +} + +PvdgTable::PvdgTable( std::shared_ptr< const DeckItem > item ) { + m_schema = std::make_shared< TableSchema >(); + m_schema->addColumn( ColumnSchema( "P" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); + m_schema->addColumn( ColumnSchema( "BG" , Table::STRICTLY_DECREASING , Table::DEFAULT_LINEAR)); + m_schema->addColumn( ColumnSchema( "MUG" , Table::INCREASING , Table::DEFAULT_LINEAR )); + + SimpleTable::init( item ); +} + + +const TableColumn& PvdgTable::getPressureColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& PvdgTable::getFormationFactorColumn() const { + return SimpleTable::getColumn(1); +} + +const TableColumn& PvdgTable::getViscosityColumn() const { + return SimpleTable::getColumn(2); +} + +PvdoTable::PvdoTable( std::shared_ptr< const DeckItem > item ) { + m_schema = std::make_shared< TableSchema >(); + m_schema->addColumn( ColumnSchema( "P" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); + m_schema->addColumn( ColumnSchema( "BO" , Table::STRICTLY_DECREASING , Table::DEFAULT_LINEAR)); + m_schema->addColumn( ColumnSchema( "MUO" , Table::INCREASING , Table::DEFAULT_LINEAR )); + + SimpleTable::init( item ); +} + + +const TableColumn& PvdoTable::getPressureColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& PvdoTable::getFormationFactorColumn() const { + return SimpleTable::getColumn(1); +} + +const TableColumn& PvdoTable::getViscosityColumn() const { + return SimpleTable::getColumn(2); +} + +SwfnTable::SwfnTable( std::shared_ptr< const DeckItem > item ) { + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn( ColumnSchema("SW" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); + m_schema->addColumn( ColumnSchema("KRW" , Table::INCREASING , Table::DEFAULT_LINEAR )); + m_schema->addColumn( ColumnSchema("PCOW" , Table::DECREASING , Table::DEFAULT_LINEAR )); + + SimpleTable::init(item); +} + +const TableColumn& SwfnTable::getSwColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& SwfnTable::getKrwColumn() const { + return SimpleTable::getColumn(1); +} + +const TableColumn& SwfnTable::getPcowColumn() const { + return SimpleTable::getColumn(2); +} + +SgfnTable::SgfnTable( std::shared_ptr< const DeckItem > item ) { + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn( ColumnSchema("SG" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) ); + m_schema->addColumn( ColumnSchema("KRG" , Table::INCREASING , Table::DEFAULT_LINEAR)); + m_schema->addColumn( ColumnSchema("PCOG" , Table::INCREASING , Table::DEFAULT_LINEAR)); + + SimpleTable::init(item); +} + + +const TableColumn& SgfnTable::getSgColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& SgfnTable::getKrgColumn() const { + return SimpleTable::getColumn(1); +} + +const TableColumn& SgfnTable::getPcogColumn() const { + return SimpleTable::getColumn(2); +} + +SsfnTable::SsfnTable( std::shared_ptr< const DeckItem > item ) { + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn( ColumnSchema("SolventFraction" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); + m_schema->addColumn( ColumnSchema("GasRelPermMultiplier" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); + m_schema->addColumn( ColumnSchema("SolventRelPermMultiplier" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); + + SimpleTable::init(item); +} + +const TableColumn& SsfnTable::getSolventFractionColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& SsfnTable::getGasRelPermMultiplierColumn() const { + return SimpleTable::getColumn(1); +} + +const TableColumn& SsfnTable::getSolventRelPermMultiplierColumn() const { + return SimpleTable::getColumn(2); + +} + +PvdsTable::PvdsTable( std::shared_ptr< const DeckItem > item ) { + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn( ColumnSchema( "P" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); + m_schema->addColumn( ColumnSchema( "BG" , Table::STRICTLY_DECREASING , Table::DEFAULT_LINEAR )); + m_schema->addColumn( ColumnSchema( "MUG" , Table::INCREASING , Table::DEFAULT_LINEAR )); + + SimpleTable::init(item); +} + +const TableColumn& PvdsTable::getPressureColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& PvdsTable::getFormationFactorColumn() const { + return SimpleTable::getColumn(1); +} + +const TableColumn& PvdsTable::getViscosityColumn() const { + return SimpleTable::getColumn(2); +} + +PlyadsTable::PlyadsTable( std::shared_ptr< const DeckItem > item ) { + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn( ColumnSchema("PolymerConcentration" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); + m_schema->addColumn( ColumnSchema("AdsorbedPolymer" , Table::INCREASING , Table::DEFAULT_NONE )); + + SimpleTable::init(item); +} + + +const TableColumn& PlyadsTable::getPolymerConcentrationColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& PlyadsTable::getAdsorbedPolymerColumn() const { + return SimpleTable::getColumn(1); +} + +PlymaxTable::PlymaxTable( std::shared_ptr< const DeckRecord > record ) { + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn( ColumnSchema("C_POLYMER", Table::RANDOM , Table::DEFAULT_NONE) ); + m_schema->addColumn( ColumnSchema("C_POLYMER_MAX", Table::RANDOM , Table::DEFAULT_NONE) ); + + addColumns(); + for (size_t colIdx = 0; colIdx < record->size(); colIdx++) { + auto item = record->getItem( colIdx ); + auto& column = getColumn( colIdx ); + + column.addValue( item->getSIDouble(0) ); + } +} + +const TableColumn& PlymaxTable::getPolymerConcentrationColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& PlymaxTable::getMaxPolymerConcentrationColumn() const { + return SimpleTable::getColumn(1); +} + +PlyrockTable::PlyrockTable( std::shared_ptr< const DeckRecord > record ) { + m_schema = std::make_shared< TableSchema >(); + m_schema->addColumn( ColumnSchema("DeadPoreVolume", Table::RANDOM , Table::DEFAULT_NONE) ); + m_schema->addColumn( ColumnSchema("ResidualResistanceFactor", Table::RANDOM , Table::DEFAULT_NONE) ); + m_schema->addColumn( ColumnSchema("RockDensityFactor", Table::RANDOM , Table::DEFAULT_NONE) ); + m_schema->addColumn( ColumnSchema("AdsorbtionIndex", Table::RANDOM , Table::DEFAULT_NONE) ); + m_schema->addColumn( ColumnSchema("MaxAdsorbtion", Table::RANDOM , Table::DEFAULT_NONE) ); + + addColumns(); + for (size_t colIdx = 0; colIdx < record->size(); colIdx++) { + auto item = record->getItem( colIdx ); + auto& column = getColumn( colIdx ); + + column.addValue( item->getSIDouble(0) ); + } +} + +const TableColumn& PlyrockTable::getDeadPoreVolumeColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& PlyrockTable::getResidualResistanceFactorColumn() const { + return SimpleTable::getColumn(1); +} + +const TableColumn& PlyrockTable::getRockDensityFactorColumn() const { + return SimpleTable::getColumn(2); +} + +const TableColumn& PlyrockTable::getAdsorbtionIndexColumn() const { + return SimpleTable::getColumn(3); +} + +const TableColumn& PlyrockTable::getMaxAdsorbtionColumn() const { + return SimpleTable::getColumn(4); +} + +PlyviscTable::PlyviscTable( std::shared_ptr< const DeckItem > item ) { + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn( ColumnSchema( "PolymerConcentration" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); + m_schema->addColumn( ColumnSchema( "ViscosityMultiplier" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); + SimpleTable::init(item); +} + +const TableColumn& PlyviscTable::getPolymerConcentrationColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& PlyviscTable::getViscosityMultiplierColumn() const { + return SimpleTable::getColumn(1); +} + +PlydhflfTable::PlydhflfTable( std::shared_ptr< const DeckItem > item ) { + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn( ColumnSchema("Temperature" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) ); + m_schema->addColumn( ColumnSchema("PolymerHalflife" , Table::STRICTLY_DECREASING , Table::DEFAULT_NONE ) ); + + SimpleTable::init(item); +} + +const TableColumn& PlydhflfTable::getTemperatureColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& PlydhflfTable::getPolymerHalflifeColumn() const { + return SimpleTable::getColumn(1); +} + +PlyshlogTable::PlyshlogTable( + std::shared_ptr< const DeckRecord > indexRecord, + std::shared_ptr< const DeckRecord > dataRecord ) { + m_schema = std::make_shared< TableSchema >(); + + { + const auto item = indexRecord->getItem(); + setRefPolymerConcentration(item->getRawDouble(0)); + } + + { + const auto item = indexRecord->getItem(); + if (item->hasValue(0)) { + setHasRefSalinity(true); + setRefSalinity(item->getRawDouble(0)); + } else + setHasRefSalinity(false); + } + + { + const auto item = indexRecord->getItem(); + if (item->hasValue(0)) { + setHasRefTemperature(true); + setRefTemperature(item->getRawDouble(0)); + } else + setHasRefTemperature(false); + } + + m_schema->addColumn( ColumnSchema("WaterVelocity" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); + m_schema->addColumn( ColumnSchema("ShearMultiplier" , Table::RANDOM , Table::DEFAULT_NONE)); + + SimpleTable::init( dataRecord->getItem() ); +} + +double PlyshlogTable::getRefPolymerConcentration() const { + return m_refPolymerConcentration; +} +double PlyshlogTable::getRefSalinity() const { + return m_refSalinity; +} + +double PlyshlogTable::getRefTemperature() const{ + return m_refTemperature; +} + +void PlyshlogTable::setRefPolymerConcentration(const double refPlymerConcentration) { + m_refPolymerConcentration = refPlymerConcentration; +} + +void PlyshlogTable::setRefSalinity(const double refSalinity) { + m_refSalinity = refSalinity; +} + +void PlyshlogTable::setRefTemperature(const double refTemperature) { + m_refTemperature = refTemperature; +} + +bool PlyshlogTable::hasRefSalinity() const { + return m_hasRefSalinity; +} + +bool PlyshlogTable::hasRefTemperature() const { + return m_hasRefTemperature; +} + +void PlyshlogTable::setHasRefSalinity(const bool has) { + m_hasRefSalinity = has; +} + +void PlyshlogTable::setHasRefTemperature(const bool has) { + m_refTemperature = has; +} + +const TableColumn& PlyshlogTable::getWaterVelocityColumn() const { + return getColumn(0); +} + +const TableColumn& PlyshlogTable::getShearMultiplierColumn() const { + return getColumn(1); +} + +OilvisctTable::OilvisctTable( std::shared_ptr< const DeckItem > item ) { + + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn( ColumnSchema("Temperature" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) ); + m_schema->addColumn( ColumnSchema("Viscosity" , Table::DECREASING , Table::DEFAULT_NONE) ); + SimpleTable::init(item); +} + +const TableColumn& OilvisctTable::getTemperatureColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& OilvisctTable::getOilViscosityColumn() const { + return SimpleTable::getColumn(1); +} + +WatvisctTable::WatvisctTable( std::shared_ptr< const DeckItem > item ) { + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn(ColumnSchema("Temperature" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); + m_schema->addColumn(ColumnSchema("Viscosity" , Table::DECREASING , Table::DEFAULT_NONE)); + + SimpleTable::init(item); +} + +const TableColumn& WatvisctTable::getTemperatureColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& WatvisctTable::getWaterViscosityColumn() const { + return SimpleTable::getColumn(1); +} + +GasvisctTable::GasvisctTable( const Deck& deck, std::shared_ptr< const DeckItem > deckItem ) { + m_schema = std::make_shared< TableSchema >(); + + int numComponents = deck.getKeyword()->getRecord(0)->getItem(0)->getInt(0); + + auto temperatureDimension = deck.getActiveUnitSystem()->getDimension("Temperature"); + auto viscosityDimension = deck.getActiveUnitSystem()->getDimension("Viscosity"); + + m_schema->addColumn( ColumnSchema( "Temperature" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); + for (int compIdx = 0; compIdx < numComponents; ++ compIdx) { + std::string columnName = "Viscosity" + std::to_string(compIdx); + m_schema->addColumn( ColumnSchema( columnName, Table::INCREASING , Table::DEFAULT_NONE ) ); + } + + SimpleTable::addColumns(); + + { + size_t numFlatItems = deckItem->size( ); + if ( numFlatItems % numColumns() != 0) + throw std::runtime_error("Number of columns in the data file is inconsistent " + "with the expected number for keyword GASVISCT"); + } + + { + size_t numRows = deckItem->size() / m_schema->size(); + for (size_t columnIndex=0; columnIndex < m_schema->size(); columnIndex++) { + auto& column = getColumn( columnIndex ); + for (size_t rowIdx = 0; rowIdx < numRows; rowIdx++) { + size_t deckIndex = rowIdx * m_schema->size() + columnIndex; + + if (deckItem->defaultApplied( deckIndex )) + column.addDefault(); + else { + double rawValue = deckItem->getRawDouble( deckIndex ); + double SIValue; + + if (columnIndex == 0) + SIValue = temperatureDimension->convertRawToSi(rawValue); + else + SIValue = viscosityDimension->convertRawToSi(rawValue); + + column.addValue( SIValue ); + } + } + } + } +} + +const TableColumn& GasvisctTable::getTemperatureColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& GasvisctTable::getGasViscosityColumn(size_t compIdx) const { + return SimpleTable::getColumn(1 + compIdx); +} + +RtempvdTable::RtempvdTable(std::shared_ptr< const DeckItem > item) { + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn( ColumnSchema( "Depth" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) ); + m_schema->addColumn( ColumnSchema( "Temperature" , Table::RANDOM , Table::DEFAULT_NONE) ); + + SimpleTable::init( item ); +} + +const TableColumn& RtempvdTable::getDepthColumn() const { + return SimpleTable::getColumn(0); +} + + +const TableColumn& RtempvdTable::getTemperatureColumn() const { + return SimpleTable::getColumn(1); +} + +RocktabTable::RocktabTable( + std::shared_ptr< const DeckItem > item, + bool isDirectional, + bool hasStressOption ) : + m_isDirectional( isDirectional ) +{ + + m_schema = std::make_shared< TableSchema >(); + + Table::ColumnOrderEnum POOrder; + + if (hasStressOption) + POOrder = Table::STRICTLY_INCREASING; + else + POOrder = Table::STRICTLY_DECREASING; + + m_schema->addColumn( ColumnSchema("PO" , POOrder , Table::DEFAULT_NONE ) ); + m_schema->addColumn( ColumnSchema("PV_MULT" , Table::RANDOM , Table::DEFAULT_LINEAR ) ); + + if (isDirectional) { + m_schema->addColumn( ColumnSchema("PV_MULT_TRANX" , Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema("PV_MULT_TRANY" , Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema("PV_MULT_TRANZ" , Table::RANDOM , Table::DEFAULT_LINEAR ) ); + } else + m_schema->addColumn( ColumnSchema("PV_MULT_TRAN" , Table::RANDOM , Table::DEFAULT_LINEAR ) ); + + SimpleTable::init(item); +} + + +const TableColumn& RocktabTable::getPressureColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& RocktabTable::getPoreVolumeMultiplierColumn() const { + return SimpleTable::getColumn(1); +} + +const TableColumn& RocktabTable::getTransmissibilityMultiplierColumn() const { + return SimpleTable::getColumn(2); +} + +const TableColumn& RocktabTable::getTransmissibilityMultiplierXColumn() const { + return SimpleTable::getColumn(2); +} + +const TableColumn& RocktabTable::getTransmissibilityMultiplierYColumn() const { + if (!m_isDirectional) + return SimpleTable::getColumn(2); + return SimpleTable::getColumn(3); +} + +const TableColumn& RocktabTable::getTransmissibilityMultiplierZColumn() const { + if (!m_isDirectional) + return SimpleTable::getColumn(2); + return SimpleTable::getColumn(4); +} + +RsvdTable::RsvdTable( std::shared_ptr< const DeckItem > item ) { + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); + m_schema->addColumn( ColumnSchema( "RS" , Table::RANDOM , Table::DEFAULT_NONE )); + + SimpleTable::init(item); +} + +const TableColumn& RsvdTable::getDepthColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& RsvdTable::getRsColumn() const { + return SimpleTable::getColumn(1); +} + +RvvdTable::RvvdTable( std::shared_ptr< const DeckItem > item ) { + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) ); + m_schema->addColumn( ColumnSchema( "RV" , Table::RANDOM , Table::DEFAULT_LINEAR ) ); + SimpleTable::init(item); +} + +const TableColumn& RvvdTable::getDepthColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& RvvdTable::getRvColumn() const { + return SimpleTable::getColumn(1); +} + +EnkrvdTable::EnkrvdTable( std::shared_ptr< const DeckItem > item ) { + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) ); + m_schema->addColumn( ColumnSchema( "KRWMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "KRGMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "KROMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "KRWCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "KRGCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "KROCRITG",Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "KROCRITW",Table::RANDOM , Table::DEFAULT_LINEAR ) ); + + SimpleTable::init(item); +} + +const TableColumn& EnkrvdTable::getDepthColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& EnkrvdTable::getKrwmaxColumn() const { + return SimpleTable::getColumn(1); +} + +const TableColumn& EnkrvdTable::getKrgmaxColumn() const { + return SimpleTable::getColumn(2); +} + +const TableColumn& EnkrvdTable::getKromaxColumn() const { + return SimpleTable::getColumn(3); +} + +const TableColumn& EnkrvdTable::getKrwcritColumn() const { + return SimpleTable::getColumn(4); +} + +const TableColumn& EnkrvdTable::getKrgcritColumn() const { + return SimpleTable::getColumn(5); +} + +const TableColumn& EnkrvdTable::getKrocritgColumn() const { + return SimpleTable::getColumn(6); +} + +const TableColumn& EnkrvdTable::getKrocritwColumn() const { + return SimpleTable::getColumn(7); +} + +EnptvdTable::EnptvdTable( std::shared_ptr< const DeckItem > item ) { + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) ); + m_schema->addColumn( ColumnSchema( "SWCO", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "SWCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "SWMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "SGCO", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "SGCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "SGMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "SOWCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "SOGCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + + SimpleTable::init(item); +} + +const TableColumn& EnptvdTable::getDepthColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& EnptvdTable::getSwcoColumn() const { + return SimpleTable::getColumn(1); +} + +const TableColumn& EnptvdTable::getSwcritColumn() const { + return SimpleTable::getColumn(2); +} + +const TableColumn& EnptvdTable::getSwmaxColumn() const { + return SimpleTable::getColumn(3); +} + +const TableColumn& EnptvdTable::getSgcoColumn() const { + return SimpleTable::getColumn(4); +} + +const TableColumn& EnptvdTable::getSgcritColumn() const { + return SimpleTable::getColumn(5); +} + +const TableColumn& EnptvdTable::getSgmaxColumn() const { + return SimpleTable::getColumn(6); +} + +const TableColumn& EnptvdTable::getSowcritColumn() const { + return SimpleTable::getColumn(7); +} + +const TableColumn& EnptvdTable::getSogcritColumn() const { + return SimpleTable::getColumn(8); +} + +ImkrvdTable::ImkrvdTable( std::shared_ptr< const DeckItem > item ) { + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) ); + m_schema->addColumn( ColumnSchema( "KRWMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "KRGMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "KROMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "KRWCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "KRGCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "KROCRITG",Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "KROCRITW", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + + SimpleTable::init(item); +} + +const TableColumn& ImkrvdTable::getDepthColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& ImkrvdTable::getKrwmaxColumn() const { + return SimpleTable::getColumn(1); +} + +const TableColumn& ImkrvdTable::getKrgmaxColumn() const { + return SimpleTable::getColumn(2); +} + +const TableColumn& ImkrvdTable::getKromaxColumn() const { + return SimpleTable::getColumn(3); +} + +const TableColumn& ImkrvdTable::getKrwcritColumn() const { + return SimpleTable::getColumn(4); +} + +const TableColumn& ImkrvdTable::getKrgcritColumn() const { + return SimpleTable::getColumn(5); +} + +const TableColumn& ImkrvdTable::getKrocritgColumn() const { + return SimpleTable::getColumn(6); +} + +const TableColumn& ImkrvdTable::getKrocritwColumn() const { + return SimpleTable::getColumn(7); +} + + +ImptvdTable::ImptvdTable( std::shared_ptr< const DeckItem > item ) { + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) ); + m_schema->addColumn( ColumnSchema( "SWCO", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "SWCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "SWMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "SGCO", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "SGCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "SGMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "SOWCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + m_schema->addColumn( ColumnSchema( "SOGCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); + + SimpleTable::init(item); +} + +const TableColumn& ImptvdTable::getDepthColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& ImptvdTable::getSwcoColumn() const { + return SimpleTable::getColumn(1); +} + +const TableColumn& ImptvdTable::getSwcritColumn() const { + return SimpleTable::getColumn(2); +} + +const TableColumn& ImptvdTable::getSwmaxColumn() const { + return SimpleTable::getColumn(3); +} + +const TableColumn& ImptvdTable::getSgcoColumn() const { + return SimpleTable::getColumn(4); +} + +const TableColumn& ImptvdTable::getSgcritColumn() const { + return SimpleTable::getColumn(5); +} + +const TableColumn& ImptvdTable::getSgmaxColumn() const { + return SimpleTable::getColumn(6); +} + +const TableColumn& ImptvdTable::getSowcritColumn() const { + return SimpleTable::getColumn(7); +} + +const TableColumn& ImptvdTable::getSogcritColumn() const { + return SimpleTable::getColumn(8); +} + +SorwmisTable::SorwmisTable( std::shared_ptr< const DeckItem > item ) { + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn( ColumnSchema( "WaterSaturation" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) ); + m_schema->addColumn( ColumnSchema( "MiscibleResidualOilSaturation" , Table::INCREASING , Table::DEFAULT_NONE) ); + + SimpleTable::init(item); +} + +const TableColumn& SorwmisTable::getWaterSaturationColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& SorwmisTable::getMiscibleResidualOilColumn() const { + return SimpleTable::getColumn(1); +} + +SgcwmisTable::SgcwmisTable( std::shared_ptr< const DeckItem > item ) { + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn( ColumnSchema( "WaterSaturation" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) ); + m_schema->addColumn( ColumnSchema( "MiscibleResidualGasSaturation" , Table::INCREASING , Table::DEFAULT_NONE) ); + SimpleTable::init(item); +} + +const TableColumn& SgcwmisTable::getWaterSaturationColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& SgcwmisTable::getMiscibleResidualGasColumn() const { + return SimpleTable::getColumn(1); +} + +MiscTable::MiscTable( std::shared_ptr< const DeckItem > item ) { + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn( ColumnSchema( "SolventFraction" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) ); + m_schema->addColumn( ColumnSchema( "Miscibility" , Table::INCREASING , Table::DEFAULT_NONE) ); + SimpleTable::init( item ); +} + +const TableColumn& MiscTable::getSolventFractionColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& MiscTable::getMiscibilityColumn() const { + return SimpleTable::getColumn(1); +} + + +PmiscTable::PmiscTable( std::shared_ptr< const DeckItem > item ) { + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn( ColumnSchema( "OilPhasePressure" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) ); + m_schema->addColumn( ColumnSchema( "Miscibility" , Table::INCREASING , Table::DEFAULT_NONE) ); + SimpleTable::init( item ); +} + +const TableColumn& PmiscTable::getOilPhasePressureColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& PmiscTable::getMiscibilityColumn() const { + return SimpleTable::getColumn(1); +} + +MsfnTable::MsfnTable( std::shared_ptr< const DeckItem > item ) { + m_schema = std::make_shared< TableSchema >(); + + m_schema->addColumn( ColumnSchema( "GasPhaseFraction", Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); + m_schema->addColumn( ColumnSchema( "GasSolventRelpermMultiplier", Table::INCREASING , Table::DEFAULT_NONE)); + m_schema->addColumn( ColumnSchema( "OilRelpermMultiplier", Table::DECREASING , Table::DEFAULT_NONE)); + + SimpleTable::init( item ); + + getColumn("GasPhaseFraction").assertUnitRange(); +} + + +const TableColumn& MsfnTable::getGasPhaseFractionColumn() const { + return SimpleTable::getColumn(0); +} + +const TableColumn& MsfnTable::getGasSolventRelpermMultiplierColumn() const { + return SimpleTable::getColumn(1); +} + +const TableColumn& MsfnTable::getOilRelpermMultiplierColumn() const { + return SimpleTable::getColumn(2); +} + +} // namespace Opm diff --git a/opm/parser/eclipse/EclipseState/Tables/WatvisctTable.hpp b/opm/parser/eclipse/EclipseState/Tables/WatvisctTable.hpp index 3464e378a..6824b7f55 100644 --- a/opm/parser/eclipse/EclipseState/Tables/WatvisctTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/WatvisctTable.hpp @@ -20,28 +20,15 @@ #define OPM_PARSER_WATVISCT_TABLE_HPP #include "SimpleTable.hpp" -#include -#include namespace Opm { class WatvisctTable : public SimpleTable { public: - WatvisctTable(std::shared_ptr< const DeckItem > item) - { - m_schema = std::make_shared( ); + WatvisctTable( std::shared_ptr< const DeckItem > item ); - m_schema->addColumn(ColumnSchema("Temperature" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); - m_schema->addColumn(ColumnSchema("Viscosity" , Table::DECREASING , Table::DEFAULT_NONE)); - - SimpleTable::init(item); - } - - const TableColumn& getTemperatureColumn() const - { return SimpleTable::getColumn(0); } - - const TableColumn& getWaterViscosityColumn() const - { return SimpleTable::getColumn(1); } + const TableColumn& getTemperatureColumn() const; + const TableColumn& getWaterViscosityColumn() const; }; } diff --git a/opm/parser/eclipse/EclipseState/Tables/tests/SimpleTableTests.cpp b/opm/parser/eclipse/EclipseState/Tables/tests/SimpleTableTests.cpp index 964b6608f..047994759 100644 --- a/opm/parser/eclipse/EclipseState/Tables/tests/SimpleTableTests.cpp +++ b/opm/parser/eclipse/EclipseState/Tables/tests/SimpleTableTests.cpp @@ -24,10 +24,11 @@ #include -#include -#include #include #include +#include +#include +#include using namespace Opm; diff --git a/opm/parser/eclipse/EclipseState/Tables/tests/TableManagerTests.cpp b/opm/parser/eclipse/EclipseState/Tables/tests/TableManagerTests.cpp index 4d1bfd4e5..9a4ee9251 100644 --- a/opm/parser/eclipse/EclipseState/Tables/tests/TableManagerTests.cpp +++ b/opm/parser/eclipse/EclipseState/Tables/tests/TableManagerTests.cpp @@ -40,6 +40,7 @@ #include #include #include +#include #include diff --git a/opm/parser/eclipse/IntegrationTests/ParseMiscible.cpp b/opm/parser/eclipse/IntegrationTests/ParseMiscible.cpp index 277e17bb7..150b47668 100644 --- a/opm/parser/eclipse/IntegrationTests/ParseMiscible.cpp +++ b/opm/parser/eclipse/IntegrationTests/ParseMiscible.cpp @@ -30,6 +30,10 @@ #include #include +#include +#include +#include +#include using namespace Opm; diff --git a/opm/parser/eclipse/IntegrationTests/Polymer.cpp b/opm/parser/eclipse/IntegrationTests/Polymer.cpp index 0cdcfdc49..4db5b524b 100644 --- a/opm/parser/eclipse/IntegrationTests/Polymer.cpp +++ b/opm/parser/eclipse/IntegrationTests/Polymer.cpp @@ -25,6 +25,10 @@ #include #include #include +#include +#include +#include +#include using namespace Opm;