Go to the documentation of this file.
22 params.addRequiredRangeCheckedParam<Real>(
25 "van-Genuchten alpha parameter. Must be positive. seff = (1 + "
26 "(-al*(P0-P1-shift))^(1/(1-m)))^(-m) (then scaled to 0 to 1)");
27 params.addRequiredRangeCheckedParam<Real>(
30 "van-Genuchten m parameter. Must be between 0 and 1, and optimally "
31 "should be set to >0.5 seff = (1 + "
32 "(-al*(P0-P1-shift)^(1/(1-m)))^(-m) (then scaled to 0 to 1)");
33 params.addRequiredRangeCheckedParam<Real>(
36 "Shift in capillary-pressure porepressure values. Standard "
37 "van-Genuchten Seff = Seff(Pwater-Pgas) is shifted to the right, and "
38 "then scaled to 0<=Seff<=1. This means that dS/dP>0 at S=1 which is "
39 "useful to provide nonsingular Jacobians for small dt.");
40 params.addClassDescription(
"Shifted van-Genuchten effective saturation as a function of (Pwater, "
41 "Pgas) suitable for use for the gas phase in two-phase simulations. "
42 " seff = (1 + (-al*(P0-p1-shift))^(1/(1-m)))^(-m), then scaled so it "
43 "runs between 0 and 1.");
49 _al(getParam<Real>(
"al")),
50 _m(getParam<Real>(
"m")),
51 _shift(getParam<Real>(
"shift"))
59 Real negpc = (*p[0])[qp] - (*p[1])[qp];
67 std::vector<Real> & result)
const
69 Real negpc = (*p[0])[qp] - (*p[1])[qp];
72 result[1] = -result[0];
78 std::vector<std::vector<Real>> & result)
const
80 Real negpc = (*p[0])[qp] - (*p[1])[qp];
83 result[0][1] = -result[0][0];
84 result[1][0] = -result[0][0];
85 result[1][1] = result[0][0];
Real seff(std::vector< const VariableValue * > p, unsigned int qp) const
gas effective saturation
Real _m
van Genuchten m parameter
void dseff(std::vector< const VariableValue * > p, unsigned int qp, std::vector< Real > &result) const
derivative of effective saturation as a function of porepressure
Base class for effective saturation as a function of porepressure(s) The functions seff,...
void d2seff(std::vector< const VariableValue * > p, unsigned int qp, std::vector< std::vector< Real >> &result) const
second derivative of effective saturation as a function of porepressure
static Real dseff(Real p, Real al, Real m)
derivative of effective saturation wrt porepressure
InputParameters validParams< RichardsSeff2gasVGshifted >()
RichardsSeff2gasVGshifted(const InputParameters ¶meters)
registerMooseObject("RichardsApp", RichardsSeff2gasVGshifted)
static Real d2seff(Real p, Real al, Real m)
2nd derivative of effective saturation wrt porepressure
Shifted van-Genuchten water effective saturation as a function of (Pwater, Pgas), and its derivs wrt ...
InputParameters validParams< RichardsSeff >()
Real _al
van Genuchten alpha parameter
static Real seff(Real p, Real al, Real m)
effective saturation as a fcn of porepressure