add the PORV grid property and use NaNs as default values for most double grid property

when it comes to PORV, the final pore volumes of logically Cartesian
grids are hard to implement at this abstraction level because pore
volumes may be either specified using the PORO or by the PORV keywords
and both of them are grid properties. This means that to calculate the
pore volumes using the porosity, the porosity grid property must be
already finished when creating PORV. Because of potential interactions
between the PORV and PORO grid properties this is not possible to do
canonically at the grid property initializer stage...
This commit is contained in:
Andreas Lauser
2014-08-29 12:54:58 +02:00
parent 45619a93f2
commit 350c92375e

View File

@@ -389,6 +389,7 @@ namespace Opm {
// SupportedIntKeywordInfo( "FIP???" , 0 ),
SupportedIntKeywordInfo( "FIPNUM" , 1, "1" )};
double nan = std::numeric_limits<double>::quiet_NaN();
const auto eptLookup = std::make_shared<GridPropertyEndpointTableLookupInitializer<>>(*deck, *this);
// Note that the variants of grid keywords for radial grids
@@ -529,15 +530,21 @@ namespace Opm {
SupportedDoubleKeywordInfo( "ISWCRZ-" , eptLookup, "1" ),
// porosity
SupportedDoubleKeywordInfo( "PORO" , 0.0, "1" ),
SupportedDoubleKeywordInfo( "PORO" , nan, "1" ),
// pore volume
SupportedDoubleKeywordInfo( "PORV" , nan, "Volume" ),
// pore volume multipliers
SupportedDoubleKeywordInfo( "MULTPV", 1.0, "1" ),
// the permeability keywords
SupportedDoubleKeywordInfo( "PERMX" , 0.0, "Permeability" ),
SupportedDoubleKeywordInfo( "PERMY" , 0.0, "Permeability" ),
SupportedDoubleKeywordInfo( "PERMZ" , 0.0, "Permeability" ),
SupportedDoubleKeywordInfo( "PERMXY", 0.0, "Permeability" ), // E300 only
SupportedDoubleKeywordInfo( "PERMXZ", 0.0, "Permeability" ), // E300 only
SupportedDoubleKeywordInfo( "PERMYZ", 0.0, "Permeability" ), // E300 only
SupportedDoubleKeywordInfo( "PERMX" , nan, "Permeability" ),
SupportedDoubleKeywordInfo( "PERMY" , nan, "Permeability" ),
SupportedDoubleKeywordInfo( "PERMZ" , nan, "Permeability" ),
SupportedDoubleKeywordInfo( "PERMXY", nan, "Permeability" ), // E300 only
SupportedDoubleKeywordInfo( "PERMXZ", nan, "Permeability" ), // E300 only
SupportedDoubleKeywordInfo( "PERMYZ", nan, "Permeability" ), // E300 only
// gross-to-net thickness (acts as a multiplier for PORO
// and the permeabilities in the X-Y plane as well as for
@@ -551,12 +558,9 @@ namespace Opm {
SupportedDoubleKeywordInfo( "MULTX-", 1.0, "1" ),
SupportedDoubleKeywordInfo( "MULTY-", 1.0, "1" ),
SupportedDoubleKeywordInfo( "MULTZ-", 1.0, "1" ),
// initialisation
SupportedDoubleKeywordInfo( "SWATINIT" , 0.0, "1"),
// pore volume multipliers
SupportedDoubleKeywordInfo( "MULTPV", 1.0, "1" )
// initialisation
SupportedDoubleKeywordInfo( "SWATINIT" , 0.0, "1")
};
// create the grid properties