Documentation 6b54b78464
Loading...
Searching...
No Matches
CNEMOEulerSolver.hpp
Go to the documentation of this file.
1/*!
2 * \file CNEMOEulerSolver.hpp
3 * \brief Headers of the CNEMOEulerSolver class
4 * \author S. R. Copeland, F. Palacios, W. Maier.
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 "../variables/CNEMOEulerVariable.hpp"
31#include "../fluid/CNEMOGas.hpp"
33
34/*!
35 * \class CNEMOEulerSolver
36 * \brief Main class for defining the NEMO Euler's flow solver.
37 * \ingroup Euler_Equations
38 * \author S. R. Copeland, F. Palacios, W. Maier.
39 * \version 8.5.0 "Harrier"
40 */
41class CNEMOEulerSolver : public CFVMFlowSolverBase<CNEMOEulerVariable, ENUM_REGIME::COMPRESSIBLE> {
42protected:
43
45 Prandtl_Lam = 0.0, /*!< \brief Laminar Prandtl number. */
46 Prandtl_Turb = 0.0; /*!< \brief Turbulent Prandtl number. */
47
48 unsigned short nSpecies; /*!< \brief Number of species in the gas mixture. */
49
51 Energy_ve_Inf, /*!< \brief Vib.-el. free stream energy. */
52 Temperature_ve_Inf; /*!< \brief Vib.-el. free stream temperature. */
53 const su2double *MassFrac_Inf; /*!< \brief Free stream species mass fraction. */
54
55 su2double *Source; /*!< \brief Auxiliary vector to store source terms. */
56
57 unsigned long ErrorCounter = 0; /*!< \brief Counter for number of un-physical states. */
58
59 CNEMOGas *FluidModel; /*!< \brief fluid model used in the solver */
60
62
63 /*!
64 * \brief Set the maximum value of the eigenvalue.
65 * \param[in] geometry - Geometrical definition of the problem.
66 * \param[in] config - Definition of the particular problem.
67 */
68 void SetMax_Eigenvalue(CGeometry *geometry, CConfig *config);
69
70 /*!
71 * \brief Compute a pressure sensor switch.
72 * \param[in] geometry - Geometrical definition of the problem.
73 * \param[in] solver_container - Container vector with all the solutions.
74 * \param[in] config - Definition of the particular problem.
75 */
76 inline void SetCentered_Dissipation_Sensor(CGeometry *geometry, CConfig *config) { }
77
78 /*!
79 * \brief Set the value of undivided laplacian.
80 * \param[in] val_und_lapl_i Undivided laplacian at point i.
81 * \param[in] val_und_lapl_j Undivided laplacian at point j.
82 */
83 inline void SetUndivided_Laplacian(CGeometry *geometry, CConfig *config) { }
84
85 /*!
86 * \brief Set reference values for pressure, forces, etc.
87 */
88 void SetReferenceValues(const CConfig& config) final;
89
90public:
91 CNEMOEulerSolver() = delete;
92
93 /*!
94 * \brief Contructor of the class.
95 * \param[in] geometry - Geometrical definition of the problem.
96 * \param[in] config - Definition of the particular problem.
97 */
98 CNEMOEulerSolver(CGeometry *geometry, CConfig *config, unsigned short iMesh, const bool navier_stokes = false);
99
100 /*!
101 * \brief Destructor of the class.
102 */
103 ~CNEMOEulerSolver(void) override;
104
105 /*!
106 * \brief Compute the time step for solving the Euler equations.
107 * \param[in] geometry - Geometrical definition of the problem.
108 * \param[in] solver_container - Container vector with all the solutions.
109 * \param[in] config - Definition of the particular problem.
110 * \param[in] iMesh - Index of the mesh in multigrid computations.
111 * \param[in] Iteration - Value of the current iteration.
112 */
113 void SetTime_Step(CGeometry *geometry, CSolver **solver_container,
114 CConfig *config, unsigned short iMesh, unsigned long Iteration) final;
115
116 /*!
117 * \brief Compute the spatial integration using a centered scheme.
118 * \param[in] geometry - Geometrical definition of the problem.
119 * \param[in] solver_container - Container vector with all the solutions.
120 * \param[in] numerics - Description of the numerical method.
121 * \param[in] config - Definition of the particular problem.
122 * \param[in] iMesh - Index of the mesh in multigrid computations.
123 */
124 void Centered_Residual(CGeometry *geometry, CSolver **solver_container, CNumerics **numerics,
125 CConfig *config, unsigned short iMesh, unsigned short iRKStep) final;
126
127 /*!
128 * \brief Compute the spatial integration using a upwind scheme.
129 * \param[in] geometry - Geometrical definition of the problem.
130 * \param[in] solver_container - Container vector with all the solutions.
131 * \param[in] solver - Description of the numerical method.
132 * \param[in] config - Definition of the particular problem.
133 * \param[in] iMesh - Index of the mesh in multigrid computations.
134 */
135 void Upwind_Residual(CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container,
136 CConfig *config, unsigned short iMesh) final;
137
138 /*!
139 * \brief Recompute the extrapolated quantities, after MUSCL reconstruction,
140 * in a more thermodynamically consistent way.
141 * \param[in] V - primitve variables.
142 * \param[out] d*dU - reconstructed secondaryvariables.
143 * \param[out] val_eves - reconstructed eve per species.
144 * \param[out] val_cvves - reconstructed cvve per species.
145 * \param[out] Gamma - reconstructed gamma.
146 */
147 static su2double ComputeConsistentExtrapolation(CNEMOGas *fluidmodel, unsigned short nSpecies, su2double *V,
148 su2double* dPdU, su2double* dTdU, su2double* dTvedU,
149 su2double* val_eves, su2double* val_cvves);
150 /*!
151 * \brief Source term integration.
152 * \param[in] geometry - Geometrical definition of the problem.
153 * \param[in] solver_container - Container vector with all the solutions.
154 * \param[in] numerics - Description of the numerical method.
155 * \param[in] second_numerics - Description of the second numerical method.
156 * \param[in] config - Definition of the particular problem.
157 * \param[in] iMesh - Index of the mesh in multigrid computations.
158 */
159 void Source_Residual(CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container,
160 CConfig *config, unsigned short iMesh) final;
161
162 /*!
163 * \brief Preprocessing actions common to the Euler and NS solvers.
164 * \param[in] geometry - Geometrical definition of the problem.
165 * \param[in] solver_container - Container vector with all the solutions.
166 * \param[in] config - Definition of the particular problem.
167 * \param[in] iRKStep - Current step of the Runge-Kutta iteration.
168 * \param[in] RunTime_EqSystem - System of equations which is going to be solved.
169 * \param[in] Output - boolean to determine whether to print output.
170 */
171 void CommonPreprocessing(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh,
172 unsigned short iRKStep, unsigned short RunTime_EqSystem, bool Output);
173
174 /*!
175 * \brief Compute the velocity^2, SoundSpeed, Pressure, Enthalpy, Viscosity.
176 * \param[in] geometry - Geometrical definition of the problem.
177 * \param[in] solver_container - Container vector with all the solutions.
178 * \param[in] config - Definition of the particular problem.
179 * \param[in] iRKStep - Current step of the Runge-Kutta iteration.
180 * \param[in] RunTime_EqSystem - System of equations which is going to be solved.
181 */
182 void Preprocessing(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh,
183 unsigned short iRKStep, unsigned short RunTime_EqSystem, bool Output) override;
184
185 /*!
186 * \brief Computes primitive variables.
187 * \param[in] solver_container - Container vector with all the solutions.
188 * \param[in] config - Definition of the particular problem.
189 * \param[in] Output - boolean to determine whether to print output.
190 * \return - The number of non-physical points.
191 */
192 virtual unsigned long SetPrimitive_Variables(CSolver **solver_container,
193 CConfig *config, bool Output);
194
195 /*!
196 * \brief Compute a suitable under-relaxation parameter to limit the change in the solution variables over
197 * a nonlinear iteration for stability.
198 * \param[in] config - Definition of the particular problem.
199 */
200 void ComputeUnderRelaxationFactor(const CConfig *config) final;
201
202 /*!
203 * \brief Limit the species and total-energy updates at one point.
204 * \param[in] nSpecies - Number of species.
205 * \param[in] nVar - Number of conserved variables.
206 * \param[in] solution - Conserved variables at the point.
207 * \param[in] update - Proposed change in the conserved variables.
208 * \param[in] allowableRatio - Maximum allowed relative update.
209 * \return Under-relaxation factor for the point.
210 */
211 static su2double ComputeUnderRelaxationFactor(unsigned short nSpecies, unsigned short nVar,
212 const su2double* solution, const su2double* update,
213 su2double allowableRatio);
214
215 /*!
216 * \brief Set the fluid solver nondimensionalization.
217 * \param[in] geometry - Geometrical definition of the problem.
218 * \param[in] config - Definition of the particular problem.
219 */
220 void SetNondimensionalization(CConfig *config, unsigned short iMesh);
221
222 /*!
223 * \brief Set all the conserved variables from the primitive vector..
224 */
225 void RecomputeConservativeVector(su2double *U, const su2double *V) const;
226
227 /*!
228 * \brief Check for unphysical points.
229 * \return Boolean value of physical point
230 */
231 bool CheckNonPhys(const su2double *V) const;
232
233 /*!
234 * \brief Compute the pressure at the infinity.
235 * \return Value of the pressure at the infinity.
236 */
237 inline CNEMOGas* GetFluidModel(void) const final { return FluidModel;}
238
239 /*!
240 * \brief Impose the far-field boundary condition using characteristics.
241 * \param[in] geometry - Geometrical definition of the problem.
242 * \param[in] solver_container - Container vector with all the solutions.
243 * \param[in] conv_numerics - Description of the numerical method for convective terms.
244 * \param[in] visc_numerics - Description of the numerical method for viscous terms.
245 * \param[in] config - Definition of the particular problem.
246 * \param[in] val_marker - Surface marker where the boundary condition is applied.
247 */
248 void BC_Far_Field(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics,
249 CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) override;
250
251 /*!
252 * \brief Impose the symmetry boundary condition using the residual.
253 * \param[in] geometry - Geometrical definition of the problem.
254 * \param[in] solver_container - Container vector with all the solutions.
255 * \param[in] conv_numerics - Description of the numerical method for convective terms.
256 * \param[in] visc_numerics - Description of the numerical method for viscous terms.
257 * \param[in] config - Definition of the particular problem.
258 * \param[in] val_marker - Surface marker where the boundary condition is applied.
259 */
260 void BC_Sym_Plane(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics,
261 CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final;
262
263 /*!
264 * \brief Impose a subsonic inlet boundary condition.
265 * \param[in] geometry - Geometrical definition of the problem.
266 * \param[in] solver_container - Container vector with all the solutions.
267 * \param[in] conv_numerics - Description of the numerical method for convective terms.
268 * \param[in] visc_numerics - Description of the numerical method for viscous terms.
269 * \param[in] config - Definition of the particular problem.
270 * \param[in] val_marker - Surface marker where the boundary condition is applied.
271 */
272 void BC_Inlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics,
273 CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) override;
274
275 /*!
276 * \brief Impose a supersonic inlet boundary condition.
277 * \param[in] geometry - Geometrical definition of the problem.
278 * \param[in] solver_container - Container vector with all the solutions.
279 * \param[in] conv_numerics - Description of the numerical method for convective terms.
280 * \param[in] visc_numerics - Description of the numerical method for viscous terms.
281 * \param[in] config - Definition of the particular problem.
282 * \param[in] val_marker - Surface marker where the boundary condition is applied.
283 */
284 void BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver_container,
285 CNumerics *conv_numerics, CNumerics *visc_numerics,
286 CConfig *config, unsigned short val_marker) override;
287 /*!
288 * \brief Impose the supersonic outlet boundary condition.
289 * \param[in] geometry - Geometrical definition of the problem.
290 * \param[in] solver_container - Container vector with all the solutions.
291 * \param[in] solver - Description of the numerical method.
292 * \param[in] config - Definition of the particular problem.
293 * \param[in] val_marker - Surface marker where the boundary condition is applied.
294 */
295 void BC_Supersonic_Outlet(CGeometry *geometry, CSolver **solver_container,
296 CNumerics *conv_numerics, CNumerics *visc_numerics,
297 CConfig *config, unsigned short val_marker) override;
298 /*!
299 * \brief Impose the outlet boundary condition.
300 * \param[in] geometry - Geometrical definition of the problem.
301 * \param[in] solver_container - Container vector with all the solutions.
302 * \param[in] conv_numerics - Description of the numerical method for convective terms.
303 * \param[in] visc_numerics - Description of the numerical method for viscous terms.
304 * \param[in] config - Definition of the particular problem.
305 * \param[in] val_marker - Surface marker where the boundary condition is applied.
306 */
307 void BC_Outlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics,
308 CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) override;
309
310 /*!
311 * \brief Update the solution using an explicit Euler scheme.
312 * \param[in] geometry - Geometrical definition of the problem.
313 * \param[in] solver_container - Container vector with all the solutions.
314 * \param[in] config - Definition of the particular problem.
315 */
316 void ExplicitEuler_Iteration(CGeometry *geometry, CSolver **solver_container, CConfig *config) final;
317
318 /*!
319 * \brief Update the solution using a general explicit RK scheme.
320 * \param[in] geometry - Geometrical definition of the problem.
321 * \param[in] solver_container - Container vector with all the solutions.
322 * \param[in] config - Definition of the particular problem.
323 * \param[in] iRKStep - Runge-Kutta step.
324 */
325 void ExplicitRK_Iteration(CGeometry *geometry, CSolver **solver_container,
326 CConfig *config, unsigned short iRKStep) final;
327
328 /*!
329 * \brief Update the solution using the classical RK4 scheme.
330 * \param[in] geometry - Geometrical definition of the problem.
331 * \param[in] solver_container - Container vector with all the solutions.
332 * \param[in] config - Definition of the particular problem.
333 * \param[in] iRKStep - Runge-Kutta step.
334 */
335 void ClassicalRK4_Iteration(CGeometry *geometry, CSolver **solver_container,
336 CConfig *config, unsigned short iRKStep) final;
337
338 /*!
339 * \brief Prepare an implicit iteration.
340 * \param[in] geometry - Geometrical definition of the problem.
341 * \param[in] config - Definition of the particular problem.
342 */
343 void PrepareImplicitIteration(CGeometry *geometry, CSolver**, CConfig *config) final;
344
345 /*!
346 * \brief Print verification error to screen.
347 * \param[in] config - Definition of the particular problem.
348 */
349 void PrintVerificationError(const CConfig* config) const final { }
350
351 /*!
352 * \brief Compute the Pressure sensor for NEMO schemes.
353 * \param[in] geometry - Geometrical definition of the problem.
354 * \param[in] config - Definition of the particular problem.
355 */
356 void SetPressureDiffusionSensor(CGeometry *geometry, CConfig *config);
357
358};
Base class template for all FVM flow solvers.
Main class for defining the problem; basically this class reads the configuration file,...
Definition CConfig.hpp:64
Definition CFVMFlowSolverBase.hpp:36
Parent class for defining the geometry of the problem (complete geometry, multigrid agglomerated geom...
Definition CGeometry.hpp:75
Main class for defining the NEMO Euler's flow solver.
Definition CNEMOEulerSolver.hpp:41
void Source_Residual(CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container, CConfig *config, unsigned short iMesh) final
Source term integration.
Definition CNEMOEulerSolver.cpp:754
CNEMOGas * GetFluidModel(void) const final
Compute the pressure at the infinity.
Definition CNEMOEulerSolver.hpp:237
void BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) override
Impose a supersonic inlet boundary condition.
Definition CNEMOEulerSolver.cpp:2158
void ExplicitEuler_Iteration(CGeometry *geometry, CSolver **solver_container, CConfig *config) final
Update the solution using an explicit Euler scheme.
Definition CNEMOEulerSolver.cpp:922
void SetReferenceValues(const CConfig &config) final
Set reference values for pressure, forces, etc.
Definition CNEMOEulerSolver.cpp:1395
su2double * Source
Auxiliary vector to store source terms.
Definition CNEMOEulerSolver.hpp:55
void CommonPreprocessing(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, unsigned short iRKStep, unsigned short RunTime_EqSystem, bool Output)
Preprocessing actions common to the Euler and NS solvers.
Definition CNEMOEulerSolver.cpp:240
void SetUndivided_Laplacian(CGeometry *geometry, CConfig *config)
Set the value of undivided laplacian.
Definition CNEMOEulerSolver.hpp:83
void SetTime_Step(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, unsigned long Iteration) final
Compute the time step for solving the Euler equations.
Definition CNEMOEulerSolver.cpp:346
void Preprocessing(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, unsigned short iRKStep, unsigned short RunTime_EqSystem, bool Output) override
Compute the velocity^2, SoundSpeed, Pressure, Enthalpy, Viscosity.
Definition CNEMOEulerSolver.cpp:289
const su2double * MassFrac_Inf
Free stream species mass fraction.
Definition CNEMOEulerSolver.hpp:53
void Upwind_Residual(CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container, CConfig *config, unsigned short iMesh) final
Compute the spatial integration using a upwind scheme.
Definition CNEMOEulerSolver.cpp:469
void SetCentered_Dissipation_Sensor(CGeometry *geometry, CConfig *config)
Compute a pressure sensor switch.
Definition CNEMOEulerSolver.hpp:76
bool CheckNonPhys(const su2double *V) const
Check for unphysical points.
Definition CNEMOEulerSolver.cpp:720
void BC_Supersonic_Outlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) override
Impose the supersonic outlet boundary condition.
Definition CNEMOEulerSolver.cpp:2303
CNEMOEulerVariable * node_infty
Definition CNEMOEulerSolver.hpp:61
unsigned short nSpecies
Number of species in the gas mixture.
Definition CNEMOEulerSolver.hpp:48
void BC_Inlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) override
Impose a subsonic inlet boundary condition.
Definition CNEMOEulerSolver.cpp:1624
void Centered_Residual(CGeometry *geometry, CSolver **solver_container, CNumerics **numerics, CConfig *config, unsigned short iMesh, unsigned short iRKStep) final
Compute the spatial integration using a centered scheme.
Definition CNEMOEulerSolver.cpp:419
su2double Prandtl_Turb
Turbulent Prandtl number.
Definition CNEMOEulerSolver.hpp:46
su2double Temperature_ve_Inf
Vib.-el. free stream temperature.
Definition CNEMOEulerSolver.hpp:52
void ComputeUnderRelaxationFactor(const CConfig *config) final
Compute a suitable under-relaxation parameter to limit the change in the solution variables over a no...
Definition CNEMOEulerSolver.cpp:974
CNEMOGas * FluidModel
fluid model used in the solver
Definition CNEMOEulerSolver.hpp:59
su2double Energy_ve_Inf
Vib.-el. free stream energy.
Definition CNEMOEulerSolver.hpp:51
void SetMax_Eigenvalue(CGeometry *geometry, CConfig *config)
Set the maximum value of the eigenvalue.
Definition CNEMOEulerSolver.cpp:398
virtual unsigned long SetPrimitive_Variables(CSolver **solver_container, CConfig *config, bool Output)
Computes primitive variables.
Definition CNEMOEulerSolver.cpp:321
CNEMOEulerSolver()=delete
unsigned long ErrorCounter
Counter for number of un-physical states.
Definition CNEMOEulerSolver.hpp:57
void PrepareImplicitIteration(CGeometry *geometry, CSolver **, CConfig *config) final
Prepare an implicit iteration.
Definition CNEMOEulerSolver.cpp:928
static su2double ComputeConsistentExtrapolation(CNEMOGas *fluidmodel, unsigned short nSpecies, su2double *V, su2double *dPdU, su2double *dTdU, su2double *dTvedU, su2double *val_eves, su2double *val_cvves)
Recompute the extrapolated quantities, after MUSCL reconstruction, in a more thermodynamically consis...
Definition CNEMOEulerSolver.cpp:649
void ClassicalRK4_Iteration(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep) final
Update the solution using the classical RK4 scheme.
Definition CNEMOEulerSolver.cpp:915
void PrintVerificationError(const CConfig *config) const final
Print verification error to screen.
Definition CNEMOEulerSolver.hpp:349
void ExplicitRK_Iteration(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep) final
Update the solution using a general explicit RK scheme.
Definition CNEMOEulerSolver.cpp:908
void SetNondimensionalization(CConfig *config, unsigned short iMesh)
Set the fluid solver nondimensionalization.
Definition CNEMOEulerSolver.cpp:989
void BC_Outlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) override
Impose the outlet boundary condition.
Definition CNEMOEulerSolver.cpp:1906
~CNEMOEulerSolver(void) override
Destructor of the class.
Definition CNEMOEulerSolver.cpp:232
void SetPressureDiffusionSensor(CGeometry *geometry, CConfig *config)
Compute the Pressure sensor for NEMO schemes.
Definition CNEMOEulerSolver.cpp:2363
void BC_Sym_Plane(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final
Impose the symmetry boundary condition using the residual.
Definition CNEMOEulerSolver.cpp:1408
void BC_Far_Field(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) override
Impose the far-field boundary condition using characteristics.
Definition CNEMOEulerSolver.cpp:1507
void RecomputeConservativeVector(su2double *U, const su2double *V) const
Set all the conserved variables from the primitive vector..
Definition CNEMOEulerSolver.cpp:683
su2double Prandtl_Lam
Laminar Prandtl number.
Definition CNEMOEulerSolver.hpp:45
Main class for defining the variables of the NEMO Euler's solver.
Definition CNEMOEulerVariable.hpp:43
Class for defining the 2T (trans-rotational and vibro-electronic) nonequilibrium gas model.
Definition CNEMOGas.hpp:38
Class for defining the numerical methods.
Definition CNumerics.hpp:48
Definition CSolver.hpp:71
unsigned short nVar
Number of variables of the problem.
Definition CSolver.hpp:85
passivedouble su2double
Definition code_config.hpp:181
@ V
Menter k-w SST model with vorticity production terms.