FreeFOAM The Cross-Platform CFD Toolkit
realizableKE.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) 1991-2010 OpenCFD Ltd.
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::compressible::RASModels::realizableKE
26 
27 Description
28  Realizable k-epsilon turbulence model for compressible flows.
29 
30  Model described in the paper:
31  @verbatim
32  "A New k-epsilon Eddy Viscosity Model for High Reynolds Number
33  Turbulent Flows"
34 
35  Tsan-Hsing Shih, William W. Liou, Aamir Shabbir, Zhigang Tang and
36  Jiang Zhu
37 
38  Computers and Fluids Vol. 24, No. 3, pp. 227-238, 1995
39  @endverbatim
40 
41  The default model coefficients correspond to the following:
42  @verbatim
43  realizableKECoeffs
44  {
45  Cmu 0.09;
46  A0 4.0;
47  C2 1.9;
48  sigmak 1.0;
49  sigmaEps 1.2;
50  Prt 1.0; // only for compressible
51  }
52  @endverbatim
53 
54 SourceFiles
55  realizableKE.C
56 
57 \*---------------------------------------------------------------------------*/
58 
59 #ifndef realizableKE_H
60 #define realizableKE_H
61 
63 
64 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
65 
66 namespace Foam
67 {
68 namespace compressible
69 {
70 namespace RASModels
71 {
72 
73 /*---------------------------------------------------------------------------*\
74  Class realizableKE Declaration
75 \*---------------------------------------------------------------------------*/
76 
78 :
79  public RASModel
80 {
81  // Private data
82 
83  // Model coefficients
84 
85  dimensionedScalar Cmu_;
88  dimensionedScalar sigmak_;
89  dimensionedScalar sigmaEps_;
90  dimensionedScalar Prt_;
91 
92 
93  // Fields
94 
95  volScalarField k_;
96  volScalarField epsilon_;
97  volScalarField mut_;
98  volScalarField alphat_;
99 
100 
101  // Private member functions
102 
104  (
105  const volTensorField& gradU,
106  const volScalarField& S2,
107  const volScalarField& magS
108  );
109 
110  tmp<volScalarField> rCmu(const volTensorField& gradU);
111 
112 
113 public:
114 
115  //- Runtime type information
116  TypeName("realizableKE");
117 
118  // Constructors
119 
120  //- Construct from components
122  (
123  const volScalarField& rho,
124  const volVectorField& U,
125  const surfaceScalarField& phi,
126  const basicThermo& thermophysicalModel
127  );
128 
129 
130  //- Destructor
131  virtual ~realizableKE()
132  {}
133 
134 
135  // Member Functions
136 
137  //- Return the effective diffusivity for k
139  {
140  return tmp<volScalarField>
141  (
142  new volScalarField("DkEff", mut_/sigmak_ + mu())
143  );
144  }
145 
146  //- Return the effective diffusivity for epsilon
148  {
149  return tmp<volScalarField>
150  (
151  new volScalarField("DepsilonEff", mut_/sigmaEps_ + mu())
152  );
153  }
154 
155  //- Return the turbulence viscosity
156  virtual tmp<volScalarField> mut() const
157  {
158  return mut_;
159  }
160 
161  //- Return the effective turbulent thermal diffusivity
163  {
164  return tmp<volScalarField>
165  (
166  new volScalarField("alphaEff", alphat_ + alpha())
167  );
168  }
169 
170  //- Return the turbulence kinetic energy
171  virtual tmp<volScalarField> k() const
172  {
173  return k_;
174  }
175 
176  //- Return the turbulence kinetic energy dissipation rate
177  virtual tmp<volScalarField> epsilon() const
178  {
179  return epsilon_;
180  }
181 
182  //- Return the Reynolds stress tensor
183  virtual tmp<volSymmTensorField> R() const;
184 
185  //- Return the effective stress tensor including the laminar stress
186  virtual tmp<volSymmTensorField> devRhoReff() const;
187 
188  //- Return the source term for the momentum equation
189  virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const;
190 
191  //- Solve the turbulence equations and correct the turbulence viscosity
192  virtual void correct();
193 
194  //- Read RASProperties dictionary
195  virtual bool read();
196 };
197 
198 
199 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
200 
201 } // End namespace RASModels
202 } // End namespace compressible
203 } // End namespace Foam
204 
205 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
206 
207 #endif
208 
209 // ************************ vim: set sw=4 sts=4 et: ************************ //