25 #ifndef OPM_ECL_EPS_CONFIG_HPP
26 #define OPM_ECL_EPS_CONFIG_HPP
29 #include <opm/parser/eclipse/Deck/Deck.hpp>
30 #include <opm/parser/eclipse/EclipseState/EclipseState.hpp>
60 enableSatScaling_ =
false;
61 enablePcScaling_ =
false;
62 enableKrwScaling_ =
false;
63 enableKrnScaling_ =
false;
64 enableThreePointKrSatScaling_ =
false;
71 { enableSatScaling_ = yesno; }
77 {
return enableSatScaling_; }
84 { enableThreePointKrSatScaling_ = yesno; }
91 {
return enableThreePointKrSatScaling_; }
97 { enableKrwScaling_ = yesno; }
103 {
return enableKrwScaling_; }
109 { enableKrnScaling_ = yesno; }
115 {
return enableKrnScaling_; }
121 { enablePcScaling_ = yesno; }
127 {
return enablePcScaling_; }
135 void initFromDeck(Opm::DeckConstPtr deck,
136 Opm::EclipseStateConstPtr eclState,
140 if (!deck->hasKeyword(
"ENDSCALE")) {
143 enableSatScaling_ =
false;
144 enableThreePointKrSatScaling_ =
false;
145 enablePcScaling_ =
false;
146 enableKrwScaling_ =
false;
147 enableKrnScaling_ =
false;
152 enableSatScaling_ =
true;
156 if (deck->hasKeyword(
"SCALECRS")) {
158 Opm::DeckKeywordConstPtr scalecrsKeyword = deck->getKeyword(
"SCALECRS");
159 std::string scalecrsValue =
160 scalecrsKeyword->getRecord(0)->getItem(
"VALUE")->getString(0);
162 std::transform(scalecrsValue.begin(),
164 scalecrsValue.begin(),
167 if (scalecrsValue ==
"YES" || scalecrsValue ==
"Y")
168 enableThreePointKrSatScaling_ =
true;
170 enableThreePointKrSatScaling_ =
false;
173 enableThreePointKrSatScaling_ =
false;
178 eclState->hasDoubleGridProperty(
"PCW")
179 || eclState->hasDoubleGridProperty(
"SWATINIT");
183 enablePcScaling_ = eclState->hasDoubleGridProperty(
"PCG");
188 enableKrwScaling_ = eclState->hasDoubleGridProperty(
"KRW");
191 enableKrwScaling_ = eclState->hasDoubleGridProperty(
"KRO");
196 enableKrnScaling_ = eclState->hasDoubleGridProperty(
"KRO");
199 enableKrnScaling_ = eclState->hasDoubleGridProperty(
"KRG");
206 bool enableSatScaling_;
213 bool enableThreePointKrSatScaling_;
217 bool enablePcScaling_;
218 bool enableKrwScaling_;
219 bool enableKrnScaling_;
EclTwoPhaseSystemType
Specified which fluids are involved in a given twophase material law for endpoint scaling...
Definition: EclEpsConfig.hpp:42
Definition: Air_Mesitylene.hpp:31
bool enableSatScaling() const
Returns whether saturation scaling is enabled.
Definition: EclEpsConfig.hpp:76
void setEnablePcScaling(bool yesno)
Specify whether capillary pressure scaling is enabled.
Definition: EclEpsConfig.hpp:120
EclEpsConfig()
Definition: EclEpsConfig.hpp:57
bool enableKrnScaling() const
Returns whether relative permeability scaling is enabled for the non-wetting phase.
Definition: EclEpsConfig.hpp:114
void setEnableKrwScaling(bool yesno)
Specify whether relative permeability scaling is enabled for the wetting phase.
Definition: EclEpsConfig.hpp:96
void setEnableSatScaling(bool yesno)
Specify whether saturation scaling is enabled.
Definition: EclEpsConfig.hpp:70
bool enableKrwScaling() const
Returns whether relative permeability scaling is enabled for the wetting phase.
Definition: EclEpsConfig.hpp:102
Definition: EclEpsConfig.hpp:44
bool enableThreePointKrSatScaling() const
Returns whether three point saturation scaling is enabled for the relative permeabilities.
Definition: EclEpsConfig.hpp:90
Specifies the configuration used by the endpoint scaling code.
Definition: EclEpsConfig.hpp:54
bool enablePcScaling() const
Returns whether capillary pressure scaling is enabled.
Definition: EclEpsConfig.hpp:126
void setEnableThreePointKrSatScaling(bool yesno)
Specify whether three point saturation scaling is enabled for the relative permeabilities.
Definition: EclEpsConfig.hpp:83
Definition: EclEpsConfig.hpp:43
void setEnableKrnScaling(bool yesno)
Specify whether relative permeability scaling is enabled for the non-wetting phase.
Definition: EclEpsConfig.hpp:108