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