![]() |
OGS
|
Brooks-Corey capillary pressure saturation model.
p_c=p_b S_e^{-1/m}
with
S_e=\frac{S-S_r}{S_{\mbox{max}}-S_r}
where
\begin{eqnarray*} &p_b& \mbox{ entry pressure,}\\ &S_r& \mbox{ residual saturation,}\\ &S_{\mbox{max}}& \mbox{ maximum saturation,}\\ &m(>=1) & \mbox{ exponent.}\\ \end{eqnarray*}
Note:
m=1/(1-n)
Definition at line 42 of file BrooksCoreyCapillaryPressureSaturation.h.
#include <BrooksCoreyCapillaryPressureSaturation.h>
Public Member Functions | |
BrooksCoreyCapillaryPressureSaturation (const double pb, const double Sr, const double Sg_r, const double Smax, const double m, const double Pc_max) | |
std::string | getName () const override |
Get model name. | |
double | getCapillaryPressure (const double saturation) const override |
Get capillary pressure. | |
double | getSaturation (const double capillary_pressure) const override |
Get saturation. | |
double | getdPcdS (const double saturation) const override |
Get the derivative of the capillary pressure with respect to saturation. | |
double | getd2PcdS2 (const double) const override |
![]() | |
CapillaryPressureSaturation (const double Sr, const double Sg_r, const double Smax, const double Pc_max) | |
virtual | ~CapillaryPressureSaturation ()=default |
Private Attributes | |
const double | _pb |
Entry pressure. | |
const double | _m |
Exponent m, m>1. | |
Additional Inherited Members | |
![]() | |
const double | _saturation_r |
Residual saturation. | |
const double | _saturation_nonwet_r |
const double | _saturation_max |
Maximum saturation. | |
const double | _pc_max |
Maximum capillary pressure. | |
const double | _minor_offset = std::numeric_limits<double>::epsilon() |
|
inline |
pb | Entry pressure, p_b |
Sr | Residual saturation, S_r |
Sg_r | Residual saturation of gas phase, Sg_r |
Smax | Maximum saturation, S_{\mbox{max}} |
m | Exponent, m |
Pc_max | Maximum capillary pressure, P_c^{\mbox{max}} |
Definition at line 54 of file BrooksCoreyCapillaryPressureSaturation.h.
|
overridevirtual |
Get capillary pressure.
Implements MaterialLib::PorousMedium::CapillaryPressureSaturation.
Definition at line 22 of file BrooksCoreyCapillaryPressureSaturation.cpp.
References _m, MaterialLib::PorousMedium::CapillaryPressureSaturation::_minor_offset, _pb, MaterialLib::PorousMedium::CapillaryPressureSaturation::_pc_max, MaterialLib::PorousMedium::CapillaryPressureSaturation::_saturation_max, and MaterialLib::PorousMedium::CapillaryPressureSaturation::_saturation_r.
|
inlineoverridevirtual |
Get the second derivative of the capillary pressure with respect to saturation
Implements MaterialLib::PorousMedium::CapillaryPressureSaturation.
Definition at line 78 of file BrooksCoreyCapillaryPressureSaturation.h.
References OGS_FATAL.
|
overridevirtual |
Get the derivative of the capillary pressure with respect to saturation.
Implements MaterialLib::PorousMedium::CapillaryPressureSaturation.
Definition at line 43 of file BrooksCoreyCapillaryPressureSaturation.cpp.
References _m, MaterialLib::PorousMedium::CapillaryPressureSaturation::_minor_offset, _pb, MaterialLib::PorousMedium::CapillaryPressureSaturation::_saturation_max, and MaterialLib::PorousMedium::CapillaryPressureSaturation::_saturation_r.
|
inlineoverridevirtual |
Get model name.
Implements MaterialLib::PorousMedium::CapillaryPressureSaturation.
Definition at line 62 of file BrooksCoreyCapillaryPressureSaturation.h.
|
overridevirtual |
Get saturation.
Implements MaterialLib::PorousMedium::CapillaryPressureSaturation.
Definition at line 32 of file BrooksCoreyCapillaryPressureSaturation.cpp.
References _m, MaterialLib::PorousMedium::CapillaryPressureSaturation::_minor_offset, _pb, MaterialLib::PorousMedium::CapillaryPressureSaturation::_saturation_max, and MaterialLib::PorousMedium::CapillaryPressureSaturation::_saturation_r.
|
private |
Exponent m, m>1.
Definition at line 87 of file BrooksCoreyCapillaryPressureSaturation.h.
Referenced by getCapillaryPressure(), getdPcdS(), and getSaturation().
|
private |
Entry pressure.
Definition at line 86 of file BrooksCoreyCapillaryPressureSaturation.h.
Referenced by getCapillaryPressure(), getdPcdS(), and getSaturation().