OGS
|
Definition at line 25 of file CapillaryPressureSaturationCurve.h.
#include <CapillaryPressureSaturationCurve.h>
Public Member Functions | |
CapillaryPressureSaturationCurve (std::unique_ptr< MathLib::PiecewiseLinearMonotonicCurve > &&curve_data) | |
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 | |
std::unique_ptr< MathLib::PiecewiseLinearMonotonicCurve > | _curve_data |
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() |
|
inlineexplicit |
Definition at line 29 of file CapillaryPressureSaturationCurve.h.
|
inlineoverridevirtual |
Get capillary pressure.
Implements MaterialLib::PorousMedium::CapillaryPressureSaturation.
Definition at line 47 of file CapillaryPressureSaturationCurve.h.
References _curve_data, MaterialLib::PorousMedium::CapillaryPressureSaturation::_minor_offset, MaterialLib::PorousMedium::CapillaryPressureSaturation::_saturation_max, and MaterialLib::PorousMedium::CapillaryPressureSaturation::_saturation_r.
|
inlineoverridevirtual |
Get the second derivative of the capillary pressure with respect to saturation In the case of piecewise linear curves, it is always zero.
Implements MaterialLib::PorousMedium::CapillaryPressureSaturation.
Definition at line 75 of file CapillaryPressureSaturationCurve.h.
|
inlineoverridevirtual |
Get the derivative of the capillary pressure with respect to saturation.
Implements MaterialLib::PorousMedium::CapillaryPressureSaturation.
Definition at line 64 of file CapillaryPressureSaturationCurve.h.
References _curve_data, MaterialLib::PorousMedium::CapillaryPressureSaturation::_minor_offset, MaterialLib::PorousMedium::CapillaryPressureSaturation::_saturation_max, and MaterialLib::PorousMedium::CapillaryPressureSaturation::_saturation_r.
|
inlineoverridevirtual |
Get model name.
Implements MaterialLib::PorousMedium::CapillaryPressureSaturation.
Definition at line 41 of file CapillaryPressureSaturationCurve.h.
|
inlineoverridevirtual |
Get saturation.
Implements MaterialLib::PorousMedium::CapillaryPressureSaturation.
Definition at line 56 of file CapillaryPressureSaturationCurve.h.
References _curve_data, MaterialLib::PorousMedium::CapillaryPressureSaturation::_minor_offset, and MaterialLib::PorousMedium::CapillaryPressureSaturation::_pc_max.
|
private |
Definition at line 78 of file CapillaryPressureSaturationCurve.h.
Referenced by getCapillaryPressure(), getdPcdS(), and getSaturation().