SmagorinskyZhang.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) 2013-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::LESModels::SmagorinskyZhang
26 
27 Group
28  grpLESTurbulence
29 
30 Description
31  The Smagorinsky SGS model including bubble-generated turbulence
32 
33  Reference:
34  \verbatim
35  Zhang, D., Deen, N. G., & Kuipers, J. A. M. (2006).
36  Numerical simulation of the dynamic flow behavior in a bubble column:
37  a study of closures for turbulence and interface forces.
38  Chemical Engineering Science, 61(23), 7593-7608.
39  \endverbatim
40 
41  The default model coefficients are
42  \verbatim
43  SmagorinskyZhangCoeffs
44  {
45  Ck 0.094;
46  Ce 1.048;
47  Cmub 0.6;
48  }
49  \endverbatim
50 
51 SourceFiles
52  SmagorinskyZhang.C
53 
54 \*---------------------------------------------------------------------------*/
55 
56 #ifndef SmagorinskyZhang_H
57 #define SmagorinskyZhang_H
58 
59 #include "LESModel.H"
60 #include "eddyViscosity.H"
61 
62 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
63 
64 namespace Foam
65 {
66 namespace LESModels
67 {
68 
69 /*---------------------------------------------------------------------------*\
70  Class SmagorinskyZhang Declaration
71 \*---------------------------------------------------------------------------*/
72 
73 template<class BasicTurbulenceModel>
74 class SmagorinskyZhang
75 :
76  public Smagorinsky<BasicTurbulenceModel>
77 {
78  // Private data
79 
81  <
82  typename BasicTurbulenceModel::transportModel
83  > *gasTurbulencePtr_;
84 
85 
86  // Private Member Functions
87 
88  //- Return the turbulence model for the gas phase
90  <
91  typename BasicTurbulenceModel::transportModel
92  >&
93  gasTurbulence() const;
94 
95  // Disallow default bitwise copy construct and assignment
97  SmagorinskyZhang& operator=(const SmagorinskyZhang&);
98 
99 
100 protected:
101 
102  // Protected data
103 
104  // Model coefficients
107 
108 
109  // Protected Member Functions
110 
111  virtual void correctNut();
112 
113 
114 public:
116  typedef typename BasicTurbulenceModel::alphaField alphaField;
117  typedef typename BasicTurbulenceModel::rhoField rhoField;
118  typedef typename BasicTurbulenceModel::transportModel transportModel;
119 
120 
121  //- Runtime type information
122  TypeName("SmagorinskyZhang");
123 
124 
125  // Constructors
126 
127  //- Construct from components
129  (
130  const alphaField& alpha,
131  const rhoField& rho,
132  const volVectorField& U,
133  const surfaceScalarField& alphaRhoPhi,
134  const surfaceScalarField& phi,
135  const transportModel& transport,
136  const word& propertiesName = turbulenceModel::propertiesName,
137  const word& type = typeName
138  );
139 
140 
141  //- Destructor
142  virtual ~SmagorinskyZhang()
143  {}
144 
145 
146  // Member Functions
147 
148  //- Read model coefficients if they have changed
149  virtual bool read();
150 };
151 
152 
153 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
154 
155 } // End namespace LESModels
156 } // End namespace Foam
157 
158 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
159 
160 #ifdef NoRepository
161 # include "SmagorinskyZhang.C"
162 #endif
163 
164 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
165 
166 #endif
167 
168 // ************************************************************************* //
A class for handling words, derived from string.
Definition: word.H:59
The Smagorinsky SGS model including bubble-generated turbulence.
Namespace for OpenFOAM.
TypeName("SmagorinskyZhang")
Runtime type information.
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
BasicTurbulenceModel::transportModel transportModel
BasicTurbulenceModel::alphaField alphaField
Templated abstract base class for multiphase compressible turbulence models.
fileName::Type type(const fileName &)
Return the file type: DIRECTORY or FILE.
Definition: POSIX.C:589
surfaceScalarField & phi
virtual ~SmagorinskyZhang()
Destructor.
The Smagorinsky SGS model.
Definition: Smagorinsky.H:89
virtual bool read()
Read model coefficients if they have changed.
static const word propertiesName
Default name of the turbulence properties dictionary.
BasicTurbulenceModel::rhoField rhoField
virtual void correctNut()
Update the SGS eddy viscosity.
U
Definition: pEqn.H:82