26 params.addRequiredParam<Real>(
28 "Viscosity of oil (gas) phase. It is assumed this is double the water-phase viscosity");
29 params.addRequiredParam<Real>(
"scale_ratio",
30 "This is porosity/permeability/beta^2, where beta "
31 "may be chosen by the user (RSC define beta<0, but "
32 "MOOSE only uses beta^2, so its sign is "
33 "irrelevant). It has dimensions [time]");
34 params.addRequiredParam<Real>(
"shift",
"effective saturation is a function of (Pc - shift)");
35 params.addClassDescription(
"Rogers-Stallybrass-Clements version of effective saturation for the "
36 "water phase, valid for residual saturations = 0, and viscosityOil = "
37 "2*viscosityWater. seff_water = 1/Sqrt(1 + Exp(Pc - shift)/scale)), "
38 "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];