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