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 -------------------------------------------------------------------------------
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::RASModels::buoyantKEpsilon
29 
30 Group
31  grpRASTurbulence
32 
33 Description
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 
59 See also
60  Foam::RASModels::kEpsilon
61 
62 SourceFiles
63  buoyantKEpsilon.C
64 
65 \*---------------------------------------------------------------------------*/
66 
67 #ifndef buoyantKEpsilon_H
68 #define buoyantKEpsilon_H
69 
70 #include "kEpsilon.H"
71 
72 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
73 
74 namespace Foam
75 {
76 namespace RASModels
77 {
78 
79 /*---------------------------------------------------------------------------*\
80  Class buoyantKEpsilon Declaration
81 \*---------------------------------------------------------------------------*/
82 
83 template<class BasicTurbulenceModel>
84 class buoyantKEpsilon
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 
97 protected:
98 
99  // Protected data
100 
101  // Model coefficients
102 
104 
105  // Protected Member Functions
106 
107  tmp<volScalarField> Gcoef() const;
108 
109  virtual tmp<fvScalarMatrix> kSource() const;
110  virtual tmp<fvScalarMatrix> epsilonSource() const;
111 
112 
113 public:
114 
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 // ************************************************************************* //
Foam::RASModels::buoyantKEpsilon
Additional buoyancy generation/dissipation term applied to the k and epsilon equations of the standar...
Definition: buoyantKEpsilon.H:83
Foam::word
A class for handling words, derived from Foam::string.
Definition: word.H:65
Foam::RASModels::buoyantKEpsilon::rhoField
BasicTurbulenceModel::rhoField rhoField
Definition: buoyantKEpsilon.H:115
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:61
Foam::constant::atomic::alpha
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
Definition: readThermalProperties.H:212
buoyantKEpsilon.C
Foam::turbulenceModel::propertiesName
static const word propertiesName
Default name of the turbulence properties dictionary.
Definition: turbulenceModel.H:100
Foam::RASModels::buoyantKEpsilon::kSource
virtual tmp< fvScalarMatrix > kSource() const
Definition: buoyantKEpsilon.C:116
Foam::RASModels::buoyantKEpsilon::read
virtual bool read()
Re-read model coefficients if they have changed.
Definition: buoyantKEpsilon.C:88
rho
rho
Definition: readInitialConditions.H:88
phi
surfaceScalarField & phi
Definition: setRegionFluidFields.H:8
Foam::RASModels::buoyantKEpsilon::~buoyantKEpsilon
virtual ~buoyantKEpsilon()=default
Destructor.
Foam::RASModels::buoyantKEpsilon::epsilonSource
virtual tmp< fvScalarMatrix > epsilonSource() const
Definition: buoyantKEpsilon.C:132
Foam::dimensioned< scalar >
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
U
U
Definition: pEqn.H:72
Foam::RASModels::buoyantKEpsilon::TypeName
TypeName("buoyantKEpsilon")
Runtime type information.
Foam::RASModels::buoyantKEpsilon::transportModel
BasicTurbulenceModel::transportModel transportModel
Definition: buoyantKEpsilon.H:116
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
Foam::RASModels::buoyantKEpsilon::alphaField
BasicTurbulenceModel::alphaField alphaField
Definition: buoyantKEpsilon.H:114
Foam::GeometricField< vector, fvPatchField, volMesh >
Foam::RASModels::kEpsilon
Standard k-epsilon turbulence model for incompressible and compressible flows including rapid distort...
Definition: kEpsilon.H:89
Foam::RASModels::buoyantKEpsilon::Gcoef
tmp< volScalarField > Gcoef() const
Definition: buoyantKEpsilon.C:103
Foam::RASModels::buoyantKEpsilon::Cg_
dimensionedScalar Cg_
Definition: buoyantKEpsilon.H:102