Add FOAMMOB, FOAMOPTS and WFOAM keywords.

This commit is contained in:
Atgeirr Flø Rasmussen 2019-07-02 19:15:40 +02:00
parent 1cd6ebb403
commit 89acca0fd7
9 changed files with 43 additions and 3 deletions

View File

@ -78,6 +78,18 @@ FoamData::rockDensity() const
FoamConfig::FoamConfig(const Deck& deck)
{
if (deck.hasKeyword<ParserKeywords::FOAMOPTS>()) {
// We only support the default (GAS transport phase, TAB mobility reduction model)
// setup for foam at this point, so we detect and deal with it here even though we
// do not store any data related to it.
const auto& kw_foamopts = deck.getKeyword<ParserKeywords::FOAMOPTS>();
if (kw_foamopts.getRecord(0).getItem(0).get<std::string>(0) != "GAS") {
throw std::runtime_error("In FOAMOPTS, only the GAS transport phase is supported.");
}
if (kw_foamopts.getRecord(0).getItem(1).get<std::string>(0) != "TAB") {
throw std::runtime_error("In FOAMOPTS, only the TAB gas mobility reduction model is supported.");
}
}
if (deck.hasKeyword<ParserKeywords::FOAMFSC>()) {
const auto& kw_foamfsc = deck.getKeyword<ParserKeywords::FOAMFSC>();
if (!deck.hasKeyword<ParserKeywords::FOAMROCK>()) {

View File

@ -1,4 +1,4 @@
{"name" : "FOAMADS" , "sections" : ["SPECIAL", "PROPS"], "size" : {"keyword" : "TABDIMS" , "item" : "NTSFUN"} , "items" :
{"name" : "FOAMADS" , "sections" : ["PROPS"], "size" : {"keyword" : "TABDIMS" , "item" : "NTSFUN"} , "items" :
[
{"name":"DATA", "value_type":"DOUBLE","size_type":"ALL", "dimension":["FoamDensity", "1"]}
]

View File

@ -1,4 +1,4 @@
{"name" : "FOAMFSC" , "sections" : ["SPECIAL", "PROPS"], "size" : {"keyword" : "TABDIMS" , "item" : "NTSFUN"} , "items" :
{"name" : "FOAMFSC" , "sections" : ["PROPS"], "size" : {"keyword" : "TABDIMS" , "item" : "NTSFUN"} , "items" :
[
{"name" : "REF_SURF_CONC", "value_type" : "DOUBLE", "dimension" : "FoamSurfactantConcentration"},
{"name" : "EXPONENT", "value_type" : "DOUBLE", "default" : 1.0, "dimension" : "1"},

View File

@ -0,0 +1,7 @@
{"name" : "FOAMMOB" , "sections" : ["PROPS"], "size" : {"keyword" : "TABDIMS" , "item" : "NTPVT"} , "items" :
[
{"name":"DATA", "value_type":"DOUBLE","size_type":"ALL", "dimension":["FoamDensity", "1"]}
]
}

View File

@ -0,0 +1,6 @@
{"name" : "FOAMOPTS" , "sections" : ["PROPS"], "size" : 1, "items" :
[
{"name" : "TRANSPORT_PHASE" , "value_type" : "STRING", "default" : "GAS"},
{"name" : "MODEL" , "value_type" : "STRING"}
]
}

View File

@ -1,4 +1,4 @@
{"name" : "FOAMROCK" , "sections" : ["SPECIAL", "PROPS"], "size" : {"keyword":"TABDIMS" , "item":"NTSFUN"}, "items":
{"name" : "FOAMROCK" , "sections" : ["PROPS"], "size" : {"keyword":"TABDIMS" , "item":"NTSFUN"}, "items":
[ {"name" : "ADSORPTION_INDEX", "value_type" : "INT", "default" : 1},
{"name" : "ROCK_DENSITY", "value_type" : "DOUBLE", "dimension" : "Density"}
]

View File

@ -0,0 +1,8 @@
{
"name" : "WFOAM",
"sections" : [ "SCHEDULE" ],
"items" :
[{"name" : "WELL" , "value_type" : "STRING"},
{"name" : "FOAM_CONCENTRATION" , "value_type" : "UDA" , "dimension" : "FoamDensity"}
]
}

View File

@ -111,6 +111,8 @@ set( keywords
000_Eclipse100/F/FOAM
000_Eclipse100/F/FOAMADS
000_Eclipse100/F/FOAMFSC
000_Eclipse100/F/FOAMMOB
000_Eclipse100/F/FOAMOPTS
000_Eclipse100/F/FOAMROCK
000_Eclipse100/F/FRICTION
000_Eclipse100/F/FULLIMP
@ -407,6 +409,7 @@ set( keywords
000_Eclipse100/W/WELSPECL
000_Eclipse100/W/WELSPECS
000_Eclipse100/W/WELTARG
000_Eclipse100/W/WFOAM
000_Eclipse100/W/WGASPROD
000_Eclipse100/W/WGRUPCON
000_Eclipse100/W/WHISTCTL

View File

@ -75,6 +75,10 @@ START
8 MAR 1998 /
PROPS
FOAMOPTS
GAS TAB /
FOAMFSC
1 2 0.3 /
4 5 /