@@ -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");
|
||||
|
||||
@@ -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}]}
|
||||
@@ -0,0 +1,3 @@
|
||||
{"name" : "WAITBAL" , "sections" : ["SCHEDULE"], "size": 1,
|
||||
"items": [{"name" : "WAIT_NETWORK_BALANCE", "value_type" : "STRING", "default": "NO" }]}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
{"name" : "WALKALIN" , "sections" : ["SCHEDULE"], "items" : [
|
||||
{"name" : "WELL", "value_type" : "STRING" },
|
||||
{"name" : "ALKALINE_CONCENTRAION" , "value_type" : "UDA", "dimension": "Mass/LiquidSurfaceVolume"}
|
||||
]}
|
||||
@@ -0,0 +1,4 @@
|
||||
{"name" : "WALQCALC" , "sections" : ["SCHEDULE"], "items" : [
|
||||
{"name" : "WELL", "value_type" : "STRING" },
|
||||
{"name" : "ALQ_DEF" , "value_type" : "STRING", "default" : "NONE"}
|
||||
]}
|
||||
@@ -0,0 +1,3 @@
|
||||
{"name" : "WAPI" , "sections" : ["SCHEDULE"], "items" :
|
||||
[{"name" : "WELL", "value_type" : "STRING" },
|
||||
{"name" : "API" , "value_type" : "UDA"}]}
|
||||
@@ -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"}]}
|
||||
|
||||
@@ -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"}]}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
{"name" : "WCALCVAL" , "sections" : ["SCHEDULE"], "items" : [
|
||||
{"name" : "WELL" , "value_type" : "STRING" },
|
||||
{"name" : "CALORIFIC_GAS_VALUE" , "value_type" : "DOUBLE", "dimension": "Energy/GasSurfaceVolume" }
|
||||
]}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"name" : "ZIPP2OFF",
|
||||
"sections" : ["SCHEDULE"]
|
||||
}
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user