www.mooseframework.org
RichardsSeff1VGcut.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 
8 // "cut" van-Genuchten effective saturation as a function of single pressure, and its derivs wrt to
9 // that pressure
10 //
11 #ifndef RICHARDSSEFF1VGCUT_H
12 #define RICHARDSSEFF1VGCUT_H
13 
14 #include "RichardsSeff1VG.h"
15 
16 class RichardsSeff1VGcut;
17 
18 template <>
19 InputParameters validParams<RichardsSeff1VGcut>();
20 
31 {
32 public:
33  RichardsSeff1VGcut(const InputParameters & parameters);
34 
36  void initialSetup();
37 
44  Real seff(std::vector<const VariableValue *> p, unsigned int qp) const;
45 
53  void
54  dseff(std::vector<const VariableValue *> p, unsigned int qp, std::vector<Real> & result) const;
55 
63  void d2seff(std::vector<const VariableValue *> p,
64  unsigned int qp,
65  std::vector<std::vector<Real>> & result) const;
66 
67 protected:
69  Real _al;
70 
72  Real _m;
73 
75  Real _p_cut;
76 
78  Real _s_cut;
79 
81  Real _ds_cut;
82 };
83 
84 #endif // RICHARDSSEFF1VGCUT_H
void dseff(std::vector< const VariableValue * > p, unsigned int qp, std::vector< Real > &result) const
derivative of effective saturation as a function of porepressure
Real _s_cut
effective saturation at p=_p_cut
void initialSetup()
just prints some (maybe) useful info to the console
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
Real seff(std::vector< const VariableValue * > p, unsigned int qp) const
effective saturation as a function of porepressure
Effective saturation as a function of porepressure using the van Genuchten formula.
Real _al
van Genuchten alpha parameter
Real _m
van Genuchten m parameter
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.
Real _ds_cut
derivative of effective saturation wrt p at p=_p_cut
Real _p_cut
cutoff in pressure below which use a linear relationship instead of van-Genuchten expression...
RichardsSeff1VGcut(const InputParameters &parameters)
InputParameters validParams< RichardsSeff1VGcut >()