Base material designed to calculate and store quantities relevant for hysteretic capillary pressure c...
const Real _dpc_high
d(Pc)/d(S) at the point of high-saturation extension
const Real _pc_high
Pc at the point of high-saturation extension.
Real capillaryPressureQp(Real sat) const
Real firstOrderWettingSat(Real pc) const
const PorousFlowVanGenuchten::LowCapillaryPressureExtension _low_ext_d
Parameters involved in the low-saturation extension of the primary drying curve.
Real d2liquidSaturationQp(Real pc) const
const Real _high_ratio
The high-saturation extension to the wetting will commence at _high_ratio * (1 - _s_gr_del)
Real dliquidSaturationQp(Real pc) const
MaterialProperty< std::array< Real, PorousFlowConstants::MAX_HYSTERESIS_ORDER > > & _s_d_tps
Computed nodal or quadpoint values of saturation on the drying curve at _pc_tps.
Real dfirstOrderWettingSat(Real pc) const
const MaterialProperty< unsigned > & _hys_order
Hysteresis order, as computed by PorousFlowHysteresisOrder.
const PorousFlowVanGenuchten::HighCapillaryPressureExtension::ExtensionStrategy _high_ext_type
Type of high-saturation extension of the wetting curves.
const Real _s_l_min
Minimum liquid saturation for which the van Genuchten expression is valid (Pc(_s_l_min) = infinity)
Real d2firstOrderWettingSat(Real pc) const
Real landSat(Real slDel) const
const PorousFlowVanGenuchten::LowCapillaryPressureExtension _low_ext_w
Parameters involved in the low-saturation extension of the primary wetting curve.
virtual void initQpStatefulProperties() override
virtual void computeQpProperties() override
const Real _s_low_w
Saturation on the primary wetting curve where low-saturation extension commences.
MaterialProperty< std::array< Real, PorousFlowConstants::MAX_HYSTERESIS_ORDER > > & _pc_tps
Nodal or quadpoint values of Pc at the turning points.
const Real _dpc_low_w
d(Pc)/dS on the primary wetting curve at S = _s_low_w
const MaterialProperty< std::array< Real, PorousFlowConstants::MAX_HYSTERESIS_ORDER > > & _hys_sat_tps
Saturation values at the turning points, as computed by PorousFlowHysteresisOrder.
Real dsecondOrderDryingSat(Real pc) const
const Real _s_gr_max
Residual gas saturation: 1 - _s_gr_max is the maximum saturation for which the van Genuchten expressi...
MaterialProperty< std::array< PorousFlowVanGenuchten::HighCapillaryPressureExtension, PorousFlowConstants::MAX_HYSTERESIS_ORDER > > & _w_high_ext_tps
Nodal or quadpoint values of the high extension of the wetting curve defined by _s_gr_tps.
const Real _n_d
van Genuchten n parameter for the primary drying curve
const Real _s_low_d
Saturation on the primary drying curve where low-saturation extension commences.
Real dsecondOrderDryingPc(Real sat) const
const Real _dpc_low_d
d(Pc)/dS on the primary drying curve at S = _s_low_d
Real secondOrderDryingPc(Real sat) const
void computeTurningPointInfo(unsigned tp_num, Real tp_sat, Real tp_pc)
Compute all relevant quantities at the given turning point.
const Real _s_lr
Liquid saturation below which the liquid relative permeability is zero.
const Real _alpha_w
van Genuchten alpha parameter for the primary wetting curve
Real secondOrderDryingSat(Real pc) const
Real dcapillaryPressureQp(Real sat) const
MaterialProperty< std::array< Real, PorousFlowConstants::MAX_HYSTERESIS_ORDER > > & _s_gr_tps
Computed nodal or quadpoint values of S_gr_Del, ie, the Land expression, at the turning points.
const Real _pc_max
Maximum capillary pressure: for Pc above this value, a "lower" extension will be used.
const Real _alpha_d
van Genuchten alpha parameter for the primary drying curve
Real d2firstOrderWettingPc(Real sat) const
const PorousFlowVanGenuchten::HighCapillaryPressureExtension _high_ext
Parameters involved in the high-saturation extension of the primary wetting curve.
const Real _s_high
Saturation at the point of high-saturation extension.
const MaterialProperty< Real > & _pc_older
Older value of capillary pressure.
Real firstOrderWettingPc(Real sat) const
Real d2secondOrderDryingSat(Real pc) const
Real d2secondOrderDryingPc(Real sat) const
const Real _n_w
van Genuchten n parameter for the primary wetting curve
MaterialProperty< std::array< Real, PorousFlowConstants::MAX_HYSTERESIS_ORDER > > & _s_w_tps
Computed nodal or quadpoint values of liquid saturation on the wetting curve defined by _s_gr_del,...
Real dfirstOrderWettingPc(Real sat) const
static InputParameters validParams()
const MaterialProperty< unsigned > & _hys_order_old
Old value of hysteresis order, as computed by PorousFlowHysteresisOrder.
const PorousFlowVanGenuchten::LowCapillaryPressureExtension::ExtensionStrategy _low_ext_type
Type of low-saturation extension.
MaterialProperty< std::array< PorousFlowVanGenuchten::LowCapillaryPressureExtension, PorousFlowConstants::MAX_HYSTERESIS_ORDER > > & _w_low_ext_tps
Nodal or quadpoint values of the low extension of the wetting curve defined by _s_gr_tps.
Real liquidSaturationQp(Real pc) const
Real d2capillaryPressureQp(Real sat) const
Base class for thermophysical variable materials, which assemble materials for primary variables such...
constexpr unsigned MAX_HYSTERESIS_ORDER
Parameters associated with the extension of the hysteretic wetting capillary pressure function to hig...
Parameters associated with the extension of the hysteretic capillary pressure function to low saturat...