Documentation 6b54b78464
Loading...
Searching...
No Matches
flow_diffusion.hpp
Go to the documentation of this file.
1/*!
2 * \file flow_diffusion.hpp
3 * \brief Declarations of numerics classes for viscous flux computation.
4 * \author F. Palacios, T. Economon
5 * \version 8.5.0 "Harrier"
6 *
7 * SU2 Project Website: https://su2code.github.io
8 *
9 * The SU2 Project is maintained by the SU2 Foundation
10 * (http://su2foundation.org)
11 *
12 * Copyright 2012-2026, SU2 Contributors (cf. AUTHORS.md)
13 *
14 * SU2 is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU Lesser General Public
16 * License as published by the Free Software Foundation; either
17 * version 2.1 of the License, or (at your option) any later version.
18 *
19 * SU2 is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
22 * Lesser General Public License for more details.
23 *
24 * You should have received a copy of the GNU Lesser General Public
25 * License along with SU2. If not, see <http://www.gnu.org/licenses/>.
26 */
27
28#pragma once
29
30#include "../CNumerics.hpp"
31
32/*!
33 * \class CAvgGrad_Base
34 * \brief A base class for computing viscous terms using an average of gradients.
35 * \details This is the base class for the numerics classes that compute the
36 * viscous fluxes for the flow solvers (i.e. compressible or incompressible
37 * Navier Stokes). The actual numerics classes derive from this class.
38 * This class is used to share functions and variables that are common to all
39 * of the flow viscous numerics. For example, the turbulent stress tensor
40 * is computed identically for all three derived classes.
41 * \ingroup ViscDiscr
42 * \author C. Pederson, A. Bueno, F. Palacios, T. Economon
43 */
44class CAvgGrad_Base : public CNumerics {
45protected:
46 const unsigned short nPrimVar; /*!< \brief The size of the primitive variable array used in the numerics class. */
47 const bool correct_gradient; /*!< \brief Apply a correction to the gradient term */
48 bool implicit = false; /*!< \brief Implicit calculus. */
50 heat_flux_vector[MAXNDIM] = {0.0}, /*!< \brief Flux of total energy due to molecular and turbulent diffusion */
51 *heat_flux_jac_i = nullptr, /*!< \brief Jacobian of the molecular + turbulent heat flux vector, projected onto the normal vector. */
52 **tau_jacobian_i = nullptr; /*!< \brief Jacobian of the viscous + turbulent stress tensor, projected onto the normal vector. */
53 su2double *Mean_PrimVar = nullptr; /*!< \brief Mean primitive variables. */
54 const su2double
55 *PrimVar_i = nullptr,
56 *PrimVar_j = nullptr; /*!< \brief Primitives variables at point i and j. */
57 su2double **Mean_GradPrimVar = nullptr, /*!< \brief Mean value of the gradient. */
58 Mean_Laminar_Viscosity, /*!< \brief Mean value of the viscosity. */
59 Mean_Eddy_Viscosity, /*!< \brief Mean value of the eddy viscosity. */
60 Mean_Thermal_Conductivity, /*!< \brief Mean value of the thermal conductivity. */
61 Mean_Cp, /*!< \brief Mean value of the specific heat capacity at constant pressure. */
62 Mean_turb_ke, /*!< \brief Mean value of the turbulent kinetic energy. */
63 Mean_TauWall, /*!< \brief Mean wall shear stress (wall functions). */
64 Mean_StochVar[3] = {0.0}, /*!< \brief Mean stochastic variables (Stochastic Backscatter Model). */
65 TauWall_i, TauWall_j, /*!< \brief Wall shear stress at point i and j (wall functions). */
66 dist_ij_2, /*!< \brief Length of the edge and face, squared */
67 Edge_Vector[MAXNDIM] = {0.0}; /*!< \brief Vector from point i to point j. */
68
69 su2double** Jacobian_i = nullptr; /*!< \brief The Jacobian w.r.t. point i after computation. */
70 su2double** Jacobian_j = nullptr; /*!< \brief The Jacobian w.r.t. point j after computation. */
71
72 /*!
73 * \brief Scale the stress tensor using a predefined wall stress.
74 *
75 * This function requires that the stress tensor already be
76 * computed using \ref GetStressTensor
77 *
78 * \param[in] UnitNormal - Unit normal vector.
79 * \param[in] TauWall - The wall stress.
80 */
82 su2double TauWall);
83
84 /**
85 * \brief Calculate the Jacobian of the viscous + turbulent stress tensor
86 *
87 * This function is intended only for the compressible flow solver.
88 * This Jacobian is projected onto the normal vector, so it is of dimension
89 * [nDim][nVar]
90 *
91 * \param[in] val_Mean_PrimVar - Mean value of the primitive variables.
92 * \param[in] val_laminar_viscosity - Value of the laminar viscosity.
93 * \param[in] val_eddy_viscosity - Value of the eddy viscosity.
94 * \param[in] val_dist_ij - Distance between the points.
95 * \param[in] val_normal - Normal vector, the norm of the vector is the area of the face.
96 */
97 void SetTauJacobian(const su2double* val_Mean_PrimVar,
98 su2double val_laminar_viscosity,
99 su2double val_eddy_viscosity,
100 su2double val_dist_ij,
101 const su2double *val_normal);
102
103
104 /**
105 * \brief Calculate the Jacobian of the viscous and turbulent stress tensor
106 *
107 * This function is intended only for the incompressible flow solver.
108 * This Jacobian is projected onto the normal vector, so it is of dimension
109 * [nDim][nVar]
110 *
111 * \param[in] val_laminar_viscosity - Value of the laminar viscosity.
112 * \param[in] val_eddy_viscosity - Value of the eddy viscosity.
113 * \param[in] val_dist_ij - Distance between the points.
114 * \param[in] val_normal - Normal vector, the norm of the vector is the area of the face.
115 */
116 void SetIncTauJacobian(su2double val_laminar_viscosity,
117 su2double val_eddy_viscosity,
118 su2double val_dist_ij,
119 const su2double *val_normal);
120
121 /*!
122 * \brief Compute the projection of the viscous fluxes into a direction.
123 *
124 * The heat flux vector and the stress tensor must be calculated before
125 * calling this function.
126 *
127 * \param[in] val_primvar - Primitive variables.
128 * \param[in] val_normal - Normal vector, the norm of the vector is the area of the face.
129 */
130 void GetViscousProjFlux(const su2double *val_primvar,
131 const su2double *val_normal);
132
133 /*!
134 * \brief TSL-Approximation of Viscous NS Jacobians.
135 *
136 * The Jacobians of the heat flux vector and the stress tensor must be
137 * calculated before calling this function.
138 *
139 * \param[in] val_Mean_PrimVar - Mean value of the primitive variables.
140 * \param[in] val_dS - Area of the face between two nodes.
141 * \param[in] val_Proj_Visc_Flux - Pointer to the projected viscous flux.
142 * \param[out] val_Proj_Jac_Tensor_i - Pointer to the projected viscous Jacobian at point i.
143 * \param[out] val_Proj_Jac_Tensor_j - Pointer to the projected viscous Jacobian at point j.
144 */
145 void GetViscousProjJacs(const su2double *val_Mean_PrimVar,
146 su2double val_dS,
147 const su2double *val_Proj_Visc_Flux,
148 su2double **val_Proj_Jac_Tensor_i,
149 su2double **val_Proj_Jac_Tensor_j);
150
151 /*!
152 * \brief Apply a correction to the gradient to reduce the truncation error
153 *
154 * \param[in] val_PrimVar_i - Primitive variables at point i
155 * \param[in] val_PrimVar_j - Primitive variables at point j
156 * \param[in] val_edge_vector - The vector between points i and j
157 * \param[in] val_dist_ij_2 - The distance between points i and j, squared
158 * \param[in] val_nPrimVar - The number of primitive variables
159 */
160 void CorrectGradient(su2double** GradPrimVar,
161 const su2double* val_PrimVar_i,
162 const su2double* val_PrimVar_j,
163 const su2double* val_edge_vector,
164 su2double val_dist_ij_2,
165 const unsigned short val_nPrimVar);
166
167public:
168
169 /*!
170 * \brief Constructor of the class.
171 * \param[in] val_nDim - Number of dimension of the problem.
172 * \param[in] val_nVar - Number of variables of the problem.
173 * \param[in] val_nPrimVar - Number of primitive variables to use.
174 * \param[in] val_correct_grad - Apply a correction to the gradient
175 * \param[in] config - Definition of the particular problem.
176 */
177 CAvgGrad_Base(unsigned short val_nDim, unsigned short val_nVar,
178 unsigned short val_nPrimVar,
179 bool val_correct_grad, const CConfig* config);
180
181 /*!
182 * \brief Destructor of the class.
183 */
184 ~CAvgGrad_Base() override;
185
186 /*!
187 * \brief Set the value of the wall shear stress at point i and j (wall functions).
188 * \param[in] val_tauwall_i - Value of the wall shear stress at point i.
189 * \param[in] val_tauwall_j - Value of the wall shear stress at point j.
190 */
191 inline void SetTau_Wall(su2double val_tauwall_i, su2double val_tauwall_j) override {
192 TauWall_i = val_tauwall_i;
193 TauWall_j = val_tauwall_j;
194 }
195
196 /*!
197 * \brief Calculate the viscous + turbulent stress tensor
198 * \param[in] val_primvar - Primitive variables.
199 * \param[in] val_gradprimvar - Gradient of the primitive variables.
200 * \param[in] val_turb_ke - Turbulent kinetic energy
201 * \param[in] val_laminar_viscosity - Laminar viscosity.
202 * \param[in] val_eddy_viscosity - Eddy viscosity.
203 * \param[in] config - Definition of the particular problem.
204 */
205 void SetStressTensor(const su2double *val_primvar,
206 const su2double* const *val_gradprimvar,
207 su2double val_turb_ke,
208 su2double val_laminar_viscosity,
209 su2double val_eddy_viscosity,
210 const CConfig* config);
211
212 /*!
213 * \brief Calculate the stochastic contribution to the subgrid stress tensor (Stochastic Backscatter Model)
214 * \param[in] config - Definition of the particular problem.
215 */
216 void SetStochReynStress(const CConfig* config);
217
218 /*!
219 * \brief Get a component of the viscous stress tensor.
220 *
221 * \param[in] iDim - The first index
222 * \param[in] jDim - The second index
223 * \return The component of the viscous stress tensor at iDim, jDim
224 */
225 inline su2double GetStressTensor(unsigned short iDim, unsigned short jDim) const { return tau[iDim][jDim];}
226
227 /*!
228 * \brief Compute the heat flux due to molecular and turbulent diffusivity
229 * \param[in] val_gradprimvar - Gradient of the primitive variables.
230 * \param[in] val_eddy_viscosity - Eddy viscosity.
231 * \param[in] val_thermal_conductivity - Thermal Conductivity.
232 * \param[in] val_heat_capacity_cp - Heat Capacity at constant pressure.
233 */
234 void SetHeatFluxVector(const su2double* const* val_gradprimvar, su2double val_eddy_viscosity,
235 su2double val_thermal_conductivity, su2double val_heat_capacity_cp);
236
237 /*!
238 * \brief Get a component of the heat flux vector.
239 * \param[in] iDim - The index of the component
240 * \return The component of the heat flux vector at iDim
241 */
242 inline su2double GetHeatFluxVector(unsigned short iDim) const { return heat_flux_vector[iDim]; }
243
244};
245
246/*!
247 * \class CAvgGrad_Flow
248 * \brief Class for computing viscous term using the average of gradients.
249 * \ingroup ViscDiscr
250 * \author A. Bueno, and F. Palacios
251 */
252class CAvgGrad_Flow final : public CAvgGrad_Base {
253public:
254 /*!
255 * \brief Constructor of the class.
256 * \param[in] val_nDim - Number of dimension of the problem.
257 * \param[in] val_nVar - Number of variables of the problem.
258 * \param[in] val_correct_grad - Apply a correction to the gradient
259 * \param[in] config - Definition of the particular problem.
260 */
261 CAvgGrad_Flow(unsigned short val_nDim, unsigned short val_nVar,
262 bool val_correct_grad, const CConfig* config);
263
264 /*!
265 * \brief Compute the viscous flow residual using an average of gradients.
266 * \param[in] config - Definition of the particular problem.
267 * \return A lightweight const-view (read-only) of the residual/flux and Jacobians.
268 */
269 ResidualType<> ComputeResidual(const CConfig* config) override;
270
271 /*!
272 * \brief Compute the Jacobian of the heat flux vector
273 *
274 * This Jacobian is projected onto the normal vector, so it is of
275 * dimension nVar.
276 *
277 * \param[in] val_Mean_PrimVar - Mean value of the primitive variables.
278 * \param[in] val_gradprimvar - Mean value of the gradient of the primitive variables.
279 * \param[in] val_heat_capacity_cp - Value of the heat capacity at constant pressure.
280 * \param[in] val_eddy_viscosity - Value of the eddy viscosity.
281 * \param[in] val_dist_ij - Distance between the points.
282 * \param[in] val_normal - Normal vector, the norm of the vector is the area of the face.
283 */
284 void SetHeatFluxJacobian(const su2double *val_Mean_PrimVar,
285 su2double val_heat_capacity_cp,
286 su2double val_thermal_conductivity,
287 su2double val_eddy_viscosity,
288 su2double val_dist_ij,
289 const su2double *val_normal);
290};
291
292/*!
293 * \class CAvgGradInc_Flow
294 * \brief Class for computing viscous term using an average of gradients.
295 * \ingroup ViscDiscr
296 * \author A. Bueno, F. Palacios, T. Economon
297 */
298class CAvgGradInc_Flow final : public CAvgGrad_Base {
299private:
300 su2double Mean_Thermal_Conductivity; /*!< \brief Mean value of the effective thermal conductivity. */
301 bool energy; /*!< \brief computation with the energy equation. */
302
303 /*!
304 * \brief Compute the projection of the viscous fluxes into a direction
305 *
306 * The viscous + turbulent stress tensor must be calculated before calling
307 * this function.
308 *
309 * \param[in] val_gradprimvar - Gradient of the primitive variables.
310 * \param[in] val_normal - Normal vector, the norm of the vector is the area of the face.
311 * \param[in] val_thermal_conductivity - Thermal conductivity.
312 */
313 void GetViscousIncProjFlux(const su2double* const *val_gradprimvar,
314 const su2double *val_normal,
315 su2double val_thermal_conductivity);
316
317 /*!
318 * \brief Compute the projection of the viscous Jacobian matrices.
319 *
320 * The Jacobian of the stress tensor must be calculated before calling
321 * this function.
322 *
323 * \param[in] val_dS - Area of the face between two nodes.
324 * \param[out] val_Proj_Jac_Tensor_i - Pointer to the projected viscous Jacobian at point i.
325 * \param[out] val_Proj_Jac_Tensor_j - Pointer to the projected viscous Jacobian at point j.
326 */
327 void GetViscousIncProjJacs(su2double val_dS,
328 su2double **val_Proj_Jac_Tensor_i,
329 su2double **val_Proj_Jac_Tensor_j);
330
331public:
332
333 /*!
334 * \brief Constructor of the class.
335 * \param[in] val_nDim - Number of dimension of the problem.
336 * \param[in] val_nVar - Number of variables of the problem.
337 * \param[in] val_correct_grad - Apply a correction to the gradient
338 * \param[in] config - Definition of the particular problem.
339 */
340 CAvgGradInc_Flow(unsigned short val_nDim, unsigned short val_nVar,
341 bool val_correct_grad, const CConfig* config);
342
343 /*!
344 * \brief Compute the viscous flow residual using an average of gradients.
345 * \param[in] config - Definition of the particular problem.
346 * \return A lightweight const-view (read-only) of the residual/flux and Jacobians.
347 */
348 ResidualType<> ComputeResidual(const CConfig* config) override;
349
350};
351
352
353/*!
354 * \class CGeneralAvgGrad_Flow
355 * \brief Class for computing viscous term using the average of gradients.
356 * \ingroup ViscDiscr
357 * \author M.Pini, S. Vitale
358 */
360private:
361 su2double Mean_SecVar[2]; /*!< \brief Mean secondary variables. */
362
363 /*!
364 * \brief Compute the Jacobian of the heat flux vector
365 *
366 * This Jacobian is projected onto the normal vector, so it is of
367 * dimension nVar.
368 *
369 * \param[in] val_Mean_PrimVar - Mean value of the primitive variables.
370 * \param[in] val_Mean_SecVar - Mean value of the secondary variables.
371 * \param[in] val_eddy_viscosity - Value of the eddy viscosity.
372 * \param[in] val_thermal_conductivity - Value of the thermal conductivity.
373 * \param[in] val_heat_capacity_cp - Value of the specific heat at constant pressure.
374 * \param[in] val_dist_ij - Distance between the points.
375 */
376 void SetHeatFluxJacobian(const su2double *val_Mean_PrimVar,
377 const su2double *val_Mean_SecVar,
378 su2double val_eddy_viscosity,
379 su2double val_thermal_conductivity,
380 su2double val_heat_capacity_cp,
381 su2double val_dist_ij);
382
383public:
384
385 /*!
386 * \brief Constructor of the class.
387 * \param[in] val_nDim - Number of dimension of the problem.
388 * \param[in] val_nVar - Number of variables of the problem.
389 * \param[in] val_correct_grad - Apply a correction to the gradient
390 * \param[in] config - Definition of the particular problem.
391 */
392 CGeneralAvgGrad_Flow(unsigned short val_nDim, unsigned short val_nVar, bool val_correct_grad, const CConfig* config);
393
394 /*!
395 * \brief Compute the viscous flow residual using an average of gradients.
396 * \param[in] config - Definition of the particular problem.
397 * \return A lightweight const-view (read-only) of the residual/flux and Jacobians.
398 */
399 ResidualType<> ComputeResidual(const CConfig* config) override;
400
401};
Class for computing viscous term using an average of gradients.
Definition flow_diffusion.hpp:298
ResidualType ComputeResidual(const CConfig *config) override
Compute the viscous flow residual using an average of gradients.
Definition flow_diffusion.cpp:578
A base class for computing viscous terms using an average of gradients.
Definition flow_diffusion.hpp:44
void SetIncTauJacobian(su2double val_laminar_viscosity, su2double val_eddy_viscosity, su2double val_dist_ij, const su2double *val_normal)
Calculate the Jacobian of the viscous and turbulent stress tensor.
Definition flow_diffusion.cpp:228
su2double Mean_Eddy_Viscosity
Mean value of the eddy viscosity.
Definition flow_diffusion.hpp:59
su2double dist_ij_2
Length of the edge and face, squared.
Definition flow_diffusion.hpp:66
su2double TauWall_i
Definition flow_diffusion.hpp:65
su2double * heat_flux_jac_i
Jacobian of the molecular + turbulent heat flux vector, projected onto the normal vector.
Definition flow_diffusion.hpp:51
su2double ** Jacobian_j
The Jacobian w.r.t. point j after computation.
Definition flow_diffusion.hpp:70
void CorrectGradient(su2double **GradPrimVar, const su2double *val_PrimVar_i, const su2double *val_PrimVar_j, const su2double *val_edge_vector, su2double val_dist_ij_2, const unsigned short val_nPrimVar)
Apply a correction to the gradient to reduce the truncation error.
Definition flow_diffusion.cpp:101
void SetHeatFluxVector(const su2double *const *val_gradprimvar, su2double val_eddy_viscosity, su2double val_thermal_conductivity, su2double val_heat_capacity_cp)
Compute the heat flux due to molecular and turbulent diffusivity.
Definition flow_diffusion.cpp:170
su2double Mean_StochVar[3]
Mean stochastic variables (Stochastic Backscatter Model).
Definition flow_diffusion.hpp:64
~CAvgGrad_Base() override
Destructor of the class.
Definition flow_diffusion.cpp:70
su2double heat_flux_vector[MAXNDIM]
Flux of total energy due to molecular and turbulent diffusion.
Definition flow_diffusion.hpp:50
su2double GetStressTensor(unsigned short iDim, unsigned short jDim) const
Get a component of the viscous stress tensor.
Definition flow_diffusion.hpp:225
void SetStressTensor(const su2double *val_primvar, const su2double *const *val_gradprimvar, su2double val_turb_ke, su2double val_laminar_viscosity, su2double val_eddy_viscosity, const CConfig *config)
Calculate the viscous + turbulent stress tensor.
Definition flow_diffusion.cpp:119
su2double TauWall_j
Wall shear stress at point i and j (wall functions).
Definition flow_diffusion.hpp:65
const su2double * PrimVar_i
Definition flow_diffusion.hpp:55
void SetStochReynStress(const CConfig *config)
Calculate the stochastic contribution to the subgrid stress tensor (Stochastic Backscatter Model)
Definition flow_diffusion.cpp:156
void GetViscousProjJacs(const su2double *val_Mean_PrimVar, su2double val_dS, const su2double *val_Proj_Visc_Flux, su2double **val_Proj_Jac_Tensor_i, su2double **val_Proj_Jac_Tensor_j)
TSL-Approximation of Viscous NS Jacobians.
Definition flow_diffusion.cpp:292
const su2double * PrimVar_j
Primitives variables at point i and j.
Definition flow_diffusion.hpp:56
bool implicit
Implicit calculus.
Definition flow_diffusion.hpp:48
su2double Edge_Vector[MAXNDIM]
Vector from point i to point j.
Definition flow_diffusion.hpp:67
su2double Mean_Thermal_Conductivity
Mean value of the thermal conductivity.
Definition flow_diffusion.hpp:60
su2double Mean_TauWall
Mean wall shear stress (wall functions).
Definition flow_diffusion.hpp:63
su2double Mean_Laminar_Viscosity
Mean value of the viscosity.
Definition flow_diffusion.hpp:58
void SetTau_Wall(su2double val_tauwall_i, su2double val_tauwall_j) override
Set the value of the wall shear stress at point i and j (wall functions).
Definition flow_diffusion.hpp:191
su2double Mean_turb_ke
Mean value of the turbulent kinetic energy.
Definition flow_diffusion.hpp:62
su2double * Mean_PrimVar
Mean primitive variables.
Definition flow_diffusion.hpp:53
void SetTauJacobian(const su2double *val_Mean_PrimVar, su2double val_laminar_viscosity, su2double val_eddy_viscosity, su2double val_dist_ij, const su2double *val_normal)
Calculate the Jacobian of the viscous + turbulent stress tensor.
Definition flow_diffusion.cpp:201
void GetViscousProjFlux(const su2double *val_primvar, const su2double *val_normal)
Compute the projection of the viscous fluxes into a direction.
Definition flow_diffusion.cpp:245
const unsigned short nPrimVar
The size of the primitive variable array used in the numerics class.
Definition flow_diffusion.hpp:46
su2double GetHeatFluxVector(unsigned short iDim) const
Get a component of the heat flux vector.
Definition flow_diffusion.hpp:242
const bool correct_gradient
Apply a correction to the gradient term.
Definition flow_diffusion.hpp:47
void AddTauWall(const su2double *UnitNormal, su2double TauWall)
Scale the stress tensor using a predefined wall stress.
Definition flow_diffusion.cpp:181
su2double ** Mean_GradPrimVar
Mean value of the gradient.
Definition flow_diffusion.hpp:57
su2double Mean_Cp
Mean value of the specific heat capacity at constant pressure.
Definition flow_diffusion.hpp:61
su2double ** tau_jacobian_i
Jacobian of the viscous + turbulent stress tensor, projected onto the normal vector.
Definition flow_diffusion.hpp:52
su2double ** Jacobian_i
The Jacobian w.r.t. point i after computation.
Definition flow_diffusion.hpp:69
Class for computing viscous term using the average of gradients.
Definition flow_diffusion.hpp:252
ResidualType ComputeResidual(const CConfig *config) override
Compute the viscous flow residual using an average of gradients.
Definition flow_diffusion.cpp:393
void SetHeatFluxJacobian(const su2double *val_Mean_PrimVar, su2double val_heat_capacity_cp, su2double val_thermal_conductivity, su2double val_eddy_viscosity, su2double val_dist_ij, const su2double *val_normal)
Compute the Jacobian of the heat flux vector.
Definition flow_diffusion.cpp:524
Main class for defining the problem; basically this class reads the configuration file,...
Definition CConfig.hpp:64
Class for computing viscous term using the average of gradients.
Definition flow_diffusion.hpp:359
ResidualType ComputeResidual(const CConfig *config) override
Compute the viscous flow residual using an average of gradients.
Definition flow_diffusion.cpp:902
Class for defining the numerical methods.
Definition CNumerics.hpp:48
su2double UnitNormal[MAXNDIM]
Unitary normal vector.
Definition CNumerics.hpp:169
static constexpr size_t MAXNDIM
Max number of space dimensions, used in some static arrays.
Definition CNumerics.hpp:50
su2double ** tau
Viscous stress tensor.
Definition CNumerics.hpp:61
passivedouble su2double
Definition code_config.hpp:181
Return type used in some "ComputeResidual" overloads to give a const-view of the internally stored fl...
Definition CNumerics.hpp:218