www.mooseframework.org
RichardsSUPGstandard.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 #ifndef RICHARDSSUPGstandard_H
9 #define RICHARDSSUPGstandard_H
10 
11 #include "RichardsSUPG.h"
12 
14 
15 template <>
16 InputParameters validParams<RichardsSUPGstandard>();
17 
27 {
28 public:
29  RichardsSUPGstandard(const InputParameters & parameters);
30 
39  RealVectorValue
40  velSUPG(RealTensorValue perm, RealVectorValue gradp, Real density, RealVectorValue gravity) const;
41 
46  RealTensorValue dvelSUPG_dgradp(RealTensorValue perm) const;
47 
54  RealVectorValue
55  dvelSUPG_dp(RealTensorValue perm, Real density_prime, RealVectorValue gravity) const;
56 
65  RealVectorValue bb(RealVectorValue vel,
66  int dimen,
67  RealVectorValue xi_prime,
68  RealVectorValue eta_prime,
69  RealVectorValue zeta_prime) const;
70 
79  RealVectorValue dbb2_dgradp(RealVectorValue vel,
80  RealTensorValue dvel_dgradp,
81  RealVectorValue xi_prime,
82  RealVectorValue eta_prime,
83  RealVectorValue zeta_prime) const;
84 
93  Real dbb2_dp(RealVectorValue vel,
94  RealVectorValue dvel_dp,
95  RealVectorValue xi_prime,
96  RealVectorValue eta_prime,
97  RealVectorValue zeta_prime) const;
98 
106  Real tauSUPG(RealVectorValue vel, Real traceperm, RealVectorValue b) const;
107 
116  RealVectorValue dtauSUPG_dgradp(RealVectorValue vel,
117  RealTensorValue dvel_dgradp,
118  Real traceperm,
119  RealVectorValue b,
120  RealVectorValue db2_dgradp) const;
121 
130  Real dtauSUPG_dp(RealVectorValue vel,
131  RealVectorValue dvel_dp,
132  Real traceperm,
133  RealVectorValue b,
134  Real db2_dp) const;
135 
137  bool SUPG_trivial() const;
138 
139 protected:
146  Real _p_SUPG;
147 
148 private:
150  Real cosh_relation(Real alpha) const;
151 
153  Real cosh_relation_prime(Real alpha) const;
154 };
155 
156 #endif // RICHARDSSUPGstandard_H
InputParameters validParams< RichardsSUPGstandard >()
RichardsSUPGstandard(const InputParameters &parameters)
Real _p_SUPG
the SUPG pressure parameter This dictates how strong the SUPG is _p_SUPG large means only a little SU...
RealVectorValue dbb2_dgradp(RealVectorValue vel, RealTensorValue dvel_dgradp, RealVectorValue xi_prime, RealVectorValue eta_prime, RealVectorValue zeta_prime) const
derivative of bb*bb wrt gradient of porepressure
const std::string density
Definition: NS.h:15
Real dtauSUPG_dp(RealVectorValue vel, RealVectorValue dvel_dp, Real traceperm, RealVectorValue b, Real db2_dp) const
derivative of tau wrt porepressure (keeping gradp fixed)
Real cosh_relation_prime(Real alpha) const
derivative of cosh_relation wrt alpha
base class for SUPG of the Richards equation You must override all the functions below with your spec...
Definition: RichardsSUPG.h:24
RealTensorValue dvelSUPG_dgradp(RealTensorValue perm) const
derivative of SUPG velocity wrt gradient of porepressure
standard SUPG relationships valid for the Richards equation.
RealVectorValue bb(RealVectorValue vel, int dimen, RealVectorValue xi_prime, RealVectorValue eta_prime, RealVectorValue zeta_prime) const
|bb| ~ 2*velocity/element_length
Real tauSUPG(RealVectorValue vel, Real traceperm, RealVectorValue b) const
The SUPG tau parameter.
bool SUPG_trivial() const
returns false in this case since everything is trivial
RealVectorValue dtauSUPG_dgradp(RealVectorValue vel, RealTensorValue dvel_dgradp, Real traceperm, RealVectorValue b, RealVectorValue db2_dgradp) const
derivative of tau wrt gradient of porepressure
RealVectorValue velSUPG(RealTensorValue perm, RealVectorValue gradp, Real density, RealVectorValue gravity) const
SUPG velocity = -perm*(gradp - density*gravity) This points in direction of information propagation...
Real cosh_relation(Real alpha) const
cosh(alpha)/sinh(alpha) - 1/alpha, modified at extreme values of alpha to prevent overflows ...
RealVectorValue dvelSUPG_dp(RealTensorValue perm, Real density_prime, RealVectorValue gravity) const
derivative of SUPG velocity wrt porepressure (keeping gradp fixed)
Real dbb2_dp(RealVectorValue vel, RealVectorValue dvel_dp, RealVectorValue xi_prime, RealVectorValue eta_prime, RealVectorValue zeta_prime) const
derivative of bb*bb wrt porepressure