Merge pull request #945 from joakim-hove/keywords-z

Keywords Z and W
This commit is contained in:
Joakim Hove
2019-08-15 14:29:54 +02:00
committed by GitHub
11 changed files with 67 additions and 6 deletions

View File

@@ -1030,14 +1030,17 @@ namespace {
const Dimension& UnitSystem::getNewDimension(const std::string& dimension) {
if( !hasDimension( dimension ) )
this->addDimension( parse( dimension ) );
this->addDimension( this->parse( dimension ) );
return getDimension( dimension );
}
const Dimension& UnitSystem::getDimension(const std::string& dimension) const {
return this->m_dimensions.at( dimension );
auto iter = this->m_dimensions.find(dimension);
if (iter == this->m_dimensions.end())
throw std::out_of_range("The dimension: '" + dimension + "' was not recognized");
return iter->second;
}
@@ -1083,7 +1086,7 @@ namespace {
double SIfactor = 1.0;
for( const auto& x : dimensionList ) {
auto dim = getDimension( x );
auto dim = this->getDimension( x );
// all constituing dimension must be compositable. The
// only exception is if there is the "composite" dimension
@@ -1103,12 +1106,12 @@ namespace {
throw std::invalid_argument("Dimension string can only have one division sign '/'");
const bool haveDivisor = divCount == 1;
if( !haveDivisor ) return parseFactor( dimension );
if( !haveDivisor ) return this->parseFactor( dimension );
std::vector<std::string> parts;
boost::split(parts , dimension , boost::is_any_of("/"));
Dimension dividend = parseFactor( parts[0] );
Dimension divisor = parseFactor( parts[1] );
Dimension dividend = this->parseFactor( parts[0] );
Dimension divisor = this->parseFactor( parts[1] );
if (dividend.getSIOffset() != 0.0 || divisor.getSIOffset() != 0.0)
throw std::invalid_argument("Composite dimensions cannot currently require a conversion offset");

View File

@@ -0,0 +1,11 @@
{"name" : "WAGHYSTR" , "sections" : ["PROPS"], "size" : {"keyword":"TABDIMS" , "item":"NTSFUN"},
"description": "The EQUIL item is used when equilibrationg the model. The item should consist of one record for each PVT region",
"items" :
[{"name" : "LANDS_PARAMETER", "value_type" : "DOUBLE"},
{"name" : "SECONDARY_DRAINAGE_REDUCTION", "value_type" : "DOUBLE", "default" : 0.0} ,
{"name" : "GAS_MODEL", "value_type" : "STRING", "default" :"YES"},
{"name" : "RES_OIL", "value_type" : "STRING", "default" :"YES"},
{"name" : "WATER_MODEL", "value_type" : "STRING", "default" :"YES"},
{"name" : "IMB_LINEAR_FRACTION", "value_type" : "DOUBLE", "default" : 0.1},
{"name" : "THREEPHASE_SAT_LIMIT", "value_type" : "DOUBLE", "default" : 0.001} ,
{"name" : "RES_OIL_MOD_FRACTION", "value_type" : "DOUBLE", "default" : 1.0}]}

View File

@@ -0,0 +1,3 @@
{"name" : "WAITBAL" , "sections" : ["SCHEDULE"], "size": 1,
"items": [{"name" : "WAIT_NETWORK_BALANCE", "value_type" : "STRING", "default": "NO" }]}

View File

@@ -0,0 +1,4 @@
{"name" : "WALKALIN" , "sections" : ["SCHEDULE"], "items" : [
{"name" : "WELL", "value_type" : "STRING" },
{"name" : "ALKALINE_CONCENTRAION" , "value_type" : "UDA", "dimension": "Mass/LiquidSurfaceVolume"}
]}

View File

@@ -0,0 +1,4 @@
{"name" : "WALQCALC" , "sections" : ["SCHEDULE"], "items" : [
{"name" : "WELL", "value_type" : "STRING" },
{"name" : "ALQ_DEF" , "value_type" : "STRING", "default" : "NONE"}
]}

View File

@@ -0,0 +1,3 @@
{"name" : "WAPI" , "sections" : ["SCHEDULE"], "items" :
[{"name" : "WELL", "value_type" : "STRING" },
{"name" : "API" , "value_type" : "UDA"}]}

View File

@@ -0,0 +1,10 @@
{"name" : "WBHGLR" , "sections" : ["SCHEDULE"], "items" :
[{"name" : "WELL" , "value_type" : "STRING"},
{"name" : "MAX_GLR_CUTBACK" , "value_type" : "DOUBLE" , "default" : 1E20, "dimension": "1"},
{"name" : "MIN_GLR_CUTBACK_REVERSE" , "value_type" : "DOUBLE", "dimension" : "1", "default" : 1E20},
{"name" : "RATE_CUTBACK_FACTOR", "value_type" : "DOUBLE", "default" : 1.0},
{"name" : "PHASE" , "value_type" : "STRING" , "default" : "RESV"},
{"name" : "MAX_GLR_ELIMIT" , "value_type" : "DOUBLE" , "default" : 1E20, "dimension": "1"},
{"name" : "WORKOVER_ACTION" , "value_type" : "STRING" , "default" : "NONE"},
{"name" : "WORKOVER_REMOVE_CUTBACKS" , "value_type" : "STRING" , "default" : "NO"}]}

View File

@@ -0,0 +1,5 @@
{"name" : "WBOREVOL" , "sections" : ["SCHEDULE"], "items" :
[{"name" : "WELL", "value_type" : "STRING"},
{"name" : "WELLBORE_VOL", "value_type" : "DOUBLE" , "default" : 1E-5, "dimension": "Length*Length*Length"},
{"name" : "START_BHP" , "value_type" : "DOUBLE", "dimension" : "Pressure"}]}

View File

@@ -0,0 +1,5 @@
{"name" : "WCALCVAL" , "sections" : ["SCHEDULE"], "items" : [
{"name" : "WELL" , "value_type" : "STRING" },
{"name" : "CALORIFIC_GAS_VALUE" , "value_type" : "DOUBLE", "dimension": "Energy/GasSurfaceVolume" }
]}

View File

@@ -0,0 +1,4 @@
{
"name" : "ZIPP2OFF",
"sections" : ["SCHEDULE"]
}

View File

@@ -415,9 +415,17 @@ set( keywords
000_Eclipse100/V/VFPPDIMS
000_Eclipse100/V/VFPPROD
000_Eclipse100/V/VISCREF
000_Eclipse100/W/WAGHYSTR
000_Eclipse100/W/WAITBAL
000_Eclipse100/W/WALKALIN
000_Eclipse100/W/WALQCALC
000_Eclipse100/W/WAPI
000_Eclipse100/W/WARN
000_Eclipse100/W/WATER
000_Eclipse100/W/WATVISCT
000_Eclipse100/W/WBHGLR
000_Eclipse100/W/WBOREVOL
000_Eclipse100/W/WCALCVAL
000_Eclipse100/W/WCONHIST
000_Eclipse100/W/WCONINJ
000_Eclipse100/W/WCONINJE
@@ -462,6 +470,7 @@ set( keywords
000_Eclipse100/W/WTRACER
000_Eclipse100/Z/ZCORN
000_Eclipse100/Z/ZIPPY2
000_Eclipse100/Z/ZIPP2OFF
001_Eclipse300/B/BLOCK_PROBE300
001_Eclipse300/C/CIRCLE