Adds tablemanager scheme for aqutab + modifications to aquct and aquancon parsing
This commit is contained in:
@@ -44,14 +44,14 @@
|
||||
#include <opm/parser/eclipse/EclipseState/Tables/TableContainer.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Tables/VFPInjTable.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Tables/VFPProdTable.hpp>
|
||||
|
||||
#include <opm/parser/eclipse/EclipseState/Tables/Aqudims.hpp>
|
||||
#include <opm/parser/eclipse/Parser/MessageContainer.hpp>
|
||||
|
||||
namespace Opm {
|
||||
|
||||
class Eqldims;
|
||||
class Regdims;
|
||||
|
||||
|
||||
class TableManager {
|
||||
public:
|
||||
explicit TableManager( const Deck& deck );
|
||||
@@ -62,6 +62,7 @@ namespace Opm {
|
||||
|
||||
const Tabdims& getTabdims() const;
|
||||
const Eqldims& getEqldims() const;
|
||||
const Aqudims& getAqudims() const;
|
||||
|
||||
/*
|
||||
WIll return max{ Tabdims::NTFIP , Regdims::NTFIP }.
|
||||
@@ -99,6 +100,7 @@ namespace Opm {
|
||||
const TableContainer& getPlymaxTables() const;
|
||||
const TableContainer& getPlyrockTables() const;
|
||||
const TableContainer& getPlyshlogTables() const;
|
||||
const TableContainer& getAqutabTables() const;
|
||||
|
||||
const TableContainer& getSorwmisTables() const;
|
||||
const TableContainer& getSgcwmisTables() const;
|
||||
@@ -301,11 +303,13 @@ namespace Opm {
|
||||
Tabdims m_tabdims;
|
||||
std::shared_ptr<Regdims> m_regdims;
|
||||
std::shared_ptr<Eqldims> m_eqldims;
|
||||
Aqudims m_aqudims;
|
||||
|
||||
const bool hasImptvd;// if deck has keyword IMPTVD
|
||||
const bool hasEnptvd;// if deck has keyword ENPTVD
|
||||
const bool hasEqlnum;// if deck has keyword EQLNUM
|
||||
|
||||
|
||||
const JFunc m_jfunc;
|
||||
|
||||
MessageContainer m_messages;
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
#include <opm/parser/eclipse/Parser/ParserKeywords/P.hpp>
|
||||
#include <opm/parser/eclipse/Parser/ParserKeywords/T.hpp>
|
||||
#include <opm/parser/eclipse/Parser/ParserKeywords/V.hpp>
|
||||
#include <opm/parser/eclipse/Parser/ParserKeywords/A.hpp>
|
||||
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/ScheduleEnums.hpp> // Phase::PhaseEnum
|
||||
#include <opm/parser/eclipse/EclipseState/Tables/EnkrvdTable.hpp>
|
||||
@@ -68,12 +69,13 @@
|
||||
#include <opm/parser/eclipse/EclipseState/Tables/SwofTable.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Tables/TableContainer.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Tables/WatvisctTable.hpp>
|
||||
|
||||
#include <opm/parser/eclipse/EclipseState/Tables/AqutabTable.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Tables/JFunc.hpp>
|
||||
|
||||
#include <opm/parser/eclipse/EclipseState/Tables/Tabdims.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Tables/Eqldims.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Tables/Regdims.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Tables/Aqudims.hpp>
|
||||
|
||||
#include <opm/parser/eclipse/Units/Units.hpp>
|
||||
|
||||
@@ -82,6 +84,7 @@ namespace Opm {
|
||||
TableManager::TableManager( const Deck& deck )
|
||||
:
|
||||
m_tabdims( Tabdims(deck)),
|
||||
m_aqudims( Aqudims(deck)),
|
||||
hasImptvd (deck.hasKeyword("IMPTVD")),
|
||||
hasEnptvd (deck.hasKeyword("ENPTVD")),
|
||||
hasEqlnum (deck.hasKeyword("EQLNUM")),
|
||||
@@ -222,6 +225,7 @@ namespace Opm {
|
||||
addTables( "RSVD", m_eqldims->getNumEquilRegions());
|
||||
addTables( "RVVD", m_eqldims->getNumEquilRegions());
|
||||
|
||||
addTables( "AQUTAB", m_aqudims.getNumInfluenceTablesCT());
|
||||
{
|
||||
size_t numMiscibleTables = ParserKeywords::MISCIBLE::NTMISC::defaultValue;
|
||||
if (deck.hasKeyword<ParserKeywords::MISCIBLE>()) {
|
||||
@@ -278,6 +282,7 @@ namespace Opm {
|
||||
|
||||
initSimpleTableContainer<RsvdTable>(deck, "RSVD" , m_eqldims->getNumEquilRegions());
|
||||
initSimpleTableContainer<RvvdTable>(deck, "RVVD" , m_eqldims->getNumEquilRegions());
|
||||
initSimpleTableContainer<AqutabTable>(deck, "AQUTAB" , m_aqudims.getNumInfluenceTablesCT());
|
||||
{
|
||||
size_t numEndScaleTables = ParserKeywords::ENDSCALE::NUM_TABLES::defaultValue;
|
||||
|
||||
@@ -549,6 +554,10 @@ namespace Opm {
|
||||
const Eqldims& TableManager::getEqldims() const {
|
||||
return *m_eqldims;
|
||||
}
|
||||
|
||||
const Aqudims& TableManager::getAqudims() const {
|
||||
return m_aqudims;
|
||||
}
|
||||
|
||||
/*
|
||||
const std::vector<SwofTable>& TableManager::getSwofTables() const {
|
||||
@@ -682,6 +691,10 @@ namespace Opm {
|
||||
const TableContainer& TableManager::getPlyshlogTables() const {
|
||||
return getTables("PLYSHLOG");
|
||||
}
|
||||
|
||||
const TableContainer& TableManager::getAqutabTables() const {
|
||||
return getTables("AQUTAB");
|
||||
}
|
||||
|
||||
const std::vector<PvtgTable>& TableManager::getPvtgTables() const {
|
||||
return m_pvtgTables;
|
||||
|
||||
@@ -70,6 +70,7 @@
|
||||
#include <opm/parser/eclipse/EclipseState/Tables/SwofTable.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Tables/TableContainer.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Tables/WatvisctTable.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Tables/AqutabTable.hpp>
|
||||
|
||||
namespace Opm {
|
||||
|
||||
@@ -801,6 +802,20 @@ const TableColumn& RvvdTable::getRvColumn() const {
|
||||
return SimpleTable::getColumn(1);
|
||||
}
|
||||
|
||||
AqutabTable::AqutabTable( const DeckItem& item ) {
|
||||
m_schema.addColumn( ColumnSchema( "TD" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) );
|
||||
m_schema.addColumn( ColumnSchema( "PD" , Table::RANDOM , Table::DEFAULT_LINEAR ) );
|
||||
SimpleTable::init(item);
|
||||
}
|
||||
|
||||
const TableColumn& AqutabTable::getTimeColumn() const {
|
||||
return SimpleTable::getColumn(0);
|
||||
}
|
||||
|
||||
const TableColumn& AqutabTable::getPressureColumn() const {
|
||||
return SimpleTable::getColumn(1);
|
||||
}
|
||||
|
||||
EnkrvdTable::EnkrvdTable( const DeckItem& item ) {
|
||||
m_schema.addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) );
|
||||
m_schema.addColumn( ColumnSchema( "KRWMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) );
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
{"name" : "K2" , "value_type" : "INT"},
|
||||
{"name" : "FACE" , "value_type" : "STRING"},
|
||||
{"name" : "INFLUX_COEFF" , "value_type" : "DOUBLE" , "dimension" : "Length*Length"},
|
||||
{"name" : "INFLUX_MULT" , "value_type" : "DOUBLE" , "default_value" : 1.0},
|
||||
{"name" : "INFLUX_MULT" , "value_type" : "DOUBLE" , "dimension" : "1" , "default_value" : 1.0},
|
||||
{"name" : "CONNECT_ADJOINING_ACTIVE_CELL" , "value_type" : "STRING" , "default_value" : "NO"}]}
|
||||
|
||||
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
{"name" : "DAT_DEPTH" , "value_type" : "DOUBLE", "dimension" : "Length"},
|
||||
{"name" : "P_INI" , "value_type" : "DOUBLE", "dimension" : "Pressure"},
|
||||
{"name" : "PERM_AQ" , "value_type" : "DOUBLE", "dimension" : "Permeability"},
|
||||
{"name" : "PORO_AQ" , "value_type" : "DOUBLE", "default" : 1.0},
|
||||
{"name" : "C_T" , "value_type" : "DOUBLE"},
|
||||
{"name" : "PORO_AQ" , "value_type" : "DOUBLE", "dimension" : "1" , "default" : 1.0},
|
||||
{"name" : "C_T" , "value_type" : "DOUBLE", "dimension" : "1/Pressure"},
|
||||
{"name" : "RAD" , "value_type" : "DOUBLE", "dimension" : "Length"},
|
||||
{"name" : "THICKNESS_AQ" , "value_type" : "DOUBLE"},
|
||||
{"name" : "INFLUENCE_ANGLE" , "value_type" : "DOUBLE", "default" : 360.0},
|
||||
{"name" : "THICKNESS_AQ" , "value_type" : "DOUBLE", "dimension" : "Length"},
|
||||
{"name" : "INFLUENCE_ANGLE" , "value_type" : "DOUBLE", "dimension" : "1" , "default" : 360.0},
|
||||
{"name" : "TABLE_NUM_WATER_PRESS" , "value_type" : "INT", "default" : 1},
|
||||
{"name" : "TABLE_NUM_INFLUENCE_FN" , "value_type" : "INT", "default" : 1},
|
||||
{"name" : "INI_SALT" , "value_type" : "DOUBLE", "default" : 0.0},
|
||||
|
||||
Reference in New Issue
Block a user