Documentation 6b54b78464
Loading...
Searching...
No Matches
CTurbSSTVariable.hpp
Go to the documentation of this file.
1/*!
2 * \file CTurbSSTVariable.hpp
3 * \brief Declaration of the variables of the SST turbulence model.
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 "CTurbVariable.hpp"
31
32/*!
33 * \class CTurbSSTVariable
34 * \brief Main class for defining the variables of the turbulence model.
35 * \ingroup Turbulence_Model
36 * \author A. Bueno.
37 */
38
39class CTurbSSTVariable final : public CTurbVariable {
40protected:
45 VectorType F2; /*!< \brief Menter blending function for blending of k-w and k-eps. */
46 VectorType CDkw; /*!< \brief Cross-diffusion. */
48public:
49 /*!
50 * \brief Constructor of the class.
51 * \param[in] kine - Turbulence kinetic energy (k) (initialization value).
52 * \param[in] omega - Turbulent variable value (initialization value).
53 * \param[in] mut - Eddy viscosity (initialization value).
54 * \param[in] npoint - Number of points/nodes/vertices in the domain.
55 * \param[in] ndim - Number of dimensions of the problem.
56 * \param[in] nvar - Number of variables of the problem.
57 * \param[in] constants - sst model constants
58 * \param[in] config - Definition of the particular problem.
59 */
60 CTurbSSTVariable(su2double kine, su2double omega, su2double mut, unsigned long npoint,
61 unsigned long ndim, unsigned long nvar, const su2double* constants, CConfig *config);
62
63 /*!
64 * \brief Destructor of the class.
65 */
66 ~CTurbSSTVariable() override = default;
67
68 /*!
69 * \brief Set the blending function for the blending of k-w and k-eps.
70 * \param[in] val_viscosity - Value of the vicosity.
71 * \param[in] val_dist - Value of the distance to the wall.
72 * \param[in] val_density - Value of the density.
73 */
74 void SetBlendingFunc(unsigned long iPoint, su2double val_viscosity, su2double val_dist, su2double val_density, TURB_TRANS_MODEL trans_model) override;
75
76 /*!
77 * \brief Get the first blending function.
78 */
79 inline su2double GetF1blending(unsigned long iPoint) const override { return F1(iPoint); }
80
81 /*!
82 * \brief Write the first blending function directly, for a ghost row (see CVariable's note).
83 */
84 inline void SetF1blending(unsigned long iPoint, su2double val) override { F1(iPoint) = val; }
85
86 /*!
87 * \brief Container backing GetF1blending/SetF1blending (see CVariable's note).
88 */
89 inline const VectorType& GetF1blending() const override { return F1; }
90
91 /*!
92 * \brief Get the second blending function.
93 */
94 inline su2double GetF2blending(unsigned long iPoint) const override { return F2(iPoint); }
95
96 /*!
97 * \brief Get the value of the cross diffusion of tke and omega.
98 */
99 inline su2double GetCrossDiff(unsigned long iPoint) const override { return CDkw(iPoint); }
100};
Base class for defining the variables of the turbulence model.
Main class for defining the problem; basically this class reads the configuration file,...
Definition CConfig.hpp:64
Main class for defining the variables of the turbulence model.
Definition CTurbSSTVariable.hpp:39
su2double beta_star
Definition CTurbSSTVariable.hpp:42
su2double prod_lim_const
Definition CTurbSSTVariable.hpp:43
su2double sigma_om2
Definition CTurbSSTVariable.hpp:41
su2double GetF1blending(unsigned long iPoint) const override
Get the first blending function.
Definition CTurbSSTVariable.hpp:79
void SetF1blending(unsigned long iPoint, su2double val) override
Write the first blending function directly, for a ghost row (see CVariable's note).
Definition CTurbSSTVariable.hpp:84
su2double GetF2blending(unsigned long iPoint) const override
Get the second blending function.
Definition CTurbSSTVariable.hpp:94
VectorType CDkw
Cross-diffusion.
Definition CTurbSSTVariable.hpp:46
VectorType F2
Menter blending function for blending of k-w and k-eps.
Definition CTurbSSTVariable.hpp:45
const VectorType & GetF1blending() const override
Container backing GetF1blending/SetF1blending (see CVariable's note).
Definition CTurbSSTVariable.hpp:89
void SetBlendingFunc(unsigned long iPoint, su2double val_viscosity, su2double val_dist, su2double val_density, TURB_TRANS_MODEL trans_model) override
Set the blending function for the blending of k-w and k-eps.
Definition CTurbSSTVariable.cpp:56
VectorType F1
Definition CTurbSSTVariable.hpp:44
~CTurbSSTVariable() override=default
Destructor of the class.
su2double GetCrossDiff(unsigned long iPoint) const override
Get the value of the cross diffusion of tke and omega.
Definition CTurbSSTVariable.hpp:99
SST_ParsedOptions sstParsedOptions
Definition CTurbSSTVariable.hpp:47
Base class for defining the variables of the turbulence model.
Definition CTurbVariable.hpp:38
passivedouble su2double
Definition code_config.hpp:181
TURB_TRANS_MODEL
Types of transition models.
Definition option_structure.hpp:1363
Structure containing parsed SST options.
Definition option_structure.hpp:1136