Merge pull request #3047 from akva2/improve_error_logging_tableID

changed: pass table ID into SimpleTable constructors
This commit is contained in:
Bård Skaflestad 2022-06-13 20:16:12 +02:00 committed by GitHub
commit f5b49a19fe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
54 changed files with 194 additions and 184 deletions

View File

@ -27,7 +27,7 @@ namespace Opm {
class AqutabTable : public SimpleTable { class AqutabTable : public SimpleTable {
public: public:
AqutabTable( const DeckItem& item ); AqutabTable( const DeckItem& item, const int tableID );
const TableColumn& getTimeColumn() const; const TableColumn& getTimeColumn() const;
const TableColumn& getPressureColumn() const; const TableColumn& getPressureColumn() const;

View File

@ -28,7 +28,7 @@ namespace Opm {
class EnkrvdTable : public SimpleTable { class EnkrvdTable : public SimpleTable {
public: public:
EnkrvdTable( const DeckItem& item ); EnkrvdTable( const DeckItem& item, const int tableID );
// using this method is strongly discouraged but the current endpoint scaling // using this method is strongly discouraged but the current endpoint scaling

View File

@ -27,7 +27,7 @@ namespace Opm {
class EnptvdTable : public SimpleTable { class EnptvdTable : public SimpleTable {
public: public:
EnptvdTable( const DeckItem& item ); EnptvdTable( const DeckItem& item, const int tableID );
// using this method is strongly discouraged but the current endpoint scaling // using this method is strongly discouraged but the current endpoint scaling
// code makes it hard to avoid // code makes it hard to avoid

View File

@ -28,7 +28,7 @@ namespace Opm {
class FoamadsTable : public SimpleTable { class FoamadsTable : public SimpleTable {
public: public:
FoamadsTable( const DeckItem& item ); FoamadsTable( const DeckItem& item, const int tableID );
const TableColumn& getFoamConcentrationColumn() const; const TableColumn& getFoamConcentrationColumn() const;
const TableColumn& getAdsorbedFoamColumn() const; const TableColumn& getAdsorbedFoamColumn() const;

View File

@ -29,7 +29,7 @@ namespace Opm {
class FoammobTable : public SimpleTable { class FoammobTable : public SimpleTable {
public: public:
FoammobTable( const DeckItem& item ); FoammobTable( const DeckItem& item, const int tableID );
const TableColumn& getFoamConcentrationColumn() const; const TableColumn& getFoamConcentrationColumn() const;
const TableColumn& getMobilityMultiplierColumn() const; const TableColumn& getMobilityMultiplierColumn() const;

View File

@ -27,7 +27,7 @@ namespace Opm {
class ImkrvdTable : public SimpleTable { class ImkrvdTable : public SimpleTable {
public: public:
ImkrvdTable( const DeckItem& item ); ImkrvdTable( const DeckItem& item, const int tableID );
/*! /*!
* \brief The datum depth for the remaining columns * \brief The datum depth for the remaining columns

View File

@ -29,7 +29,7 @@ namespace Opm {
class ImptvdTable : public SimpleTable { class ImptvdTable : public SimpleTable {
public: public:
ImptvdTable( const DeckItem& item ); ImptvdTable( const DeckItem& item, const int tableID );
const TableColumn& getDepthColumn() const; const TableColumn& getDepthColumn() const;

View File

@ -28,7 +28,7 @@ namespace Opm {
class MiscTable : public SimpleTable { class MiscTable : public SimpleTable {
public: public:
explicit MiscTable( const DeckItem& item ); MiscTable( const DeckItem& item, const int tableID );
const TableColumn& getSolventFractionColumn() const; const TableColumn& getSolventFractionColumn() const;
const TableColumn& getMiscibilityColumn() const; const TableColumn& getMiscibilityColumn() const;

View File

@ -28,7 +28,7 @@ namespace Opm {
class MsfnTable : public SimpleTable { class MsfnTable : public SimpleTable {
public: public:
explicit MsfnTable( const DeckItem& item ); MsfnTable( const DeckItem& item, const int tableID );
const TableColumn& getGasPhaseFractionColumn() const; const TableColumn& getGasPhaseFractionColumn() const;
const TableColumn& getGasSolventRelpermMultiplierColumn() const; const TableColumn& getGasSolventRelpermMultiplierColumn() const;

View File

@ -27,7 +27,7 @@ namespace Opm {
class OilvisctTable : public SimpleTable { class OilvisctTable : public SimpleTable {
public: public:
OilvisctTable( const DeckItem& item ); OilvisctTable( const DeckItem& item, const int tableID );
const TableColumn& getTemperatureColumn() const; const TableColumn& getTemperatureColumn() const;
const TableColumn& getOilViscosityColumn() const; const TableColumn& getOilViscosityColumn() const;

View File

@ -27,7 +27,7 @@ namespace Opm {
class OverburdTable : public SimpleTable { class OverburdTable : public SimpleTable {
public: public:
OverburdTable( const DeckItem& item ); OverburdTable( const DeckItem& item, const int tableID );
const TableColumn& getDepthColumn() const; const TableColumn& getDepthColumn() const;
const TableColumn& getOverburdenPressureColumn() const; const TableColumn& getOverburdenPressureColumn() const;

View File

@ -27,7 +27,7 @@ namespace Opm {
class PbvdTable : public SimpleTable { class PbvdTable : public SimpleTable {
public: public:
PbvdTable( const DeckItem& item ); PbvdTable( const DeckItem& item, const int tableID );
const TableColumn& getDepthColumn() const; const TableColumn& getDepthColumn() const;
const TableColumn& getPbubColumn() const; const TableColumn& getPbubColumn() const;

View File

@ -27,7 +27,7 @@ namespace Opm {
class PdvdTable : public SimpleTable { class PdvdTable : public SimpleTable {
public: public:
PdvdTable( const DeckItem& item ); PdvdTable( const DeckItem& item, const int tableID );
const TableColumn& getDepthColumn() const; const TableColumn& getDepthColumn() const;
const TableColumn& getPdewColumn() const; const TableColumn& getPdewColumn() const;

View File

@ -28,7 +28,7 @@ namespace Opm {
class PermfactTable : public SimpleTable { class PermfactTable : public SimpleTable {
public: public:
PermfactTable( const DeckItem& item ); PermfactTable( const DeckItem& item, const int tableID );
const TableColumn& getPorosityChangeColumn() const; const TableColumn& getPorosityChangeColumn() const;
const TableColumn& getPermeabilityMultiplierColumn() const; const TableColumn& getPermeabilityMultiplierColumn() const;

View File

@ -27,7 +27,7 @@ namespace Opm {
class PlyadsTable : public SimpleTable { class PlyadsTable : public SimpleTable {
public: public:
PlyadsTable( const DeckItem& item ); PlyadsTable( const DeckItem& item, const int tableID );
const TableColumn& getPolymerConcentrationColumn() const; const TableColumn& getPolymerConcentrationColumn() const;
const TableColumn& getAdsorbedPolymerColumn() const; const TableColumn& getAdsorbedPolymerColumn() const;

View File

@ -28,7 +28,7 @@ namespace Opm {
class PlydhflfTable : public SimpleTable { class PlydhflfTable : public SimpleTable {
public: public:
PlydhflfTable( const DeckItem& item ); PlydhflfTable( const DeckItem& item, const int tableID );
const TableColumn& getTemperatureColumn() const; const TableColumn& getTemperatureColumn() const;
const TableColumn& getPolymerHalflifeColumn() const; const TableColumn& getPolymerHalflifeColumn() const;

View File

@ -27,7 +27,7 @@ namespace Opm {
class PlyviscTable : public SimpleTable { class PlyviscTable : public SimpleTable {
public: public:
PlyviscTable( const DeckItem& item ); PlyviscTable( const DeckItem& item, const int tableID );
const TableColumn& getPolymerConcentrationColumn() const; const TableColumn& getPolymerConcentrationColumn() const;
const TableColumn& getViscosityMultiplierColumn() const; const TableColumn& getViscosityMultiplierColumn() const;

View File

@ -29,7 +29,7 @@ namespace Opm {
class PmiscTable : public SimpleTable { class PmiscTable : public SimpleTable {
public: public:
explicit PmiscTable( const DeckItem& item ); PmiscTable( const DeckItem& item, const int tableID );
const TableColumn& getOilPhasePressureColumn() const; const TableColumn& getOilPhasePressureColumn() const;
const TableColumn& getMiscibilityColumn() const; const TableColumn& getMiscibilityColumn() const;

View File

@ -27,7 +27,7 @@ namespace Opm {
class PvdgTable : public SimpleTable { class PvdgTable : public SimpleTable {
public: public:
PvdgTable( const DeckItem& item ); PvdgTable( const DeckItem& item, const int tableID );
const TableColumn& getPressureColumn() const; const TableColumn& getPressureColumn() const;
const TableColumn& getFormationFactorColumn() const; const TableColumn& getFormationFactorColumn() const;

View File

@ -28,7 +28,7 @@ namespace Opm {
class PvdoTable : public SimpleTable { class PvdoTable : public SimpleTable {
public: public:
PvdoTable( const DeckItem& item ); PvdoTable( const DeckItem& item, const int tableID );
const TableColumn& getPressureColumn() const; const TableColumn& getPressureColumn() const;
const TableColumn& getFormationFactorColumn() const; const TableColumn& getFormationFactorColumn() const;

View File

@ -28,7 +28,7 @@ namespace Opm {
class PvdsTable : public SimpleTable { class PvdsTable : public SimpleTable {
public: public:
PvdsTable( const DeckItem& item ); PvdsTable( const DeckItem& item, const int tableID );
const TableColumn& getPressureColumn() const; const TableColumn& getPressureColumn() const;
const TableColumn& getFormationFactorColumn() const; const TableColumn& getFormationFactorColumn() const;

View File

@ -30,7 +30,8 @@ namespace Opm {
RocktabTable() = default; RocktabTable() = default;
RocktabTable(const DeckItem& item, RocktabTable(const DeckItem& item,
bool isDirectional, bool isDirectional,
bool hasStressOption); bool hasStressOption,
const int tableID);
static RocktabTable serializeObject(); static RocktabTable serializeObject();

View File

@ -27,7 +27,7 @@ namespace Opm {
class RockwnodTable : public SimpleTable { class RockwnodTable : public SimpleTable {
public: public:
RockwnodTable( const DeckItem& item ); RockwnodTable( const DeckItem& item, const int tableID );
const TableColumn& getSaturationColumn() const; const TableColumn& getSaturationColumn() const;
}; };

View File

@ -27,7 +27,7 @@ namespace Opm {
class RsvdTable : public SimpleTable { class RsvdTable : public SimpleTable {
public: public:
RsvdTable( const DeckItem& item ); RsvdTable( const DeckItem& item, const int tableID );
const TableColumn& getDepthColumn() const; const TableColumn& getDepthColumn() const;
const TableColumn& getRsColumn() const; const TableColumn& getRsColumn() const;

View File

@ -27,7 +27,7 @@ namespace Opm {
class RtempvdTable : public SimpleTable { class RtempvdTable : public SimpleTable {
public: public:
RtempvdTable( const DeckItem& item ); RtempvdTable( const DeckItem& item, const int tableID );
const TableColumn& getDepthColumn() const; const TableColumn& getDepthColumn() const;
const TableColumn& getTemperatureColumn() const; const TableColumn& getTemperatureColumn() const;

View File

@ -27,7 +27,7 @@ namespace Opm {
class RvvdTable : public SimpleTable { class RvvdTable : public SimpleTable {
public: public:
RvvdTable( const DeckItem& item ); RvvdTable( const DeckItem& item, const int tableID );
const TableColumn& getDepthColumn() const; const TableColumn& getDepthColumn() const;
const TableColumn& getRvColumn() const; const TableColumn& getRvColumn() const;

View File

@ -27,7 +27,7 @@ class DeckItem;
class SaltsolTable : public SimpleTable { class SaltsolTable : public SimpleTable {
public: public:
SaltsolTable( const DeckItem& item ); SaltsolTable( const DeckItem& item, const int tableID );
const TableColumn& getSaltsolColumn() const; const TableColumn& getSaltsolColumn() const;
}; };

View File

@ -28,7 +28,7 @@ namespace Opm {
class SaltpvdTable : public SimpleTable { class SaltpvdTable : public SimpleTable {
public: public:
SaltpvdTable( const DeckItem& item ); SaltpvdTable( const DeckItem& item, const int tableID );
const TableColumn& getDepthColumn() const; const TableColumn& getDepthColumn() const;
const TableColumn& getSaltpColumn() const; const TableColumn& getSaltpColumn() const;

View File

@ -27,7 +27,7 @@ namespace Opm {
class SaltvdTable : public SimpleTable { class SaltvdTable : public SimpleTable {
public: public:
SaltvdTable( const DeckItem& item ); SaltvdTable( const DeckItem& item, const int tableID );
const TableColumn& getDepthColumn() const; const TableColumn& getDepthColumn() const;
const TableColumn& getSaltColumn() const; const TableColumn& getSaltColumn() const;

View File

@ -28,7 +28,7 @@ namespace Opm {
class SgcwmisTable : public SimpleTable { class SgcwmisTable : public SimpleTable {
public: public:
explicit SgcwmisTable( const DeckItem& item ); SgcwmisTable( const DeckItem& item, const int tableID );
const TableColumn& getWaterSaturationColumn() const; const TableColumn& getWaterSaturationColumn() const;
const TableColumn& getMiscibleResidualGasColumn() const; const TableColumn& getMiscibleResidualGasColumn() const;

View File

@ -28,7 +28,7 @@ namespace Opm {
class SgfnTable : public SimpleTable { class SgfnTable : public SimpleTable {
public: public:
SgfnTable( const DeckItem& item, const bool jfunc ); SgfnTable( const DeckItem& item, const bool jfunc, const int tableID );
const TableColumn& getSgColumn() const; const TableColumn& getSgColumn() const;
const TableColumn& getKrgColumn() const; const TableColumn& getKrgColumn() const;

View File

@ -27,7 +27,7 @@ namespace Opm {
class SgofTable : public SimpleTable { class SgofTable : public SimpleTable {
public: public:
SgofTable( const DeckItem& item, const bool jfunc ); SgofTable( const DeckItem& item, const bool jfunc, const int tableID );
const TableColumn& getSgColumn() const; const TableColumn& getSgColumn() const;
const TableColumn& getKrgColumn() const; const TableColumn& getKrgColumn() const;

View File

@ -28,7 +28,7 @@ namespace Opm {
class SgwfnTable : public SimpleTable { class SgwfnTable : public SimpleTable {
public: public:
SgwfnTable( const DeckItem& item ); SgwfnTable( const DeckItem& item, const int tableID );
const TableColumn& getSgColumn() const; const TableColumn& getSgColumn() const;
const TableColumn& getKrgColumn() const; const TableColumn& getKrgColumn() const;
const TableColumn& getKrgwColumn() const; const TableColumn& getKrgwColumn() const;

View File

@ -36,7 +36,7 @@ namespace Opm {
public: public:
SimpleTable() = default; SimpleTable() = default;
SimpleTable(TableSchema, const DeckItem& deckItem); SimpleTable(TableSchema, const DeckItem& deckItem, const int tableID);
explicit SimpleTable( TableSchema ); explicit SimpleTable( TableSchema );
static SimpleTable serializeObject(); static SimpleTable serializeObject();
@ -44,8 +44,11 @@ namespace Opm {
void addColumns(); void addColumns();
//! \brief Initialize deck item. //! \brief Initialize deck item.
//! \param deckItem item to initialize //! \param deckItem item to initialize
//! \param tableID Index for table to initialize
//! \param scaling_factor If zero use SI value, else use value scaled by scaling factor //! \param scaling_factor If zero use SI value, else use value scaled by scaling factor
void init( const DeckItem& deckItem, double scaling_factor = 0.0); void init( const DeckItem& deckItem,
const int tableID,
double scaling_factor = 0.0);
size_t numColumns() const; size_t numColumns() const;
size_t numRows() const; size_t numRows() const;
void addRow( const std::vector<double>& row); void addRow( const std::vector<double>& row);

View File

@ -28,7 +28,7 @@ namespace Opm {
class SlgofTable : public SimpleTable { class SlgofTable : public SimpleTable {
public: public:
SlgofTable( const DeckItem& item, const bool jfunc ); SlgofTable( const DeckItem& item, const bool jfunc, const int tableID );
const TableColumn& getSlColumn() const; const TableColumn& getSlColumn() const;
const TableColumn& getKrgColumn() const; const TableColumn& getKrgColumn() const;
const TableColumn& getKrogColumn() const; const TableColumn& getKrogColumn() const;

View File

@ -27,7 +27,7 @@ namespace Opm {
class Sof2Table : public SimpleTable { class Sof2Table : public SimpleTable {
public: public:
Sof2Table( const DeckItem& item ); Sof2Table( const DeckItem& item, const int tableID );
const TableColumn& getSoColumn() const; const TableColumn& getSoColumn() const;
const TableColumn& getKroColumn() const; const TableColumn& getKroColumn() const;

View File

@ -27,7 +27,7 @@ namespace Opm {
class Sof3Table : public SimpleTable { class Sof3Table : public SimpleTable {
public: public:
Sof3Table( const DeckItem& item ); Sof3Table( const DeckItem& item, const int tableID );
const TableColumn& getSoColumn() const; const TableColumn& getSoColumn() const;
const TableColumn& getKrowColumn() const; const TableColumn& getKrowColumn() const;

View File

@ -29,7 +29,7 @@ namespace Opm {
class SorwmisTable : public SimpleTable { class SorwmisTable : public SimpleTable {
public: public:
explicit SorwmisTable( const DeckItem& item ); SorwmisTable( const DeckItem& item, const int tableID );
const TableColumn& getWaterSaturationColumn() const; const TableColumn& getWaterSaturationColumn() const;
const TableColumn& getMiscibleResidualOilColumn() const; const TableColumn& getMiscibleResidualOilColumn() const;

View File

@ -28,7 +28,7 @@ namespace Opm {
// not for a way to cheat on the SPE test cases ;) // not for a way to cheat on the SPE test cases ;)
class SpecheatTable : public SimpleTable { class SpecheatTable : public SimpleTable {
public: public:
SpecheatTable(const DeckItem& item); SpecheatTable(const DeckItem& item, const int tableID);
const TableColumn& getTemperatureColumn() const; const TableColumn& getTemperatureColumn() const;
const TableColumn& getCvOilColumn() const; const TableColumn& getCvOilColumn() const;

View File

@ -27,7 +27,7 @@ namespace Opm {
// pore space. // pore space.
class SpecrockTable : public SimpleTable { class SpecrockTable : public SimpleTable {
public: public:
SpecrockTable(const DeckItem& item); SpecrockTable(const DeckItem& item, const int tableID);
const TableColumn& getTemperatureColumn() const; const TableColumn& getTemperatureColumn() const;
const TableColumn& getCvRockColumn() const; const TableColumn& getCvRockColumn() const;

View File

@ -28,7 +28,7 @@ namespace Opm {
class SsfnTable : public SimpleTable { class SsfnTable : public SimpleTable {
public: public:
friend class TableManager; friend class TableManager;
SsfnTable( const DeckItem& item ); SsfnTable( const DeckItem& item, const int tableID );
const TableColumn& getSolventFractionColumn() const; const TableColumn& getSolventFractionColumn() const;
const TableColumn& getGasRelPermMultiplierColumn() const; const TableColumn& getGasRelPermMultiplierColumn() const;

View File

@ -25,7 +25,7 @@ namespace Opm {
class SwfnTable : public SimpleTable { class SwfnTable : public SimpleTable {
public: public:
SwfnTable( const DeckItem& item, const bool jfunc ); SwfnTable( const DeckItem& item, const bool jfunc, const int tableID );
const TableColumn& getSwColumn() const; const TableColumn& getSwColumn() const;
const TableColumn& getKrwColumn() const; const TableColumn& getKrwColumn() const;

View File

@ -27,7 +27,7 @@ namespace Opm {
class SwofTable : public SimpleTable { class SwofTable : public SimpleTable {
public: public:
SwofTable( const DeckItem& item, const bool jfunc ); SwofTable( const DeckItem& item, const bool jfunc, const int tableID );
const TableColumn& getSwColumn() const; const TableColumn& getSwColumn() const;
const TableColumn& getKrwColumn() const; const TableColumn& getKrwColumn() const;
const TableColumn& getKrowColumn() const; const TableColumn& getKrowColumn() const;

View File

@ -28,7 +28,7 @@ namespace Opm {
class TlpmixpaTable : public SimpleTable { class TlpmixpaTable : public SimpleTable {
public: public:
TlpmixpaTable( const DeckItem& item ); TlpmixpaTable( const DeckItem& item, const int tableID );
const TableColumn& getOilPhasePressureColumn() const; const TableColumn& getOilPhasePressureColumn() const;
const TableColumn& getMiscibilityColumn() const; const TableColumn& getMiscibilityColumn() const;

View File

@ -35,7 +35,7 @@ class TracerVdTable : public SimpleTable
{ {
public: public:
TracerVdTable() = default; TracerVdTable() = default;
explicit TracerVdTable(const Opm::DeckItem& item, double inv_volume); TracerVdTable(const Opm::DeckItem& item, double inv_volume, const int tableID);
/*! /*!
* \brief Return the depth column * \brief Return the depth column

View File

@ -25,7 +25,7 @@ namespace Opm {
class WatvisctTable : public SimpleTable { class WatvisctTable : public SimpleTable {
public: public:
WatvisctTable( const DeckItem& item ); WatvisctTable( const DeckItem& item, const int tableID );
const TableColumn& getTemperatureColumn() const; const TableColumn& getTemperatureColumn() const;
const TableColumn& getWaterViscosityColumn() const; const TableColumn& getWaterViscosityColumn() const;

View File

@ -64,7 +64,7 @@ namespace Opm {
m_outerColumn.addValue( deckRecord.getItem( 0 ).getSIDouble( 0 )); m_outerColumn.addValue( deckRecord.getItem( 0 ).getSIDouble( 0 ));
const auto& dataItem = deckRecord.getItem(1); const auto& dataItem = deckRecord.getItem(1);
m_underSaturatedTables.emplace_back( this->m_underSaturatedSchema, dataItem ); m_underSaturatedTables.emplace_back( this->m_underSaturatedSchema, dataItem, tableIdx );
} }

View File

@ -27,11 +27,12 @@
namespace Opm { namespace Opm {
SimpleTable::SimpleTable( TableSchema schema, const DeckItem& deckItem) : SimpleTable::SimpleTable( TableSchema schema, const DeckItem& deckItem,
const int tableID) :
m_schema( std::move( schema ) ), m_schema( std::move( schema ) ),
m_jfunc (false) m_jfunc (false)
{ {
init( deckItem ); init( deckItem, tableID );
} }
@ -84,15 +85,18 @@ namespace Opm {
return col[row]; return col[row];
} }
void SimpleTable::init( const DeckItem& deckItem, double scaling_factor) { void SimpleTable::init( const DeckItem& deckItem,
const int tableID,
double scaling_factor) {
this->addColumns(); this->addColumns();
if ( (deckItem.data_size() % numColumns()) != 0) { if ( (deckItem.data_size() % numColumns()) != 0) {
throw std::runtime_error { throw std::runtime_error {
fmt::format("Number of input table elements ({}) is " fmt::format("For table with ID {}: "
"Number of input table elements ({}) is "
"not a multiple of table's specified number " "not a multiple of table's specified number "
"of columns ({})", "of columns ({})",
deckItem.data_size(), this->numColumns()) tableID+1, deckItem.data_size(), this->numColumns())
}; };
} }

View File

@ -871,7 +871,7 @@ DensityTable make_density_table(const GravityTable& gravity) {
const auto& tableRecord = rocktabKeyword.getRecord( tableIdx ); const auto& tableRecord = rocktabKeyword.getRecord( tableIdx );
const auto& dataItem = tableRecord.getItem( 0 ); const auto& dataItem = tableRecord.getItem( 0 );
if (dataItem.data_size() > 0) { if (dataItem.data_size() > 0) {
std::shared_ptr<RocktabTable> table = std::make_shared<RocktabTable>( dataItem , isDirectional, useStressOption ); std::shared_ptr<RocktabTable> table = std::make_shared<RocktabTable>( dataItem , isDirectional, useStressOption, tableIdx );
container.addTable( tableIdx , table ); container.addTable( tableIdx , table );
} }
} }
@ -1563,7 +1563,7 @@ DensityTable make_density_table(const GravityTable& gravity) {
const auto& dataItem = tableKeyword.getRecord( tableIdx ).getItem("DATA"); const auto& dataItem = tableKeyword.getRecord( tableIdx ).getItem("DATA");
if (dataItem.data_size() > 0) { if (dataItem.data_size() > 0) {
try { try {
std::shared_ptr<TableType> table = std::make_shared<TableType>( dataItem, useJFunc() ); std::shared_ptr<TableType> table = std::make_shared<TableType>( dataItem, useJFunc(), tableIdx );
container.addTable( tableIdx , table ); container.addTable( tableIdx , table );
} catch (const std::runtime_error& err) { } catch (const std::runtime_error& err) {
throw OpmInputError(err, tableKeyword.location()); throw OpmInputError(err, tableKeyword.location());
@ -1591,7 +1591,7 @@ DensityTable make_density_table(const GravityTable& gravity) {
for (size_t tableIdx = 0; tableIdx < tableKeyword.size(); ++tableIdx) { for (size_t tableIdx = 0; tableIdx < tableKeyword.size(); ++tableIdx) {
const auto& dataItem = tableKeyword.getRecord( tableIdx ).getItem("DATA"); const auto& dataItem = tableKeyword.getRecord( tableIdx ).getItem("DATA");
if (dataItem.data_size() > 0) { if (dataItem.data_size() > 0) {
std::shared_ptr<TableType> table = std::make_shared<TableType>( dataItem ); std::shared_ptr<TableType> table = std::make_shared<TableType>( dataItem, tableIdx );
container.addTable( tableIdx , table ); container.addTable( tableIdx , table );
} }
} }

View File

@ -255,14 +255,14 @@ bool PvtsolTable::operator==(const PvtsolTable& data) const {
return static_cast<const PvtxTable&>(*this) == static_cast<const PvtxTable&>(data); return static_cast<const PvtxTable&>(*this) == static_cast<const PvtxTable&>(data);
} }
SpecheatTable::SpecheatTable(const DeckItem& item) SpecheatTable::SpecheatTable(const DeckItem& item, const int tableID)
{ {
m_schema.addColumn(ColumnSchema("TEMPERATURE", Table::STRICTLY_INCREASING, Table::DEFAULT_NONE)); m_schema.addColumn(ColumnSchema("TEMPERATURE", Table::STRICTLY_INCREASING, Table::DEFAULT_NONE));
m_schema.addColumn(ColumnSchema("CV_OIL", Table::RANDOM, Table::DEFAULT_LINEAR)); m_schema.addColumn(ColumnSchema("CV_OIL", Table::RANDOM, Table::DEFAULT_LINEAR));
m_schema.addColumn(ColumnSchema("CV_WATER", Table::RANDOM, Table::DEFAULT_LINEAR)); m_schema.addColumn(ColumnSchema("CV_WATER", Table::RANDOM, Table::DEFAULT_LINEAR));
m_schema.addColumn(ColumnSchema("CV_GAS", Table::RANDOM, Table::DEFAULT_LINEAR)); m_schema.addColumn(ColumnSchema("CV_GAS", Table::RANDOM, Table::DEFAULT_LINEAR));
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
const TableColumn& SpecheatTable::getTemperatureColumn() const const TableColumn& SpecheatTable::getTemperatureColumn() const
@ -277,12 +277,12 @@ const TableColumn& SpecheatTable::getCvWaterColumn() const
const TableColumn& SpecheatTable::getCvGasColumn() const const TableColumn& SpecheatTable::getCvGasColumn() const
{ return SimpleTable::getColumn(3); } { return SimpleTable::getColumn(3); }
SpecrockTable::SpecrockTable(const DeckItem& item) SpecrockTable::SpecrockTable(const DeckItem& item, const int tableID)
{ {
m_schema.addColumn(ColumnSchema("TEMPERATURE", Table::STRICTLY_INCREASING, Table::DEFAULT_NONE)); m_schema.addColumn(ColumnSchema("TEMPERATURE", Table::STRICTLY_INCREASING, Table::DEFAULT_NONE));
m_schema.addColumn(ColumnSchema("CV_ROCK", Table::RANDOM, Table::DEFAULT_LINEAR)); m_schema.addColumn(ColumnSchema("CV_ROCK", Table::RANDOM, Table::DEFAULT_LINEAR));
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
const TableColumn& SpecrockTable::getTemperatureColumn() const const TableColumn& SpecrockTable::getTemperatureColumn() const
@ -291,7 +291,7 @@ const TableColumn& SpecrockTable::getTemperatureColumn() const
const TableColumn& SpecrockTable::getCvRockColumn() const const TableColumn& SpecrockTable::getCvRockColumn() const
{ return SimpleTable::getColumn(1); } { return SimpleTable::getColumn(1); }
SwofTable::SwofTable( const DeckItem& item , const bool jfunc) { SwofTable::SwofTable( const DeckItem& item , const bool jfunc, const int tableID) {
m_schema.addColumn( ColumnSchema( "SW" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) ); m_schema.addColumn( ColumnSchema( "SW" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) );
m_schema.addColumn( ColumnSchema( "KRW" , Table::RANDOM , Table::DEFAULT_LINEAR) ); m_schema.addColumn( ColumnSchema( "KRW" , Table::RANDOM , Table::DEFAULT_LINEAR) );
@ -299,7 +299,7 @@ SwofTable::SwofTable( const DeckItem& item , const bool jfunc) {
m_schema.addColumn( ColumnSchema( "PCOW" , Table::RANDOM , Table::DEFAULT_LINEAR) ); m_schema.addColumn( ColumnSchema( "PCOW" , Table::RANDOM , Table::DEFAULT_LINEAR) );
m_jfunc = jfunc; m_jfunc = jfunc;
SimpleTable::init( item ); SimpleTable::init( item, tableID );
} }
const TableColumn& SwofTable::getSwColumn() const { const TableColumn& SwofTable::getSwColumn() const {
@ -324,14 +324,14 @@ const TableColumn& SwofTable::getJFuncColumn() const {
return SimpleTable::getColumn(3); return SimpleTable::getColumn(3);
} }
SgwfnTable::SgwfnTable( const DeckItem& item ) { SgwfnTable::SgwfnTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "SG" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) ); m_schema.addColumn( ColumnSchema( "SG" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) );
m_schema.addColumn( ColumnSchema( "KRG" , Table::RANDOM , Table::DEFAULT_LINEAR ) ); m_schema.addColumn( ColumnSchema( "KRG" , Table::RANDOM , Table::DEFAULT_LINEAR ) );
m_schema.addColumn( ColumnSchema( "KRGW" , Table::RANDOM , Table::DEFAULT_LINEAR ) ); m_schema.addColumn( ColumnSchema( "KRGW" , Table::RANDOM , Table::DEFAULT_LINEAR ) );
m_schema.addColumn( ColumnSchema( "PCGW" , Table::RANDOM , Table::DEFAULT_LINEAR ) ); m_schema.addColumn( ColumnSchema( "PCGW" , Table::RANDOM , Table::DEFAULT_LINEAR ) );
SimpleTable::init( item ); SimpleTable::init( item, tableID );
} }
const TableColumn& SgwfnTable::getSgColumn() const { const TableColumn& SgwfnTable::getSgColumn() const {
@ -350,14 +350,14 @@ const TableColumn& SgwfnTable::getPcgwColumn() const {
return SimpleTable::getColumn(3); return SimpleTable::getColumn(3);
} }
SgofTable::SgofTable( const DeckItem& item , const bool jfunc) { SgofTable::SgofTable( const DeckItem& item , const bool jfunc, const int tableID ) {
m_schema.addColumn( ColumnSchema("SG" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); m_schema.addColumn( ColumnSchema("SG" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE));
m_schema.addColumn( ColumnSchema("KRG" , Table::RANDOM , Table::DEFAULT_LINEAR )); m_schema.addColumn( ColumnSchema("KRG" , Table::RANDOM , Table::DEFAULT_LINEAR ));
m_schema.addColumn( ColumnSchema("KROG" , Table::RANDOM , Table::DEFAULT_LINEAR )); m_schema.addColumn( ColumnSchema("KROG" , Table::RANDOM , Table::DEFAULT_LINEAR ));
m_schema.addColumn( ColumnSchema("PCOG" , Table::RANDOM , Table::DEFAULT_LINEAR )); m_schema.addColumn( ColumnSchema("PCOG" , Table::RANDOM , Table::DEFAULT_LINEAR ));
m_jfunc = jfunc; m_jfunc = jfunc;
SimpleTable::init( item ); SimpleTable::init( item, tableID );
} }
const TableColumn& SgofTable::getSgColumn() const { const TableColumn& SgofTable::getSgColumn() const {
@ -382,14 +382,14 @@ const TableColumn& SgofTable::getJFuncColumn() const {
return SimpleTable::getColumn(3); return SimpleTable::getColumn(3);
} }
SlgofTable::SlgofTable( const DeckItem& item, const bool jfunc ) { SlgofTable::SlgofTable( const DeckItem& item, const bool jfunc, const int tableID ) {
m_schema.addColumn( ColumnSchema("SL" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); m_schema.addColumn( ColumnSchema("SL" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ));
m_schema.addColumn( ColumnSchema("KRG" , Table::DECREASING , Table::DEFAULT_LINEAR )); m_schema.addColumn( ColumnSchema("KRG" , Table::DECREASING , Table::DEFAULT_LINEAR ));
m_schema.addColumn( ColumnSchema("KROG" , Table::INCREASING , Table::DEFAULT_LINEAR )); m_schema.addColumn( ColumnSchema("KROG" , Table::INCREASING , Table::DEFAULT_LINEAR ));
m_schema.addColumn( ColumnSchema("PCOG" , Table::DECREASING , Table::DEFAULT_LINEAR )); m_schema.addColumn( ColumnSchema("PCOG" , Table::DECREASING , Table::DEFAULT_LINEAR ));
m_jfunc = jfunc; m_jfunc = jfunc;
SimpleTable::init( item ); SimpleTable::init( item, tableID );
if (getSlColumn().back() != 1.0) { if (getSlColumn().back() != 1.0) {
throw std::invalid_argument("The last saturation of the SLGOF keyword must be 1!"); throw std::invalid_argument("The last saturation of the SLGOF keyword must be 1!");
@ -418,11 +418,11 @@ const TableColumn& SlgofTable::getJFuncColumn() const {
return SimpleTable::getColumn(3); return SimpleTable::getColumn(3);
} }
Sof2Table::Sof2Table( const DeckItem& item ) { Sof2Table::Sof2Table( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "SO" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); m_schema.addColumn( ColumnSchema( "SO" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ));
m_schema.addColumn( ColumnSchema( "KRO" , Table::INCREASING , Table::DEFAULT_LINEAR)); m_schema.addColumn( ColumnSchema( "KRO" , Table::INCREASING , Table::DEFAULT_LINEAR));
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
const TableColumn& Sof2Table::getSoColumn() const { const TableColumn& Sof2Table::getSoColumn() const {
@ -433,13 +433,13 @@ const TableColumn& Sof2Table::getKroColumn() const {
return SimpleTable::getColumn(1); return SimpleTable::getColumn(1);
} }
Sof3Table::Sof3Table( const DeckItem& item ) { Sof3Table::Sof3Table( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema("SO" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); m_schema.addColumn( ColumnSchema("SO" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ));
m_schema.addColumn( ColumnSchema("KROW" , Table::INCREASING , Table::DEFAULT_LINEAR )); m_schema.addColumn( ColumnSchema("KROW" , Table::INCREASING , Table::DEFAULT_LINEAR ));
m_schema.addColumn( ColumnSchema("KROG" , Table::INCREASING , Table::DEFAULT_LINEAR )); m_schema.addColumn( ColumnSchema("KROG" , Table::INCREASING , Table::DEFAULT_LINEAR ));
SimpleTable::init( item ); SimpleTable::init( item, tableID );
} }
@ -455,12 +455,12 @@ const TableColumn& Sof3Table::getKrogColumn() const {
return SimpleTable::getColumn(2); return SimpleTable::getColumn(2);
} }
PvdgTable::PvdgTable( const DeckItem& item ) { PvdgTable::PvdgTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "P" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); m_schema.addColumn( ColumnSchema( "P" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ));
m_schema.addColumn( ColumnSchema( "BG" , Table::STRICTLY_DECREASING , Table::DEFAULT_LINEAR)); m_schema.addColumn( ColumnSchema( "BG" , Table::STRICTLY_DECREASING , Table::DEFAULT_LINEAR));
m_schema.addColumn( ColumnSchema( "MUG" , Table::INCREASING , Table::DEFAULT_LINEAR )); m_schema.addColumn( ColumnSchema( "MUG" , Table::INCREASING , Table::DEFAULT_LINEAR ));
SimpleTable::init( item ); SimpleTable::init( item, tableID );
} }
@ -476,12 +476,12 @@ const TableColumn& PvdgTable::getViscosityColumn() const {
return SimpleTable::getColumn(2); return SimpleTable::getColumn(2);
} }
PvdoTable::PvdoTable( const DeckItem& item ) { PvdoTable::PvdoTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "P" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); m_schema.addColumn( ColumnSchema( "P" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ));
m_schema.addColumn( ColumnSchema( "BO" , Table::STRICTLY_DECREASING , Table::DEFAULT_LINEAR)); m_schema.addColumn( ColumnSchema( "BO" , Table::STRICTLY_DECREASING , Table::DEFAULT_LINEAR));
m_schema.addColumn( ColumnSchema( "MUO" , Table::INCREASING , Table::DEFAULT_LINEAR )); m_schema.addColumn( ColumnSchema( "MUO" , Table::INCREASING , Table::DEFAULT_LINEAR ));
SimpleTable::init( item ); SimpleTable::init( item, tableID );
} }
@ -497,13 +497,13 @@ const TableColumn& PvdoTable::getViscosityColumn() const {
return SimpleTable::getColumn(2); return SimpleTable::getColumn(2);
} }
SwfnTable::SwfnTable( const DeckItem& item, const bool jfunc ) { SwfnTable::SwfnTable( const DeckItem& item, const bool jfunc, const int tableID ) {
m_schema.addColumn( ColumnSchema("SW" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); m_schema.addColumn( ColumnSchema("SW" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ));
m_schema.addColumn( ColumnSchema("KRW" , Table::INCREASING , Table::DEFAULT_LINEAR )); m_schema.addColumn( ColumnSchema("KRW" , Table::INCREASING , Table::DEFAULT_LINEAR ));
m_schema.addColumn( ColumnSchema("PCOW" , Table::DECREASING , Table::DEFAULT_LINEAR )); m_schema.addColumn( ColumnSchema("PCOW" , Table::DECREASING , Table::DEFAULT_LINEAR ));
m_jfunc = jfunc; m_jfunc = jfunc;
SimpleTable::init( item ); SimpleTable::init( item, tableID );
} }
const TableColumn& SwfnTable::getSwColumn() const { const TableColumn& SwfnTable::getSwColumn() const {
@ -525,13 +525,13 @@ const TableColumn& SwfnTable::getJFuncColumn() const {
} }
SgfnTable::SgfnTable( const DeckItem& item, const bool jfunc ) { SgfnTable::SgfnTable( const DeckItem& item, const bool jfunc, const int tableID ) {
m_schema.addColumn( ColumnSchema("SG" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) ); m_schema.addColumn( ColumnSchema("SG" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) );
m_schema.addColumn( ColumnSchema("KRG" , Table::INCREASING , Table::DEFAULT_LINEAR)); m_schema.addColumn( ColumnSchema("KRG" , Table::INCREASING , Table::DEFAULT_LINEAR));
m_schema.addColumn( ColumnSchema("PCOG" , Table::INCREASING , Table::DEFAULT_LINEAR)); m_schema.addColumn( ColumnSchema("PCOG" , Table::INCREASING , Table::DEFAULT_LINEAR));
m_jfunc = jfunc; m_jfunc = jfunc;
SimpleTable::init( item ); SimpleTable::init( item, tableID );
} }
@ -553,12 +553,12 @@ const TableColumn& SgfnTable::getJFuncColumn() const {
return SimpleTable::getColumn(2); return SimpleTable::getColumn(2);
} }
SsfnTable::SsfnTable( const DeckItem& item ) { SsfnTable::SsfnTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema("SolventFraction" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); m_schema.addColumn( ColumnSchema("SolventFraction" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE));
m_schema.addColumn( ColumnSchema("GasRelPermMultiplier" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); m_schema.addColumn( ColumnSchema("GasRelPermMultiplier" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE));
m_schema.addColumn( ColumnSchema("SolventRelPermMultiplier" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); m_schema.addColumn( ColumnSchema("SolventRelPermMultiplier" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE));
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
const TableColumn& SsfnTable::getSolventFractionColumn() const { const TableColumn& SsfnTable::getSolventFractionColumn() const {
@ -574,12 +574,12 @@ const TableColumn& SsfnTable::getSolventRelPermMultiplierColumn() const {
} }
PvdsTable::PvdsTable( const DeckItem& item ) { PvdsTable::PvdsTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "P" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); m_schema.addColumn( ColumnSchema( "P" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ));
m_schema.addColumn( ColumnSchema( "BG" , Table::STRICTLY_DECREASING , Table::DEFAULT_LINEAR )); m_schema.addColumn( ColumnSchema( "BG" , Table::STRICTLY_DECREASING , Table::DEFAULT_LINEAR ));
m_schema.addColumn( ColumnSchema( "MUG" , Table::INCREASING , Table::DEFAULT_LINEAR )); m_schema.addColumn( ColumnSchema( "MUG" , Table::INCREASING , Table::DEFAULT_LINEAR ));
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
const TableColumn& PvdsTable::getPressureColumn() const { const TableColumn& PvdsTable::getPressureColumn() const {
@ -594,11 +594,11 @@ const TableColumn& PvdsTable::getViscosityColumn() const {
return SimpleTable::getColumn(2); return SimpleTable::getColumn(2);
} }
PlyadsTable::PlyadsTable( const DeckItem& item ) { PlyadsTable::PlyadsTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema("PolymerConcentration" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); m_schema.addColumn( ColumnSchema("PolymerConcentration" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ));
m_schema.addColumn( ColumnSchema("AdsorbedPolymer" , Table::INCREASING , Table::DEFAULT_NONE )); m_schema.addColumn( ColumnSchema("AdsorbedPolymer" , Table::INCREASING , Table::DEFAULT_NONE ));
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
@ -610,11 +610,11 @@ const TableColumn& PlyadsTable::getAdsorbedPolymerColumn() const {
return SimpleTable::getColumn(1); return SimpleTable::getColumn(1);
} }
FoamadsTable::FoamadsTable( const DeckItem& item ) { FoamadsTable::FoamadsTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema("FoamConcentration" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); m_schema.addColumn( ColumnSchema("FoamConcentration" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ));
m_schema.addColumn( ColumnSchema("AdsorbedFoam" , Table::INCREASING , Table::DEFAULT_NONE )); m_schema.addColumn( ColumnSchema("AdsorbedFoam" , Table::INCREASING , Table::DEFAULT_NONE ));
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
const TableColumn& FoamadsTable::getFoamConcentrationColumn() const { const TableColumn& FoamadsTable::getFoamConcentrationColumn() const {
@ -625,11 +625,11 @@ const TableColumn& FoamadsTable::getAdsorbedFoamColumn() const {
return SimpleTable::getColumn(1); return SimpleTable::getColumn(1);
} }
FoammobTable::FoammobTable( const DeckItem& item ) { FoammobTable::FoammobTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema("FoamConcentration" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); m_schema.addColumn( ColumnSchema("FoamConcentration" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ));
m_schema.addColumn( ColumnSchema("MobilityMultiplier" , Table::DECREASING , Table::DEFAULT_NONE )); m_schema.addColumn( ColumnSchema("MobilityMultiplier" , Table::DECREASING , Table::DEFAULT_NONE ));
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
const TableColumn& FoammobTable::getFoamConcentrationColumn() const { const TableColumn& FoammobTable::getFoamConcentrationColumn() const {
@ -695,10 +695,10 @@ const TableColumn& PlyrockTable::getMaxAdsorbtionColumn() const {
return SimpleTable::getColumn(4); return SimpleTable::getColumn(4);
} }
PlyviscTable::PlyviscTable( const DeckItem& item ) { PlyviscTable::PlyviscTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "PolymerConcentration" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); m_schema.addColumn( ColumnSchema( "PolymerConcentration" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE));
m_schema.addColumn( ColumnSchema( "ViscosityMultiplier" , Table::INCREASING , Table::DEFAULT_NONE)); m_schema.addColumn( ColumnSchema( "ViscosityMultiplier" , Table::INCREASING , Table::DEFAULT_NONE));
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
const TableColumn& PlyviscTable::getPolymerConcentrationColumn() const { const TableColumn& PlyviscTable::getPolymerConcentrationColumn() const {
@ -709,11 +709,11 @@ const TableColumn& PlyviscTable::getViscosityMultiplierColumn() const {
return SimpleTable::getColumn(1); return SimpleTable::getColumn(1);
} }
PlydhflfTable::PlydhflfTable( const DeckItem& item ) { PlydhflfTable::PlydhflfTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema("Temperature" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) ); m_schema.addColumn( ColumnSchema("Temperature" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) );
m_schema.addColumn( ColumnSchema("PolymerHalflife" , Table::STRICTLY_DECREASING , Table::DEFAULT_NONE ) ); m_schema.addColumn( ColumnSchema("PolymerHalflife" , Table::STRICTLY_DECREASING , Table::DEFAULT_NONE ) );
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
const TableColumn& PlydhflfTable::getTemperatureColumn() const { const TableColumn& PlydhflfTable::getTemperatureColumn() const {
@ -754,7 +754,7 @@ PlyshlogTable::PlyshlogTable(
m_schema.addColumn( ColumnSchema("WaterVelocity" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); m_schema.addColumn( ColumnSchema("WaterVelocity" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE));
m_schema.addColumn( ColumnSchema("ShearMultiplier" , Table::RANDOM , Table::DEFAULT_NONE)); m_schema.addColumn( ColumnSchema("ShearMultiplier" , Table::RANDOM , Table::DEFAULT_NONE));
SimpleTable::init( dataRecord.getItem<ParserKeywords::PLYSHLOG::DATA>() ); SimpleTable::init( dataRecord.getItem<ParserKeywords::PLYSHLOG::DATA>(), 1 );
} }
PlyshlogTable PlyshlogTable::serializeObject() PlyshlogTable PlyshlogTable::serializeObject()
@ -826,11 +826,11 @@ bool PlyshlogTable::operator==(const PlyshlogTable& data) const {
m_hasRefTemperature == data.m_hasRefTemperature; m_hasRefTemperature == data.m_hasRefTemperature;
} }
OilvisctTable::OilvisctTable( const DeckItem& item ) { OilvisctTable::OilvisctTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema("Temperature" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) ); m_schema.addColumn( ColumnSchema("Temperature" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) );
m_schema.addColumn( ColumnSchema("Viscosity" , Table::DECREASING , Table::DEFAULT_NONE) ); m_schema.addColumn( ColumnSchema("Viscosity" , Table::DECREASING , Table::DEFAULT_NONE) );
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
const TableColumn& OilvisctTable::getTemperatureColumn() const { const TableColumn& OilvisctTable::getTemperatureColumn() const {
@ -841,11 +841,11 @@ const TableColumn& OilvisctTable::getOilViscosityColumn() const {
return SimpleTable::getColumn(1); return SimpleTable::getColumn(1);
} }
WatvisctTable::WatvisctTable( const DeckItem& item ) { WatvisctTable::WatvisctTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn(ColumnSchema("Temperature" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); m_schema.addColumn(ColumnSchema("Temperature" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE));
m_schema.addColumn(ColumnSchema("Viscosity" , Table::DECREASING , Table::DEFAULT_NONE)); m_schema.addColumn(ColumnSchema("Viscosity" , Table::DECREASING , Table::DEFAULT_NONE));
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
const TableColumn& WatvisctTable::getTemperatureColumn() const { const TableColumn& WatvisctTable::getTemperatureColumn() const {
@ -905,11 +905,11 @@ const TableColumn& GasvisctTable::getGasViscosityColumn(size_t compIdx) const {
return SimpleTable::getColumn(1 + compIdx); return SimpleTable::getColumn(1 + compIdx);
} }
RtempvdTable::RtempvdTable(const DeckItem& item) { RtempvdTable::RtempvdTable(const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "Depth" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) ); m_schema.addColumn( ColumnSchema( "Depth" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) );
m_schema.addColumn( ColumnSchema( "Temperature" , Table::RANDOM , Table::DEFAULT_NONE) ); m_schema.addColumn( ColumnSchema( "Temperature" , Table::RANDOM , Table::DEFAULT_NONE) );
SimpleTable::init( item ); SimpleTable::init( item, tableID );
} }
const TableColumn& RtempvdTable::getDepthColumn() const { const TableColumn& RtempvdTable::getDepthColumn() const {
@ -924,7 +924,8 @@ const TableColumn& RtempvdTable::getTemperatureColumn() const {
RocktabTable::RocktabTable( RocktabTable::RocktabTable(
const DeckItem& item, const DeckItem& item,
bool isDirectional, bool isDirectional,
bool hasStressOption ) : bool hasStressOption,
const int tableID ) :
m_isDirectional( isDirectional ) m_isDirectional( isDirectional )
{ {
@ -945,7 +946,7 @@ RocktabTable::RocktabTable(
} else } else
m_schema.addColumn( ColumnSchema("PV_MULT_TRAN" , Table::RANDOM , Table::DEFAULT_LINEAR ) ); m_schema.addColumn( ColumnSchema("PV_MULT_TRAN" , Table::RANDOM , Table::DEFAULT_LINEAR ) );
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
RocktabTable RocktabTable::serializeObject() RocktabTable RocktabTable::serializeObject()
@ -990,11 +991,11 @@ bool RocktabTable::operator==(const RocktabTable& data) const {
m_isDirectional == data.m_isDirectional; m_isDirectional == data.m_isDirectional;
} }
RsvdTable::RsvdTable( const DeckItem& item ) { RsvdTable::RsvdTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); m_schema.addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ));
m_schema.addColumn( ColumnSchema( "RS" , Table::RANDOM , Table::DEFAULT_NONE )); m_schema.addColumn( ColumnSchema( "RS" , Table::RANDOM , Table::DEFAULT_NONE ));
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
const TableColumn& RsvdTable::getDepthColumn() const { const TableColumn& RsvdTable::getDepthColumn() const {
@ -1005,10 +1006,10 @@ const TableColumn& RsvdTable::getRsColumn() const {
return SimpleTable::getColumn(1); return SimpleTable::getColumn(1);
} }
RvvdTable::RvvdTable( const DeckItem& item ) { RvvdTable::RvvdTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) ); m_schema.addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) );
m_schema.addColumn( ColumnSchema( "RV" , Table::RANDOM , Table::DEFAULT_LINEAR ) ); m_schema.addColumn( ColumnSchema( "RV" , Table::RANDOM , Table::DEFAULT_LINEAR ) );
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
const TableColumn& RvvdTable::getDepthColumn() const { const TableColumn& RvvdTable::getDepthColumn() const {
@ -1019,11 +1020,11 @@ const TableColumn& RvvdTable::getRvColumn() const {
return SimpleTable::getColumn(1); return SimpleTable::getColumn(1);
} }
PbvdTable::PbvdTable( const DeckItem& item ) { PbvdTable::PbvdTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); m_schema.addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ));
m_schema.addColumn( ColumnSchema( "PBUB" , Table::RANDOM , Table::DEFAULT_NONE )); m_schema.addColumn( ColumnSchema( "PBUB" , Table::RANDOM , Table::DEFAULT_NONE ));
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
const TableColumn& PbvdTable::getDepthColumn() const { const TableColumn& PbvdTable::getDepthColumn() const {
@ -1034,11 +1035,11 @@ const TableColumn& PbvdTable::getPbubColumn() const {
return SimpleTable::getColumn(1); return SimpleTable::getColumn(1);
} }
PdvdTable::PdvdTable( const DeckItem& item ) { PdvdTable::PdvdTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); m_schema.addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ));
m_schema.addColumn( ColumnSchema( "PDEW" , Table::RANDOM , Table::DEFAULT_NONE )); m_schema.addColumn( ColumnSchema( "PDEW" , Table::RANDOM , Table::DEFAULT_NONE ));
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
const TableColumn& PdvdTable::getDepthColumn() const { const TableColumn& PdvdTable::getDepthColumn() const {
@ -1049,11 +1050,11 @@ const TableColumn& PdvdTable::getPdewColumn() const {
return SimpleTable::getColumn(1); return SimpleTable::getColumn(1);
} }
SaltvdTable::SaltvdTable( const DeckItem& item ) { SaltvdTable::SaltvdTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); m_schema.addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ));
m_schema.addColumn( ColumnSchema( "SALT" , Table::RANDOM , Table::DEFAULT_NONE )); m_schema.addColumn( ColumnSchema( "SALT" , Table::RANDOM , Table::DEFAULT_NONE ));
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
const TableColumn& SaltvdTable::getDepthColumn() const { const TableColumn& SaltvdTable::getDepthColumn() const {
@ -1064,11 +1065,11 @@ const TableColumn& SaltvdTable::getSaltColumn() const {
return SimpleTable::getColumn(1); return SimpleTable::getColumn(1);
} }
SaltpvdTable::SaltpvdTable( const DeckItem& item ) { SaltpvdTable::SaltpvdTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); m_schema.addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ));
m_schema.addColumn( ColumnSchema( "SALTP" , Table::RANDOM , Table::DEFAULT_NONE )); m_schema.addColumn( ColumnSchema( "SALTP" , Table::RANDOM , Table::DEFAULT_NONE ));
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
const TableColumn& SaltpvdTable::getDepthColumn() const { const TableColumn& SaltpvdTable::getDepthColumn() const {
@ -1080,10 +1081,10 @@ const TableColumn& SaltpvdTable::getSaltpColumn() const {
} }
SaltsolTable::SaltsolTable( const DeckItem& item ) { SaltsolTable::SaltsolTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "SALTSOLUBILITY" , Table::RANDOM , Table::DEFAULT_NONE )); m_schema.addColumn( ColumnSchema( "SALTSOLUBILITY" , Table::RANDOM , Table::DEFAULT_NONE ));
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
const TableColumn& SaltsolTable::getSaltsolColumn() const { const TableColumn& SaltsolTable::getSaltsolColumn() const {
@ -1091,11 +1092,11 @@ const TableColumn& SaltsolTable::getSaltsolColumn() const {
} }
PermfactTable::PermfactTable( const DeckItem& item ) { PermfactTable::PermfactTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "POROSITYCHANGE" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE )); m_schema.addColumn( ColumnSchema( "POROSITYCHANGE" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ));
m_schema.addColumn( ColumnSchema( "PERMEABILIYMULTIPLIER" , Table::RANDOM , Table::DEFAULT_NONE )); m_schema.addColumn( ColumnSchema( "PERMEABILIYMULTIPLIER" , Table::RANDOM , Table::DEFAULT_NONE ));
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
const TableColumn& PermfactTable::getPorosityChangeColumn() const { const TableColumn& PermfactTable::getPorosityChangeColumn() const {
@ -1107,10 +1108,10 @@ const TableColumn& PermfactTable::getPermeabilityMultiplierColumn() const {
} }
AqutabTable::AqutabTable( const DeckItem& item ) { AqutabTable::AqutabTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "TD" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) ); m_schema.addColumn( ColumnSchema( "TD" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) );
m_schema.addColumn( ColumnSchema( "PD" , Table::RANDOM , Table::DEFAULT_LINEAR ) ); m_schema.addColumn( ColumnSchema( "PD" , Table::RANDOM , Table::DEFAULT_LINEAR ) );
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
const TableColumn& AqutabTable::getTimeColumn() const { const TableColumn& AqutabTable::getTimeColumn() const {
@ -1121,7 +1122,7 @@ const TableColumn& AqutabTable::getPressureColumn() const {
return SimpleTable::getColumn(1); return SimpleTable::getColumn(1);
} }
EnkrvdTable::EnkrvdTable( const DeckItem& item ) { EnkrvdTable::EnkrvdTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) ); m_schema.addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) );
m_schema.addColumn( ColumnSchema( "KRWMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) ); m_schema.addColumn( ColumnSchema( "KRWMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) );
m_schema.addColumn( ColumnSchema( "KRGMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) ); m_schema.addColumn( ColumnSchema( "KRGMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) );
@ -1131,7 +1132,7 @@ EnkrvdTable::EnkrvdTable( const DeckItem& item ) {
m_schema.addColumn( ColumnSchema( "KROCRITG",Table::RANDOM , Table::DEFAULT_LINEAR ) ); m_schema.addColumn( ColumnSchema( "KROCRITG",Table::RANDOM , Table::DEFAULT_LINEAR ) );
m_schema.addColumn( ColumnSchema( "KROCRITW",Table::RANDOM , Table::DEFAULT_LINEAR ) ); m_schema.addColumn( ColumnSchema( "KROCRITW",Table::RANDOM , Table::DEFAULT_LINEAR ) );
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
const TableColumn& EnkrvdTable::getDepthColumn() const { const TableColumn& EnkrvdTable::getDepthColumn() const {
@ -1166,7 +1167,7 @@ const TableColumn& EnkrvdTable::getKrocritwColumn() const {
return SimpleTable::getColumn(7); return SimpleTable::getColumn(7);
} }
EnptvdTable::EnptvdTable( const DeckItem& item ) { EnptvdTable::EnptvdTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) ); m_schema.addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) );
m_schema.addColumn( ColumnSchema( "SWCO", Table::RANDOM , Table::DEFAULT_LINEAR ) ); m_schema.addColumn( ColumnSchema( "SWCO", Table::RANDOM , Table::DEFAULT_LINEAR ) );
m_schema.addColumn( ColumnSchema( "SWCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); m_schema.addColumn( ColumnSchema( "SWCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) );
@ -1177,7 +1178,7 @@ EnptvdTable::EnptvdTable( const DeckItem& item ) {
m_schema.addColumn( ColumnSchema( "SOWCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); m_schema.addColumn( ColumnSchema( "SOWCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) );
m_schema.addColumn( ColumnSchema( "SOGCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); m_schema.addColumn( ColumnSchema( "SOGCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) );
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
const TableColumn& EnptvdTable::getDepthColumn() const { const TableColumn& EnptvdTable::getDepthColumn() const {
@ -1216,7 +1217,7 @@ const TableColumn& EnptvdTable::getSogcritColumn() const {
return SimpleTable::getColumn(8); return SimpleTable::getColumn(8);
} }
ImkrvdTable::ImkrvdTable( const DeckItem& item ) { ImkrvdTable::ImkrvdTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) ); m_schema.addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) );
m_schema.addColumn( ColumnSchema( "KRWMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) ); m_schema.addColumn( ColumnSchema( "KRWMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) );
m_schema.addColumn( ColumnSchema( "KRGMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) ); m_schema.addColumn( ColumnSchema( "KRGMAX", Table::RANDOM , Table::DEFAULT_LINEAR ) );
@ -1226,7 +1227,7 @@ ImkrvdTable::ImkrvdTable( const DeckItem& item ) {
m_schema.addColumn( ColumnSchema( "KROCRITG",Table::RANDOM , Table::DEFAULT_LINEAR ) ); m_schema.addColumn( ColumnSchema( "KROCRITG",Table::RANDOM , Table::DEFAULT_LINEAR ) );
m_schema.addColumn( ColumnSchema( "KROCRITW", Table::RANDOM , Table::DEFAULT_LINEAR ) ); m_schema.addColumn( ColumnSchema( "KROCRITW", Table::RANDOM , Table::DEFAULT_LINEAR ) );
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
const TableColumn& ImkrvdTable::getDepthColumn() const { const TableColumn& ImkrvdTable::getDepthColumn() const {
@ -1262,7 +1263,7 @@ const TableColumn& ImkrvdTable::getKrocritwColumn() const {
} }
ImptvdTable::ImptvdTable( const DeckItem& item ) { ImptvdTable::ImptvdTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) ); m_schema.addColumn( ColumnSchema( "DEPTH" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE ) );
m_schema.addColumn( ColumnSchema( "SWCO", Table::RANDOM , Table::DEFAULT_LINEAR ) ); m_schema.addColumn( ColumnSchema( "SWCO", Table::RANDOM , Table::DEFAULT_LINEAR ) );
m_schema.addColumn( ColumnSchema( "SWCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); m_schema.addColumn( ColumnSchema( "SWCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) );
@ -1273,7 +1274,7 @@ ImptvdTable::ImptvdTable( const DeckItem& item ) {
m_schema.addColumn( ColumnSchema( "SOWCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); m_schema.addColumn( ColumnSchema( "SOWCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) );
m_schema.addColumn( ColumnSchema( "SOGCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) ); m_schema.addColumn( ColumnSchema( "SOGCRIT", Table::RANDOM , Table::DEFAULT_LINEAR ) );
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
const TableColumn& ImptvdTable::getDepthColumn() const { const TableColumn& ImptvdTable::getDepthColumn() const {
@ -1312,11 +1313,11 @@ const TableColumn& ImptvdTable::getSogcritColumn() const {
return SimpleTable::getColumn(8); return SimpleTable::getColumn(8);
} }
SorwmisTable::SorwmisTable( const DeckItem& item ) { SorwmisTable::SorwmisTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "WaterSaturation" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) ); m_schema.addColumn( ColumnSchema( "WaterSaturation" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) );
m_schema.addColumn( ColumnSchema( "MiscibleResidualOilSaturation" , Table::INCREASING , Table::DEFAULT_NONE) ); m_schema.addColumn( ColumnSchema( "MiscibleResidualOilSaturation" , Table::INCREASING , Table::DEFAULT_NONE) );
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
const TableColumn& SorwmisTable::getWaterSaturationColumn() const { const TableColumn& SorwmisTable::getWaterSaturationColumn() const {
@ -1327,10 +1328,10 @@ const TableColumn& SorwmisTable::getMiscibleResidualOilColumn() const {
return SimpleTable::getColumn(1); return SimpleTable::getColumn(1);
} }
SgcwmisTable::SgcwmisTable( const DeckItem& item ) { SgcwmisTable::SgcwmisTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "WaterSaturation" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) ); m_schema.addColumn( ColumnSchema( "WaterSaturation" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) );
m_schema.addColumn( ColumnSchema( "MiscibleResidualGasSaturation" , Table::INCREASING , Table::DEFAULT_NONE) ); m_schema.addColumn( ColumnSchema( "MiscibleResidualGasSaturation" , Table::INCREASING , Table::DEFAULT_NONE) );
SimpleTable::init(item); SimpleTable::init(item, tableID);
} }
const TableColumn& SgcwmisTable::getWaterSaturationColumn() const { const TableColumn& SgcwmisTable::getWaterSaturationColumn() const {
@ -1341,10 +1342,10 @@ const TableColumn& SgcwmisTable::getMiscibleResidualGasColumn() const {
return SimpleTable::getColumn(1); return SimpleTable::getColumn(1);
} }
MiscTable::MiscTable( const DeckItem& item ) { MiscTable::MiscTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "SolventFraction" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) ); m_schema.addColumn( ColumnSchema( "SolventFraction" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) );
m_schema.addColumn( ColumnSchema( "Miscibility" , Table::INCREASING , Table::DEFAULT_NONE) ); m_schema.addColumn( ColumnSchema( "Miscibility" , Table::INCREASING , Table::DEFAULT_NONE) );
SimpleTable::init( item ); SimpleTable::init( item, tableID);
} }
const TableColumn& MiscTable::getSolventFractionColumn() const { const TableColumn& MiscTable::getSolventFractionColumn() const {
@ -1356,10 +1357,10 @@ const TableColumn& MiscTable::getMiscibilityColumn() const {
} }
PmiscTable::PmiscTable( const DeckItem& item ) { PmiscTable::PmiscTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "OilPhasePressure" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) ); m_schema.addColumn( ColumnSchema( "OilPhasePressure" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) );
m_schema.addColumn( ColumnSchema( "Miscibility" , Table::INCREASING , Table::DEFAULT_NONE) ); m_schema.addColumn( ColumnSchema( "Miscibility" , Table::INCREASING , Table::DEFAULT_NONE) );
SimpleTable::init( item ); SimpleTable::init( item, tableID);
} }
const TableColumn& PmiscTable::getOilPhasePressureColumn() const { const TableColumn& PmiscTable::getOilPhasePressureColumn() const {
@ -1370,10 +1371,10 @@ const TableColumn& PmiscTable::getMiscibilityColumn() const {
return SimpleTable::getColumn(1); return SimpleTable::getColumn(1);
} }
TlpmixpaTable::TlpmixpaTable( const DeckItem& item ) { TlpmixpaTable::TlpmixpaTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "OilPhasePressure" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) ); m_schema.addColumn( ColumnSchema( "OilPhasePressure" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) );
m_schema.addColumn( ColumnSchema( "Miscibility" , Table::INCREASING , Table::DEFAULT_NONE) ); m_schema.addColumn( ColumnSchema( "Miscibility" , Table::INCREASING , Table::DEFAULT_NONE) );
SimpleTable::init( item ); SimpleTable::init( item, tableID);
} }
const TableColumn& TlpmixpaTable::getOilPhasePressureColumn() const { const TableColumn& TlpmixpaTable::getOilPhasePressureColumn() const {
@ -1384,12 +1385,12 @@ const TableColumn& TlpmixpaTable::getMiscibilityColumn() const {
return SimpleTable::getColumn(1); return SimpleTable::getColumn(1);
} }
MsfnTable::MsfnTable( const DeckItem& item ) { MsfnTable::MsfnTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "GasPhaseFraction", Table::STRICTLY_INCREASING , Table::DEFAULT_NONE)); m_schema.addColumn( ColumnSchema( "GasPhaseFraction", Table::STRICTLY_INCREASING , Table::DEFAULT_NONE));
m_schema.addColumn( ColumnSchema( "GasSolventRelpermMultiplier", Table::INCREASING , Table::DEFAULT_NONE)); m_schema.addColumn( ColumnSchema( "GasSolventRelpermMultiplier", Table::INCREASING , Table::DEFAULT_NONE));
m_schema.addColumn( ColumnSchema( "OilRelpermMultiplier", Table::DECREASING , Table::DEFAULT_NONE)); m_schema.addColumn( ColumnSchema( "OilRelpermMultiplier", Table::DECREASING , Table::DEFAULT_NONE));
SimpleTable::init( item ); SimpleTable::init( item, tableID);
getColumn("GasPhaseFraction").assertUnitRange(); getColumn("GasPhaseFraction").assertUnitRange();
} }
@ -1407,19 +1408,19 @@ const TableColumn& MsfnTable::getOilRelpermMultiplierColumn() const {
return SimpleTable::getColumn(2); return SimpleTable::getColumn(2);
} }
RockwnodTable::RockwnodTable( const DeckItem& item ) { RockwnodTable::RockwnodTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "Saturation" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) ); m_schema.addColumn( ColumnSchema( "Saturation" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) );
SimpleTable::init( item ); SimpleTable::init( item, tableID);
} }
const TableColumn& RockwnodTable::getSaturationColumn() const { const TableColumn& RockwnodTable::getSaturationColumn() const {
return SimpleTable::getColumn(0); return SimpleTable::getColumn(0);
} }
OverburdTable::OverburdTable( const DeckItem& item ) { OverburdTable::OverburdTable( const DeckItem& item, const int tableID ) {
m_schema.addColumn( ColumnSchema( "Depth" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) ); m_schema.addColumn( ColumnSchema( "Depth" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) );
m_schema.addColumn( ColumnSchema( "OverburdenPressure" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) ); m_schema.addColumn( ColumnSchema( "OverburdenPressure" , Table::STRICTLY_INCREASING , Table::DEFAULT_NONE) );
SimpleTable::init( item ); SimpleTable::init( item, tableID);
} }
const TableColumn& OverburdTable::getDepthColumn() const { const TableColumn& OverburdTable::getDepthColumn() const {
@ -1430,10 +1431,10 @@ const TableColumn& OverburdTable::getOverburdenPressureColumn() const {
return SimpleTable::getColumn(1); return SimpleTable::getColumn(1);
} }
TracerVdTable::TracerVdTable(const Opm::DeckItem& item, double inv_volume) { TracerVdTable::TracerVdTable(const Opm::DeckItem& item, double inv_volume, const int tableID ) {
m_schema.addColumn(Opm::ColumnSchema("DEPTH", Table::STRICTLY_INCREASING, Table::DEFAULT_NONE)); m_schema.addColumn(Opm::ColumnSchema("DEPTH", Table::STRICTLY_INCREASING, Table::DEFAULT_NONE));
m_schema.addColumn(Opm::ColumnSchema("TRACER_CONCENTRATION", Table::RANDOM, Table::DEFAULT_NONE)); m_schema.addColumn(Opm::ColumnSchema("TRACER_CONCENTRATION", Table::RANDOM, Table::DEFAULT_NONE));
SimpleTable::init(item, inv_volume); SimpleTable::init(item, tableID, inv_volume);
} }
const TableColumn& TracerVdTable::getDepthColumn() const { const TableColumn& TracerVdTable::getDepthColumn() const {

View File

@ -142,12 +142,13 @@ TracerConfig::TracerConfig(const UnitSystem& unit_system, const Deck& deck)
const auto& deck_item_solution = tracer_keyword_solution.getRecord(0).getItem(0); const auto& deck_item_solution = tracer_keyword_solution.getRecord(0).getItem(0);
logger(tracer_keyword_solution.location().format("Loading tracer concentration from {keyword} in {file} line {line}")); logger(tracer_keyword_solution.location().format("Loading tracer concentration from {keyword} in {file} line {line}"));
this->tracers.emplace_back(name, unit_string, phase, TracerVdTable(deck_item, inv_volume), this->tracers.emplace_back(name, unit_string, phase,
TracerVdTable(deck_item_solution, inv_volume)) ; TracerVdTable(deck_item, inv_volume, this->tracers.size()),
TracerVdTable(deck_item_solution, inv_volume, this->tracers.size())) ;
continue; continue;
} }
this->tracers.emplace_back(name, unit_string, phase, TracerVdTable(deck_item, inv_volume)); this->tracers.emplace_back(name, unit_string, phase, TracerVdTable(deck_item, inv_volume, this->tracers.size()));
continue; continue;
} }

View File

@ -59,7 +59,7 @@ BOOST_AUTO_TEST_CASE( CreateContainer ) {
BOOST_CHECK_EQUAL( 0U , container.size() ); BOOST_CHECK_EQUAL( 0U , container.size() );
BOOST_CHECK_EQUAL( false , container.hasTable( 1 )); BOOST_CHECK_EQUAL( false , container.hasTable( 1 ));
std::shared_ptr<Opm::SimpleTable> table = std::make_shared<Opm::SwofTable>( deck["SWOF"].back().getRecord(0).getItem(0), false ); std::shared_ptr<Opm::SimpleTable> table = std::make_shared<Opm::SwofTable>( deck["SWOF"].back().getRecord(0).getItem(0), false, 0 );
BOOST_CHECK_THROW( container.addTable( 10 , table ), std::invalid_argument ); BOOST_CHECK_THROW( container.addTable( 10 , table ), std::invalid_argument );
container.addTable( 6 , table ); container.addTable( 6 , table );
BOOST_CHECK_EQUAL( 1U , container.size() ); BOOST_CHECK_EQUAL( 1U , container.size() );

View File

@ -271,8 +271,8 @@ SWOF
END END
)"); )");
Opm::SwofTable swof1Table(deck["SWOF"].back().getRecord(0).getItem(0), false); Opm::SwofTable swof1Table(deck["SWOF"].back().getRecord(0).getItem(0), false, 0);
Opm::SwofTable swof2Table(deck["SWOF"].back().getRecord(1).getItem(0), false); Opm::SwofTable swof2Table(deck["SWOF"].back().getRecord(1).getItem(0), false, 1);
BOOST_CHECK_EQUAL(swof1Table.numRows(), 2U); BOOST_CHECK_EQUAL(swof1Table.numRows(), 2U);
BOOST_CHECK_EQUAL(swof2Table.numRows(), 3U); BOOST_CHECK_EQUAL(swof2Table.numRows(), 3U);
@ -313,7 +313,7 @@ BOOST_AUTO_TEST_CASE(PbvdTable_Tests) {
Opm::Parser parser; Opm::Parser parser;
auto deck = parser.parseString(deckData); auto deck = parser.parseString(deckData);
Opm::PbvdTable pbvdTable1(deck["PBVD"].back().getRecord(0).getItem(0)); Opm::PbvdTable pbvdTable1(deck["PBVD"].back().getRecord(0).getItem(0), 0);
BOOST_CHECK_EQUAL(pbvdTable1.numRows(), 2U); BOOST_CHECK_EQUAL(pbvdTable1.numRows(), 2U);
BOOST_CHECK_EQUAL(pbvdTable1.numColumns(), 2U); BOOST_CHECK_EQUAL(pbvdTable1.numColumns(), 2U);
@ -322,7 +322,7 @@ BOOST_AUTO_TEST_CASE(PbvdTable_Tests) {
BOOST_CHECK_EQUAL(pbvdTable1.getPbubColumn().front(), 100000); // 1 barsa BOOST_CHECK_EQUAL(pbvdTable1.getPbubColumn().front(), 100000); // 1 barsa
// depth must be increasing down the column. // depth must be increasing down the column.
BOOST_CHECK_THROW(Opm::PbvdTable pbvdTable2(deck["PBVD"].back().getRecord(1).getItem(0)), std::invalid_argument); BOOST_CHECK_THROW(Opm::PbvdTable pbvdTable2(deck["PBVD"].back().getRecord(1).getItem(0), 1), std::invalid_argument);
} }
@ -341,7 +341,7 @@ BOOST_AUTO_TEST_CASE(PdvdTable_Tests) {
Opm::Parser parser; Opm::Parser parser;
auto deck = parser.parseString(deckData); auto deck = parser.parseString(deckData);
Opm::PdvdTable pdvdTable1(deck["PDVD"].back().getRecord(0).getItem(0)); Opm::PdvdTable pdvdTable1(deck["PDVD"].back().getRecord(0).getItem(0), 0);
BOOST_CHECK_EQUAL(pdvdTable1.numRows(), 2U); BOOST_CHECK_EQUAL(pdvdTable1.numRows(), 2U);
BOOST_CHECK_EQUAL(pdvdTable1.numColumns(), 2U); BOOST_CHECK_EQUAL(pdvdTable1.numColumns(), 2U);
@ -350,7 +350,7 @@ BOOST_AUTO_TEST_CASE(PdvdTable_Tests) {
BOOST_CHECK_EQUAL(pdvdTable1.getPdewColumn().front(), 100000); // 1 barsa BOOST_CHECK_EQUAL(pdvdTable1.getPdewColumn().front(), 100000); // 1 barsa
// depth must be increasing down the column. // depth must be increasing down the column.
BOOST_CHECK_THROW(Opm::PdvdTable pdvdTable2(deck["PDVD"].back().getRecord(1).getItem(0)), std::invalid_argument); BOOST_CHECK_THROW(Opm::PdvdTable pdvdTable2(deck["PDVD"].back().getRecord(1).getItem(0), 1), std::invalid_argument);
} }
BOOST_AUTO_TEST_CASE(SgwfnTable_Tests) { BOOST_AUTO_TEST_CASE(SgwfnTable_Tests) {
@ -369,8 +369,8 @@ BOOST_AUTO_TEST_CASE(SgwfnTable_Tests) {
auto deck = parser.parseString(deckData); auto deck = parser.parseString(deckData);
Opm::SgwfnTable sgwfn1Table(deck["SGWFN"].back().getRecord(0).getItem(0)); Opm::SgwfnTable sgwfn1Table(deck["SGWFN"].back().getRecord(0).getItem(0), 0);
Opm::SgwfnTable sgwfn2Table(deck["SGWFN"].back().getRecord(1).getItem(0)); Opm::SgwfnTable sgwfn2Table(deck["SGWFN"].back().getRecord(1).getItem(0), 1);
BOOST_CHECK_EQUAL(sgwfn1Table.numRows(), 2U); BOOST_CHECK_EQUAL(sgwfn1Table.numRows(), 2U);
BOOST_CHECK_EQUAL(sgwfn2Table.numRows(), 3U); BOOST_CHECK_EQUAL(sgwfn2Table.numRows(), 3U);
@ -414,8 +414,8 @@ SGOF
END END
)"); )");
Opm::SgofTable sgof1Table(deck["SGOF"].back().getRecord(0).getItem(0), false); Opm::SgofTable sgof1Table(deck["SGOF"].back().getRecord(0).getItem(0), false, 0);
Opm::SgofTable sgof2Table(deck["SGOF"].back().getRecord(1).getItem(0), false); Opm::SgofTable sgof2Table(deck["SGOF"].back().getRecord(1).getItem(0), false, 1);
BOOST_CHECK_EQUAL(sgof1Table.numRows(), 2U); BOOST_CHECK_EQUAL(sgof1Table.numRows(), 2U);
BOOST_CHECK_EQUAL(sgof2Table.numRows(), 3U); BOOST_CHECK_EQUAL(sgof2Table.numRows(), 3U);
@ -460,7 +460,7 @@ BOOST_AUTO_TEST_CASE(PlyadsTable_Tests) {
Opm::Parser parser; Opm::Parser parser;
auto deck = parser.parseString(correctDeckData); auto deck = parser.parseString(correctDeckData);
const auto& plyadsKeyword = deck["PLYADS"].back(); const auto& plyadsKeyword = deck["PLYADS"].back();
Opm::PlyadsTable plyadsTable(plyadsKeyword.getRecord(0).getItem(0)); Opm::PlyadsTable plyadsTable(plyadsKeyword.getRecord(0).getItem(0), 0);
BOOST_CHECK_CLOSE(plyadsTable.getPolymerConcentrationColumn().front(), 0.0, 1e-6); BOOST_CHECK_CLOSE(plyadsTable.getPolymerConcentrationColumn().front(), 0.0, 1e-6);
@ -490,7 +490,7 @@ BOOST_AUTO_TEST_CASE(PlyadsTable_Tests) {
auto deck = parser.parseString(incorrectDeckData); auto deck = parser.parseString(incorrectDeckData);
const auto& plyadsKeyword = deck["PLYADS"].back(); const auto& plyadsKeyword = deck["PLYADS"].back();
BOOST_CHECK_THROW(Opm::PlyadsTable(plyadsKeyword.getRecord(0).getItem(0)), std::invalid_argument); BOOST_CHECK_THROW(Opm::PlyadsTable(plyadsKeyword.getRecord(0).getItem(0), 0), std::invalid_argument);
} }
{ {
@ -513,7 +513,7 @@ BOOST_AUTO_TEST_CASE(PlyadsTable_Tests) {
auto deck = parser.parseString(incorrectDeckData); auto deck = parser.parseString(incorrectDeckData);
const auto& plyadsKeyword = deck["PLYADS"].back(); const auto& plyadsKeyword = deck["PLYADS"].back();
BOOST_CHECK_THROW(Opm::PlyadsTable(plyadsKeyword.getRecord(0).getItem(0)), std::invalid_argument); BOOST_CHECK_THROW(Opm::PlyadsTable(plyadsKeyword.getRecord(0).getItem(0), 0), std::invalid_argument);
} }
} }
@ -536,7 +536,7 @@ BOOST_AUTO_TEST_CASE(FoamadsTable_Tests) {
Opm::Parser parser; Opm::Parser parser;
auto deck = parser.parseString(correctDeckData); auto deck = parser.parseString(correctDeckData);
const auto& foamadsKeyword = deck["FOAMADS"].back(); const auto& foamadsKeyword = deck["FOAMADS"].back();
Opm::FoamadsTable foamadsTable(foamadsKeyword.getRecord(0).getItem(0)); Opm::FoamadsTable foamadsTable(foamadsKeyword.getRecord(0).getItem(0), 0);
BOOST_CHECK_CLOSE(foamadsTable.getFoamConcentrationColumn().front(), 0.0, 1e-6); BOOST_CHECK_CLOSE(foamadsTable.getFoamConcentrationColumn().front(), 0.0, 1e-6);
@ -566,7 +566,7 @@ BOOST_AUTO_TEST_CASE(FoamadsTable_Tests) {
auto deck = parser.parseString(incorrectDeckData); auto deck = parser.parseString(incorrectDeckData);
const auto& foamadsKeyword = deck["FOAMADS"].back(); const auto& foamadsKeyword = deck["FOAMADS"].back();
BOOST_CHECK_THROW(Opm::FoamadsTable(foamadsKeyword.getRecord(0).getItem(0)), std::invalid_argument); BOOST_CHECK_THROW(Opm::FoamadsTable(foamadsKeyword.getRecord(0).getItem(0), 0), std::invalid_argument);
} }
{ {
@ -589,7 +589,7 @@ BOOST_AUTO_TEST_CASE(FoamadsTable_Tests) {
auto deck = parser.parseString(incorrectDeckData); auto deck = parser.parseString(incorrectDeckData);
const auto& foamadsKeyword = deck["FOAMADS"].back(); const auto& foamadsKeyword = deck["FOAMADS"].back();
BOOST_CHECK_THROW(Opm::FoamadsTable(foamadsKeyword.getRecord(0).getItem(0)), std::invalid_argument); BOOST_CHECK_THROW(Opm::FoamadsTable(foamadsKeyword.getRecord(0).getItem(0), 0), std::invalid_argument);
} }
} }
@ -606,7 +606,7 @@ BOOST_AUTO_TEST_CASE(FoammobTable_Tests) {
Opm::Parser parser; Opm::Parser parser;
auto deck = parser.parseString(correctDeckData); auto deck = parser.parseString(correctDeckData);
const auto& foammobKeyword = deck["FOAMMOB"].back(); const auto& foammobKeyword = deck["FOAMMOB"].back();
Opm::FoammobTable foammobTable(foammobKeyword.getRecord(0).getItem(0)); Opm::FoammobTable foammobTable(foammobKeyword.getRecord(0).getItem(0), 0);
BOOST_CHECK_CLOSE(foammobTable.getFoamConcentrationColumn().front(), 0.0, 1e-6); BOOST_CHECK_CLOSE(foammobTable.getFoamConcentrationColumn().front(), 0.0, 1e-6);
@ -630,7 +630,7 @@ BOOST_AUTO_TEST_CASE(FoammobTable_Tests) {
auto deck = parser.parseString(incorrectDeckData); auto deck = parser.parseString(incorrectDeckData);
const auto& foammobKeyword = deck["FOAMMOB"].back(); const auto& foammobKeyword = deck["FOAMMOB"].back();
BOOST_CHECK_THROW(Opm::FoammobTable(foammobKeyword.getRecord(0).getItem(0)), std::invalid_argument); BOOST_CHECK_THROW(Opm::FoammobTable(foammobKeyword.getRecord(0).getItem(0), 0), std::invalid_argument);
} }
{ {
@ -647,7 +647,7 @@ BOOST_AUTO_TEST_CASE(FoammobTable_Tests) {
auto deck = parser.parseString(incorrectDeckData); auto deck = parser.parseString(incorrectDeckData);
const auto& foammobKeyword = deck["FOAMMOB"].back(); const auto& foammobKeyword = deck["FOAMMOB"].back();
BOOST_CHECK_THROW(Opm::FoammobTable(foammobKeyword.getRecord(0).getItem(0)), std::invalid_argument); BOOST_CHECK_THROW(Opm::FoammobTable(foammobKeyword.getRecord(0).getItem(0), 0), std::invalid_argument);
} }
} }

View File

@ -236,7 +236,7 @@ BOOST_AUTO_TEST_CASE( SORWMIS ) {
// test number of columns // test number of columns
size_t ntmisc = miscible0.getItem(0).get< int >(0); size_t ntmisc = miscible0.getItem(0).get< int >(0);
Opm::SorwmisTable sorwmisTable0(sorwmis0.getItem(0)); Opm::SorwmisTable sorwmisTable0(sorwmis0.getItem(0), 0);
BOOST_CHECK_EQUAL(sorwmisTable0.numColumns(),ntmisc); BOOST_CHECK_EQUAL(sorwmisTable0.numColumns(),ntmisc);
// test table input 1 // test table input 1
@ -245,7 +245,7 @@ BOOST_AUTO_TEST_CASE( SORWMIS ) {
BOOST_CHECK_EQUAL(0.0, sorwmisTable0.getMiscibleResidualOilColumn()[2]); BOOST_CHECK_EQUAL(0.0, sorwmisTable0.getMiscibleResidualOilColumn()[2]);
// test table input 2 // test table input 2
Opm::SorwmisTable sorwmisTable1(sorwmis1.getItem(0)); Opm::SorwmisTable sorwmisTable1(sorwmis1.getItem(0), 1);
BOOST_CHECK_EQUAL(sorwmisTable1.numColumns(),ntmisc); BOOST_CHECK_EQUAL(sorwmisTable1.numColumns(),ntmisc);
BOOST_CHECK_EQUAL(3U, sorwmisTable1.getWaterSaturationColumn().size()); BOOST_CHECK_EQUAL(3U, sorwmisTable1.getWaterSaturationColumn().size());
@ -266,7 +266,7 @@ BOOST_AUTO_TEST_CASE( SGCWMIS ) {
// test number of columns // test number of columns
size_t ntmisc = miscible0.getItem(0).get< int >(0); size_t ntmisc = miscible0.getItem(0).get< int >(0);
Opm::SgcwmisTable sgcwmisTable0(sgcwmis0.getItem(0)); Opm::SgcwmisTable sgcwmisTable0(sgcwmis0.getItem(0), 0);
BOOST_CHECK_EQUAL(sgcwmisTable0.numColumns(),ntmisc); BOOST_CHECK_EQUAL(sgcwmisTable0.numColumns(),ntmisc);
// test table input 1 // test table input 1
@ -275,7 +275,7 @@ BOOST_AUTO_TEST_CASE( SGCWMIS ) {
BOOST_CHECK_EQUAL(0.0, sgcwmisTable0.getMiscibleResidualGasColumn()[1]); BOOST_CHECK_EQUAL(0.0, sgcwmisTable0.getMiscibleResidualGasColumn()[1]);
// test table input 2 // test table input 2
Opm::SgcwmisTable sgcwmisTable1(sgcwmis1.getItem(0)); Opm::SgcwmisTable sgcwmisTable1(sgcwmis1.getItem(0), 1);
BOOST_CHECK_EQUAL(sgcwmisTable1.numColumns(),ntmisc); BOOST_CHECK_EQUAL(sgcwmisTable1.numColumns(),ntmisc);
BOOST_CHECK_EQUAL(3U, sgcwmisTable1.getWaterSaturationColumn().size()); BOOST_CHECK_EQUAL(3U, sgcwmisTable1.getWaterSaturationColumn().size());
@ -318,17 +318,17 @@ BOOST_AUTO_TEST_CASE( MISC ) {
// out of range MISC keyword // out of range MISC keyword
auto deck1 = parser.parseString(miscOutOfRangeData); auto deck1 = parser.parseString(miscOutOfRangeData);
const auto& item = deck1["MISC"].back().getRecord(0).getItem(0); const auto& item = deck1["MISC"].back().getRecord(0).getItem(0);
Opm::MiscTable miscTable1(item); Opm::MiscTable miscTable1(item, 0);
// too litle range of MISC keyword // too litle range of MISC keyword
auto deck2 = parser.parseString(miscTooSmallRangeData); auto deck2 = parser.parseString(miscTooSmallRangeData);
const auto& item2 = deck2["MISC"].back().getRecord(0).getItem(0); const auto& item2 = deck2["MISC"].back().getRecord(0).getItem(0);
Opm::MiscTable miscTable2(item2); Opm::MiscTable miscTable2(item2, 0);
// test table input // test table input
auto deck3 = parser.parseString(miscData); auto deck3 = parser.parseString(miscData);
const auto& item3 = deck3["MISC"].back().getRecord(0).getItem(0); const auto& item3 = deck3["MISC"].back().getRecord(0).getItem(0);
Opm::MiscTable miscTable3(item3); Opm::MiscTable miscTable3(item3, 0);
BOOST_CHECK_EQUAL(3U, miscTable3.getSolventFractionColumn().size()); BOOST_CHECK_EQUAL(3U, miscTable3.getSolventFractionColumn().size());
BOOST_CHECK_EQUAL(0.1, miscTable3.getSolventFractionColumn()[1]); BOOST_CHECK_EQUAL(0.1, miscTable3.getSolventFractionColumn()[1]);
BOOST_CHECK_EQUAL(0.5, miscTable3.getMiscibilityColumn()[1]); BOOST_CHECK_EQUAL(0.5, miscTable3.getMiscibilityColumn()[1]);
@ -347,7 +347,7 @@ PMISC
BOOST_AUTO_TEST_CASE( PMISC ) { BOOST_AUTO_TEST_CASE( PMISC ) {
Parser parser; Parser parser;
auto deck = parser.parseString(pmiscData); auto deck = parser.parseString(pmiscData);
Opm::PmiscTable pmiscTable(deck["PMISC"].back().getRecord(0).getItem(0)); Opm::PmiscTable pmiscTable(deck["PMISC"].back().getRecord(0).getItem(0), 0);
BOOST_CHECK_EQUAL(3U, pmiscTable.getOilPhasePressureColumn().size()); BOOST_CHECK_EQUAL(3U, pmiscTable.getOilPhasePressureColumn().size());
BOOST_CHECK_EQUAL(200*1e5, pmiscTable.getOilPhasePressureColumn()[1]); BOOST_CHECK_EQUAL(200*1e5, pmiscTable.getOilPhasePressureColumn()[1]);
BOOST_CHECK_EQUAL(0.5, pmiscTable.getMiscibilityColumn()[1]); BOOST_CHECK_EQUAL(0.5, pmiscTable.getMiscibilityColumn()[1]);
@ -369,13 +369,13 @@ BOOST_AUTO_TEST_CASE( MSFN ) {
Parser parser; Parser parser;
auto deck = parser.parseString(msfnData); auto deck = parser.parseString(msfnData);
Opm::MsfnTable msfnTable1(deck["MSFN"].back().getRecord(0).getItem(0)); Opm::MsfnTable msfnTable1(deck["MSFN"].back().getRecord(0).getItem(0), 0);
BOOST_CHECK_EQUAL(2U, msfnTable1.getGasPhaseFractionColumn().size()); BOOST_CHECK_EQUAL(2U, msfnTable1.getGasPhaseFractionColumn().size());
BOOST_CHECK_EQUAL(1.0, msfnTable1.getGasPhaseFractionColumn()[1]); BOOST_CHECK_EQUAL(1.0, msfnTable1.getGasPhaseFractionColumn()[1]);
BOOST_CHECK_EQUAL(1.0, msfnTable1.getGasSolventRelpermMultiplierColumn()[1]); BOOST_CHECK_EQUAL(1.0, msfnTable1.getGasSolventRelpermMultiplierColumn()[1]);
BOOST_CHECK_EQUAL(0.0, msfnTable1.getOilRelpermMultiplierColumn()[1]); BOOST_CHECK_EQUAL(0.0, msfnTable1.getOilRelpermMultiplierColumn()[1]);
Opm::MsfnTable msfnTable2(deck["MSFN"].back().getRecord(1).getItem(0)); Opm::MsfnTable msfnTable2(deck["MSFN"].back().getRecord(1).getItem(0), 1);
BOOST_CHECK_EQUAL(3U, msfnTable2.getGasPhaseFractionColumn().size()); BOOST_CHECK_EQUAL(3U, msfnTable2.getGasPhaseFractionColumn().size());
BOOST_CHECK_EQUAL(0.5, msfnTable2.getGasPhaseFractionColumn()[1]); BOOST_CHECK_EQUAL(0.5, msfnTable2.getGasPhaseFractionColumn()[1]);
BOOST_CHECK_EQUAL(0.3, msfnTable2.getGasSolventRelpermMultiplierColumn()[1]); BOOST_CHECK_EQUAL(0.3, msfnTable2.getGasSolventRelpermMultiplierColumn()[1]);
@ -395,7 +395,7 @@ BOOST_AUTO_TEST_CASE( TLPMIXPA ) {
Parser parser; Parser parser;
auto deck = parser.parseString(tlpmixpa); auto deck = parser.parseString(tlpmixpa);
Opm::TlpmixpaTable tlpmixpaTable(deck["TLPMIXPA"].back().getRecord(0).getItem(0)); Opm::TlpmixpaTable tlpmixpaTable(deck["TLPMIXPA"].back().getRecord(0).getItem(0), 0);
BOOST_CHECK_EQUAL(3U, tlpmixpaTable.getOilPhasePressureColumn().size()); BOOST_CHECK_EQUAL(3U, tlpmixpaTable.getOilPhasePressureColumn().size());
BOOST_CHECK_EQUAL(200*1e5, tlpmixpaTable.getOilPhasePressureColumn()[1]); BOOST_CHECK_EQUAL(200*1e5, tlpmixpaTable.getOilPhasePressureColumn()[1]);
BOOST_CHECK_EQUAL(0.5, tlpmixpaTable.getMiscibilityColumn()[1]); BOOST_CHECK_EQUAL(0.5, tlpmixpaTable.getMiscibilityColumn()[1]);
@ -972,7 +972,7 @@ SGOF
const auto& item0 = record0.getItem(0); const auto& item0 = record0.getItem(0);
BOOST_CHECK_EQUAL(10U * 4, item0.data_size()); BOOST_CHECK_EQUAL(10U * 4, item0.data_size());
Opm::SgofTable sgofTable(deck["SGOF"].back().getRecord(0).getItem(0), false); Opm::SgofTable sgofTable(deck["SGOF"].back().getRecord(0).getItem(0), false, 0);
BOOST_CHECK_EQUAL(10U, sgofTable.getSgColumn().size()); BOOST_CHECK_EQUAL(10U, sgofTable.getSgColumn().size());
BOOST_CHECK_EQUAL(0.1, sgofTable.getSgColumn()[0]); BOOST_CHECK_EQUAL(0.1, sgofTable.getSgColumn()[0]);
BOOST_CHECK_EQUAL(0.0, sgofTable.getKrgColumn()[0]); BOOST_CHECK_EQUAL(0.0, sgofTable.getKrgColumn()[0]);
@ -1013,7 +1013,7 @@ SWOF
BOOST_CHECK_EQUAL(1U , record0.size()); BOOST_CHECK_EQUAL(1U , record0.size());
BOOST_CHECK_EQUAL(10U * 4, item0.data_size()); BOOST_CHECK_EQUAL(10U * 4, item0.data_size());
Opm::SwofTable swofTable(deck["SWOF"].back().getRecord(0).getItem(0), false); Opm::SwofTable swofTable(deck["SWOF"].back().getRecord(0).getItem(0), false, 0);
BOOST_CHECK_EQUAL(10U, swofTable.getSwColumn().size()); BOOST_CHECK_EQUAL(10U, swofTable.getSwColumn().size());
BOOST_CHECK_CLOSE(0.1, swofTable.getSwColumn()[0], 1e-8); BOOST_CHECK_CLOSE(0.1, swofTable.getSwColumn()[0], 1e-8);
BOOST_CHECK_CLOSE(1.0, swofTable.getSwColumn().back(), 1e-8); BOOST_CHECK_CLOSE(1.0, swofTable.getSwColumn().back(), 1e-8);
@ -1071,7 +1071,7 @@ SLGOF
BOOST_CHECK_EQUAL(1U , record0.size()); BOOST_CHECK_EQUAL(1U , record0.size());
BOOST_CHECK_EQUAL(10U * 4, item0.data_size()); BOOST_CHECK_EQUAL(10U * 4, item0.data_size());
Opm::SlgofTable slgofTable( deck["SLGOF"].back().getRecord(0).getItem(0), false ); Opm::SlgofTable slgofTable( deck["SLGOF"].back().getRecord(0).getItem(0), false, 0 );
BOOST_CHECK_EQUAL(10U, slgofTable.getSlColumn().size()); BOOST_CHECK_EQUAL(10U, slgofTable.getSlColumn().size());
BOOST_CHECK_EQUAL(0.1, slgofTable.getSlColumn()[0]); BOOST_CHECK_EQUAL(0.1, slgofTable.getSlColumn()[0]);
BOOST_CHECK_EQUAL(1.0, slgofTable.getSlColumn()[9]); BOOST_CHECK_EQUAL(1.0, slgofTable.getSlColumn()[9]);