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

Shifted van-Genuchten water effective saturation as a function of (Pwater, Pgas), and its derivs wrt to those pressures. More...

#include <RichardsSeff2waterVGshifted.h>

Inheritance diagram for RichardsSeff2waterVGshifted:
[legend]

Public Member Functions

 RichardsSeff2waterVGshifted (const InputParameters &parameters)
 
Real seff (std::vector< const VariableValue * > p, unsigned int qp) const
 water effective saturation More...
 
void dseff (std::vector< const VariableValue * > p, unsigned int qp, std::vector< Real > &result) const
 derivative of effective saturation as a function of porepressure More...
 
void d2seff (std::vector< const VariableValue * > p, unsigned int qp, std::vector< std::vector< Real >> &result) const
 second derivative of effective saturation as a function of porepressure More...
 
void initialize ()
 
void execute ()
 
void finalize ()
 

Protected Attributes

Real _al
 van Genuchten alpha parameter More...
 
Real _m
 van Genuchten m parameter More...
 
Real _shift
 shift More...
 
Real _scale
 scale More...
 

Detailed Description

Shifted van-Genuchten water effective saturation as a function of (Pwater, Pgas), and its derivs wrt to those pressures.

Note that the water pressure appears first in the tuple (Pwater, Pgas) This takes the original van-Genuchten Seff = Seff(Pwater-Pgas), and shifts it to the right by "shift", and scales the result so 0<=Seff<=1. The purpose of this is so dSeff/dP>0 at P=0.

Definition at line 27 of file RichardsSeff2waterVGshifted.h.

Constructor & Destructor Documentation

RichardsSeff2waterVGshifted::RichardsSeff2waterVGshifted ( const InputParameters &  parameters)

Definition at line 43 of file RichardsSeff2waterVGshifted.C.

44  : RichardsSeff(parameters),
45  _al(getParam<Real>("al")),
46  _m(getParam<Real>("m")),
47  _shift(getParam<Real>("shift"))
48 {
50 }
Real _al
van Genuchten alpha parameter
static Real seff(Real p, Real al, Real m)
effective saturation as a fcn of porepressure
Real _m
van Genuchten m parameter
RichardsSeff(const InputParameters &parameters)
Definition: RichardsSeff.C:22

Member Function Documentation

void RichardsSeff2waterVGshifted::d2seff ( std::vector< const VariableValue * >  p,
unsigned int  qp,
std::vector< std::vector< Real >> &  result 
) const
virtual

second derivative of effective saturation as a function of porepressure

Parameters
pporepressure in the element. Note that (*p[0])[qp] is the porepressure at quadpoint qp
qpthe quad point to evaluate effective saturation at
resultthe derivtives will be placed in this array

Implements RichardsSeff.

Definition at line 72 of file RichardsSeff2waterVGshifted.C.

75 {
76  Real negpc = (*p[0])[qp] - (*p[1])[qp];
77  negpc = negpc - _shift;
78  result[0][0] = RichardsSeffVG::d2seff(negpc, _al, _m) / _scale;
79  result[0][1] = -result[0][0];
80  result[1][0] = -result[0][0];
81  result[1][1] = result[0][0];
82 }
Real _al
van Genuchten alpha parameter
Real _m
van Genuchten m parameter
static Real d2seff(Real p, Real al, Real m)
2nd derivative of effective saturation wrt porepressure
void RichardsSeff2waterVGshifted::dseff ( std::vector< const VariableValue * >  p,
unsigned int  qp,
std::vector< Real > &  result 
) const
virtual

derivative of effective saturation as a function of porepressure

Parameters
pporepressure in the element. Note that (*p[0])[qp] is the porepressure at quadpoint qp
qpthe quad point to evaluate effective saturation at
resultthe derivtives will be placed in this array

Implements RichardsSeff.

Definition at line 61 of file RichardsSeff2waterVGshifted.C.

64 {
65  Real negpc = (*p[0])[qp] - (*p[1])[qp];
66  negpc = negpc - _shift;
67  result[0] = RichardsSeffVG::dseff(negpc, _al, _m) / _scale;
68  result[1] = -result[0];
69 }
static Real dseff(Real p, Real al, Real m)
derivative of effective saturation wrt porepressure
Real _al
van Genuchten alpha parameter
Real _m
van Genuchten m parameter
void RichardsSeff::execute ( )
inherited

Definition at line 30 of file RichardsSeff.C.

31 {
32 }
void RichardsSeff::finalize ( )
inherited

Definition at line 35 of file RichardsSeff.C.

36 {
37 }
void RichardsSeff::initialize ( )
inherited

Definition at line 25 of file RichardsSeff.C.

26 {
27 }
Real RichardsSeff2waterVGshifted::seff ( std::vector< const VariableValue * >  p,
unsigned int  qp 
) const
virtual

water effective saturation

Parameters
pporepressures. Here (*p[0])[qp] is the water pressure at quadpoint qp, and (*p[1])[qp] is the gas porepressure
qpthe quadpoint to evaluate effective saturation at

Implements RichardsSeff.

Definition at line 53 of file RichardsSeff2waterVGshifted.C.

54 {
55  Real negpc = (*p[0])[qp] - (*p[1])[qp];
56  negpc = negpc - _shift;
57  return std::min(RichardsSeffVG::seff(negpc, _al, _m) / _scale, 1.0);
58 }
Real _al
van Genuchten alpha parameter
static Real seff(Real p, Real al, Real m)
effective saturation as a fcn of porepressure
Real _m
van Genuchten m parameter

Member Data Documentation

Real RichardsSeff2waterVGshifted::_al
protected

van Genuchten alpha parameter

Definition at line 63 of file RichardsSeff2waterVGshifted.h.

Referenced by d2seff(), dseff(), RichardsSeff2waterVGshifted(), and seff().

Real RichardsSeff2waterVGshifted::_m
protected

van Genuchten m parameter

Definition at line 66 of file RichardsSeff2waterVGshifted.h.

Referenced by d2seff(), dseff(), RichardsSeff2waterVGshifted(), and seff().

Real RichardsSeff2waterVGshifted::_scale
protected

scale

Definition at line 72 of file RichardsSeff2waterVGshifted.h.

Referenced by d2seff(), dseff(), RichardsSeff2waterVGshifted(), and seff().

Real RichardsSeff2waterVGshifted::_shift
protected

shift

Definition at line 69 of file RichardsSeff2waterVGshifted.h.

Referenced by d2seff(), dseff(), RichardsSeff2waterVGshifted(), and seff().


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