Skip to content

Commit

Permalink
Merge pull request #3406 from totto82/wsf_gsf
Browse files Browse the repository at this point in the history
Implement WSF/GSF satfunc familiy for CO2STORE
  • Loading branch information
bska authored Feb 24, 2023
2 parents da492f8 + 5a3d395 commit 61cec09
Show file tree
Hide file tree
Showing 21 changed files with 728 additions and 12 deletions.
2 changes: 2 additions & 0 deletions CMakeLists_files.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -1050,6 +1050,8 @@ if(ENABLE_ECL_INPUT)
opm/input/eclipse/EclipseState/Tables/PvdoTable.hpp
opm/input/eclipse/EclipseState/Tables/OilvisctTable.hpp
opm/input/eclipse/EclipseState/Tables/SgfnTable.hpp
opm/input/eclipse/EclipseState/Tables/WsfTable.hpp
opm/input/eclipse/EclipseState/Tables/GsfTable.hpp
opm/input/eclipse/EclipseState/Tables/MiscTable.hpp
opm/input/eclipse/EclipseState/Tables/SgwfnTable.hpp
opm/input/eclipse/EclipseState/Tables/PvdsTable.hpp
Expand Down
1 change: 1 addition & 0 deletions opm/input/eclipse/EclipseState/Runspec.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,7 @@ class SatFuncControls {
enum class KeywordFamily {
Family_I, // SGOF, SWOF, SLGOF
Family_II, // SGFN, SOF{2,3}, SWFN
Family_III, // GSF, WSF
Undefined,
};

Expand Down
41 changes: 41 additions & 0 deletions opm/input/eclipse/EclipseState/Tables/GsfTable.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
/*
Copyright (C) 2023 Equinor AS
This file is part of the Open Porous Media project (OPM).
OPM is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OPM is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with OPM. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef OPM_PARSER_GSF_TABLE_HPP
#define OPM_PARSER_GSF_TABLE_HPP

#include "SimpleTable.hpp"

namespace Opm {

class DeckItem;

class GsfTable : public SimpleTable {

public:
GsfTable( const DeckItem& item, const int tableID );

const TableColumn& getSgColumn() const;
const TableColumn& getKrgColumn() const;
const TableColumn& getPcgwColumn() const;

};
}

#endif

3 changes: 3 additions & 0 deletions opm/input/eclipse/EclipseState/Tables/TableManager.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,9 @@ namespace Opm {
const TableContainer& getMsfnTables() const;
const TableContainer& getTlpmixpaTables() const;

const TableContainer& getWsfTables() const;
const TableContainer& getGsfTables() const;

const JFunc& getJFunc() const;

const std::vector<PvtgTable>& getPvtgTables() const;
Expand Down
39 changes: 39 additions & 0 deletions opm/input/eclipse/EclipseState/Tables/WsfTable.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/*
Copyright (C) 2023 Equinor AS
This file is part of the Open Porous Media project (OPM).
OPM is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OPM is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with OPM. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef OPM_PARSER_WSF_TABLE_HPP
#define OPM_PARSER_WSF_TABLE_HPP

#include "SimpleTable.hpp"

namespace Opm {

class DeckItem;

class WsfTable : public SimpleTable {

public:
WsfTable( const DeckItem& item, const int tableID );

const TableColumn& getSwColumn() const;
const TableColumn& getKrwColumn() const;
};
}

#endif

9 changes: 9 additions & 0 deletions opm/output/eclipse/Tables.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,15 @@ namespace Opm {
const bool oil,
const bool wat);

/// Add saturation function tables corresponding to family III (WSF,
/// GSF) to the tabular data (TABDIMS and TAB vectors).
///
/// \param[in] es Valid \c EclipseState object with accurate table
/// dimensions ("TABDIMS" keyword) and an initialised \c
/// TableManager sub-object.
///
void addSatFunc_FamilyThree(const EclipseState& es);

/// Add gas PVT tables (keywords PVDG and PVTG) to the tabular data
/// (TABDIMS and TAB vectors).
///
Expand Down
Loading

0 comments on commit 61cec09

Please sign in to comment.