kOmegaSSTSAS.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) 2015-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::kOmegaSSTSAS
29
30Group
31 grpLESTurbulence
32
33Description
34 Scale-adaptive URAS model based on the k-omega-SST RAS model.
35
36 References:
37 \verbatim
38 Egorov, Y., & Menter F.R. (2008).
39 Development and Application of SST-SAS Model in the DESIDER Project.
40 Advances in Hybrid RANS-LES Modelling,
41 Notes on Num. Fluid Mech. And Multidisciplinary Design,
42 Volume 97, 261-270.
43 \endverbatim
44
45 The model coefficients are
46 \verbatim
47 kOmegaSSTSASCoeffs
48 {
49 // Default SST coefficients
50 alphaK1 0.85;
51 alphaK2 1.0;
52 alphaOmega1 0.5;
53 alphaOmega2 0.856;
54 beta1 0.075;
55 beta2 0.0828;
56 betaStar 0.09;
57 gamma1 5/9;
58 gamma2 0.44;
59 a1 0.31;
60 b1 1.0;
61 c1 10.0;
62 F3 no;
63
64 // Default SAS coefficients
65 Cs 0.11;
66 kappa 0.41;
67 zeta2 3.51;
68 sigmaPhi 2.0/3.0;
69 C 2;
70
71 // Delta must be specified for SAS e.g.
72 delta cubeRootVol;
73
74 cubeRootVolCoeffs
75 {}
76 }
77 \endverbatim
78
79SourceFiles
80 kOmegaSSTSAS.C
81
82\*---------------------------------------------------------------------------*/
83
84#ifndef kOmegaSSTSAS_H
85#define kOmegaSSTSAS_H
86
87#include "kOmegaSST.H"
88#include "LESdelta.H"
89
90// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
91
92namespace Foam
93{
94namespace RASModels
95{
96
97/*---------------------------------------------------------------------------*\
98 Class kOmegaSSTSAS Declaration
99\*---------------------------------------------------------------------------*/
100
101template<class BasicTurbulenceModel>
102class kOmegaSSTSAS
103:
104 public kOmegaSST<BasicTurbulenceModel>
105{
106 // Private Member Functions
107
108 //- No copy construct
109 kOmegaSSTSAS(const kOmegaSSTSAS&) = delete;
110
111 //- No copy assignment
112 void operator=(const kOmegaSSTSAS&) = delete;
113
114
115protected:
116
117 // Protected data
118
119 // Model constants
126
127
128 // Fields
129
130 //- Run-time selectable delta model
132
133
134 // Protected Member Functions
135
136 //- SAS omega source
138 (
139 const volScalarField::Internal& S2,
142 ) const;
143
144
145public:
147 typedef typename BasicTurbulenceModel::alphaField alphaField;
148 typedef typename BasicTurbulenceModel::rhoField rhoField;
149 typedef typename BasicTurbulenceModel::transportModel transportModel;
150
151
152 //- Runtime type information
153 TypeName("kOmegaSSTSAS");
154
155
156 // Constructors
157
158 //- Construct from components
160 (
161 const alphaField& alpha,
162 const rhoField& rho,
163 const volVectorField& U,
164 const surfaceScalarField& alphaRhoPhi,
165 const surfaceScalarField& phi,
166 const transportModel& transport,
167 const word& propertiesName = turbulenceModel::propertiesName,
168 const word& type = typeName
169 );
170
171
172 //- Destructor
173 virtual ~kOmegaSSTSAS() = default;
174
175
176 // Member Functions
177
178 //- Re-read model coefficients if they have changed
179 virtual bool read();
180
181 //- Access function to filter width
182 inline const volScalarField& delta() const
183 {
184 return *delta_;
185 }
186};
187
188
189// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
190
191} // End namespace RASModels
192} // End namespace Foam
193
194// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
195
196#ifdef NoRepository
197 #include "kOmegaSSTSAS.C"
198#endif
199
200// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
201
202#endif
203
204// ************************************************************************* //
surfaceScalarField & phi
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Scale-adaptive URAS model based on the k-omega-SST RAS model.
Definition: kOmegaSSTSAS.H:104
BasicTurbulenceModel::alphaField alphaField
Definition: kOmegaSSTSAS.H:146
BasicTurbulenceModel::rhoField rhoField
Definition: kOmegaSSTSAS.H:147
virtual ~kOmegaSSTSAS()=default
Destructor.
dimensionedScalar sigmaPhi_
Definition: kOmegaSSTSAS.H:123
autoPtr< Foam::LESdelta > delta_
Run-time selectable delta model.
Definition: kOmegaSSTSAS.H:130
TypeName("kOmegaSSTSAS")
Runtime type information.
virtual tmp< fvScalarMatrix > Qsas(const volScalarField::Internal &S2, const volScalarField::Internal &gamma, const volScalarField::Internal &beta) const
SAS omega source.
Definition: kOmegaSSTSAS.C:42
BasicTurbulenceModel::transportModel transportModel
Definition: kOmegaSSTSAS.H:148
const volScalarField & delta() const
Access function to filter width.
Definition: kOmegaSSTSAS.H:181
virtual bool read()
Re-read model coefficients if they have changed.
Definition: kOmegaSSTSAS.C:190
Implementation of the k-omega-SST turbulence model for incompressible and compressible flows.
Definition: kOmegaSST.H:132
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: autoPtr.H:66
tmp< volScalarField::Internal > beta(const volScalarField::Internal &F1) const
A class for managing temporary objects.
Definition: tmp.H:65
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
const scalar gamma
Definition: EEqn.H:9
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