FreeFOAM The Cross-Platform CFD Toolkit
LaunderGibsonRSTM.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::LaunderGibsonRSTM
26 
27 Description
28  Launder-Gibson Reynolds stress turbulence model for compressible flows.
29 
30  The default model coefficients correspond to the following:
31  @verbatim
32  LaunderGibsonRSTMCoeffs
33  {
34  Cmu 0.09;
35  kappa 0.41;
36  Clg1 1.8;
37  Clg2 0.6;
38  C1 1.44;
39  C2 1.92;
40  C1Ref 0.5;
41  C2Ref 0.3;
42  Cs 0.25;
43  Ceps 0.15;
44  sigmah 1.0; // only for compressible
45  sigmaEps 1.3;
46  sigmaR 0.81967;
47  couplingFactor 0.0;
48  }
49  @endverbatim
50 
51 SourceFiles
52  LaunderGibsonRSTM.C
53  LaunderGibsonRSTMcorrect.C
54 
55 \*---------------------------------------------------------------------------*/
56 
57 #ifndef compressibleLaunderGibsonRSTM_H
58 #define compressibleLaunderGibsonRSTM_H
59 
62 
63 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
64 
65 namespace Foam
66 {
67 namespace compressible
68 {
69 namespace RASModels
70 {
71 
72 /*---------------------------------------------------------------------------*\
73  Class LaunderGibsonRSTM Declaration
74 \*---------------------------------------------------------------------------*/
75 
77 :
78  public RASModel
79 {
80  // Private data
81 
82  // Model coefficients
83 
84  dimensionedScalar Cmu_;
85  dimensionedScalar kappa_;
86 
87  dimensionedScalar Clg1_;
88  dimensionedScalar Clg2_;
89 
93  dimensionedScalar Ceps_;
94 
95  dimensionedScalar C1Ref_;
96  dimensionedScalar C2Ref_;
97 
98  dimensionedScalar couplingFactor_;
99 
100  dimensionedScalar sigmaR_;
101  dimensionedScalar sigmaEps_;
102  dimensionedScalar Prt_;
103 
104 
105  // Fields
106 
108 
110  volScalarField k_;
111  volScalarField epsilon_;
112  volScalarField mut_;
113  volScalarField alphat_;
114 
115 
116 public:
117 
118  //- Runtime type information
119  TypeName("LaunderGibsonRSTM");
120 
121  // Constructors
122 
123  //- Construct from components
125  (
126  const volScalarField& rho,
127  const volVectorField& U,
128  const surfaceScalarField& phi,
129  const basicThermo& thermophysicalModel
130  );
131 
132 
133  //- Destructor
134  virtual ~LaunderGibsonRSTM()
135  {}
136 
137 
138  // Member Functions
139 
140  //- Return the effective diffusivity for R
142  {
143  return tmp<volScalarField>
144  (
145  new volScalarField("DREff", mut_/sigmaR_ + mu())
146  );
147  }
148 
149  //- Return the effective diffusivity for epsilon
151  {
152  return tmp<volScalarField>
153  (
154  new volScalarField("DepsilonEff", mut_/sigmaEps_ + mu())
155  );
156  }
157 
158  //- Return the turbulence viscosity
159  virtual tmp<volScalarField> mut() const
160  {
161  return mut_;
162  }
163 
164  //- Return the effective turbulent thermal diffusivity
166  {
167  return tmp<volScalarField>
168  (
169  new volScalarField("alphaEff", alphat_ + alpha())
170  );
171  }
172 
173  //- Return the turbulence kinetic energy
174  virtual tmp<volScalarField> k() const
175  {
176  return k_;
177  }
178 
179  //- Return the turbulence kinetic energy dissipation rate
180  virtual tmp<volScalarField> epsilon() const
181  {
182  return epsilon_;
183  }
184 
185  //- Return the Reynolds stress tensor
186  virtual tmp<volSymmTensorField> R() const
187  {
188  return R_;
189  }
190 
191  //- Return the effective stress tensor including the laminar stress
192  virtual tmp<volSymmTensorField> devRhoReff() const;
193 
194  //- Return the source term for the momentum equation
195  virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const;
196 
197  //- Solve the turbulence equations and correct the turbulence viscosity
198  virtual void correct();
199 
200  //- Read RASProperties dictionary
201  virtual bool read();
202 };
203 
204 
205 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
206 
207 } // End namespace RASModels
208 } // End namespace compressible
209 } // End namespace Foam
210 
211 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
212 
213 #endif
214 
215 // ************************ vim: set sw=4 sts=4 et: ************************ //