Merge pull request #1806 from goncalvesmachadoc/salt

finalizeSaltTables
This commit is contained in:
Joakim Hove
2020-08-14 12:55:49 +02:00
committed by GitHub
14 changed files with 553 additions and 38 deletions

View File

@@ -25,11 +25,15 @@
#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>
#include <opm/parser/eclipse/EclipseState/Tables/PvtwsaltTable.hpp>
#include <opm/parser/eclipse/EclipseState/Tables/RwgsaltTable.hpp>
#include <opm/parser/eclipse/EclipseState/Tables/SaltvdTable.hpp>
#include <opm/parser/eclipse/EclipseState/Tables/SaltpvdTable.hpp>
#include <opm/parser/eclipse/EclipseState/Tables/PermfactTable.hpp>
#include <opm/parser/eclipse/EclipseState/Tables/TableManager.hpp>
// keyword specific table classes
@@ -52,27 +56,41 @@ BOOST_AUTO_TEST_CASE( Brine ) {
"TABDIMS\n"
"1 1/\n"
"\n"
"PVTWSALT\n"
" 1000/\n"
" 0 1 2 3 4 \n"
" 10 11 12 13 14/\n"
" \n"
"BDENSITY\n"
" 1000 1050 /\n"
"\n"
"EQLDIMS\n"
"1 /\n"
"\n"
"SALTVD\n"
"500 0\n"
"550 50/\n";
"PVTWSALT\n"
" 1000 0.0/\n"
" 0 1 2 3 4 \n"
" 10 11 12 13 14/\n"
"\n"
"RWGSALT\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"
"/ \n"
"BDENSITY\n"
" 1000 1050 /\n"
"\n"
"SALTVD\n"
"500 0\n"
"550 50/\n"
"\n"
"SALTPVD\n"
"500 0\n"
"550 0.5/\n";
Opm::Parser parser;
auto deck = parser.parseString(deckData);
Opm::TableManager tables(deck);
const auto& PvtwsaltTables = tables.getPvtwSaltTables( );
BOOST_CHECK_EQUAL( 1 , PvtwsaltTables.size() );
BOOST_CHECK_EQUAL(1 , PvtwsaltTables.size() );
BOOST_CHECK_EQUAL(2, PvtwsaltTables[0].size());
const auto& PvtwsaltTable1 = PvtwsaltTables[0];
@@ -90,6 +108,21 @@ BOOST_AUTO_TEST_CASE( Brine ) {
BOOST_CHECK_CLOSE (PvtwsaltTable1.getReferencePressureValue(), 1000*1e5, 1e-5);
const auto& RwgsaltTables = tables.getRwgSaltTables( );
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], 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);
const auto& BdensityTables = tables.getBrineDensityTables( );
const auto& BdensityTable1 = BdensityTables[0];
@@ -100,9 +133,21 @@ BOOST_AUTO_TEST_CASE( Brine ) {
const Opm::TableContainer& saltvdTables = tables.getSaltvdTables();
const auto& saltvdTable = saltvdTables.getTable<Opm::SaltvdTable>(0);
BOOST_CHECK_EQUAL(saltvdTable.getDepthColumn() .size(), 2);
BOOST_CHECK_EQUAL(saltvdTable.getDepthColumn().size(), 2);
BOOST_CHECK_CLOSE (saltvdTable.getSaltColumn() [1],50, 1e-5);
const Opm::TableContainer& saltpvdTables = tables.getSaltpvdTables();
const auto& saltpvdTable = saltpvdTables.getTable<Opm::SaltpvdTable>(0);
BOOST_CHECK_EQUAL(saltpvdTable.getDepthColumn().size(), 2);
BOOST_CHECK_CLOSE(saltpvdTable.getSaltpColumn() [1],0.5, 1e-5);
const Opm::TableContainer& permfactTables = tables.getPermfactTables();
const auto& permfactTable = permfactTables.getTable<Opm::PermfactTable>(0);
BOOST_CHECK_EQUAL(permfactTable.getPorosityChangeColumn().size(), 4);
BOOST_CHECK_CLOSE(permfactTable.getPermeabilityMultiplierColumn() [3],1.5, 1e-5);
}