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 |
Public Member Functions inherited from MaterialLib::PorousMedium::CapillaryPressureSaturation | |
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 | |
Protected Attributes inherited from MaterialLib::PorousMedium::CapillaryPressureSaturation | |
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().