www.mooseframework.org
INSBase.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 #ifndef INSBASE_H
8 #define INSBASE_H
9 
10 #include "Kernel.h"
11 
12 // Forward Declarations
13 class INSBase;
14 
15 template <>
16 InputParameters validParams<INSBase>();
17 
22 class INSBase : public Kernel
23 {
24 public:
25  INSBase(const InputParameters & parameters);
26 
27  virtual ~INSBase() {}
28 
29 protected:
30  virtual Real computeQpResidual() = 0;
31  virtual Real computeQpJacobian() = 0;
32  virtual Real computeQpOffDiagJacobian(unsigned jvar) = 0;
33 
34  virtual RealVectorValue convectiveTerm();
35  virtual RealVectorValue dConvecDUComp(unsigned comp);
36 
37  virtual RealVectorValue strongViscousTermLaplace();
38  virtual RealVectorValue strongViscousTermTraction();
39  virtual RealVectorValue dStrongViscDUCompLaplace(unsigned comp);
40  virtual RealVectorValue dStrongViscDUCompTraction(unsigned comp);
41 
42  virtual RealVectorValue weakViscousTermLaplace(unsigned comp);
43  virtual RealVectorValue weakViscousTermTraction(unsigned comp);
44  virtual RealVectorValue dWeakViscDUCompLaplace();
45  virtual RealVectorValue dWeakViscDUCompTraction();
46 
47  virtual RealVectorValue strongPressureTerm();
48  virtual Real weakPressureTerm();
49  virtual RealVectorValue dStrongPressureDPressure();
50  virtual Real dWeakPressureDPressure();
51 
52  virtual RealVectorValue gravityTerm();
53 
54  virtual RealVectorValue timeDerivativeTerm();
55  virtual RealVectorValue dTimeDerivativeDUComp(unsigned comp);
56 
57  virtual Real tau();
58  virtual Real dTauDUComp(unsigned comp);
59 
61  virtual Real tauNodal();
62 
64  const VariablePhiSecond & _second_phi;
65 
66  // Coupled variables
67  const VariableValue & _u_vel;
68  const VariableValue & _v_vel;
69  const VariableValue & _w_vel;
70  const VariableValue & _p;
71 
72  // Gradients
73  const VariableGradient & _grad_u_vel;
74  const VariableGradient & _grad_v_vel;
75  const VariableGradient & _grad_w_vel;
76  const VariableGradient & _grad_p;
77 
78  // Seconds
79  const VariableSecond & _second_u_vel;
80  const VariableSecond & _second_v_vel;
81  const VariableSecond & _second_w_vel;
82 
83  // Time derivatives
84  const VariableValue & _u_vel_dot;
85  const VariableValue & _v_vel_dot;
86  const VariableValue & _w_vel_dot;
87 
88  // Derivatives of time derivatives
89  const VariableValue & _d_u_vel_dot_du;
90  const VariableValue & _d_v_vel_dot_dv;
91  const VariableValue & _d_w_vel_dot_dw;
92 
93  // Variable numberings
97  unsigned _p_var_number;
98 
99  RealVectorValue _gravity;
100 
101  // Material properties
102  const MaterialProperty<Real> & _mu;
103  const MaterialProperty<Real> & _rho;
104 
105  const Real & _alpha;
106  bool _laplace;
109 };
110 
111 #endif
virtual RealVectorValue strongViscousTermLaplace()
Definition: INSBase.C:117
const VariableValue & _p
Definition: INSBase.h:70
const VariablePhiSecond & _second_phi
second derivatives of the shape function
Definition: INSBase.h:64
virtual RealVectorValue dStrongViscDUCompTraction(unsigned comp)
Definition: INSBase.C:141
virtual Real tau()
Definition: INSBase.C:268
const MaterialProperty< Real > & _rho
Definition: INSBase.h:103
virtual Real tauNodal()
Provides tau which yields superconvergence for 1D advection-diffusion.
Definition: INSBase.C:279
This class computes strong and weak components of the INS governing equations.
Definition: INSBase.h:22
const VariableValue & _u_vel
Definition: INSBase.h:67
const MaterialProperty< Real > & _mu
Definition: INSBase.h:102
virtual RealVectorValue dWeakViscDUCompTraction()
Definition: INSBase.C:206
virtual Real dTauDUComp(unsigned comp)
Definition: INSBase.C:296
const VariableGradient & _grad_v_vel
Definition: INSBase.h:74
const VariableSecond & _second_u_vel
Definition: INSBase.h:79
const VariableValue & _w_vel_dot
Definition: INSBase.h:86
const VariableValue & _w_vel
Definition: INSBase.h:69
unsigned _w_vel_var_number
Definition: INSBase.h:96
virtual RealVectorValue dStrongPressureDPressure()
Definition: INSBase.C:224
virtual RealVectorValue timeDerivativeTerm()
Definition: INSBase.C:242
virtual RealVectorValue convectiveTerm()
Definition: INSBase.C:94
const VariableValue & _d_v_vel_dot_dv
Definition: INSBase.h:90
bool _convective_term
Definition: INSBase.h:107
virtual RealVectorValue weakViscousTermTraction(unsigned comp)
Definition: INSBase.C:172
const VariableGradient & _grad_u_vel
Definition: INSBase.h:73
const VariableSecond & _second_v_vel
Definition: INSBase.h:80
virtual RealVectorValue strongPressureTerm()
Definition: INSBase.C:212
virtual Real dWeakPressureDPressure()
Definition: INSBase.C:230
bool _transient_term
Definition: INSBase.h:108
virtual ~INSBase()
Definition: INSBase.h:27
virtual Real computeQpResidual()=0
const VariableValue & _u_vel_dot
Definition: INSBase.h:84
virtual RealVectorValue dConvecDUComp(unsigned comp)
Definition: INSBase.C:102
InputParameters validParams< INSBase >()
Definition: INSBase.C:13
unsigned _u_vel_var_number
Definition: INSBase.h:94
virtual Real computeQpOffDiagJacobian(unsigned jvar)=0
virtual RealVectorValue dStrongViscDUCompLaplace(unsigned comp)
Definition: INSBase.C:132
const VariableValue & _d_w_vel_dot_dw
Definition: INSBase.h:91
const VariableGradient & _grad_w_vel
Definition: INSBase.h:75
const VariableSecond & _second_w_vel
Definition: INSBase.h:81
bool _laplace
Definition: INSBase.h:106
virtual RealVectorValue gravityTerm()
Definition: INSBase.C:236
INSBase(const InputParameters &parameters)
Definition: INSBase.C:43
virtual RealVectorValue strongViscousTermTraction()
Definition: INSBase.C:124
const VariableGradient & _grad_p
Definition: INSBase.h:76
virtual RealVectorValue dWeakViscDUCompLaplace()
Definition: INSBase.C:200
const VariableValue & _v_vel
Definition: INSBase.h:68
virtual RealVectorValue weakViscousTermLaplace(unsigned comp)
Definition: INSBase.C:153
virtual Real computeQpJacobian()=0
unsigned _v_vel_var_number
Definition: INSBase.h:95
RealVectorValue _gravity
Definition: INSBase.h:99
unsigned _p_var_number
Definition: INSBase.h:97
virtual Real weakPressureTerm()
Definition: INSBase.C:218
virtual RealVectorValue dTimeDerivativeDUComp(unsigned comp)
Definition: INSBase.C:248
const VariableValue & _d_u_vel_dot_du
Definition: INSBase.h:89
const VariableValue & _v_vel_dot
Definition: INSBase.h:85
const Real & _alpha
Definition: INSBase.h:105