Merge pull request #2 from joakim-hove/salt

Salt
This commit is contained in:
Cintia Goncalves Machado
2020-08-14 09:51:33 +02:00
committed by GitHub
6 changed files with 36 additions and 44 deletions

View File

@@ -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);

View File

@@ -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];

View File

@@ -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());
{

View File

@@ -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"
]
}
]
}

View File

@@ -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"]
}
]
}

View File

@@ -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);
}