www.mooseframework.org
RichardsSUPGstandard.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "RichardsSUPG.h"
13 
15 
16 template <>
17 InputParameters validParams<RichardsSUPGstandard>();
18 
28 {
29 public:
30  RichardsSUPGstandard(const InputParameters & parameters);
31 
40  RealVectorValue
41  velSUPG(RealTensorValue perm, RealVectorValue gradp, Real density, RealVectorValue gravity) const;
42 
47  RealTensorValue dvelSUPG_dgradp(RealTensorValue perm) const;
48 
55  RealVectorValue
56  dvelSUPG_dp(RealTensorValue perm, Real density_prime, RealVectorValue gravity) const;
57 
66  RealVectorValue bb(RealVectorValue vel,
67  int dimen,
68  RealVectorValue xi_prime,
69  RealVectorValue eta_prime,
70  RealVectorValue zeta_prime) const;
71 
80  RealVectorValue dbb2_dgradp(RealVectorValue vel,
81  RealTensorValue dvel_dgradp,
82  RealVectorValue xi_prime,
83  RealVectorValue eta_prime,
84  RealVectorValue zeta_prime) const;
85 
94  Real dbb2_dp(RealVectorValue vel,
95  RealVectorValue dvel_dp,
96  RealVectorValue xi_prime,
97  RealVectorValue eta_prime,
98  RealVectorValue zeta_prime) const;
99 
107  Real tauSUPG(RealVectorValue vel, Real traceperm, RealVectorValue b) const;
108 
117  RealVectorValue dtauSUPG_dgradp(RealVectorValue vel,
118  RealTensorValue dvel_dgradp,
119  Real traceperm,
120  RealVectorValue b,
121  RealVectorValue db2_dgradp) const;
122 
131  Real dtauSUPG_dp(RealVectorValue vel,
132  RealVectorValue dvel_dp,
133  Real traceperm,
134  RealVectorValue b,
135  Real db2_dp) const;
136 
138  bool SUPG_trivial() const;
139 
140 protected:
147  Real _p_SUPG;
148 
149 private:
151  Real cosh_relation(Real alpha) const;
152 
154  Real cosh_relation_prime(Real alpha) const;
155 };
156 
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...
const std::string density
Definition: NS.h:16
Real tauSUPG(RealVectorValue vel, Real traceperm, RealVectorValue b) const
The SUPG tau parameter.
RealVectorValue velSUPG(RealTensorValue perm, RealVectorValue gradp, Real density, RealVectorValue gravity) const
SUPG velocity = -perm*(gradp - density*gravity) This points in direction of information propagation...
bool SUPG_trivial() const
returns false in this case since everything is trivial
Real dtauSUPG_dp(RealVectorValue vel, RealVectorValue dvel_dp, Real traceperm, RealVectorValue b, Real db2_dp) const
derivative of tau wrt porepressure (keeping gradp fixed)
RealVectorValue bb(RealVectorValue vel, int dimen, RealVectorValue xi_prime, RealVectorValue eta_prime, RealVectorValue zeta_prime) const
|bb| ~ 2*velocity/element_length
base class for SUPG of the Richards equation You must override all the functions below with your spec...
Definition: RichardsSUPG.h:25
Real cosh_relation_prime(Real alpha) const
derivative of cosh_relation wrt alpha
standard SUPG relationships valid for the Richards equation.
RealVectorValue dvelSUPG_dp(RealTensorValue perm, Real density_prime, RealVectorValue gravity) const
derivative of SUPG velocity wrt porepressure (keeping gradp fixed)
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
RealTensorValue dvelSUPG_dgradp(RealTensorValue perm) const
derivative of SUPG velocity wrt gradient of porepressure
Real dbb2_dp(RealVectorValue vel, RealVectorValue dvel_dp, RealVectorValue xi_prime, RealVectorValue eta_prime, RealVectorValue zeta_prime) const
derivative of bb*bb wrt porepressure
RealVectorValue dtauSUPG_dgradp(RealVectorValue vel, RealTensorValue dvel_dgradp, Real traceperm, RealVectorValue b, RealVectorValue db2_dgradp) const
derivative of tau wrt gradient of porepressure
Real cosh_relation(Real alpha) const
cosh(alpha)/sinh(alpha) - 1/alpha, modified at extreme values of alpha to prevent overflows ...