OGS
WettingPhaseBrooksCoreyOilGas.cpp
Go to the documentation of this file.
1
14
15#include <algorithm>
16#include <cmath>
17
18namespace MaterialLib
19{
20namespace PorousMedium
21{
22double WettingPhaseBrooksCoreyOilGas::getValue(const double saturation) const
23{
24 const double S = std::clamp(saturation, _saturation_r + _minor_offset,
26 const double Se = (S - _saturation_r) / (_saturation_max - _saturation_r);
27 const double krel = std::pow(Se, 3.0 + 2.0 / _m);
28 return std::max(_krel_min, krel);
29}
30
31double WettingPhaseBrooksCoreyOilGas::getdValue(const double saturation) const
32{
33 const double S = std::clamp(saturation, _saturation_r + _minor_offset,
35 const double Se = (S - _saturation_r) / (_saturation_max - _saturation_r);
36 return ((3.0 + 2.0 / _m) * std::pow(Se, 2.0 + 2.0 / _m)) /
38}
39} // namespace PorousMedium
40} // namespace MaterialLib
double getValue(const double saturation) const override
Get relative permeability value.