Effective saturation as a function of porepressure using the van Genuchten formula, but when p<p_cut use a linear instead, seff = a + b*p, which matches value and derivative at p=p_cut This is so seff=0 at a finite value of p rather than p=-infinity. More...
#include <RichardsSeff1VGcut.h>
Public Member Functions | |
RichardsSeff1VGcut (const InputParameters ¶meters) | |
void | initialSetup () |
just prints some (maybe) useful info to the console More... | |
Real | seff (std::vector< const VariableValue * > p, unsigned int qp) const |
effective saturation as a function of porepressure 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 | _p_cut |
cutoff in pressure below which use a linear relationship instead of van-Genuchten expression. _p_cut < 0 More... | |
Real | _s_cut |
effective saturation at p=_p_cut More... | |
Real | _ds_cut |
derivative of effective saturation wrt p at p=_p_cut More... | |
Effective saturation as a function of porepressure using the van Genuchten formula, but when p<p_cut use a linear instead, seff = a + b*p, which matches value and derivative at p=p_cut This is so seff=0 at a finite value of p rather than p=-infinity.
Note effective saturation is not a function of capillary pressure: i use porepressure instead, so seff = 1 for p >= 0.
Definition at line 31 of file RichardsSeff1VGcut.h.
RichardsSeff1VGcut::RichardsSeff1VGcut | ( | const InputParameters & | parameters | ) |
Definition at line 34 of file RichardsSeff1VGcut.C.
|
virtual |
second derivative of effective saturation as a function of porepressure
p | porepressure in the element. Note that (*p[0])[qp] is the porepressure at quadpoint qp |
qp | the quad point to evaluate effective saturation at |
result | the derivtives will be placed in this array |
Reimplemented from RichardsSeff1VG.
Definition at line 81 of file RichardsSeff1VGcut.C.
|
virtual |
derivative of effective saturation as a function of porepressure
p | porepressure in the element. Note that (*p[0])[qp] is the porepressure at quadpoint qp |
qp | the quad point to evaluate effective saturation at |
result | the derivtives will be placed in this array |
Reimplemented from RichardsSeff1VG.
Definition at line 70 of file RichardsSeff1VGcut.C.
|
inherited |
Definition at line 32 of file RichardsSeff.C.
|
inherited |
Definition at line 37 of file RichardsSeff.C.
|
inherited |
Definition at line 27 of file RichardsSeff.C.
void RichardsSeff1VGcut::initialSetup | ( | ) |
|
virtual |
effective saturation as a function of porepressure
p | porepressure in the element. Note that (*p[0])[qp] is the porepressure at quadpoint qp |
qp | the quad point to evaluate effective saturation at |
Reimplemented from RichardsSeff1VG.
Definition at line 54 of file RichardsSeff1VGcut.C.
|
protected |
van Genuchten alpha parameter
Definition at line 70 of file RichardsSeff1VGcut.h.
Referenced by RichardsSeff1VGcut().
|
protected |
derivative of effective saturation wrt p at p=_p_cut
Definition at line 82 of file RichardsSeff1VGcut.h.
Referenced by dseff(), initialSetup(), RichardsSeff1VGcut(), and seff().
|
protected |
van Genuchten m parameter
Definition at line 73 of file RichardsSeff1VGcut.h.
Referenced by RichardsSeff1VGcut().
|
protected |
cutoff in pressure below which use a linear relationship instead of van-Genuchten expression. _p_cut < 0
Definition at line 76 of file RichardsSeff1VGcut.h.
Referenced by d2seff(), dseff(), initialSetup(), RichardsSeff1VGcut(), and seff().
|
protected |
effective saturation at p=_p_cut
Definition at line 79 of file RichardsSeff1VGcut.h.
Referenced by initialSetup(), RichardsSeff1VGcut(), and seff().