https://mooseframework.inl.gov
Loading...
Searching...
No Matches
NavierStokesMaterial.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
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 "Material.h"
13
14// Forward Declarations
16
33{
34public:
36
38
39protected:
43 virtual void computeProperties();
44
45 const unsigned int _mesh_dimension;
46
50
54
55 // Also store the "cal A" matrices at each quadrature point as material
56 // poperties. These are defined in the compns notes and are needed for
57 // computing strong and weak residual values and Jacobian entries, so it's
58 // good if we reuse them...
60
61 // The "velocity column" matrices. _calC[_qp][k] is a tensor with the
62 // velocity vector in the k'th column. See notes for additional details.
64
65 // The energy equation inviscid flux matrix components. There are n_vars of
66 // these for each dimension, so in 3D, 3*5=15 different matrices.
67 // See notes for additional details.
69
70 // Convenient storage for all of the velocity gradient components so
71 // we can refer to them in a loop.
72 std::vector<const VariableGradient *> _vel_grads;
73
74 // Coupled values needed to compute strong form residuals
75 // for SUPG stabilization...
79
80 // Temperature is needed to compute speed of sound
82
83 // Specific total enthalpy is needed in computing energy equation strong residuals
85
86 // Main solution variables are all needed for computing strong residuals
92
93 // Time derivative values for dependent variables
99
100 // Gradients
106
107 // The real-valued material properties representing the element stabilization
108 // parameters for each of the equations.
113
114 // The (vector-valued) material property which is the strong-form
115 // residual at each quadrature point.
117
118 // Fluid properties
120
121private:
122 // To be called from computeProperties() function to compute _hsupg
123 void computeHSUPG(unsigned int qp);
124
125 // To be called from computeProperties() function to compute _tauc, _taum, _taue
126 void computeTau(unsigned int qp);
127
128 // To be called from computeProperties() function to compute the strong residual of each equation.
129 void computeStrongResiduals(unsigned int qp);
130};
Ideal gas fluid properties Default parameters are for air at atmospheric pressure and temperature.
const InputParameters & parameters() const
This is the base class all materials should use if you are trying to use the Navier-Stokes Kernels.
MaterialProperty< std::vector< RealTensorValue > > & _calC
const VariableGradient & _grad_rho_et
MaterialProperty< Real > & _taum
const VariableValue & _specific_total_enthalpy
MaterialProperty< std::vector< std::vector< RealTensorValue > > > & _calE
const VariableValue & _temperature
const IdealGasFluidProperties & _fp
static InputParameters validParams()
const VariableGradient & _grad_rho_u
const VariableValue & _w_vel
MaterialProperty< Real > & _taue
const VariableGradient & _grad_rho_w
void computeHSUPG(unsigned int qp)
const VariableGradient & _grad_rho
MaterialProperty< Real > & _tauc
const VariableValue & _rho_v
const VariableValue & _drhow_dt
const VariableValue & _drho_dt
const VariableGradient & _grad_w
std::vector< const VariableGradient * > _vel_grads
const unsigned int _mesh_dimension
const VariableValue & _rho_u
const VariableGradient & _grad_rho_v
MaterialProperty< std::vector< RealTensorValue > > & _calA
MaterialProperty< std::vector< Real > > & _strong_residuals
void computeStrongResiduals(unsigned int qp)
const VariableValue & _v_vel
const VariableValue & _rho
const VariableValue & _rho_et
const VariableValue & _u_vel
const VariableValue & _drhou_dt
const VariableValue & _rho_w
MaterialProperty< Real > & _hsupg
const VariableGradient & _grad_v
const VariableValue & _drhoE_dt
MaterialProperty< RealTensorValue > & _viscous_stress_tensor
MaterialProperty< Real > & _thermal_conductivity
virtual void computeProperties()
Must be called after the child class computes dynamic_viscocity.
void computeTau(unsigned int qp)
const VariableValue & _drhov_dt
MaterialProperty< Real > & _dynamic_viscosity
const VariableGradient & _grad_u
VariableValueTempl< false > VariableValue
VariableGradientTempl< false > VariableGradient