27 "Viscosity of oil (gas) phase. It is assumed this is double the water-phase viscosity");
29 "This is porosity/permeability/beta^2, where beta may be " 30 "chosen by the user (RSC define beta<0, but MOOSE only uses " 31 "beta^2, so its sign is irrelevant). It has dimensions " 33 params.
addParam<
Real>(
"shift",
"effective saturation is a function of (Pc - shift)");
34 params.
addClassDescription(
"Rogers-Stallybrass-Clements version of effective saturation for the " 35 "oil (gas) phase, valid for residual saturations = 0, and " 36 "viscosityOil = 2*viscosityWater. seff_gas = 1 - 1/Sqrt(1 + Exp((Pc " 37 "- shift)/scale)), where scale = 0.25*scale_ratio*oil_viscosity");
43 _oil_viscosity(getParam<
Real>(
"oil_viscosity")),
44 _scale_ratio(getParam<
Real>(
"scale_ratio")),
45 _shift(getParam<
Real>(
"shift")),
46 _scale(0.25 * _scale_ratio * _oil_viscosity)
53 Real pc = (*p[1])[qp] - (*p[0])[qp];
60 std::vector<Real> & result)
const 62 Real pc = (*p[1])[qp] - (*p[0])[qp];
64 result[0] = -result[1];
70 std::vector<std::vector<Real>> & result)
const 72 Real pc = (*p[1])[qp] - (*p[0])[qp];
74 result[0][1] = -result[1][1];
75 result[1][0] = -result[1][1];
76 result[0][0] = result[1][1];
static Real d2seff(Real pc, Real shift, Real scale)
2nd derivative of effective saturation wrt capillary pressure
Base class for effective saturation as a function of porepressure(s) The functions seff...
static InputParameters validParams()
registerMooseObject("RichardsApp", RichardsSeff2gasRSC)
RichardsSeff2gasRSC(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
Rogers-Stallybrass-Clements version of effective saturation of oil (gas) phase as a function of (Pwat...
static Real seff(Real pc, Real shift, Real scale)
effective saturation as a function of capillary pressure
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static InputParameters validParams()
static Real dseff(Real pc, Real shift, Real scale)
derivative of effective saturation wrt capillary pressure
Real seff(std::vector< const VariableValue *> p, unsigned int qp) const
oil effective saturation
void dseff(std::vector< const VariableValue *> p, unsigned int qp, std::vector< Real > &result) const
derivative of effective saturation as a function of porepressure