OGS
VanGenuchtenCapillaryPressureSaturation.h
Go to the documentation of this file.
1
13#pragma once
14
15#include <cmath>
16#include <limits>
18
19namespace MaterialLib
20{
21namespace PorousMedium
22{
55{
56public:
67 VanGenuchtenCapillaryPressureSaturation(const double pb, const double Sr,
68 const double Sg_r,
69 const double Smax, const double m,
70 const double Pc_max,
71 const bool has_regularized)
72 : CapillaryPressureSaturation(Sr, Sg_r, Smax, Pc_max),
73 _pb(pb),
74 _m(m),
75 _has_regularized(has_regularized)
76 {
77 }
78
80 std::string getName() const override
81 {
82 return "van Genuchten water retention model.";
83 }
84
86 double getCapillaryPressure(const double saturation) const override;
87
89 double getSaturation(const double capillary_pressure) const override;
90
92 double getdPcdS(const double saturation) const override;
93
94 double getd2PcdS2(const double saturation) const override;
95
96private:
97 const double _pb;
98 const double _m;
99 const bool _has_regularized;
100 const double _xi = 1e-5;
101
102private:
104 double getPcBarvGSg(double Sg) const;
106 double getSBar(double Sg) const;
108 double getPcvGSg(double Sg) const;
111 double getdPcdSvGBar(double Sg) const;
114 double getdPcdSvG(const double Sg) const;
115};
116
117} // namespace PorousMedium
118} // namespace MaterialLib
double getSBar(double Sg) const
Regularized van Genuchten capillary pressure-saturation Model.
VanGenuchtenCapillaryPressureSaturation(const double pb, const double Sr, const double Sg_r, const double Smax, const double m, const double Pc_max, const bool has_regularized)
double getCapillaryPressure(const double saturation) const override
Get capillary pressure.
double getPcvGSg(double Sg) const
van Genuchten capillary pressure-saturation Model
double getSaturation(const double capillary_pressure) const override
Get saturation.
double getPcBarvGSg(double Sg) const
parameter in regularized van Genuchten model
double getdPcdS(const double saturation) const override
Get the derivative of the capillary pressure with respect to saturation.