OGS
|
Base class of capillary pressure models.
Definition at line 21 of file CapillaryPressureSaturation.h.
#include <CapillaryPressureSaturation.h>
Public Member Functions | |
CapillaryPressureSaturation (const double Sr, const double Sg_r, const double Smax, const double Pc_max) | |
virtual | ~CapillaryPressureSaturation ()=default |
virtual std::string | getName () const =0 |
Get model name. | |
virtual double | getCapillaryPressure (const double saturation) const =0 |
Get capillary pressure. | |
virtual double | getSaturation (const double capillary_pressure) const =0 |
Get saturation. | |
virtual double | getdPcdS (const double saturation) const =0 |
Get the derivative of the capillary pressure with respect to saturation. | |
virtual double | getd2PcdS2 (const double saturation) const =0 |
Protected Attributes | |
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 |
Sr | Residual saturation, \( S_r \) |
Sg_r | Residual saturation of gas phase, \( Sg_r \) |
Smax | Maximum saturation, \( S_{\mbox{max}} \) |
Pc_max | Maximum capillary pressure, \( P_c^{\mbox{max}}\) |
Definition at line 30 of file CapillaryPressureSaturation.h.
|
virtualdefault |
|
pure virtual |
Get capillary pressure.
Implemented in MaterialLib::PorousMedium::BrooksCoreyCapillaryPressureSaturation, MaterialLib::PorousMedium::CapillaryPressureSaturationCurve, and MaterialLib::PorousMedium::VanGenuchtenCapillaryPressureSaturation.
|
pure virtual |
Get the second derivative of the capillary pressure with respect to saturation
Implemented in MaterialLib::PorousMedium::BrooksCoreyCapillaryPressureSaturation, MaterialLib::PorousMedium::CapillaryPressureSaturationCurve, and MaterialLib::PorousMedium::VanGenuchtenCapillaryPressureSaturation.
|
pure virtual |
Get the derivative of the capillary pressure with respect to saturation.
Implemented in MaterialLib::PorousMedium::BrooksCoreyCapillaryPressureSaturation, MaterialLib::PorousMedium::CapillaryPressureSaturationCurve, and MaterialLib::PorousMedium::VanGenuchtenCapillaryPressureSaturation.
|
pure virtual |
|
pure virtual |
|
protected |
A small number for an offset:
Definition at line 68 of file CapillaryPressureSaturation.h.
Referenced by MaterialLib::PorousMedium::BrooksCoreyCapillaryPressureSaturation::getCapillaryPressure(), MaterialLib::PorousMedium::CapillaryPressureSaturationCurve::getCapillaryPressure(), MaterialLib::PorousMedium::VanGenuchtenCapillaryPressureSaturation::getCapillaryPressure(), MaterialLib::PorousMedium::VanGenuchtenCapillaryPressureSaturation::getd2PcdS2(), MaterialLib::PorousMedium::BrooksCoreyCapillaryPressureSaturation::getdPcdS(), MaterialLib::PorousMedium::CapillaryPressureSaturationCurve::getdPcdS(), MaterialLib::PorousMedium::VanGenuchtenCapillaryPressureSaturation::getdPcdS(), MaterialLib::PorousMedium::BrooksCoreyCapillaryPressureSaturation::getSaturation(), MaterialLib::PorousMedium::CapillaryPressureSaturationCurve::getSaturation(), and MaterialLib::PorousMedium::VanGenuchtenCapillaryPressureSaturation::getSaturation().
|
protected |
Maximum capillary pressure.
Definition at line 60 of file CapillaryPressureSaturation.h.
Referenced by MaterialLib::PorousMedium::BrooksCoreyCapillaryPressureSaturation::getCapillaryPressure(), MaterialLib::PorousMedium::VanGenuchtenCapillaryPressureSaturation::getCapillaryPressure(), and MaterialLib::PorousMedium::CapillaryPressureSaturationCurve::getSaturation().
|
protected |
Maximum saturation.
Definition at line 59 of file CapillaryPressureSaturation.h.
Referenced by MaterialLib::PorousMedium::BrooksCoreyCapillaryPressureSaturation::getCapillaryPressure(), MaterialLib::PorousMedium::CapillaryPressureSaturationCurve::getCapillaryPressure(), MaterialLib::PorousMedium::VanGenuchtenCapillaryPressureSaturation::getCapillaryPressure(), MaterialLib::PorousMedium::VanGenuchtenCapillaryPressureSaturation::getd2PcdS2(), MaterialLib::PorousMedium::BrooksCoreyCapillaryPressureSaturation::getdPcdS(), MaterialLib::PorousMedium::CapillaryPressureSaturationCurve::getdPcdS(), MaterialLib::PorousMedium::VanGenuchtenCapillaryPressureSaturation::getdPcdS(), MaterialLib::PorousMedium::BrooksCoreyCapillaryPressureSaturation::getSaturation(), and MaterialLib::PorousMedium::VanGenuchtenCapillaryPressureSaturation::getSaturation().
|
protected |
Residual saturation of nonwetting phase (optional).
Definition at line 57 of file CapillaryPressureSaturation.h.
Referenced by MaterialLib::PorousMedium::VanGenuchtenCapillaryPressureSaturation::getCapillaryPressure(), MaterialLib::PorousMedium::VanGenuchtenCapillaryPressureSaturation::getdPcdS(), MaterialLib::PorousMedium::VanGenuchtenCapillaryPressureSaturation::getdPcdSvG(), MaterialLib::PorousMedium::VanGenuchtenCapillaryPressureSaturation::getPcBarvGSg(), MaterialLib::PorousMedium::VanGenuchtenCapillaryPressureSaturation::getPcvGSg(), and MaterialLib::PorousMedium::VanGenuchtenCapillaryPressureSaturation::getSBar().
|
protected |
Residual saturation.
Definition at line 56 of file CapillaryPressureSaturation.h.
Referenced by MaterialLib::PorousMedium::BrooksCoreyCapillaryPressureSaturation::getCapillaryPressure(), MaterialLib::PorousMedium::CapillaryPressureSaturationCurve::getCapillaryPressure(), MaterialLib::PorousMedium::VanGenuchtenCapillaryPressureSaturation::getCapillaryPressure(), MaterialLib::PorousMedium::VanGenuchtenCapillaryPressureSaturation::getd2PcdS2(), MaterialLib::PorousMedium::BrooksCoreyCapillaryPressureSaturation::getdPcdS(), MaterialLib::PorousMedium::CapillaryPressureSaturationCurve::getdPcdS(), MaterialLib::PorousMedium::VanGenuchtenCapillaryPressureSaturation::getdPcdS(), MaterialLib::PorousMedium::VanGenuchtenCapillaryPressureSaturation::getdPcdSvG(), MaterialLib::PorousMedium::VanGenuchtenCapillaryPressureSaturation::getPcBarvGSg(), MaterialLib::PorousMedium::VanGenuchtenCapillaryPressureSaturation::getPcvGSg(), MaterialLib::PorousMedium::BrooksCoreyCapillaryPressureSaturation::getSaturation(), MaterialLib::PorousMedium::VanGenuchtenCapillaryPressureSaturation::getSaturation(), and MaterialLib::PorousMedium::VanGenuchtenCapillaryPressureSaturation::getSBar().