www.mooseframework.org
PorousFlowRelativePermeabilityBW.C
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 
9 
10 template <>
11 InputParameters
13 {
14  InputParameters params = validParams<PorousFlowRelativePermeabilityBase>();
15  params.addRequiredRangeCheckedParam<Real>(
16  "Sn",
17  "Sn >= 0",
18  "Low saturation. This must be < Ss, and non-negative. This is BW's "
19  "initial effective saturation, below which effective saturation never goes "
20  "in their simulations/models. If Kn=0 then Sn is the immobile saturation. "
21  "This form of effective saturation is only correct for Kn small.");
22  params.addRangeCheckedParam<Real>(
23  "Ss",
24  1.0,
25  "Ss <= 1",
26  "High saturation. This must be > Sn and <= 1. Effective saturation "
27  "where porepressure = 0. Effective saturation never exceeds this "
28  "value in BW's simulations/models.");
29  params.addRequiredRangeCheckedParam<Real>(
30  "Kn", "Kn >= 0", "Low relative permeability. This must be < Ks, and non-negative.");
31  params.addRequiredRangeCheckedParam<Real>(
32  "Ks", "Ks <= 1", "High relative permeability. This must be > Kn and less than unity");
33  params.addRequiredRangeCheckedParam<Real>(
34  "C", "C > 1", "BW's C parameter. Must be > 1. Typical value would be 1.05.");
35  params.addClassDescription("Broadbridge-White form of relative permeability");
36  return params;
37 }
38 
40  const InputParameters & parameters)
42  _sn(getParam<Real>("Sn")),
43  _ss(getParam<Real>("Ss")),
44  _kn(getParam<Real>("Kn")),
45  _ks(getParam<Real>("Ks")),
46  _c(getParam<Real>("C"))
47 {
48  if (_ss <= _sn)
49  mooseError("In BW relative permeability Sn set to ",
50  _sn,
51  " and Ss set to ",
52  _ss,
53  " but these must obey Ss > Sn");
54  if (_ks <= _kn)
55  mooseError("In BW relative permeability Kn set to ",
56  _kn,
57  " and Ks set to ",
58  _ks,
59  " but these must obey Ks > Kn");
60 }
61 
62 Real
64 {
66 }
67 
68 Real
70 {
72 }
InputParameters validParams< PorousFlowRelativePermeabilityBW >()
const Real _ks
BW&#39;s high relative permeability.
virtual Real relativePermeability(Real seff) const override
Relative permeability equation (must be overriden in derived class)
Base class for PorousFlow relative permeability materials.
const Real _kn
BW&#39;s low relative permeability.
Real dRelativePermeability(Real s, Real c, Real sn, Real ss, Real kn, Real ks)
Derivative of relative permeability with respect to saturation.
InputParameters validParams< PorousFlowRelativePermeabilityBase >()
Real relativePermeability(Real s, Real c, Real sn, Real ss, Real kn, Real ks)
Relative permeability as a function of saturation.
PorousFlowRelativePermeabilityBW(const InputParameters &parameters)
const Real _ss
BW&#39;s high saturation.
const Real _sn
BW&#39;s low saturation.
virtual Real dRelativePermeability(Real seff) const override
Derivative of relative permeability with respect to effective saturation.