From 9badf045a96bf32b422c8a7b6048898a9b7951f2 Mon Sep 17 00:00:00 2001 From: Tor Harald Sandve Date: Tue, 1 Dec 2015 11:09:58 +0100 Subject: [PATCH] Add support for PMISC --- opm/parser/eclipse/CMakeLists.txt | 1 + .../EclipseState/Tables/TableManager.cpp | 4 ++++ .../EclipseState/Tables/TableManager.hpp | 2 ++ .../IntegrationTests/ParseMiscible.cpp | 23 +++++++++++++++++++ .../share/keywords/000_Eclipse100/P/PMISC | 5 ++++ 5 files changed, 35 insertions(+) create mode 100644 opm/parser/share/keywords/000_Eclipse100/P/PMISC diff --git a/opm/parser/eclipse/CMakeLists.txt b/opm/parser/eclipse/CMakeLists.txt index b58a846ef..0e1689de1 100644 --- a/opm/parser/eclipse/CMakeLists.txt +++ b/opm/parser/eclipse/CMakeLists.txt @@ -279,6 +279,7 @@ EclipseState/Tables/TableContainer.hpp EclipseState/Tables/SorwmisTable.hpp EclipseState/Tables/SgcwmisTable.hpp EclipseState/Tables/MiscTable.hpp +EclipseState/Tables/PmiscTable.hpp # Utility/WconinjeWrapper.hpp Utility/CompdatWrapper.hpp diff --git a/opm/parser/eclipse/EclipseState/Tables/TableManager.cpp b/opm/parser/eclipse/EclipseState/Tables/TableManager.cpp index 76cebac27..923bfb7c6 100644 --- a/opm/parser/eclipse/EclipseState/Tables/TableManager.cpp +++ b/opm/parser/eclipse/EclipseState/Tables/TableManager.cpp @@ -154,6 +154,8 @@ namespace Opm { addTables( "SORWMIS", numMiscibleTables); addTables( "SGCWMIS", numMiscibleTables); addTables( "MISC", numMiscibleTables); + addTables( "PMISC", numMiscibleTables); + } @@ -219,6 +221,8 @@ namespace Opm { initSimpleTableContainer(deck, "SORWMIS", numMiscibleTables); initSimpleTableContainer(deck, "SGCWMIS", numMiscibleTables); initSimpleTableContainer(deck, "MISC", numMiscibleTables); + initSimpleTableContainer(deck, "PMISC", numMiscibleTables); + } initSimpleTableContainer(deck, "PVDG", m_tabdims->getNumPVTTables()); diff --git a/opm/parser/eclipse/EclipseState/Tables/TableManager.hpp b/opm/parser/eclipse/EclipseState/Tables/TableManager.hpp index 9216768f6..aa74aeeb5 100644 --- a/opm/parser/eclipse/EclipseState/Tables/TableManager.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/TableManager.hpp @@ -63,6 +63,8 @@ #include #include #include +#include + diff --git a/opm/parser/eclipse/IntegrationTests/ParseMiscible.cpp b/opm/parser/eclipse/IntegrationTests/ParseMiscible.cpp index b90ce246a..1a070cade 100644 --- a/opm/parser/eclipse/IntegrationTests/ParseMiscible.cpp +++ b/opm/parser/eclipse/IntegrationTests/ParseMiscible.cpp @@ -198,3 +198,26 @@ BOOST_AUTO_TEST_CASE(PARSE_MISC) BOOST_CHECK_EQUAL(0.1, miscTable3.getSolventFractionColumn()[1]); BOOST_CHECK_EQUAL(0.5, miscTable3.getMiscibilityColumn()[1]); } + +const char *pmiscData = "\n\ +MISCIBLE\n\ +1 3 /\n\ +\n\ +PMISC\n\ +100 0.0 \n\ +200 0.5 \n\ +500 1.0 /\n\ +\n"; + +BOOST_AUTO_TEST_CASE(PARSE_PMISC) +{ +ParserPtr parser(new Parser()); + +// test table input +DeckPtr deck = parser->parseString(pmiscData, ParseMode()); +Opm::PmiscTable pmiscTable; +pmiscTable.initFORUNITTESTONLY(deck->getKeyword("PMISC")->getRecord(0)->getItem(0)); +BOOST_CHECK_EQUAL(3U, pmiscTable.getOilPhasePressureColumn().size()); +BOOST_CHECK_EQUAL(200*1e5, pmiscTable.getOilPhasePressureColumn()[1]); +BOOST_CHECK_EQUAL(0.5, pmiscTable.getMiscibilityColumn()[1]); +} diff --git a/opm/parser/share/keywords/000_Eclipse100/P/PMISC b/opm/parser/share/keywords/000_Eclipse100/P/PMISC new file mode 100644 index 000000000..2dd963eae --- /dev/null +++ b/opm/parser/share/keywords/000_Eclipse100/P/PMISC @@ -0,0 +1,5 @@ +{"name" : "PMISC" , "sections" : ["PROPS"], "size" : {"keyword" : "MISCIBLE" , "item" : "NTMISC"}, + "items" : [ + {"name":"DATA", "value_type":"DOUBLE", "size_type" : "ALL" , "dimension" : ["Pressure","1"]} + ] +}