NicenoKEqn.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-2016 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::NicenoKEqn
26 
27 Group
28  grpLESTurbulence
29 
30 Description
31  One-equation SGS model for the continuous phase in a two-phase system
32  including bubble-generated turbulence.
33 
34  Reference:
35  \verbatim
36  Niceno, B., Dhotre, M. T., & Deen, N. G. (2008).
37  One-equation sub-grid scale (SGS) modelling for
38  Euler–Euler large eddy simulation (EELES) of dispersed bubbly flow.
39  Chemical Engineering Science, 63(15), 3923-3931.
40  \endverbatim
41 
42  The default model coefficients are:
43  \verbatim
44  NicenoKEqnCoeffs
45  {
46  Ck 0.094;
47  Ce 1.048;
48  alphaInversion 0.3;
49  Cp Ck;
50  Cmub 0.6;
51  }
52  \endverbatim
53 
54 SourceFiles
55  NicenoKEqn.C
56 
57 \*---------------------------------------------------------------------------*/
58 
59 #ifndef NicenoKEqn_H
60 #define NicenoKEqn_H
61 
62 #include "kEqn.H"
63 
64 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
65 
66 namespace Foam
67 {
68 namespace LESModels
69 {
70 
71 /*---------------------------------------------------------------------------*\
72  Class NicenoKEqn Declaration
73 \*---------------------------------------------------------------------------*/
74 
75 template<class BasicTurbulenceModel>
76 class NicenoKEqn
77 :
78  public kEqn<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  // Disallow default bitwise copy construct and assignment
98  NicenoKEqn(const NicenoKEqn&);
99  void operator=(const NicenoKEqn&);
100 
101 
102 protected:
103 
104  // Protected data
105 
106  // Model coefficients
111 
112 
113  // Protected Member Functions
114 
115  virtual void correctNut();
118  virtual tmp<fvScalarMatrix> kSource() const;
119 
120 
121 public:
123  typedef typename BasicTurbulenceModel::alphaField alphaField;
124  typedef typename BasicTurbulenceModel::rhoField rhoField;
125  typedef typename BasicTurbulenceModel::transportModel transportModel;
126 
127 
128  //- Runtime type information
129  TypeName("NicenoKEqn");
130 
131 
132  // Constructors
133 
134  //- Construct from components
135  NicenoKEqn
136  (
137  const alphaField& alpha,
138  const rhoField& rho,
139  const volVectorField& U,
140  const surfaceScalarField& alphaRhoPhi,
141  const surfaceScalarField& phi,
142  const transportModel& transport,
143  const word& propertiesName = turbulenceModel::propertiesName,
144  const word& type = typeName
145  );
146 
147 
148  //- Destructor
149  virtual ~NicenoKEqn()
150  {}
151 
152 
153  // Member Functions
154 
155  //- Read model coefficients if they have changed
156  virtual bool read();
157 };
158 
159 
160 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
161 
162 } // End namespace LESModels
163 } // End namespace Foam
164 
165 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
166 
167 #ifdef NoRepository
168  #include "NicenoKEqn.C"
169 #endif
170 
171 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
172 
173 #endif
174 
175 // ************************************************************************* //
surfaceScalarField & phi
tmp< volScalarField > bubbleG() const
Definition: NicenoKEqn.C:174
U
Definition: pEqn.H:83
BasicTurbulenceModel::alphaField alphaField
Definition: NicenoKEqn.H:122
dimensionedScalar Cmub_
Definition: NicenoKEqn.H:109
dimensionedScalar Cp_
Definition: NicenoKEqn.H:108
BasicTurbulenceModel::rhoField rhoField
Definition: NicenoKEqn.H:123
One equation eddy-viscosity model.
Definition: kEqn.H:74
virtual ~NicenoKEqn()
Destructor.
Definition: NicenoKEqn.H:148
static const word propertiesName
Default name of the turbulence properties dictionary.
virtual bool read()
Read model coefficients if they have changed.
Definition: NicenoKEqn.C:106
A class for handling words, derived from string.
Definition: word.H:59
virtual tmp< fvScalarMatrix > kSource() const
Definition: NicenoKEqn.C:219
Templated abstract base class for multiphase compressible turbulence models.
One-equation SGS model for the continuous phase in a two-phase system including bubble-generated turb...
Definition: NicenoKEqn.H:75
fileName::Type type(const fileName &)
Return the file type: DIRECTORY or FILE.
Definition: POSIX.C:461
TypeName("NicenoKEqn")
Runtime type information.
tmp< volScalarField > phaseTransferCoeff() const
Definition: NicenoKEqn.C:197
A class for managing temporary objects.
Definition: PtrList.H:54
BasicTurbulenceModel::transportModel transportModel
Definition: NicenoKEqn.H:124
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
virtual void correctNut()
Definition: NicenoKEqn.C:156
Namespace for OpenFOAM.
dimensionedScalar alphaInversion_
Definition: NicenoKEqn.H:107