kOmegaSST.H
Go to the documentation of this file.
1/*---------------------------------------------------------------------------*\
2 ========= |
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4 \\ / O peration |
5 \\ / A nd | www.openfoam.com
6 \\/ M anipulation |
7-------------------------------------------------------------------------------
8 Copyright (C) 2011-2016 OpenFOAM Foundation
9 Copyright (C) 2019 OpenCFD Ltd.
10-------------------------------------------------------------------------------
11License
12 This file is part of OpenFOAM.
13
14 OpenFOAM is free software: you can redistribute it and/or modify it
15 under the terms of the GNU General Public License as published by
16 the Free Software Foundation, either version 3 of the License, or
17 (at your option) any later version.
18
19 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 for more details.
23
24 You should have received a copy of the GNU General Public License
25 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26
27Class
28 Foam::RASModels::kOmegaSST
29
30Group
31 grpRASTurbulence
32
33Description
34 Implementation of the k-omega-SST turbulence model for
35 incompressible and compressible flows.
36
37 Light wrapper around base class.
38
39 Turbulence model described in:
40 \verbatim
41 Menter, F. R. & Esch, T. (2001).
42 Elements of Industrial Heat Transfer Prediction.
43 16th Brazilian Congress of Mechanical Engineering (COBEM).
44 \endverbatim
45
46 with updated coefficients from
47 \verbatim
48 Menter, F. R., Kuntz, M., and Langtry, R. (2003).
49 Ten Years of Industrial Experience with the SST Turbulence Model.
50 Turbulence, Heat and Mass Transfer 4, ed: K. Hanjalic, Y. Nagano,
51 & M. Tummers, Begell House, Inc., 625 - 632.
52 \endverbatim
53
54 but with the consistent production terms from the 2001 paper as form in the
55 2003 paper is a typo, see
56 \verbatim
57 http://turbmodels.larc.nasa.gov/sst.html
58 \endverbatim
59
60 and the addition of the optional F3 term for rough walls from
61 \verbatim
62 Hellsten, A. (1998).
63 "Some Improvements in Menter’s k-omega-SST turbulence model"
64 29th AIAA Fluid Dynamics Conference, AIAA-98-2554.
65 \endverbatim
66
67 Note that this implementation is written in terms of alpha diffusion
68 coefficients rather than the more traditional sigma (alpha = 1/sigma) so
69 that the blending can be applied to all coefficuients in a consistent
70 manner. The paper suggests that sigma is blended but this would not be
71 consistent with the blending of the k-epsilon and k-omega models.
72
73 Also note that the error in the last term of equation (2) relating to
74 sigma has been corrected.
75
76 Wall-functions are applied in this implementation by using equations (14)
77 to specify the near-wall omega as appropriate.
78
79 The blending functions (15) and (16) are not currently used because of the
80 uncertainty in their origin, range of applicability and that if y+ becomes
81 sufficiently small blending u_tau in this manner clearly becomes nonsense.
82
83 The default model coefficients are
84 \verbatim
85 kOmegaSSTCoeffs
86 {
87 alphaK1 0.85;
88 alphaK2 1.0;
89 alphaOmega1 0.5;
90 alphaOmega2 0.856;
91 beta1 0.075;
92 beta2 0.0828;
93 betaStar 0.09;
94 gamma1 5/9;
95 gamma2 0.44;
96 a1 0.31;
97 b1 1.0;
98 c1 10.0;
99 F3 no;
100 }
101 \endverbatim
102
103SourceFiles
104 kOmegaSST.C
105
106SeeAlso
107 kOmegaSSTBase.H
108
109\*---------------------------------------------------------------------------*/
110
111#ifndef kOmegaSST_H
112#define kOmegaSST_H
113
114#include "kOmegaSSTBase.H"
115#include "RASModel.H"
116#include "eddyViscosity.H"
117
118// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
119
120namespace Foam
121{
122namespace RASModels
123{
124
125/*---------------------------------------------------------------------------*\
126 Class kOmegaSST Declaration
127\*---------------------------------------------------------------------------*/
128
129template<class BasicTurbulenceModel>
130class kOmegaSST
131:
132 public kOmegaSSTBase<eddyViscosity<RASModel<BasicTurbulenceModel>>>
133{
134 // Private Member Functions
135
136 //- No copy construct
137 kOmegaSST(const kOmegaSST&) = delete;
138
139 //- No copy assignment
140 void operator=(const kOmegaSST&) = delete;
141
142
143protected:
144
145 // Protected Member Functions
146
147 virtual void correctNut(const volScalarField& S2);
148 virtual void correctNut();
149
150
151public:
153 typedef typename BasicTurbulenceModel::alphaField alphaField;
154 typedef typename BasicTurbulenceModel::rhoField rhoField;
155 typedef typename BasicTurbulenceModel::transportModel transportModel;
156
157
158 //- Runtime type information
159 TypeName("kOmegaSST");
160
161
162 // Constructors
163
164 //- Construct from components
166 (
167 const alphaField& alpha,
168 const rhoField& rho,
169 const volVectorField& U,
170 const surfaceScalarField& alphaRhoPhi,
171 const surfaceScalarField& phi,
172 const transportModel& transport,
173 const word& propertiesName = turbulenceModel::propertiesName,
174 const word& type = typeName
175 );
176
177
178 //- Destructor
179 virtual ~kOmegaSST() = default;
180};
181
182
183// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
184
185} // End namespace RASModels
186} // End namespace Foam
187
188// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
189#ifdef NoRepository
190 #include "kOmegaSST.C"
191#endif
192
193// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
194#endif
195
196// ************************************************************************* //
surfaceScalarField & phi
Implementation of the k-omega-SST turbulence model for incompressible and compressible flows.
Definition: kOmegaSST.H:132
BasicTurbulenceModel::alphaField alphaField
Definition: kOmegaSST.H:152
TypeName("kOmegaSST")
Runtime type information.
BasicTurbulenceModel::rhoField rhoField
Definition: kOmegaSST.H:153
virtual ~kOmegaSST()=default
Destructor.
virtual void correctNut()
Definition: kOmegaSST.C:54
BasicTurbulenceModel::transportModel transportModel
Definition: kOmegaSST.H:154
Base class implementation of the k-omega-SST turbulence model for incompressible and compressible flo...
static const word propertiesName
Default name of the turbulence properties dictionary.
A class for handling words, derived from Foam::string.
Definition: word.H:68
U
Definition: pEqn.H:72
Namespace for OpenFOAM.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
Definition: MSwindows.C:598
volScalarField & alpha
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73