https://mooseframework.inl.gov
NS.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 <string>
13 #include "MathUtils.h"
14 #include "MooseUtils.h"
15 #include "MooseTypes.h"
16 #include "libmesh/vector_value.h"
17 #include "HeatConductionNames.h"
18 
19 namespace NS
20 {
21 using namespace HeatConduction;
22 
23 static const std::string directions[3] = {"x", "y", "z"};
24 
25 // geometric quantities
26 static const std::string pebble_diameter = "pebble_diameter";
27 static const std::string infinite_porosity = "infinite_porosity";
28 static const std::string axis = "axis";
29 static const std::string center = "center";
30 static const std::string wall_porosity = "wall_porosity";
31 static const std::string wall_distance = "wall_distance";
32 
33 // Names defined in Navier-Stokes
34 static const std::string density = "rho";
35 static const std::string superficial_density = "superficial_rho";
36 static const std::string momentum_x = "rhou";
37 static const std::string momentum_y = "rhov";
38 static const std::string momentum_z = "rhow";
39 static const std::string momentum_vector[3] = {momentum_x, momentum_y, momentum_z};
40 static const std::string superficial_momentum_x = "superficial_rhou";
41 static const std::string superficial_momentum_y = "superficial_rhov";
42 static const std::string superficial_momentum_z = "superficial_rhow";
43 static const std::string superficial_momentum_vector[3] = {
45 
46 static const std::string velocity = "velocity";
47 static const std::string velocity_x = "vel_x";
48 static const std::string velocity_y = "vel_y";
49 static const std::string velocity_z = "vel_z";
50 const std::string velocity_vector[3] = {velocity_x, velocity_y, velocity_z};
51 static const std::string superficial_velocity_x = "superficial_vel_x";
52 static const std::string superficial_velocity_y = "superficial_vel_y";
53 static const std::string superficial_velocity_z = "superficial_vel_z";
54 static const std::string superficial_velocity = "superficial_velocity";
55 static const std::string superficial_velocity_vector[3] = {
57 static const std::string pressure = "pressure";
58 // Starting variable name with pressure so it is displayed next to pressure in outputs
59 static const std::string total_pressure = "pressure_total";
60 static const std::string temperature = "temperature";
61 
62 static const std::string internal_energy = "internal_energy";
63 static const std::string specific_internal_energy = "e";
64 static const std::string specific_total_energy = "et";
65 static const std::string internal_energy_density = "rho_e";
66 static const std::string total_energy_density = "rho_et";
67 static const std::string superficial_total_energy_density = "superficial_rho_et";
68 
69 static const std::string specific_enthalpy = "h";
70 static const std::string specific_total_enthalpy = "ht";
71 static const std::string enthalpy_density = "rho_h";
72 static const std::string total_enthalpy_density = "rho_ht";
73 static const std::string superficial_total_enthalpy_density = "superficial_rho_ht";
74 
75 static const std::string mixing_length = "mixing_length";
76 static const std::string wall_shear_stress = "wall_shear_stress";
77 static const std::string wall_yplus = "wall_yplus";
78 static const std::string eddy_viscosity = "eddy_viscosity";
79 static const std::string total_viscosity = "total_viscosity";
80 
81 static const std::string mach_number = "Mach";
82 static const std::string specific_volume = "specific_volume";
83 
84 static const std::string momentum = "momentum";
85 static const std::string v = "v";
86 static const std::string acceleration = "acceleration";
87 
88 static const std::string fluid = "fp";
89 
90 // for Navier-Stokes material props representing gradients of nonlin+aux vars
91 inline std::string
92 grad(const std::string & var)
93 {
94  return MathUtils::gradName(var);
95 }
96 // for Navier-Stokes material props representing time derivatives of nonlin+aux vars
97 inline std::string
98 time_deriv(const std::string & var)
99 {
100  if (MooseUtils::isFloat(var))
101  return "0";
102  else
103  return MathUtils::timeDerivName(var);
104 }
105 
106 // Navier-Stokes Variables
107 // Relating to porous media
108 static const std::string porosity = "porosity";
109 static const std::string smoothed_porosity = "smoothed_porosity";
110 static const std::string T_fluid = "T_fluid";
111 static const std::string T_solid = "T_solid";
112 static const std::string heat_source = "heat_source";
113 
114 // Navier-Stokes Materials
115 static const std::string cL = "Darcy_coefficient";
116 static const std::string cQ = "Forchheimer_coefficient";
117 static const std::string alpha_boussinesq = "alpha_b";
118 static const std::string drhos_dTs = "drhos_dTs";
119 static const std::string dks_dTs = "dks_dTs";
120 static const std::string kappa = "kappa";
121 static const std::string kappa_s = "kappa_s";
122 static const std::string rho_s = "rho_s";
123 static const std::string cp_s = "cp_s";
124 static const std::string k_s = "k_s";
125 static const std::string cp = "cp";
126 static const std::string cv = "cv";
127 static const std::string mu = "mu";
128 // Turbulent dynamic viscosity
129 static const std::string mu_t = "mu_t";
130 // Turbulent dynamic scalar viscosity
131 static const std::string mu_t_passive_scalar = "mu_t_passive_scalar";
132 // Effective viscosity = sum of viscosities
133 static const std::string mu_eff = "mu_eff";
134 static const std::string k = "k";
135 // Turbulence 'conductivity'
136 static const std::string k_t = "k_t";
137 static const std::string thermal_diffusivity = "thermal_diffusivity";
138 static const std::string alpha = "alpha";
139 static const std::string alpha_wall = "alpha_wall";
140 static const std::string solid = "solid";
141 static const std::string Prandtl = "Pr";
142 static const std::string turbulent_Prandtl = "Pr_t";
143 static const std::string Reynolds = "Re";
144 static const std::string Reynolds_hydraulic = "Re_h";
145 static const std::string Reynolds_interstitial = "Re_i";
146 static const std::string c = "c";
147 static const std::string speed = "speed";
148 static const std::string sound_speed = "sound_speed";
149 
150 // Two phase mixture materials
151 static const std::string latent_heat = "latent_heat";
152 static const std::string T_liquidus = "T_liquidus";
153 static const std::string T_solidus = "T_solidus";
154 static const std::string alpha_exchange = "alpha_exchange";
155 
156 // other Navier-Stokes terms
157 static const std::string component = "component";
158 static const std::string source_scaling = "source_scaling";
159 
160 // SUPG terms
161 static const std::string matrix_tau = "matrix_tau";
162 static const std::string vector_tau = "vector_tau";
163 static const std::string scalar_tau = "scalar_tau";
164 static const std::string diagonal_tau = "diagonal_tau";
165 static const std::string A = "A";
166 static const std::string R = "R";
167 static const std::string S = "S";
168 static const std::string dS_dTs = "dS_dTs";
169 static const std::string F = "F";
170 static const std::string G = "G";
171 static const std::string dUdt = "dUdt";
172 static const std::string C = "C";
173 static const std::string Z = "Z";
174 static const std::string K = "K";
175 static const std::string mass_flux = "mass_flux";
176 
177 // Turbulence
178 
179 // Turbulence variables
180 static const std::string TKE = "tke";
181 static const std::string TKED = "epsilon";
182 
187 {
188  EQ_NEWTON = 0,
189  EQ_INCREMENTAL = 1,
190  EQ_LINEARIZED = 2,
191  NEQ = 3
192 };
193 
199 {
200  SOLID = 0,
201  FLUID = 1
202 };
203 
204 // Turbulence constants
205 static constexpr Real von_karman_constant = 0.4187;
206 static constexpr Real E_turb_constant = 9.793;
207 // Lower limit for mu_t
208 static constexpr Real mu_t_low_limit = 1.0e-8;
209 // Lower limit for epsilon in the k-epsilon
210 static constexpr Real epsilon_low_limit = 1.0e-8;
211 // Lower limit for y_plus
212 static constexpr Real min_y_plus = 1e-10;
213 
214 // Boundary condition types
216 {
217  FIXED_VELOCITY = 0,
218  FLUX_VELOCITY = 1,
219  FLUX_MASS = 2,
220  FIXED_PRESSURE = 3
221 };
222 }
223 
225 {
226 static const Real infinite_porosity = 0.4;
227 static const int bed_axis = 2;
228 static const Real wall_porosity = 1.0;
229 
230 static const Real k_epsilon = 1e-6;
231 static const Real vel_epsilon = 1e-8;
232 
233 static const RealVectorValue center(0.0, 0.0, 0.0);
234 static const RealVectorValue acceleration(0.0, 0.0, 0.0);
235 
236 // assumed that the RZ geometry is not annular unless otherwise specified
237 static const Real inner_radius = 0.0;
238 }
239 
240 namespace NS_CONSTANTS
241 {
242 using namespace HeatConduction::Constants;
243 }
static const std::string superficial_density
Definition: NS.h:35
static const std::string total_energy_density
Definition: NS.h:66
static const std::string acceleration
Definition: NS.h:86
static constexpr Real von_karman_constant
Definition: NS.h:205
static const std::string momentum_x
Definition: NS.h:36
static const std::string eddy_viscosity
Definition: NS.h:78
static const std::string diagonal_tau
Definition: NS.h:164
static const std::string superficial_velocity
Definition: NS.h:54
static const std::string mu_t
Definition: NS.h:129
static const std::string cv
Definition: NS.h:126
static constexpr Real min_y_plus
Definition: NS.h:212
static const std::string cp_s
Definition: NS.h:123
static const std::string turbulent_Prandtl
Definition: NS.h:142
MomentumInletTypes
Definition: NS.h:215
static const std::string kappa_s
Definition: NS.h:121
static const std::string dUdt
Definition: NS.h:171
static const std::string A
Definition: NS.h:165
static const std::string speed
Definition: NS.h:147
static const std::string drhos_dTs
Definition: NS.h:118
static const std::string mach_number
Definition: NS.h:81
static const std::string mixing_length
Definition: NS.h:75
static const std::string momentum
Definition: NS.h:84
static const std::string superficial_momentum_y
Definition: NS.h:41
static const std::string Reynolds
Definition: NS.h:143
static const std::string rho_s
Definition: NS.h:122
static const std::string wall_distance
Definition: NS.h:31
static const std::string component
Definition: NS.h:157
static const std::string K
Definition: NS.h:174
static const std::string smoothed_porosity
Definition: NS.h:109
static const std::string T_solid
Definition: NS.h:111
static const std::string alpha_boussinesq
Definition: NS.h:117
static const std::string velocity_z
Definition: NS.h:49
static const std::string internal_energy_density
Definition: NS.h:65
static const std::string superficial_momentum_x
Definition: NS.h:40
static const std::string density
Definition: NS.h:34
static const std::string vector_tau
Definition: NS.h:162
static const std::string TKE
Definition: NS.h:180
static const std::string cQ
Definition: NS.h:116
WallTreatmentEnum
Wall treatment options.
Definition: NS.h:186
Definition: NS.h:201
static const std::string fluid
Definition: NS.h:88
static const std::string infinite_porosity
Definition: NS.h:27
static const std::string dks_dTs
Definition: NS.h:119
static const std::string superficial_momentum_z
Definition: NS.h:42
static const std::string source_scaling
Definition: NS.h:158
static const std::string velocity_x
Definition: NS.h:47
static const std::string temperature
Definition: NS.h:60
static const std::string axis
Definition: NS.h:28
static const std::string total_pressure
Definition: NS.h:59
static const std::string T_liquidus
Definition: NS.h:152
static const std::string specific_internal_energy
Definition: NS.h:63
static const std::string F
Definition: NS.h:169
static const std::string wall_shear_stress
Definition: NS.h:76
static const std::string solid
Definition: NS.h:140
static const std::string directions[3]
Definition: NS.h:23
static const std::string G
Definition: NS.h:170
static const std::string k_s
Definition: NS.h:124
static const std::string porosity
Definition: NS.h:108
static const std::string Prandtl
Definition: NS.h:141
static const std::string cp
Definition: NS.h:125
static const std::string T_fluid
Definition: NS.h:110
static const std::string total_enthalpy_density
Definition: NS.h:72
static const std::string momentum_vector[3]
Definition: NS.h:39
CHTSide
CHT side options, we want to make sure these can be used as integers so we are avoiding the enum clas...
Definition: NS.h:198
static const std::string S
Definition: NS.h:167
static const std::string mu
Definition: NS.h:127
static const std::string superficial_velocity_y
Definition: NS.h:52
static const std::string Reynolds_hydraulic
Definition: NS.h:144
static const std::string superficial_velocity_vector[3]
Definition: NS.h:55
static const std::string sound_speed
Definition: NS.h:148
static const std::string enthalpy_density
Definition: NS.h:71
static const std::string specific_volume
Definition: NS.h:82
static const std::string mass_flux
Definition: NS.h:175
static const std::string specific_total_energy
Definition: NS.h:64
static const std::string velocity_y
Definition: NS.h:48
static const std::string alpha_exchange
Definition: NS.h:154
static const std::string alpha_wall
Definition: NS.h:139
static const std::string heat_source
Definition: NS.h:112
static const std::string mu_eff
Definition: NS.h:133
static const std::string wall_yplus
Definition: NS.h:77
static const std::string superficial_total_enthalpy_density
Definition: NS.h:73
std::string grad(const std::string &var)
Definition: NS.h:92
static const std::string momentum_y
Definition: NS.h:37
static const std::string superficial_momentum_vector[3]
Definition: NS.h:43
static const std::string R
Definition: NS.h:166
static const Real inner_radius
Definition: NS.h:237
static const std::string kappa
Definition: NS.h:120
static const std::string thermal_diffusivity
Definition: NS.h:137
static const std::string Z
Definition: NS.h:173
static const std::string wall_porosity
Definition: NS.h:30
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string v
Definition: NS.h:85
T gradName(const T &base_prop_name)
static const std::string dS_dTs
Definition: NS.h:168
static const std::string specific_total_enthalpy
Definition: NS.h:70
T timeDerivName(const T &base_prop_name)
static constexpr Real E_turb_constant
Definition: NS.h:206
static const std::string alpha
Definition: NS.h:138
static const std::string c
Definition: NS.h:146
static const std::string pressure
Definition: NS.h:57
static const std::string TKED
Definition: NS.h:181
static const std::string superficial_total_energy_density
Definition: NS.h:67
static const std::string internal_energy
Definition: NS.h:62
static const std::string scalar_tau
Definition: NS.h:163
static const std::string velocity
Definition: NS.h:46
static const std::string momentum_z
Definition: NS.h:38
static const std::string latent_heat
Definition: NS.h:151
const std::string velocity_vector[3]
Definition: NS.h:50
static const Real k_epsilon
Definition: NS.h:230
static const std::string mu_t_passive_scalar
Definition: NS.h:131
static const int bed_axis
Definition: NS.h:227
static constexpr Real mu_t_low_limit
Definition: NS.h:208
static const std::string k_t
Definition: NS.h:136
static constexpr Real epsilon_low_limit
Definition: NS.h:210
static const Real vel_epsilon
Definition: NS.h:231
static const std::string k
Definition: NS.h:134
static const std::string total_viscosity
Definition: NS.h:79
static const std::string cL
Definition: NS.h:115
static const std::string superficial_velocity_z
Definition: NS.h:53
static const std::string matrix_tau
Definition: NS.h:161
static const std::string Reynolds_interstitial
Definition: NS.h:145
static const std::string C
Definition: NS.h:172
static const std::string center
Definition: NS.h:29
Definition: NS.h:200
static const std::string T_solidus
Definition: NS.h:153
std::string time_deriv(const std::string &var)
Definition: NS.h:98
static const std::string specific_enthalpy
Definition: NS.h:69
static const std::string pebble_diameter
Definition: NS.h:26
static const std::string superficial_velocity_x
Definition: NS.h:51