opm-common
Loading...
Searching...
No Matches
EclEpsConfig.hpp
Go to the documentation of this file.
1// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2// vi: set et ts=4 sw=4 sts=4:
3/*
4 This file is part of the Open Porous Media project (OPM).
5
6 OPM is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 2 of the License, or
9 (at your option) any later version.
10
11 OPM is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with OPM. If not, see <http://www.gnu.org/licenses/>.
18
19 Consult the COPYING file in the top-level source directory of this
20 module for the precise wording of the license and the list of
21 copyright holders.
22*/
27#ifndef OPM_ECL_EPS_CONFIG_HPP
28#define OPM_ECL_EPS_CONFIG_HPP
29
30#include <string>
31
32namespace Opm {
33
34class EclipseState;
35
41 GasOil,
42 OilWater,
43 GasWater
44};
45
54{
55public:
59 void setEnableSatScaling(bool yesno)
60 { enableSatScaling_ = yesno; }
61
65 bool enableSatScaling() const
66 { return enableSatScaling_; }
67
73 { enableThreePointKrSatScaling_ = yesno; }
74
80 { return enableThreePointKrSatScaling_; }
81
85 void setEnableKrwScaling(bool yesno)
86 { enableKrwScaling_ = yesno; }
87
91 bool enableKrwScaling() const
92 { return enableKrwScaling_; }
93
98 void setEnableThreePointKrwScaling(const bool enable)
99 { this->enableThreePointKrwScaling_ = enable; }
100
106 { return this->enableThreePointKrwScaling_; }
107
112 void setEnableThreePointKrnScaling(const bool enable)
113 { this->enableThreePointKrnScaling_ = enable; }
114
120 { return this->enableThreePointKrnScaling_; }
121
125 void setEnableKrnScaling(bool yesno)
126 { enableKrnScaling_ = yesno; }
127
131 bool enableKrnScaling() const
132 { return enableKrnScaling_; }
133
137 void setEnablePcScaling(bool yesno)
138 { enablePcScaling_ = yesno; }
139
143 bool enablePcScaling() const
144 { return enablePcScaling_; }
145
154 { enableLeverettScaling_ = yesno; }
155
164 { return enableLeverettScaling_; }
165
171 void initFromState(const EclipseState& eclState,
172 EclTwoPhaseSystemType twoPhaseSystemType,
173 const std::string& prefix = "",
174 const std::string& suffix = "");
175
176private:
177 // enable scaling of the input saturations (i.e., rescale the x-Axis)
178 bool enableSatScaling_{false};
179
180 // use three (instead of two) points to scale the saturations for the relative
181 // permeabilities.
182 //
183 // This means that two piecewise linear functions are used for saturation scaling
184 // instead of a single linear one
185 bool enableThreePointKrSatScaling_{false};
186
187 // enable the scaling of the capillary pressure and relative permeability outputs
188 // (i.e., rescale the y-Axis)
189 bool enablePcScaling_{false};
190 bool enableLeverettScaling_{false};
191 bool enableKrwScaling_{false};
192 bool enableKrnScaling_{false};
193
194 // Employ three-point vertical scaling (e.g., KRWR and KRW).
195 bool enableThreePointKrwScaling_{false};
196
197 // Employ three-point vertical scaling (e.g., KRORW and KRO).
198 bool enableThreePointKrnScaling_{false};
199};
200
201} // namespace Opm
202
203#endif
Specifies the configuration used by the endpoint scaling code.
Definition EclEpsConfig.hpp:54
bool enableThreePointKrwScaling() const
Whether or not three-point relative permeability value scaling is enabled for the wetting phase (KRWR...
Definition EclEpsConfig.hpp:105
void initFromState(const EclipseState &eclState, EclTwoPhaseSystemType twoPhaseSystemType, const std::string &prefix="", const std::string &suffix="")
Reads all relevant material parameters form a cell of a parsed ECL deck.
Definition EclEpsConfig.cpp:38
bool enableKrwScaling() const
Returns whether relative permeability scaling is enabled for the wetting phase.
Definition EclEpsConfig.hpp:91
void setEnableKrnScaling(bool yesno)
Specify whether relative permeability scaling is enabled for the non-wetting phase.
Definition EclEpsConfig.hpp:125
void setEnablePcScaling(bool yesno)
Specify whether capillary pressure scaling is enabled.
Definition EclEpsConfig.hpp:137
bool enableKrnScaling() const
Returns whether relative permeability scaling is enabled for the non-wetting phase.
Definition EclEpsConfig.hpp:131
void setEnableKrwScaling(bool yesno)
Specify whether relative permeability scaling is enabled for the wetting phase.
Definition EclEpsConfig.hpp:85
bool enableLeverettScaling() const
Returns whether the Leverett capillary pressure scaling is enabled.
Definition EclEpsConfig.hpp:163
void setEnableSatScaling(bool yesno)
Specify whether saturation scaling is enabled.
Definition EclEpsConfig.hpp:59
void setEnableLeverettScaling(bool yesno)
Specify whether the Leverett capillary pressure scaling is enabled.
Definition EclEpsConfig.hpp:153
void setEnableThreePointKrwScaling(const bool enable)
Specify whether three-point relative permeability value scaling is enabled for the wetting phase (KRW...
Definition EclEpsConfig.hpp:98
bool enablePcScaling() const
Returns whether capillary pressure scaling is enabled.
Definition EclEpsConfig.hpp:143
void setEnableThreePointKrSatScaling(bool yesno)
Specify whether three point saturation scaling is enabled for the relative permeabilities.
Definition EclEpsConfig.hpp:72
void setEnableThreePointKrnScaling(const bool enable)
Specify whether three-point relative permeability value scaling is enabled for the wetting phase (e....
Definition EclEpsConfig.hpp:112
bool enableThreePointKrnScaling() const
Whether or not three-point relative permeability value scaling is enabled for the non-wetting phase (...
Definition EclEpsConfig.hpp:119
bool enableThreePointKrSatScaling() const
Returns whether three point saturation scaling is enabled for the relative permeabilities.
Definition EclEpsConfig.hpp:79
bool enableSatScaling() const
Returns whether saturation scaling is enabled.
Definition EclEpsConfig.hpp:65
Definition EclipseState.hpp:66
Conversion prefix for units.
Definition Units.hpp:59
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30
EclTwoPhaseSystemType
Specified which fluids are involved in a given twophase material law for endpoint scaling.
Definition EclEpsConfig.hpp:40