26 params.addParam<Real>(
28 "Viscosity of oil (gas) phase. It is assumed this is double the water-phase viscosity");
29 params.addParam<Real>(
"scale_ratio",
30 "This is porosity/permeability/beta^2, where beta may be "
31 "chosen by the user (RSC define beta<0, but MOOSE only uses "
32 "beta^2, so its sign is irrelevant). It has dimensions "
34 params.addParam<Real>(
"shift",
"effective saturation is a function of (Pc - shift)");
35 params.addClassDescription(
"Rogers-Stallybrass-Clements version of effective saturation for the "
36 "oil (gas) phase, valid for residual saturations = 0, and "
37 "viscosityOil = 2*viscosityWater. seff_gas = 1 - 1/Sqrt(1 + Exp((Pc "
38 "- shift)/scale)), where scale = 0.25*scale_ratio*oil_viscosity");
44 _oil_viscosity(getParam<Real>(
"oil_viscosity")),
45 _scale_ratio(getParam<Real>(
"scale_ratio")),
46 _shift(getParam<Real>(
"shift")),
47 _scale(0.25 * _scale_ratio * _oil_viscosity)
54 Real pc = (*p[1])[qp] - (*p[0])[qp];
61 std::vector<Real> & result)
const
63 Real pc = (*p[1])[qp] - (*p[0])[qp];
65 result[0] = -result[1];
71 std::vector<std::vector<Real>> & result)
const
73 Real pc = (*p[1])[qp] - (*p[0])[qp];
75 result[0][1] = -result[1][1];
76 result[1][0] = -result[1][1];
77 result[0][0] = result[1][1];