30 std::unique_ptr<MathLib::PiecewiseLinearMonotonicCurve>&& curve_data)
32 curve_data->getSupportMin(),
33 1.0 - curve_data->getSupportMax(),
34 curve_data->getSupportMax(),
35 curve_data->
getValue(curve_data->getSupportMin())),
43 return "Capillary pressure saturation curve.";
64 double getdPcdS(
const double saturation)
const override
75 double getd2PcdS2(
const double )
const override {
return 0; }
78 std::unique_ptr<MathLib::PiecewiseLinearMonotonicCurve>
_curve_data;
double getdPcdS(const double saturation) const override
Get the derivative of the capillary pressure with respect to saturation.
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 getd2PcdS2(const double) const override
CapillaryPressureSaturationCurve(std::unique_ptr< MathLib::PiecewiseLinearMonotonicCurve > &&curve_data)
std::unique_ptr< MathLib::PiecewiseLinearMonotonicCurve > _curve_data
Base class of capillary pressure models.
const double _saturation_r
Residual saturation.
const double _saturation_max
Maximum saturation.
const double _pc_max
Maximum capillary pressure.
const double _minor_offset