OGS
NonWettingPhaseBrooksCoreyOilGas.cpp
Go to the documentation of this file.
1
14
15#include <algorithm>
16#include <cmath>
17
18namespace MaterialLib
19{
20namespace PorousMedium
21{
23 const double saturation_w) const
24{
25 const double S = std::clamp(saturation_w,
28 const double Se = (S - _saturation_r) / (_saturation_max - _saturation_r);
29 const double krel =
30 (1.0 - Se) * (1.0 - Se) * (1.0 - std::pow(Se, 1.0 + 2.0 / _m));
31 return std::max(_krel_min, krel);
32}
33
35 const double saturation_w) const
36{
37 const double S = std::clamp(saturation_w,
40 const double Se = (S - _saturation_r) / (_saturation_max - _saturation_r);
41 return (-2. * (1.0 - Se) * (1.0 - std::pow(Se, 1.0 + 2.0 / _m)) -
42 (1.0 + 2.0 / _m) * (1.0 - Se) * (1.0 - Se) *
43 std::pow(Se, 2.0 / _m)) /
45}
46
47} // namespace PorousMedium
48} // namespace MaterialLib