From f2e94061d8ac94fc15353749412ad0277b3f886d Mon Sep 17 00:00:00 2001 From: Joakim Hove Date: Wed, 15 Jun 2016 17:27:43 +0200 Subject: [PATCH] Added Json config for new keywords. --- .../eclipse/Parser/tests/ParserTests.cpp | 21 ++++++++++++++++++- .../share/keywords/000_Eclipse100/A/AQUANCON | 15 +++++++++++++ .../share/keywords/000_Eclipse100/A/AQUFETP | 11 ++++++++++ .../000_Eclipse100/A/AQUIFER_PROBE_ANALYTIC | 8 +++++++ .../share/keywords/000_Eclipse100/D/DATUM | 4 ++++ .../share/keywords/000_Eclipse100/D/DUMPFLUX | 1 + .../share/keywords/000_Eclipse100/G/GRAVITY | 5 +++++ .../share/keywords/000_Eclipse100/R/RPTREGS | 3 +++ .../share/keywords/000_Eclipse100/T/TNUM | 4 ++++ .../share/keywords/000_Eclipse100/W/WDRILTIM | 5 +++++ .../share/keywords/000_Eclipse100/W/WLIFT | 14 +++++++++++++ 11 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 opm/parser/share/keywords/000_Eclipse100/A/AQUANCON create mode 100644 opm/parser/share/keywords/000_Eclipse100/A/AQUFETP create mode 100644 opm/parser/share/keywords/000_Eclipse100/A/AQUIFER_PROBE_ANALYTIC create mode 100644 opm/parser/share/keywords/000_Eclipse100/D/DATUM create mode 100644 opm/parser/share/keywords/000_Eclipse100/D/DUMPFLUX create mode 100644 opm/parser/share/keywords/000_Eclipse100/G/GRAVITY create mode 100644 opm/parser/share/keywords/000_Eclipse100/R/RPTREGS create mode 100644 opm/parser/share/keywords/000_Eclipse100/T/TNUM create mode 100644 opm/parser/share/keywords/000_Eclipse100/W/WDRILTIM create mode 100644 opm/parser/share/keywords/000_Eclipse100/W/WLIFT diff --git a/opm/parser/eclipse/Parser/tests/ParserTests.cpp b/opm/parser/eclipse/Parser/tests/ParserTests.cpp index bfc253e19..e3748968c 100644 --- a/opm/parser/eclipse/Parser/tests/ParserTests.cpp +++ b/opm/parser/eclipse/Parser/tests/ParserTests.cpp @@ -331,9 +331,28 @@ SWOF 0.7500, 3.6350e-01, 4.4820e-04 0 0.8000, 4.7192e-01, 2.8000e-05 0 0.8500, 6.0000e-01, 0.0000e+00 0 - 0.9000, 7.4939e-01, 0.0000e+00 0 + 0.9000, 7.4939e-01, 0.0000e+00 0 / )"; BOOST_CHECK_NO_THROW( Parser().newDeckFromString( deck, ParseContext() ) ); } + + +BOOST_AUTO_TEST_CASE(ParseTNUM) { + const char * deck1 = + "REGIONS\n" + "TNUMFSGS\n" + " 100*1/\n" + "\n" + "TNUMFXXX\n" + " 100*1/\n" + "\n"; + + Opm::ParseContext parseContext; + Opm::Parser parser; + auto deck = parser.parseString( deck1 , parseContext ); + BOOST_CHECK( deck->hasKeyword("TNUMFSGS")); + BOOST_CHECK( deck->hasKeyword("TNUMFXXX")); +} + diff --git a/opm/parser/share/keywords/000_Eclipse100/A/AQUANCON b/opm/parser/share/keywords/000_Eclipse100/A/AQUANCON new file mode 100644 index 000000000..da6d1271a --- /dev/null +++ b/opm/parser/share/keywords/000_Eclipse100/A/AQUANCON @@ -0,0 +1,15 @@ +{"name" : "AQUANCON" , "sections" : ["GRID" , "SOLUTION"], + "items" : [ + {"name" : "AQUIFER_ID" , "value_type" : "INT"}, + {"name" : "I1" , "value_type" : "INT"}, + {"name" : "I2" , "value_type" : "INT"}, + {"name" : "J1" , "value_type" : "INT"}, + {"name" : "J2" , "value_type" : "INT"}, + {"name" : "K1" , "value_type" : "INT"}, + {"name" : "K2" , "value_type" : "INT"}, + {"name" : "FACE" , "value_type" : "STRING"}, + {"name" : "INFLUX_COEFF" , "value_type" : "DOUBLE" , "dimension" : "Length*Length"}, + {"name" : "INFLUX_MULT" , "value_type" : "DOUBLE" , "default_value" : 1.0}, + {"name" : "CONNECT_ADJOINING_ACTIVE_CELL" , "value_type" : "STRING" , "default_value" : "NO"}]} + + diff --git a/opm/parser/share/keywords/000_Eclipse100/A/AQUFETP b/opm/parser/share/keywords/000_Eclipse100/A/AQUFETP new file mode 100644 index 000000000..f1b3d8bcb --- /dev/null +++ b/opm/parser/share/keywords/000_Eclipse100/A/AQUFETP @@ -0,0 +1,11 @@ +{"name" : "AQUFETP" , "sections" : ["SOLUTION" , "SCHEDULE"], "size" : {"keyword":"AQUDIMS" , "item":"NANAQU"}, + "items" : [ + {"name" : "ID" , "value_type" : "INT"}, + {"name" : "DATUM_DEPTH" , "value_type" : "DOUBLE" , "dimension" : "Length"}, + {"name" : "P0" , "value_type" : "DOUBLE" , "dimension" : "Pressure"}, + {"name" : "V0" , "value_type" : "DOUBLE" , "dimension" : "Length*Length*Length"}, + {"name" : "COMPRESSIBILITY" , "value_type" : "DOUBLE" , "dimension" : "1/Pressure"}, + {"name" : "PI" , "value_type" : "DOUBLE" , "dimension" : "ReservoirVolume/Pressure*Time"}, + {"name" : "WATER_TABLE" , "value_type" : "INT" , "default_value" : 1}, + {"name" : "SALINITY" , "value_type" : "DOUBLE" , "default_value" : 0 , "dimension" : "Salinity"}, + {"name" : "TEMP" , "value_type" : "DOUBLE" , " dimension" : "Temperature"}]} diff --git a/opm/parser/share/keywords/000_Eclipse100/A/AQUIFER_PROBE_ANALYTIC b/opm/parser/share/keywords/000_Eclipse100/A/AQUIFER_PROBE_ANALYTIC new file mode 100644 index 000000000..375e3fba1 --- /dev/null +++ b/opm/parser/share/keywords/000_Eclipse100/A/AQUIFER_PROBE_ANALYTIC @@ -0,0 +1,8 @@ +{"name" : "AQUIFER_PROBE_ANALYTIC" , + "sections" : ["SUMMARY"], + "data" : {"value_type" : "INT"}, + "deck_name_regex" : "AA.+"} + + + + diff --git a/opm/parser/share/keywords/000_Eclipse100/D/DATUM b/opm/parser/share/keywords/000_Eclipse100/D/DATUM new file mode 100644 index 000000000..0afc763a7 --- /dev/null +++ b/opm/parser/share/keywords/000_Eclipse100/D/DATUM @@ -0,0 +1,4 @@ +{"name" : "DATUM" , "sections" : ["SOLUTION"] , "size" : 1, +"items" : [ + {"name" : "DEPTH" , "value_type" : "DOUBLE" , "dimension" : "Length"}]} + \ No newline at end of file diff --git a/opm/parser/share/keywords/000_Eclipse100/D/DUMPFLUX b/opm/parser/share/keywords/000_Eclipse100/D/DUMPFLUX new file mode 100644 index 000000000..592fec119 --- /dev/null +++ b/opm/parser/share/keywords/000_Eclipse100/D/DUMPFLUX @@ -0,0 +1 @@ +{"name" : "DUMPFLUX" , "sections" : ["GRID"]} diff --git a/opm/parser/share/keywords/000_Eclipse100/G/GRAVITY b/opm/parser/share/keywords/000_Eclipse100/G/GRAVITY new file mode 100644 index 000000000..7fef5d613 --- /dev/null +++ b/opm/parser/share/keywords/000_Eclipse100/G/GRAVITY @@ -0,0 +1,5 @@ +{"name" : "GRAVITY" , "sections" : ["PROPS"] , "size" : {"keyword":"TABDIMS" , "item":"NTPVT"}, + "items" : [ + {"name" : "API_GRAVITY" , "value_type" : "DOUBLE" , "dimension" : "1" , "comment" : "Dimension should be API"}, + {"name" : "WATER_SP_GRAVITY" , "value_type" : "DOUBLE" , "default" : 1.0}, + {"name" : "GAS_SP_GRAVITY" , "value_type" : "DOUBLE" , "default" : 0.7773}]} diff --git a/opm/parser/share/keywords/000_Eclipse100/R/RPTREGS b/opm/parser/share/keywords/000_Eclipse100/R/RPTREGS new file mode 100644 index 000000000..5b9271567 --- /dev/null +++ b/opm/parser/share/keywords/000_Eclipse100/R/RPTREGS @@ -0,0 +1,3 @@ +{"name" : "RPTREGS" , "sections" : ["REGIONS"], "size" : 1, "items" : [ + {"name" : "MNEMONIC_LIST" , "size_type" : "ALL" , "value_type" : "STRING"}]} + diff --git a/opm/parser/share/keywords/000_Eclipse100/T/TNUM b/opm/parser/share/keywords/000_Eclipse100/T/TNUM new file mode 100644 index 000000000..c40745672 --- /dev/null +++ b/opm/parser/share/keywords/000_Eclipse100/T/TNUM @@ -0,0 +1,4 @@ +{"name" : "TNUM" , + "deck_name_regex":"TNUM(F|S).{1,3}", + "sections" : ["REGIONS"], + "data" : {"value_type" : "INT" }} diff --git a/opm/parser/share/keywords/000_Eclipse100/W/WDRILTIM b/opm/parser/share/keywords/000_Eclipse100/W/WDRILTIM new file mode 100644 index 000000000..558ba5740 --- /dev/null +++ b/opm/parser/share/keywords/000_Eclipse100/W/WDRILTIM @@ -0,0 +1,5 @@ +{"name" : "WDRILTIM" , "sections" : ["SCHEDULE"], "items": + [{"name" : "WELL" , "value_type" : "STRING"}, + {"name" : "DRILL_TIME" , "value_type" : "DOUBLE" , "dimension" : "Time" , "default_value" : 0.0}, + {"name" : "WORKOVER_CLOSE" , "value_type" : "STRING" , "default_value" : "NO"}, + {"name" : "COMPARTMENT" , "value_type" : "INT" , "default_value" : 0}]} diff --git a/opm/parser/share/keywords/000_Eclipse100/W/WLIFT b/opm/parser/share/keywords/000_Eclipse100/W/WLIFT new file mode 100644 index 000000000..609e1a0a8 --- /dev/null +++ b/opm/parser/share/keywords/000_Eclipse100/W/WLIFT @@ -0,0 +1,14 @@ +{"name" : "WLIFT" , "sections" : ["SCHEDULE"], +"items" : +[{"name" : "WELL" , "value_type" : "STRING"}, + {"name" : "TRIGGER_LIMIT" , "value_type" : "DOUBLE" , "default_value" : 0.0, "comment" : "The dimension here depends on the phase - must be handled in the application"}, + {"name" : "TRIGGRE_PHASE" , "value_type" : "STRING" , "default_value" : "OIL"}, + {"name" : "NEW_VFP_TABLE" , "value_type" : "INT" , "default_value" : 0}, + {"name" : "NEW_ALQ_VALUE" , "value_type" : "DOUBLE" , "default_value" : 0.0 , "comment" : "The dimension here depends on the phase - must be handled in the application"}, + {"name" : "NEW_WEFAC" , "value_type" : "DOUBLE" , "default_value" : 0.0}, + {"name" : "WWCT_LIMIT" , "value_type" : "DOUBLE" , "default_value" : 0.0}, + {"name" : "NEW_THP_LIMIT" , "value_type" : "DOUBLE" , "default_value" : 0.0 , "dimension" : "Pressure"}, + {"name" : "WGOR_LIMIT" , "value_type" : "DOUBLE" , "default_value" : 0.0}, + {"name" : "ALQ_SHIFT" , "value_type" : "DOUBLE" , "default_value" : 1e20}, + {"name" : "THP_SHIFT" , "value_type" : "DOUBLE" , "default_value" : 1e20 , "dimension" : "Pressure"}]} + \ No newline at end of file