27#include "neml2/models/Model.h"
40 void set_value(
bool out,
bool dout_dS,
bool d2out_dS2)
override;
43 virtual std::tuple<Scalar, Scalar, Scalar>
Base class for capillary pressure models in porous flow.
Definition CapillaryPressure.h:33
const bool _Sp_specified
Whether the transition saturation is specified.
Definition CapillaryPressure.h:56
void set_value(bool out, bool dout_dS, bool d2out_dS2) override
The map between input -> output, and optionally its derivatives.
Definition CapillaryPressure.cxx:76
const Variable< Scalar > & _S
Effective saturation.
Definition CapillaryPressure.h:47
virtual std::tuple< Scalar, Scalar, Scalar > calculate_pressure(const Scalar &S, bool out, bool dout_dS, bool d2out_dS2) const =0
Calculate the capillary pressure without logarithmic extension.
const double _Sp
Transistion saturation.
Definition CapillaryPressure.h:59
const bool _log_extension
Whether to apply logarithmic extension.
Definition CapillaryPressure.h:53
Variable< Scalar > & _Pc
Capillary pressure.
Definition CapillaryPressure.h:50
CapillaryPressure(const OptionSet &options)
Definition CapillaryPressure.cxx:54
static OptionSet expected_options()
Definition CapillaryPressure.cxx:33
The base class for all constitutive models.
Definition Model.h:70
A custom map-like data structure. The keys are strings, and the values can be nonhomogeneously typed.
Definition OptionSet.h:51
Scalar.
Definition Scalar.h:38
Concrete definition of a variable.
Definition VariableStore.h:41
Definition DiagnosticsInterface.cxx:30