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