kOmegaSSTSato.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 | Copyright (C) 2014-2015 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::RASModels::kOmegaSSTSato
26 
27 Group
28  grpRASTurbulence
29 
30 Description
31  Implementation of the k-omega-SST turbulence model for dispersed bubbly
32  flows with Sato (1981) bubble induced turbulent viscosity model.
33 
34  Bubble induced turbulent viscosity model described in:
35  \verbatim
36  Sato, Y., Sadatomi, M.
37  "Momentum and heat transfer in two-phase bubble flow - I, Theory"
38  International Journal of Multiphase FLow 7, pp. 167-177, 1981.
39  \endverbatim
40 
41  Turbulence model described in:
42  \verbatim
43  Menter, F., Esch, T.
44  "Elements of Industrial Heat Transfer Prediction"
45  16th Brazilian Congress of Mechanical Engineering (COBEM),
46  Nov. 2001
47  \endverbatim
48 
49  with the addition of the optional F3 term for rough walls from
50  \verbatim
51  Hellsten, A.
52  "Some Improvements in Menter’s k-omega-SST turbulence model"
53  29th AIAA Fluid Dynamics Conference,
54  AIAA-98-2554,
55  June 1998.
56  \endverbatim
57 
58  Note that this implementation is written in terms of alpha diffusion
59  coefficients rather than the more traditional sigma (alpha = 1/sigma) so
60  that the blending can be applied to all coefficuients in a consistent
61  manner. The paper suggests that sigma is blended but this would not be
62  consistent with the blending of the k-epsilon and k-omega models.
63 
64  Also note that the error in the last term of equation (2) relating to
65  sigma has been corrected.
66 
67  Wall-functions are applied in this implementation by using equations (14)
68  to specify the near-wall omega as appropriate.
69 
70  The blending functions (15) and (16) are not currently used because of the
71  uncertainty in their origin, range of applicability and that is y+ becomes
72  sufficiently small blending u_tau in this manner clearly becomes nonsense.
73 
74  The default model coefficients correspond to the following:
75  \verbatim
76  kOmegaSSTCoeffs
77  {
78  alphaK1 0.85034;
79  alphaK2 1.0;
80  alphaOmega1 0.5;
81  alphaOmega2 0.85616;
82  Prt 1.0; // only for compressible
83  beta1 0.075;
84  beta2 0.0828;
85  betaStar 0.09;
86  gamma1 0.5532;
87  gamma2 0.4403;
88  a1 0.31;
89  b1 1.0;
90  c1 10.0;
91  F3 no;
92  Cmub 0.6;
93  }
94  \endverbatim
95 
96 SourceFiles
97  kOmegaSST.C
98 
99 SourceFiles
100  kOmegaSSTSato.C
101 
102 \*---------------------------------------------------------------------------*/
103 
104 #ifndef kOmegaSSTSato_H
105 #define kOmegaSSTSato_H
106 
107 #include "kOmegaSST.H"
108 
109 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
110 
111 namespace Foam
112 {
113 namespace RASModels
114 {
115 
116 /*---------------------------------------------------------------------------*\
117  Class kOmegaSSTSato Declaration
118 \*---------------------------------------------------------------------------*/
119 
120 template<class BasicTurbulenceModel>
121 class kOmegaSSTSato
122 :
123  public kOmegaSST<BasicTurbulenceModel>
124 {
125  // Private data
126 
128  <
129  typename BasicTurbulenceModel::transportModel
131 
132 
133  // Private Member Functions
134 
135  //- Return the turbulence model for the gas phase
137  <
138  typename BasicTurbulenceModel::transportModel
139  >&
140  gasTurbulence() const;
141 
142 
143  // Disallow default bitwise copy construct and assignment
146 
147 
148 protected:
149 
150  // Protected data
151 
152  // Model coefficients
154 
155 
156  // Protected Member Functions
157 
158  virtual void correctNut();
159 
160 public:
161 
162  typedef typename BasicTurbulenceModel::alphaField alphaField;
163  typedef typename BasicTurbulenceModel::rhoField rhoField;
164  typedef typename BasicTurbulenceModel::transportModel transportModel;
165 
166 
167  //- Runtime type information
168  TypeName("kOmegaSSTSato");
169 
170 
171  // Constructors
172 
173  //- Construct from components
175  (
176  const alphaField& alpha,
177  const rhoField& rho,
178  const volVectorField& U,
179  const surfaceScalarField& alphaRhoPhi,
180  const surfaceScalarField& phi,
181  const transportModel& transport,
182  const word& propertiesName = turbulenceModel::propertiesName,
183  const word& type = typeName
184  );
185 
186 
187  //- Destructor
188  virtual ~kOmegaSSTSato()
189  {}
190 
191 
192  // Member Functions
193 
194  //- Read model coefficients if they have changed
195  virtual bool read();
196 
197  //- Solve the turbulence equations and correct the turbulence viscosity
198  virtual void correct();
199 };
200 
201 
202 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
203 
204 } // End namespace RASModels
205 } // End namespace Foam
206 
207 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
208 
209 #ifdef NoRepository
210  #include "kOmegaSSTSato.C"
211 #endif
212 
213 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
214 
215 #endif
216 
217 // ************************************************************************* //
Foam::RASModels::kOmegaSSTSato::operator=
kOmegaSSTSato & operator=(const kOmegaSSTSato &)
Foam::RASModels::kOmegaSSTSato::rhoField
BasicTurbulenceModel::rhoField rhoField
Definition: kOmegaSSTSato.H:162
Foam::word
A class for handling words, derived from string.
Definition: word.H:59
Foam::RASModels::kOmegaSST
Implementation of the k-omega-SST turbulence model for incompressible and compressible flows.
Definition: kOmegaSST.H:126
Foam::PhaseCompressibleTurbulenceModel
Templated abstract base class for multiphase compressible turbulence models.
Definition: PhaseCompressibleTurbulenceModel.H:51
Foam::RASModels::kOmegaSSTSato::kOmegaSSTSato
kOmegaSSTSato(const kOmegaSSTSato &)
phi
surfaceScalarField & phi
Definition: setRegionFluidFields.H:8
Foam::constant::atomic::alpha
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
Definition: readThermalProperties.H:216
Foam::RASModels::kOmegaSSTSato::read
virtual bool read()
Read model coefficients if they have changed.
Definition: kOmegaSSTSato.C:87
Foam::turbulenceModel::propertiesName
static const word propertiesName
Default name of the turbulence properties dictionary.
Definition: turbulenceModel.H:97
Foam::RASModels::kOmegaSSTSato::correct
virtual void correct()
Solve the turbulence equations and correct the turbulence viscosity.
Definition: kOmegaSSTSato.C:160
U
U
Definition: pEqn.H:46
kOmegaSSTSato.C
Foam::RASModels::kOmegaSSTSato::transportModel
BasicTurbulenceModel::transportModel transportModel
Definition: kOmegaSSTSato.H:163
kOmegaSST.H
Foam::dimensioned
Generic dimensioned Type class.
Definition: dimensionedScalarFwd.H:41
Foam
Namespace for OpenFOAM.
Definition: combustionModel.C:30
Foam::RASModels::kOmegaSSTSato
Implementation of the k-omega-SST turbulence model for dispersed bubbly flows with Sato (1981) bubble...
Definition: kOmegaSSTSato.H:120
Foam::RASModels::kOmegaSSTSato::correctNut
virtual void correctNut()
Definition: kOmegaSSTSato.C:134
rho
rho
Definition: pEqn.H:3
Foam::RASModels::kOmegaSSTSato::alphaField
BasicTurbulenceModel::alphaField alphaField
Definition: kOmegaSSTSato.H:161
Foam::RASModels::kOmegaSSTSato::gasTurbulence
const PhaseCompressibleTurbulenceModel< typename BasicTurbulenceModel::transportModel > & gasTurbulence() const
Return the turbulence model for the gas phase.
Definition: kOmegaSSTSato.C:106
Foam::RASModels::kOmegaSSTSato::gasTurbulencePtr_
const PhaseCompressibleTurbulenceModel< typename BasicTurbulenceModel::transportModel > * gasTurbulencePtr_
Definition: kOmegaSSTSato.H:129
Foam::RASModels::kOmegaSSTSato::TypeName
TypeName("kOmegaSSTSato")
Runtime type information.
Foam::RASModels::kOmegaSSTSato::Cmub_
dimensionedScalar Cmub_
Definition: kOmegaSSTSato.H:152
Foam::RASModels::kOmegaSSTSato::~kOmegaSSTSato
virtual ~kOmegaSSTSato()
Destructor.
Definition: kOmegaSSTSato.H:187
Foam::type
fileName::Type type(const fileName &)
Return the file type: DIRECTORY or FILE.
Definition: POSIX.C:588
Foam::GeometricField
Generic GeometricField class.
Definition: surfaceFieldsFwd.H:52