buoyantKEpsilon.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) 2014-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::RASModels::buoyantKEpsilon
26 
27 Group
28  grpRASTurbulence
29 
30 Description
31  Additional buoyancy generation/dissipation term applied to the
32  k and epsilon equations of the standard k-epsilon model.
33 
34  Reference:
35  \verbatim
36  Henkes, R.A.W.M., Van Der Vlugt, F.F. & Hoogendoorn, C.J. (1991).
37  Natural Convection Flow in a Square Cavity Calculated with
38  Low-Reynolds-Number Turbulence Models.
39  Int. J. Heat Mass Transfer, 34, 1543-1557.
40  \endverbatim
41 
42  This implementation is based on the density rather than temperature gradient
43  extending the applicability to systems in which the density gradient may be
44  generated by variation of composition rather than temperature. Further, the
45  1/Prt coefficient is replaced by Cg to provide more general control of
46  model.
47 
48  The default model coefficients are
49  \verbatim
50  buoyantKEpsilonCoeffs
51  {
52  Cg 1.0;
53  }
54  \endverbatim
55 
56 See also
57  Foam::RASModels::kEpsilon
58 
59 SourceFiles
60  buoyantKEpsilon.C
61 
62 \*---------------------------------------------------------------------------*/
63 
64 #ifndef buoyantKEpsilon_H
65 #define buoyantKEpsilon_H
66 
67 #include "kEpsilon.H"
68 
69 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
70 
71 namespace Foam
72 {
73 namespace RASModels
74 {
75 
76 /*---------------------------------------------------------------------------*\
77  Class buoyantKEpsilon Declaration
78 \*---------------------------------------------------------------------------*/
79 
80 template<class BasicTurbulenceModel>
81 class buoyantKEpsilon
82 :
83  public kEpsilon<BasicTurbulenceModel>
84 {
85  // Private Member Functions
86 
87  // Disallow default bitwise copy construct and assignment
89  void operator=(const buoyantKEpsilon&);
90 
91 
92 protected:
93 
94  // Protected data
95 
96  // Model coefficients
97 
99 
100  // Protected Member Functions
101 
102  tmp<volScalarField> Gcoef() const;
103 
104  virtual tmp<fvScalarMatrix> kSource() const;
105  virtual tmp<fvScalarMatrix> epsilonSource() const;
106 
107 
108 public:
110  typedef typename BasicTurbulenceModel::alphaField alphaField;
111  typedef typename BasicTurbulenceModel::rhoField rhoField;
112  typedef typename BasicTurbulenceModel::transportModel transportModel;
113 
114 
115  //- Runtime type information
116  TypeName("buoyantKEpsilon");
117 
118 
119  // Constructors
120 
121  //- Construct from components
123  (
124  const alphaField& alpha,
125  const rhoField& rho,
126  const volVectorField& U,
127  const surfaceScalarField& alphaRhoPhi,
128  const surfaceScalarField& phi,
129  const transportModel& transport,
130  const word& propertiesName = turbulenceModel::propertiesName,
131  const word& type = typeName
132  );
133 
134 
135  //- Destructor
136  virtual ~buoyantKEpsilon()
137  {}
138 
139 
140  // Member Functions
141 
142  //- Re-read model coefficients if they have changed
143  virtual bool read();
144 };
145 
146 
147 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
148 
149 } // End namespace RASModels
150 } // End namespace Foam
151 
152 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
153 
154 #ifdef NoRepository
155  #include "buoyantKEpsilon.C"
156 #endif
157 
158 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
159 
160 #endif
161 
162 // ************************************************************************* //
surfaceScalarField & phi
virtual tmp< fvScalarMatrix > epsilonSource() const
U
Definition: pEqn.H:83
virtual tmp< fvScalarMatrix > kSource() const
BasicTurbulenceModel::rhoField rhoField
virtual ~buoyantKEpsilon()
Destructor.
Additional buoyancy generation/dissipation term applied to the k and epsilon equations of the standar...
virtual bool read()
Re-read model coefficients if they have changed.
TypeName("buoyantKEpsilon")
Runtime type information.
Standard k-epsilon turbulence model for incompressible and compressible flows including rapid distort...
Definition: kEpsilon.H:86
static const word propertiesName
Default name of the turbulence properties dictionary.
A class for handling words, derived from string.
Definition: word.H:59
BasicTurbulenceModel::alphaField alphaField
fileName::Type type(const fileName &)
Return the file type: DIRECTORY or FILE.
Definition: POSIX.C:461
tmp< volScalarField > Gcoef() const
BasicTurbulenceModel::transportModel transportModel
A class for managing temporary objects.
Definition: PtrList.H:54
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
Namespace for OpenFOAM.