@@ -338,10 +338,9 @@ namespace Opm {
|
||||
rwgtables.resize(numTables);
|
||||
|
||||
const auto& keyword = deck.getKeyword("RWGSALT");
|
||||
size_t numEntries = keyword.size();
|
||||
size_t regionIdx = 0;
|
||||
for (unsigned lineIdx = 0; lineIdx < numEntries; lineIdx += 2) {
|
||||
rwgtables[regionIdx].init(keyword.getRecord(lineIdx+1));
|
||||
for (const auto& record : keyword) {
|
||||
rwgtables[regionIdx].init(record);
|
||||
++regionIdx;
|
||||
}
|
||||
assert(regionIdx == numTables);
|
||||
|
||||
@@ -68,7 +68,7 @@ namespace Opm {
|
||||
|
||||
std::vector<double> RwgsaltTable::getSaltConcentrationColumn() const
|
||||
{
|
||||
size_t tableindex = 0;
|
||||
size_t tableindex = 1;
|
||||
std::vector<double> saltConc(this->size());
|
||||
for(size_t i=0; i<this->size(); ++i){
|
||||
saltConc[i] = m_tableValues[tableindex];
|
||||
@@ -80,7 +80,7 @@ namespace Opm {
|
||||
|
||||
std::vector<double> RwgsaltTable::getVaporizedWaterGasRatioColumn() const
|
||||
{
|
||||
size_t tableindex = 1;
|
||||
size_t tableindex = 2;
|
||||
std::vector<double> vaporizedwatergasratio(this->size());
|
||||
for(size_t i=0; i<this->size(); ++i){
|
||||
vaporizedwatergasratio[i] = m_tableValues[tableindex];
|
||||
|
||||
@@ -476,8 +476,8 @@ namespace Opm {
|
||||
initSimpleTableContainer<RvvdTable>(deck, "RVVD" , m_eqldims.getNumEquilRegions());
|
||||
initSimpleTableContainer<PbvdTable>(deck, "PBVD" , m_eqldims.getNumEquilRegions());
|
||||
initSimpleTableContainer<PdvdTable>(deck, "PDVD" , m_eqldims.getNumEquilRegions());
|
||||
initSimpleTableContainer<SaltpvdTable>(deck, "SALTPVD" , m_eqldims.getNumEquilRegions());
|
||||
initSimpleTableContainer<SaltvdTable>(deck, "SALTVD" , m_eqldims.getNumEquilRegions());
|
||||
initSimpleTableContainer<SaltvdTable>(deck, "SALTRVD" , m_eqldims.getNumEquilRegions());
|
||||
initSimpleTableContainer<SaltvdTable>(deck, "PERMFACT" , m_eqldims.getNumEquilRegions());
|
||||
initSimpleTableContainer<AqutabTable>(deck, "AQUTAB" , m_aqudims.getNumInfluenceTablesCT());
|
||||
{
|
||||
|
||||
@@ -3,16 +3,19 @@
|
||||
"sections": [
|
||||
"PROPS"
|
||||
],
|
||||
"size": {
|
||||
"keyword": "EQLDIMS",
|
||||
"item": "NTEQUL"
|
||||
},
|
||||
"items": [
|
||||
{
|
||||
"name": "POROSITY",
|
||||
{
|
||||
"name": "DATA",
|
||||
"value_type": "DOUBLE",
|
||||
"dimension": "1"
|
||||
},
|
||||
{
|
||||
"name": "PERMFACTMULT",
|
||||
"value_type": "DOUBLE",
|
||||
"dimension": "1"
|
||||
}
|
||||
"size_type": "ALL",
|
||||
"dimension": [
|
||||
"1",
|
||||
"1"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -3,27 +3,16 @@
|
||||
"sections": [
|
||||
"PROPS"
|
||||
],
|
||||
"num_tables": {
|
||||
"size": {
|
||||
"keyword": "TABDIMS",
|
||||
"item": "NTPVT"
|
||||
},
|
||||
"items": [
|
||||
{
|
||||
"name": "RESERVOIR_PRESSURE",
|
||||
"value_type": "DOUBLE",
|
||||
"dimension": "Pressure"
|
||||
},
|
||||
{
|
||||
"name": "SALT_CONCENTRATION",
|
||||
"value_type": "DOUBLE",
|
||||
"size_type": "ALL",
|
||||
"dimension": "Mass/Length*Length*Length"
|
||||
},
|
||||
{
|
||||
"name": "DATA",
|
||||
"value_type": "DOUBLE",
|
||||
"size_type": "ALL",
|
||||
"value_type":"DOUBLE",
|
||||
"dimension": "OilDissolutionFactor"
|
||||
"dimension": ["Pressure","Mass/Length*Length*Length", "OilDissolutionFactor"]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <opm/parser/eclipse/Parser/Parser.hpp>
|
||||
#include <opm/parser/eclipse/Deck/Deck.hpp>
|
||||
#include <opm/parser/eclipse/Units/UnitSystem.hpp>
|
||||
#include <opm/parser/eclipse/Units/Units.hpp>
|
||||
|
||||
// generic table classes
|
||||
#include <opm/parser/eclipse/EclipseState/Tables/SimpleTable.hpp>
|
||||
@@ -55,27 +56,27 @@ BOOST_AUTO_TEST_CASE( Brine ) {
|
||||
"TABDIMS\n"
|
||||
"1 1/\n"
|
||||
"\n"
|
||||
"EQLDIMS\n"
|
||||
"1 /\n"
|
||||
"\n"
|
||||
"PVTWSALT\n"
|
||||
" 1000 0.0/\n"
|
||||
" 0 1 2 3 4 \n"
|
||||
" 10 11 12 13 14/\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"RWGSALT\n"
|
||||
" 300 0.0 0.00013/ \n"
|
||||
" 600 0.5 0.000132/ \n"
|
||||
"/ \n"
|
||||
" 300 0.0 0.00013 \n"
|
||||
" 600 0.5 0.000132 \n"
|
||||
"/ \n"
|
||||
"PERMFACT\n"
|
||||
"0 0 \n"
|
||||
"0.5 0.5 \n"
|
||||
"1 1 \n"
|
||||
"1.5 1.5/\n"
|
||||
"1.5 1.5\n"
|
||||
"/ \n"
|
||||
"BDENSITY\n"
|
||||
" 1000 1050 /\n"
|
||||
"\n"
|
||||
"EQLDIMS\n"
|
||||
"1 /\n"
|
||||
"\n"
|
||||
"SALTVD\n"
|
||||
"500 0\n"
|
||||
"550 50/\n"
|
||||
@@ -106,21 +107,21 @@ BOOST_AUTO_TEST_CASE( Brine ) {
|
||||
BOOST_CHECK_CLOSE (PvtwsaltTable1.getViscosityColumn()[1], 13*0.001, 1e-5);
|
||||
|
||||
BOOST_CHECK_CLOSE (PvtwsaltTable1.getReferencePressureValue(), 1000*1e5, 1e-5);
|
||||
|
||||
|
||||
const auto& RwgsaltTables = tables.getRwgSaltTables( );
|
||||
BOOST_CHECK_EQUAL(2 , RwgsaltTables.size() );
|
||||
BOOST_CHECK_EQUAL(3, RwgsaltTables[0].size());
|
||||
BOOST_CHECK_EQUAL(1 , RwgsaltTables.size() );
|
||||
BOOST_CHECK_EQUAL(2, RwgsaltTables[0].size());
|
||||
|
||||
const auto& RwgsaltTable1 = RwgsaltTables[0];
|
||||
|
||||
BOOST_CHECK_EQUAL (RwgsaltTable1.getPressureColumn().size(), 2);
|
||||
BOOST_CHECK_CLOSE (RwgsaltTable1.getPressureColumn()[1], 600, 1e-5);
|
||||
BOOST_CHECK_EQUAL (RwgsaltTable1.getPressureColumn().size(), 2);
|
||||
BOOST_CHECK_CLOSE (RwgsaltTable1.getPressureColumn()[1], Metric::Pressure * 600, 1e-5);
|
||||
|
||||
BOOST_CHECK_EQUAL (RwgsaltTable1.getSaltConcentrationColumn().size(), 2);
|
||||
BOOST_CHECK_CLOSE (RwgsaltTable1.getSaltConcentrationColumn()[1], 0.5, 1e-5);
|
||||
|
||||
BOOST_CHECK_EQUAL (RwgsaltTable1.getVaporizedWaterGasRatioColumn().size(), 2);
|
||||
BOOST_CHECK_CLOSE (RwgsaltTable1.getVaporizedWaterGasRatioColumn()[0], 0.00013, 1e-5);
|
||||
BOOST_CHECK_CLOSE (RwgsaltTable1.getVaporizedWaterGasRatioColumn()[0], 0.00013, 1e-5);
|
||||
|
||||
const auto& BdensityTables = tables.getBrineDensityTables( );
|
||||
const auto& BdensityTable1 = BdensityTables[0];
|
||||
@@ -145,7 +146,7 @@ BOOST_AUTO_TEST_CASE( Brine ) {
|
||||
const auto& permfactTable = permfactTables.getTable<Opm::PermfactTable>(0);
|
||||
|
||||
BOOST_CHECK_EQUAL(permfactTable.getPorosityChangeColumn().size(), 4);
|
||||
BOOST_CHECK_CLOSE(permfactTable.getPermeabilityMultiplierColumn() [1],1.5, 1e-5);
|
||||
BOOST_CHECK_CLOSE(permfactTable.getPermeabilityMultiplierColumn() [3],1.5, 1e-5);
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user