add keyword DISGASW to enable dissolution of gas in water

This commit is contained in:
Tor Harald Sandve
2022-12-01 11:26:08 +01:00
parent 5e054cdec9
commit a56496021d
5 changed files with 24 additions and 0 deletions

View File

@@ -46,6 +46,7 @@ namespace Opm {
bool useThresholdPressure() const;
bool useCPR() const;
bool hasDISGAS() const;
bool hasDISGASW() const;
bool hasVAPOIL() const;
bool hasVAPWAT() const;
bool isThermal() const;
@@ -63,6 +64,7 @@ namespace Opm {
serializer(m_rock_config);
serializer(m_useCPR);
serializer(m_DISGAS);
serializer(m_DISGASW);
serializer(m_VAPOIL);
serializer(m_VAPWAT);
serializer(m_isThermal);
@@ -77,6 +79,7 @@ namespace Opm {
RockConfig m_rock_config;
bool m_useCPR;
bool m_DISGAS;
bool m_DISGASW;
bool m_VAPOIL;
bool m_VAPWAT;
bool m_isThermal;

View File

@@ -42,6 +42,7 @@ void python::common::export_EclipseConfig(py::module& module)
.def("hasThresholdPressure", &SimulationConfig::useThresholdPressure )
.def("useCPR", &SimulationConfig::useCPR )
.def("hasDISGAS", &SimulationConfig::hasDISGAS )
.def("hasDISGASW", &SimulationConfig::hasDISGASW )
.def("hasVAPOIL", &SimulationConfig::hasVAPOIL )
.def("hasVAPWAT", &SimulationConfig::hasVAPWAT );
}

View File

@@ -24,6 +24,7 @@
#include <opm/input/eclipse/EclipseState/SimulationConfig/ThresholdPressure.hpp>
#include <opm/input/eclipse/Parser/ParserKeywords/C.hpp>
#include <opm/input/eclipse/Parser/ParserKeywords/D.hpp>
#include <opm/input/eclipse/Parser/ParserKeywords/G.hpp>
#include <opm/input/eclipse/Parser/ParserKeywords/P.hpp>
#include <opm/input/eclipse/Parser/ParserKeywords/T.hpp>
#include <opm/input/eclipse/Parser/ParserKeywords/V.hpp>
@@ -49,6 +50,7 @@ namespace Opm {
SimulationConfig::SimulationConfig() :
m_useCPR(false),
m_DISGAS(false),
m_DISGASW(false),
m_VAPOIL(false),
m_VAPWAT(false),
m_isThermal(false),
@@ -65,6 +67,7 @@ namespace Opm {
m_rock_config(deck, fp),
m_useCPR(false),
m_DISGAS(false),
m_DISGASW(false),
m_VAPOIL(false),
m_VAPWAT(false),
m_isThermal(false),
@@ -83,6 +86,9 @@ namespace Opm {
if (runspec.hasKeyword<ParserKeywords::DISGAS>()) {
m_DISGAS = true;
}
if (runspec.hasKeyword<ParserKeywords::DISGASW>()) {
m_DISGASW = true;
}
if (runspec.hasKeyword<ParserKeywords::VAPOIL>()) {
m_VAPOIL = true;
}
@@ -108,6 +114,7 @@ namespace Opm {
result.m_rock_config = RockConfig::serializationTestObject();
result.m_useCPR = false;
result.m_DISGAS = true;
result.m_DISGASW = true;
result.m_VAPOIL = false;
result.m_VAPWAT = false;
result.m_isThermal = true;
@@ -141,6 +148,10 @@ namespace Opm {
return m_DISGAS;
}
bool SimulationConfig::hasDISGASW() const {
return m_DISGASW;
}
bool SimulationConfig::hasVAPOIL() const {
return m_VAPOIL;
}
@@ -167,6 +178,7 @@ namespace Opm {
this->rock_config() == data.rock_config() &&
this->useCPR() == data.useCPR() &&
this->hasDISGAS() == data.hasDISGAS() &&
this->hasDISGASW() == data.hasDISGASW() &&
this->hasVAPOIL() == data.hasVAPOIL() &&
this->hasVAPWAT() == data.hasVAPWAT() &&
this->isThermal() == data.isThermal() &&
@@ -180,6 +192,7 @@ namespace Opm {
full_config.rock_config() == rst_config.rock_config() &&
full_config.useCPR() == rst_config.useCPR() &&
full_config.hasDISGAS() == rst_config.hasDISGAS() &&
full_config.hasDISGASW() == rst_config.hasDISGASW() &&
full_config.hasVAPOIL() == rst_config.hasVAPOIL() &&
full_config.hasVAPWAT() == rst_config.hasVAPWAT() &&
full_config.isThermal() == rst_config.isThermal() &&

View File

@@ -0,0 +1,6 @@
{
"name": "DISGASW",
"sections": [
"RUNSPEC"
]
}

View File

@@ -1090,6 +1090,7 @@ set( keywords
900_OPM/B/BC
900_OPM/C/CO2STOR
900_OPM/D/DISGASW
900_OPM/D/DRSDTCON
900_OPM/E/EXIT
900_OPM/G/GCOMPIDX