kOmegaSSTDES.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2016-2021 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 Class
25  Foam::LESModels::kOmegaSSTDES
26 
27 Description
28  Implementation of the k-omega-SST-DES turbulence model for
29  incompressible and compressible flows.
30 
31  DES model described in:
32  \verbatim
33  Menter, F. R., Kuntz, M., and Langtry, R. (2003).
34  Ten Years of Industrial Experience with the SST Turbulence Model.
35  Turbulence, Heat and Mass Transfer 4, ed: K. Hanjalic, Y. Nagano,
36  & M. Tummers, Begell House, Inc., 625 - 632.
37  \endverbatim
38 
39  Optional support for zonal filtering based on F1 or F2 is provided as
40  described in the paper.
41 
42  For further details of the implementation of the base k-omega-SST model
43  see Foam::kOmegaSST.
44 
45 See also
46  Foam::kOmegaSST
47 
48 SourceFiles
49  kOmegaSST.C
50 
51 \*---------------------------------------------------------------------------*/
52 
53 #ifndef kOmegaSSTDES_H
54 #define kOmegaSSTDES_H
55 
56 #include "kOmegaSSTBase.H"
57 #include "LESModel.H"
58 #include "LESeddyViscosity.H"
59 
60 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
61 
62 namespace Foam
63 {
64 namespace LESModels
65 {
66 
67 /*---------------------------------------------------------------------------*\
68  Class kOmegaSST Declaration
69 \*---------------------------------------------------------------------------*/
70 
71 template<class BasicMomentumTransportModel>
72 class kOmegaSSTDES
73 :
74  public Foam::kOmegaSST
75  <
76  LESeddyViscosity<BasicMomentumTransportModel>,
77  BasicMomentumTransportModel
78  >
79 {
80 
81 protected:
82 
83  // Protected data
84 
85  // Model constants
86 
87  //- DES coefficient
89 
90  //- Zonal filter choice
91  //
92  // - 0: no filtering
93  // - 1: (1 - F1)
94  // - 2: (1 - F2)
96 
97 
98  // Protected Member Functions
99 
100  //- Return the turbulent length-scale
102 
103  //- The DES dissipation-rate multiplier with options zonal filtering
104  // based on either F1 or F2
106  (
109  ) const;
110 
111  //- Return epsilon/k which for standard RAS is betaStar*omega
113  (
116  ) const;
117 
118 
119 public:
120 
121  typedef typename BasicMomentumTransportModel::alphaField alphaField;
122  typedef typename BasicMomentumTransportModel::rhoField rhoField;
123 
124 
125  //- Runtime type information
126  TypeName("kOmegaSSTDES");
127 
128 
129  // Constructors
130 
131  //- Construct from components
133  (
134  const alphaField& alpha,
135  const rhoField& rho,
136  const volVectorField& U,
137  const surfaceScalarField& alphaRhoPhi,
138  const surfaceScalarField& phi,
139  const viscosity& viscosity,
140  const word& type = typeName
141  );
142 
143 
144  //- Destructor
145  virtual ~kOmegaSSTDES()
146  {}
147 
148 
149  // Member Functions
150 
151  //- Read model coefficients if they have changed
152  virtual bool read();
153 };
154 
155 
156 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
157 
158 } // End namespace LESModels
159 } // End namespace Foam
160 
161 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
162 #ifdef NoRepository
163  #include "kOmegaSSTDES.C"
164 #endif
165 
166 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
167 #endif
168 
169 // ************************************************************************* //
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Generic GeometricField class.
Implementation of the k-omega-SST-DES turbulence model for incompressible and compressible flows.
Definition: kOmegaSSTDES.H:78
BasicMomentumTransportModel::alphaField alphaField
Definition: kOmegaSSTDES.H:120
TypeName("kOmegaSSTDES")
Runtime type information.
kOmegaSSTDES(const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const viscosity &viscosity, const word &type=typeName)
Construct from components.
Definition: kOmegaSSTDES.C:85
virtual tmp< volScalarField::Internal > epsilonByk(const volScalarField::Internal &F1, const volScalarField::Internal &F2) const
Return epsilon/k which for standard RAS is betaStar*omega.
Definition: kOmegaSSTDES.C:72
dimensionedScalar CDES_
DES coefficient.
Definition: kOmegaSSTDES.H:87
virtual tmp< volScalarField::Internal > FDES(const volScalarField::Internal &F1, const volScalarField::Internal &F2) const
The DES dissipation-rate multiplier with options zonal filtering.
Definition: kOmegaSSTDES.C:47
direction FSST_
Zonal filter choice.
Definition: kOmegaSSTDES.H:94
tmp< volScalarField::Internal > Lt() const
Return the turbulent length-scale.
Definition: kOmegaSSTDES.C:39
virtual ~kOmegaSSTDES()
Destructor.
Definition: kOmegaSSTDES.H:144
virtual bool read()
Read model coefficients if they have changed.
Definition: kOmegaSSTDES.C:131
BasicMomentumTransportModel::rhoField rhoField
Definition: kOmegaSSTDES.H:121
Implementation of the k-omega-SST turbulence model for incompressible and compressible flows.
virtual tmp< volScalarField > F1(const volScalarField &CDkOmega) const
A class for managing temporary objects.
Definition: tmp.H:55
Abstract base class for all fluid physical properties.
Definition: viscosity.H:50
A class for handling words, derived from string.
Definition: word.H:62
U
Definition: pEqn.H:72
volScalarField alpha(IOobject("alpha", runTime.name(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
Namespace for OpenFOAM.
uint8_t direction
Definition: direction.H:45
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.
Definition: POSIX.C:488