www.mooseframework.org
Public Member Functions | Protected Attributes | List of all members
RichardsRelPermBW Class Reference

"Broadbridge-White" form of relative permeability as a function of effective saturation P Broadbridge and I White ``Constant rate rainfall infiltration: A versatile nonlinear model 1. More...

#include <RichardsRelPermBW.h>

Inheritance diagram for RichardsRelPermBW:
[legend]

Public Member Functions

 RichardsRelPermBW (const InputParameters &parameters)
 
Real relperm (Real seff) const
 relative permeability as a function of effective saturation More...
 
Real drelperm (Real seff) const
 derivative of relative permeability wrt effective saturation More...
 
Real d2relperm (Real seff) const
 second derivative of relative permeability wrt effective saturation More...
 
void initialize ()
 
void execute ()
 
void finalize ()
 

Protected Attributes

Real _sn
 
Real _ss
 
Real _kn
 
Real _ks
 
Real _c
 
Real _coef
 

Detailed Description

"Broadbridge-White" form of relative permeability as a function of effective saturation P Broadbridge and I White ``Constant rate rainfall infiltration: A versatile nonlinear model 1.

Analytic Solution'', Water Resources Research 24 (1988) 145-154)

Definition at line 23 of file RichardsRelPermBW.h.

Constructor & Destructor Documentation

RichardsRelPermBW::RichardsRelPermBW ( const InputParameters &  parameters)

Definition at line 49 of file RichardsRelPermBW.C.

50  : RichardsRelPerm(parameters),
51  _sn(getParam<Real>("Sn")),
52  _ss(getParam<Real>("Ss")),
53  _kn(getParam<Real>("Kn")),
54  _ks(getParam<Real>("Ks")),
55  _c(getParam<Real>("C"))
56 {
57  if (_ss <= _sn)
58  mooseError("In BW relative permeability Sn set to ",
59  _sn,
60  " and Ss set to ",
61  _ss,
62  " but these must obey Ss > Sn");
63  if (_ks <= _kn)
64  mooseError("In BW relative permeability Kn set to ",
65  _kn,
66  " and Ks set to ",
67  _ks,
68  " but these must obey Ks > Kn");
69  _coef = (_ks - _kn) * (_c - 1); // shorthand coefficient
70 }
RichardsRelPerm(const InputParameters &parameters)

Member Function Documentation

Real RichardsRelPermBW::d2relperm ( Real  seff) const
virtual

second derivative of relative permeability wrt effective saturation

Parameters
seffeffective saturation

Implements RichardsRelPerm.

Definition at line 102 of file RichardsRelPermBW.C.

103 {
104  if (seff <= _sn)
105  return 0.0;
106 
107  if (seff >= _ss)
108  return 0.0;
109 
110  const Real s_internal = (seff - _sn) / (_ss - _sn);
111  const Real krelpp =
112  _coef * (2.0 / (_c - s_internal) + 4.0 * s_internal / Utility::pow<2>(_c - s_internal) +
113  2.0 * Utility::pow<2>(s_internal) / Utility::pow<3>(_c - s_internal));
114  return krelpp / Utility::pow<2>(_ss - _sn);
115 }
Real RichardsRelPermBW::drelperm ( Real  seff) const
virtual

derivative of relative permeability wrt effective saturation

Parameters
seffeffective saturation

Implements RichardsRelPerm.

Definition at line 87 of file RichardsRelPermBW.C.

88 {
89  if (seff <= _sn)
90  return 0.0;
91 
92  if (seff >= _ss)
93  return 0.0;
94 
95  const Real s_internal = (seff - _sn) / (_ss - _sn);
96  const Real krelp = _coef * (2.0 * s_internal / (_c - s_internal) +
97  Utility::pow<2>(s_internal) / Utility::pow<2>(_c - s_internal));
98  return krelp / (_ss - _sn);
99 }
void RichardsRelPerm::execute ( )
inherited

Definition at line 32 of file RichardsRelPerm.C.

33 {
34 }
void RichardsRelPerm::finalize ( )
inherited

Definition at line 37 of file RichardsRelPerm.C.

38 {
39 }
void RichardsRelPerm::initialize ( )
inherited

Definition at line 27 of file RichardsRelPerm.C.

28 {
29 }
Real RichardsRelPermBW::relperm ( Real  seff) const
virtual

relative permeability as a function of effective saturation

Parameters
seffeffective saturation

Implements RichardsRelPerm.

Definition at line 73 of file RichardsRelPermBW.C.

74 {
75  if (seff <= _sn)
76  return _kn;
77 
78  if (seff >= _ss)
79  return _ks;
80 
81  const Real s_internal = (seff - _sn) / (_ss - _sn);
82  const Real krel = _kn + _coef * Utility::pow<2>(s_internal) / (_c - s_internal);
83  return krel;
84 }

Member Data Documentation

Real RichardsRelPermBW::_c
protected

Definition at line 60 of file RichardsRelPermBW.h.

Referenced by d2relperm(), drelperm(), relperm(), and RichardsRelPermBW().

Real RichardsRelPermBW::_coef
protected

Definition at line 63 of file RichardsRelPermBW.h.

Referenced by d2relperm(), drelperm(), relperm(), and RichardsRelPermBW().

Real RichardsRelPermBW::_kn
protected

Definition at line 54 of file RichardsRelPermBW.h.

Referenced by relperm(), and RichardsRelPermBW().

Real RichardsRelPermBW::_ks
protected

Definition at line 57 of file RichardsRelPermBW.h.

Referenced by relperm(), and RichardsRelPermBW().

Real RichardsRelPermBW::_sn
protected

Definition at line 48 of file RichardsRelPermBW.h.

Referenced by d2relperm(), drelperm(), relperm(), and RichardsRelPermBW().

Real RichardsRelPermBW::_ss
protected

Definition at line 51 of file RichardsRelPermBW.h.

Referenced by d2relperm(), drelperm(), relperm(), and RichardsRelPermBW().


The documentation for this class was generated from the following files: