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