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