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

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

#include <RichardsSeff2gasVGshifted.h>

Inheritance diagram for RichardsSeff2gasVGshifted:
[legend]

Public Member Functions

 RichardsSeff2gasVGshifted (const InputParameters &parameters)
 
Real seff (std::vector< const VariableValue * > p, unsigned int qp) const
 gas 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 RichardsSeff2gasVGshifted.h.

Constructor & Destructor Documentation

RichardsSeff2gasVGshifted::RichardsSeff2gasVGshifted ( const InputParameters &  parameters)

Definition at line 43 of file RichardsSeff2gasVGshifted.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
RichardsSeff(const InputParameters &parameters)
Definition: RichardsSeff.C:22
Real _m
van Genuchten m parameter

Member Function Documentation

void RichardsSeff2gasVGshifted::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 RichardsSeff2gasVGshifted.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 RichardsSeff2gasVGshifted::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 RichardsSeff2gasVGshifted.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 }
Real _al
van Genuchten alpha parameter
static Real dseff(Real p, Real al, Real m)
derivative of effective saturation wrt porepressure
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 RichardsSeff2gasVGshifted::seff ( std::vector< const VariableValue * >  p,
unsigned int  qp 
) const
virtual

gas 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 RichardsSeff2gasVGshifted.C.

54 {
55  Real negpc = (*p[0])[qp] - (*p[1])[qp];
56  negpc = negpc - _shift;
57  return std::max(1 - RichardsSeffVG::seff(negpc, _al, _m) / _scale, 0.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 RichardsSeff2gasVGshifted::_al
protected

van Genuchten alpha parameter

Definition at line 63 of file RichardsSeff2gasVGshifted.h.

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

Real RichardsSeff2gasVGshifted::_m
protected

van Genuchten m parameter

Definition at line 66 of file RichardsSeff2gasVGshifted.h.

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

Real RichardsSeff2gasVGshifted::_scale
protected

scale

Definition at line 72 of file RichardsSeff2gasVGshifted.h.

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

Real RichardsSeff2gasVGshifted::_shift
protected

shift

Definition at line 69 of file RichardsSeff2gasVGshifted.h.

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


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