Merge pull request #1537 from akva2/internaliz_shrate
Internalize SHRATE
This commit is contained in:
@@ -24,7 +24,6 @@
|
||||
|
||||
#include <opm/parser/eclipse/EclipseState/InitConfig/Equil.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/InitConfig/FoamConfig.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/InitConfig/PolymerConfig.hpp>
|
||||
|
||||
namespace Opm {
|
||||
|
||||
@@ -36,7 +35,6 @@ namespace Opm {
|
||||
InitConfig();
|
||||
explicit InitConfig(const Deck& deck);
|
||||
InitConfig(const Equil& equil, const FoamConfig& foam,
|
||||
const PolymerConfig& polymer,
|
||||
bool filleps, bool gravity, bool restartReq, int restartStep,
|
||||
const std::string& restartRootName);
|
||||
|
||||
@@ -53,8 +51,6 @@ namespace Opm {
|
||||
bool hasFoamConfig() const;
|
||||
const FoamConfig& getFoamConfig() const;
|
||||
|
||||
const PolymerConfig& getPolymerConfig() const;
|
||||
|
||||
bool filleps() const
|
||||
{
|
||||
return this->m_filleps;
|
||||
@@ -65,7 +61,6 @@ namespace Opm {
|
||||
private:
|
||||
Equil equil;
|
||||
FoamConfig foamconfig;
|
||||
PolymerConfig polymerconfig;
|
||||
bool m_filleps;
|
||||
bool m_gravity = true;
|
||||
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
/*
|
||||
Copyright 2019 SINTEF Digital, Mathematics and Cybernetics.
|
||||
|
||||
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_POLYMERCONFIG_HPP
|
||||
#define OPM_POLYMERCONFIG_HPP
|
||||
|
||||
namespace Opm
|
||||
{
|
||||
|
||||
class Deck;
|
||||
class DeckRecord;
|
||||
|
||||
class PolymerConfig
|
||||
{
|
||||
public:
|
||||
PolymerConfig() = default;
|
||||
explicit PolymerConfig(const Deck&);
|
||||
PolymerConfig(bool shrate);
|
||||
|
||||
bool shrate() const;
|
||||
|
||||
bool operator==(const PolymerConfig& data) const;
|
||||
|
||||
private:
|
||||
bool has_shrate;
|
||||
};
|
||||
|
||||
} // end namespace Opm
|
||||
|
||||
#endif // OPM_POLYMERCONFIG_HPP
|
||||
@@ -127,6 +127,20 @@ struct PlyvmhTable : public FlatTable<PlyvmhRecord> {
|
||||
using FlatTable< PlyvmhRecord >::FlatTable;
|
||||
};
|
||||
|
||||
struct ShrateRecord {
|
||||
static constexpr std::size_t size = 1;
|
||||
|
||||
double rate;
|
||||
|
||||
bool operator==(const ShrateRecord& data) const {
|
||||
return rate == data.rate;
|
||||
}
|
||||
};
|
||||
|
||||
struct ShrateTable : public FlatTable<ShrateRecord> {
|
||||
using FlatTable< ShrateRecord >::FlatTable;
|
||||
};
|
||||
|
||||
struct TlmixparRecord {
|
||||
static constexpr std::size_t size = 2;
|
||||
|
||||
|
||||
@@ -73,6 +73,7 @@ namespace Opm {
|
||||
const PlyvmhTable& plyvmhTable,
|
||||
const RockTable& rockTable,
|
||||
const PlmixparTable& plmixparTable,
|
||||
const ShrateTable& shrateTable,
|
||||
const TlmixparTable& tlmixparTable,
|
||||
const ViscrefTable& viscrefTable,
|
||||
const WatdentTable& watdentTable,
|
||||
@@ -89,6 +90,7 @@ namespace Opm {
|
||||
bool useImptvd,
|
||||
bool useEnptvd,
|
||||
bool useEqlnum,
|
||||
bool useShrate,
|
||||
std::shared_ptr<JFunc> jfunc_param,
|
||||
const DenT& oilDenT,
|
||||
const DenT& gasDenT,
|
||||
@@ -183,6 +185,7 @@ namespace Opm {
|
||||
const RockTable& getRockTable() const;
|
||||
const ViscrefTable& getViscrefTable() const;
|
||||
const PlmixparTable& getPlmixparTable() const;
|
||||
const ShrateTable& getShrateTable() const;
|
||||
const TlmixparTable& getTlmixparTable() const;
|
||||
const WatdentTable& getWatdentTable() const;
|
||||
const std::map<int, PlymwinjTable>& getPlymwinjTables() const;
|
||||
@@ -199,6 +202,9 @@ namespace Opm {
|
||||
/// deck has keyword "EQLNUM" --- Equilibriation region numbers
|
||||
bool useEqlnum() const;
|
||||
|
||||
/// deck has keyword "SHRATE"
|
||||
bool useShrate() const;
|
||||
|
||||
/// deck has keyword "JFUNC" --- Use Leverett's J Function for capillary pressure
|
||||
bool useJFunc() const;
|
||||
|
||||
@@ -432,6 +438,7 @@ namespace Opm {
|
||||
PlyvmhTable m_plyvmhTable;
|
||||
RockTable m_rockTable;
|
||||
PlmixparTable m_plmixparTable;
|
||||
ShrateTable m_shrateTable;
|
||||
TlmixparTable m_tlmixparTable;
|
||||
ViscrefTable m_viscrefTable;
|
||||
WatdentTable m_watdentTable;
|
||||
@@ -450,6 +457,7 @@ namespace Opm {
|
||||
bool hasImptvd = false;// if deck has keyword IMPTVD
|
||||
bool hasEnptvd = false;// if deck has keyword ENPTVD
|
||||
bool hasEqlnum = false;// if deck has keyword EQLNUM
|
||||
bool hasShrate = false;// if deck has keyword SHRATE
|
||||
std::shared_ptr<JFunc> jfunc;
|
||||
|
||||
DenT oilDenT;
|
||||
|
||||
Reference in New Issue
Block a user