www.mooseframework.org
PorousFlowRelativePermeabilityBW.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
11 
13 
14 template <>
15 InputParameters
17 {
18  InputParameters params = validParams<PorousFlowRelativePermeabilityBase>();
19  params.addRequiredRangeCheckedParam<Real>(
20  "Sn",
21  "Sn >= 0",
22  "Low saturation. This must be < Ss, and non-negative. This is BW's "
23  "initial effective saturation, below which effective saturation never goes "
24  "in their simulations/models. If Kn=0 then Sn is the immobile saturation. "
25  "This form of effective saturation is only correct for Kn small.");
26  params.addRangeCheckedParam<Real>(
27  "Ss",
28  1.0,
29  "Ss <= 1",
30  "High saturation. This must be > Sn and <= 1. Effective saturation "
31  "where porepressure = 0. Effective saturation never exceeds this "
32  "value in BW's simulations/models.");
33  params.addRequiredRangeCheckedParam<Real>(
34  "Kn", "Kn >= 0", "Low relative permeability. This must be < Ks, and non-negative.");
35  params.addRequiredRangeCheckedParam<Real>(
36  "Ks", "Ks <= 1", "High relative permeability. This must be > Kn and less than unity");
37  params.addRequiredRangeCheckedParam<Real>(
38  "C", "C > 1", "BW's C parameter. Must be > 1. Typical value would be 1.05.");
39  params.addClassDescription("Broadbridge-White form of relative permeability");
40  return params;
41 }
42 
44  const InputParameters & parameters)
46  _sn(getParam<Real>("Sn")),
47  _ss(getParam<Real>("Ss")),
48  _kn(getParam<Real>("Kn")),
49  _ks(getParam<Real>("Ks")),
50  _c(getParam<Real>("C"))
51 {
52  if (_ss <= _sn)
53  mooseError("In BW relative permeability Sn set to ",
54  _sn,
55  " and Ss set to ",
56  _ss,
57  " but these must obey Ss > Sn");
58  if (_ks <= _kn)
59  mooseError("In BW relative permeability Kn set to ",
60  _kn,
61  " and Ks set to ",
62  _ks,
63  " but these must obey Ks > Kn");
64 }
65 
66 Real
68 {
70 }
71 
72 Real
74 {
76 }
PorousFlowRelativePermeabilityBW::_c
const Real _c
BW's C parameter.
Definition: PorousFlowRelativePermeabilityBW.h:48
PorousFlowRelativePermeabilityBW::_ks
const Real _ks
BW's high relative permeability.
Definition: PorousFlowRelativePermeabilityBW.h:45
validParams< PorousFlowRelativePermeabilityBW >
InputParameters validParams< PorousFlowRelativePermeabilityBW >()
Definition: PorousFlowRelativePermeabilityBW.C:16
PorousFlowRelativePermeabilityBW.h
PorousFlowRelativePermeabilityBase
Base class for PorousFlow relative permeability materials.
Definition: PorousFlowRelativePermeabilityBase.h:24
registerMooseObject
registerMooseObject("PorousFlowApp", PorousFlowRelativePermeabilityBW)
PorousFlowRelativePermeabilityBW::PorousFlowRelativePermeabilityBW
PorousFlowRelativePermeabilityBW(const InputParameters &parameters)
Definition: PorousFlowRelativePermeabilityBW.C:43
PorousFlowBroadbridgeWhite::dRelativePermeability
Real dRelativePermeability(Real s, Real c, Real sn, Real ss, Real kn, Real ks)
Derivative of relative permeability with respect to saturation.
Definition: PorousFlowBroadbridgeWhite.C:140
PorousFlowRelativePermeabilityBW
Material that calculates the Broadbridge-White relative permeability P Broadbridge,...
Definition: PorousFlowRelativePermeabilityBW.h:26
PorousFlowRelativePermeabilityBW::_kn
const Real _kn
BW's low relative permeability.
Definition: PorousFlowRelativePermeabilityBW.h:42
PorousFlowRelativePermeabilityBW::relativePermeability
virtual Real relativePermeability(Real seff) const override
Relative permeability equation (must be overriden in derived class)
Definition: PorousFlowRelativePermeabilityBW.C:67
PorousFlowRelativePermeabilityBW::dRelativePermeability
virtual Real dRelativePermeability(Real seff) const override
Derivative of relative permeability with respect to effective saturation.
Definition: PorousFlowRelativePermeabilityBW.C:73
PorousFlowBroadbridgeWhite::relativePermeability
Real relativePermeability(Real s, Real c, Real sn, Real ss, Real kn, Real ks)
Relative permeability as a function of saturation.
Definition: PorousFlowBroadbridgeWhite.C:125
validParams< PorousFlowRelativePermeabilityBase >
InputParameters validParams< PorousFlowRelativePermeabilityBase >()
Definition: PorousFlowRelativePermeabilityBase.C:14
PorousFlowRelativePermeabilityBW::_sn
const Real _sn
BW's low saturation.
Definition: PorousFlowRelativePermeabilityBW.h:36
PorousFlowRelativePermeabilityBW::_ss
const Real _ss
BW's high saturation.
Definition: PorousFlowRelativePermeabilityBW.h:39