24 "van-Genuchten alpha parameter. Must be positive. seff = (1 + " 25 "(-al*(P0-P1-shift))^(1/(1-m)))^(-m) (then scaled to 0 to 1)");
29 "van-Genuchten m parameter. Must be between 0 and 1, and optimally " 30 "should be set to >0.5 seff = (1 + " 31 "(-al*(P0-P1-shift)^(1/(1-m)))^(-m) (then scaled to 0 to 1)");
35 "Shift in capillary-pressure porepressure values. Standard " 36 "van-Genuchten Seff = Seff(Pwater-Pgas) is shifted to the right, and " 37 "then scaled to 0<=Seff<=1. This means that dS/dP>0 at S=1 which is " 38 "useful to provide nonsingular Jacobians for small dt.");
39 params.
addClassDescription(
"Shifted van-Genuchten effective saturation as a function of (Pwater, " 40 "Pgas) suitable for use for the gas phase in two-phase simulations. " 41 " seff = (1 + (-al*(P0-p1-shift))^(1/(1-m)))^(-m), then scaled so it " 42 "runs between 0 and 1.");
48 _al(getParam<
Real>(
"al")),
49 _m(getParam<
Real>(
"m")),
50 _shift(getParam<
Real>(
"shift"))
58 Real negpc = (*p[0])[qp] - (*p[1])[qp];
66 std::vector<Real> & result)
const 68 Real negpc = (*p[0])[qp] - (*p[1])[qp];
71 result[1] = -result[0];
77 std::vector<std::vector<Real>> & result)
const 79 Real negpc = (*p[0])[qp] - (*p[1])[qp];
82 result[0][1] = -result[0][0];
83 result[1][0] = -result[0][0];
84 result[1][1] = result[0][0];
static InputParameters validParams()
Real _al
van Genuchten alpha parameter
RichardsSeff2gasVGshifted(const InputParameters ¶meters)
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
Base class for effective saturation as a function of porepressure(s) The functions seff...
static InputParameters validParams()
static Real dseff(Real p, Real al, Real m)
derivative of effective saturation wrt porepressure
static Real seff(Real p, Real al, Real m)
effective saturation as a fcn of porepressure
Real _m
van Genuchten m parameter
static Real d2seff(Real p, Real al, Real m)
2nd derivative of effective saturation wrt porepressure
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
registerMooseObject("RichardsApp", RichardsSeff2gasVGshifted)
Shifted van-Genuchten water effective saturation as a function of (Pwater, Pgas), and its derivs wrt ...
void dseff(std::vector< const VariableValue *> p, unsigned int qp, std::vector< Real > &result) const
derivative of effective saturation as a function of porepressure
Real seff(std::vector< const VariableValue *> p, unsigned int qp) const
gas effective saturation