kOmegaSSTIDDES.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 OpenFOAM Foundation
9  Copyright (C) 2019 OpenCFD Ltd.
10 -------------------------------------------------------------------------------
11 License
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 
27 Class
28  Foam::LESModels::kOmegaSSTIDDES
29 
30 Group
31  grpDESTurbulence
32 
33 Description
34  k-omega-SST IDDES turbulence model for incompressible and compressible
35  flows
36 
37  Reference:
38  \verbatim
39  Gritskevich, M.S., Garbaruk, A.V., Schuetze, J., Menter, F.R. (2011)
40  Development of DDES and IDDES Formulations for the k-omega
41  Shear Stress Transport Model, Flow, Turbulence and Combustion,
42  pp. 1-19
43  \endverbatim
44 
45 SourceFiles
46  kOmegaSSTIDDES.C
47 
48 \*---------------------------------------------------------------------------*/
49 
50 #ifndef kOmegaSSTIDDES_H
51 #define kOmegaSSTIDDES_H
52 
53 #include "kOmegaSSTDES.H"
54 
55 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
56 
57 namespace Foam
58 {
59 namespace LESModels
60 {
61 
62 /*---------------------------------------------------------------------------*\
63  class kOmegaSSTIDDES Declaration
64 \*---------------------------------------------------------------------------*/
65 
66 template<class BasicTurbulenceModel>
67 class kOmegaSSTIDDES
68 :
69  public kOmegaSSTDES<BasicTurbulenceModel>
70 {
71  // Private Member Functions
72 
73  //- Check that the supplied delta is an IDDESDelta
74  const IDDESDelta& setDelta() const;
75 
76  tmp<volScalarField> alpha() const;
77  tmp<volScalarField> ft(const volScalarField& magGradU) const;
78  tmp<volScalarField> fl(const volScalarField& magGradU) const;
79 
81  (
82  const volScalarField& nur,
83  const volScalarField& magGradU
84  ) const;
85 
86  //- Delay function
87  tmp<volScalarField> fdt(const volScalarField& magGradU) const;
88 
89  //- No copy construct
90  kOmegaSSTIDDES(const kOmegaSSTIDDES&) = delete;
91 
92  //- No copy assignment
93  void operator=(const kOmegaSSTIDDES&) = delete;
94 
95 
96 protected:
97 
98  // Protected data
99 
100  // Model coefficients
101 
106 
107  // Fields
108 
109  const IDDESDelta& IDDESDelta_;
110 
111  // Protected Member Functions
112 
113  //- Length scale
115  (
116  const volScalarField& magGradU,
117  const volScalarField& CDES
118  ) const;
119 
120 
121 public:
122 
123  typedef typename BasicTurbulenceModel::alphaField alphaField;
124  typedef typename BasicTurbulenceModel::rhoField rhoField;
125  typedef typename BasicTurbulenceModel::transportModel transportModel;
126 
127 
128  //- Runtime type information
129  TypeName("kOmegaSSTIDDES");
130 
131 
132  // Constructors
133 
134  //- Construct from components
136  (
137  const alphaField& alpha,
138  const rhoField& rho,
139  const volVectorField& U,
140  const surfaceScalarField& alphaRhoPhi,
141  const surfaceScalarField& phi,
142  const transportModel& transport,
143  const word& propertiesName = turbulenceModel::propertiesName,
144  const word& type = typeName
145  );
146 
147 
148  //- Destructor
149  virtual ~kOmegaSSTIDDES() = default;
150 
151 
152  // Member Functions
153 
154  //- Re-read model coefficients if they have changed
155  virtual bool read();
156 };
157 
158 
159 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
160 
161 } // End namespace LESModels
162 } // End namespace Foam
163 
164 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
165 
166 #ifdef NoRepository
167  #include "kOmegaSSTIDDES.C"
168 #endif
169 
170 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
171 
172 #endif
173 
174 // ************************************************************************* //
Foam::word
A class for handling words, derived from Foam::string.
Definition: word.H:63
Foam::LESModels::kOmegaSSTDES
k-omega-SST DES turbulence model for incompressible and compressible flows
Definition: kOmegaSSTDES.H:67
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:57
Foam::LESModels::kOmegaSSTIDDES::alphaField
BasicTurbulenceModel::alphaField alphaField
Definition: kOmegaSSTIDDES.H:118
Foam::turbulenceModel::propertiesName
static const word propertiesName
Definition: turbulenceModel.H:96
kOmegaSSTIDDES.C
Foam::LESModels::IDDESDelta
Definition: IDDESDelta.H:51
Foam::LESModels::kOmegaSSTIDDES::transportModel
BasicTurbulenceModel::transportModel transportModel
Definition: kOmegaSSTIDDES.H:120
Foam::LESModels::kOmegaSSTIDDES
k-omega-SST IDDES turbulence model for incompressible and compressible flows
Definition: kOmegaSSTIDDES.H:62
Foam::LESModels::kOmegaSSTIDDES::read
virtual bool read()
Definition: kOmegaSSTIDDES.C:230
Foam::LESModels::kOmegaSSTIDDES::Cdt2_
dimensionedScalar Cdt2_
Definition: kOmegaSSTIDDES.H:98
Foam::LESModels::kOmegaSSTIDDES::~kOmegaSSTIDDES
virtual ~kOmegaSSTIDDES()=default
rho
rho
Definition: readInitialConditions.H:88
Foam::LESModels::kOmegaSSTIDDES::Ct_
dimensionedScalar Ct_
Definition: kOmegaSSTIDDES.H:100
phi
surfaceScalarField & phi
Definition: setRegionFluidFields.H:8
Foam::dimensioned
Generic dimensioned Type class.
Definition: dimensionedScalarFwd.H:36
Foam::LESModels::kOmegaSSTIDDES::IDDESDelta_
const IDDESDelta & IDDESDelta_
Definition: kOmegaSSTIDDES.H:104
Foam
Definition: atmBoundaryLayer.C:26
Foam::LESModels::kOmegaSSTDES::CDES
virtual tmp< volScalarField > CDES(const volScalarField &F1) const
Definition: kOmegaSSTDES.H:94
Foam::LESModels::kOmegaSSTDES::transportModel
BasicTurbulenceModel::transportModel transportModel
Definition: kOmegaSSTDES.H:129
Foam::LESModels::kOmegaSSTIDDES::Cl_
dimensionedScalar Cl_
Definition: kOmegaSSTIDDES.H:99
Foam::LESModels::kOmegaSSTIDDES::TypeName
TypeName("kOmegaSSTIDDES")
Foam::LESModels::kOmegaSSTIDDES::dTilda
virtual tmp< volScalarField > dTilda(const volScalarField &magGradU, const volScalarField &CDES) const
Definition: kOmegaSSTIDDES.C:117
U
U
Definition: pEqn.H:72
Foam::LESModels::kOmegaSSTDES::alphaField
BasicTurbulenceModel::alphaField alphaField
Definition: kOmegaSSTDES.H:127
Foam::type
fileName::Type type(const fileName &name, const bool followLink=true)
Definition: POSIX.C:717
Foam::LESModels::kOmegaSSTIDDES::rhoField
BasicTurbulenceModel::rhoField rhoField
Definition: kOmegaSSTIDDES.H:119
Foam::GeometricField
Generic GeometricField class.
Definition: areaFieldsFwd.H:49
Foam::LESModels::kOmegaSSTIDDES::Cdt1_
dimensionedScalar Cdt1_
Definition: kOmegaSSTIDDES.H:97
Foam::LESModels::kOmegaSSTDES::rhoField
BasicTurbulenceModel::rhoField rhoField
Definition: kOmegaSSTDES.H:128
kOmegaSSTDES.H