20 "gamma", 0.33,
"gamma > 0",
"Gamma parameter that is used for the gas relative permeability");
24 "k_rg_max > 0 & k_rg_max <= 1",
25 "Value of the gas relative permeability at liquid saturation = S_lr");
26 MooseEnum low_ext_enum(
"linear_like cubic",
"linear_like");
28 "gas_low_extension_type",
30 "Type of extension to use for liquid saturation < S_lr for the gas relative permeability. " 31 "All extensions employ a cubic whose value is 1.0 at liquid saturation = 0, and whose " 32 "derivative is zero at liquid saturation = 0, and whose value is k_rg_max at liquid " 33 "saturation = S_lr. linear_like: the derivative at liquid_saturation = S_lr is equal to " 34 "(k_rg_max - 1) / S_lr. cubic: the derivative at liquid_saturation = S_lr equals the " 35 "derivative of the unextended drying curve at that point");
37 "PorousFlow material that computes relative permeability of the gas phase in 1-phase or " 38 "2-phase models that include hysteresis. You should ensure that the 'phase' for this " 39 "Material does indeed represent the gas phase");
46 _liquid_phase(_phase_num == 0 ? 1 : 0),
47 _gamma(getParam<
Real>(
"gamma")),
48 _k_rg_max(getParam<
Real>(
"k_rg_max")),
49 _krel_gas_prime((getParam<
MooseEnum>(
"gas_low_extension_type") ==
"linear_like")
50 ? ((_s_lr > 0) ? (_k_rg_max - 1.0) / _s_lr : 0.0)
52 _s_lr, _s_lr, 0.0, _s_gr_max, 1.0, _m, _gamma, _k_rg_max, 0.0))
75 const Real effective_liquid_tp =
const Real _s_lr
Liquid saturation at which the liquid relperm is zero and the gas relperm is k_rg_max.
const Real _krel_gas_prime
Value of the derivative of the cubic extension to the gas relative permeability at liquid saturation ...
static InputParameters validParams()
Base material for computing relative permeability for 1-phase and 2-phase hysteretic models...
virtual void computeRelPermQp() override
Compute the relative permeability and its derivative wrt the _phase_num saturation, at the quadpoints, and store the result in _relative_permeability[_qp] and _drelative_permeability_ds[_qp].
const Real _gamma
gamma parameter used in the gas relative permeability
Real relativePermeabilityNWHys(Real sl, Real slr, Real sgrdel, Real sgrmax, Real sldel, Real m, Real gamma, Real k_rg_max, Real y0p)
Hysteretic relative permeability for gas.
const unsigned _liquid_phase
Phase number of liquid phase.
registerMooseObject("PorousFlowApp", PorousFlowHystereticRelativePermeabilityGas)
MaterialProperty< Real > & _s_gr_tp0
Computed nodal or quadpoint values the Land expression, at the turning point from primary drying to f...
van Genuchten effective saturation, capillary pressure and relative permeability functions.
PorousFlowHystereticRelativePermeabilityGas(const InputParameters ¶meters)
Real drelativePermeabilityNWHys(Real sl, Real slr, Real sgrdel, Real sgrmax, Real sldel, Real m, Real gamma, Real k_rg_max, Real y0p)
Derivative of hysteretic relative permeability for gas with respect to the liquid saturation...
const MaterialProperty< unsigned > & _hys_order
Hysteresis order, as computed by PorousFlowHysteresisOrder.
const MaterialProperty< std::vector< Real > > & _saturation
Saturation material property.
Material to compute gas relative permeability for 1-phase and 2-phase hysteretic models.
MaterialProperty< Real > & _relative_permeability
Computed relative permeability.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Real _m
van Genuchten m parameter
static InputParameters validParams()
MaterialProperty< Real > & _drelative_permeability_ds
Derivative of relative permeability wrt the saturation of _phase_num (which is not necessarily the li...
const Real _s_gr_max
Gas residual saturation.
const Real _k_rg_max
Value of the gas relative permeability at liquid saturation = _s_lr.
const MaterialProperty< std::array< Real, PorousFlowConstants::MAX_HYSTERESIS_ORDER > > & _hys_sat_tps
Saturation values at the turning points, as computed by PorousFlowHysteresisOrder.