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-2020 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 "Smagorinsky.H"
63 
64 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
65 
66 namespace Foam
67 {
68 namespace LESModels
69 {
70 
71 /*---------------------------------------------------------------------------*\
72  Class SmagorinskyZhang Declaration
73 \*---------------------------------------------------------------------------*/
74 
75 template<class BasicTurbulenceModel>
76 class SmagorinskyZhang
77 :
78  public Smagorinsky<BasicTurbulenceModel>
79 {
80  // Private Data
81 
83  <
84  typename BasicTurbulenceModel::transportModel
85  > *gasTurbulencePtr_;
86 
87 
88  // Private Member Functions
89 
90  //- Return the turbulence model for the gas phase
92  <
93  typename BasicTurbulenceModel::transportModel
94  >&
95  gasTurbulence() const;
96 
97  //- No copy construct
98  SmagorinskyZhang(const SmagorinskyZhang&) = delete;
99 
100  //- No copy assignment
101  void operator=(const SmagorinskyZhang&) = delete;
102 
103 
104 protected:
105 
106  // Protected Data
107 
108  // Model coefficients
109 
111 
112 
113  // Protected Member Functions
114 
115  virtual void correctNut();
116 
117 
118 public:
119 
120  typedef typename BasicTurbulenceModel::alphaField alphaField;
121  typedef typename BasicTurbulenceModel::rhoField rhoField;
122  typedef typename BasicTurbulenceModel::transportModel transportModel;
123 
124 
125  //- Runtime type information
126  TypeName("SmagorinskyZhang");
127 
128 
129  // Constructors
130 
131  //- Construct from components
133  (
134  const alphaField& alpha,
135  const rhoField& rho,
136  const volVectorField& U,
137  const surfaceScalarField& alphaRhoPhi,
138  const surfaceScalarField& phi,
139  const transportModel& transport,
140  const word& propertiesName = turbulenceModel::propertiesName,
141  const word& type = typeName
142  );
143 
144 
145  //- Destructor
146  virtual ~SmagorinskyZhang() = default;
147 
148 
149  // Member Functions
150 
151  //- Read model coefficients if they have changed
152  virtual bool read();
153 };
154 
155 
156 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
157 
158 } // End namespace LESModels
159 } // End namespace Foam
160 
161 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
162 
163 #ifdef NoRepository
164  #include "SmagorinskyZhang.C"
165 #endif
166 
167 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
168 
169 #endif
170 
171 // ************************************************************************* //
Foam::word
A class for handling words, derived from Foam::string.
Definition: word.H:65
Foam::LESModels::SmagorinskyZhang::rhoField
BasicTurbulenceModel::rhoField rhoField
Definition: SmagorinskyZhang.H:120
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:119
rho
rho
Definition: readInitialConditions.H:88
Foam::LESModels::SmagorinskyZhang::Cmub_
dimensionedScalar Cmub_
Definition: SmagorinskyZhang.H:109
phi
surfaceScalarField & phi
Definition: setRegionFluidFields.H:8
Foam::LESModels::SmagorinskyZhang
The Smagorinsky SGS model including bubble-generated turbulence.
Definition: SmagorinskyZhang.H:75
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
Smagorinsky.H
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:121
Foam::LESModels::SmagorinskyZhang::correctNut
virtual void correctNut()
Update the SGS eddy viscosity.
Definition: SmagorinskyZhang.C:134