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::incompressible::RASModels::LaunderGibsonRSTM
26 
27 Description
28  Launder-Gibson Reynolds stress turbulence model for incompressible 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  sigmaEps 1.3;
45  sigmaR 0.81967;
46  couplingFactor 0.0;
47  }
48  @endverbatim
49 
50 SourceFiles
51  LaunderGibsonRSTM.C
52 
53 \*---------------------------------------------------------------------------*/
54 
55 #ifndef LaunderGibsonRSTM_H
56 #define LaunderGibsonRSTM_H
57 
60 
61 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
62 
63 namespace Foam
64 {
65 namespace incompressible
66 {
67 namespace RASModels
68 {
69 
70 /*---------------------------------------------------------------------------*\
71  Class LaunderGibsonRSTM Declaration
72 \*---------------------------------------------------------------------------*/
73 
75 :
76  public RASModel
77 {
78  // Private data
79 
80  // Model coefficients
81 
82  dimensionedScalar Cmu_;
83  dimensionedScalar kappa_;
84 
85  dimensionedScalar Clg1_;
86  dimensionedScalar Clg2_;
87 
91  dimensionedScalar Ceps_;
92  dimensionedScalar sigmaR_;
93  dimensionedScalar sigmaEps_;
94 
95  dimensionedScalar C1Ref_;
96  dimensionedScalar C2Ref_;
97 
98  dimensionedScalar couplingFactor_;
99 
100 
101  // Fields
102 
103  wallDistReflection yr_;
104 
106  volScalarField k_;
107  volScalarField epsilon_;
108  volScalarField nut_;
109 
110 
111 public:
112 
113  //- Runtime type information
114  TypeName("LaunderGibsonRSTM");
115 
116  // Constructors
117 
118  //- Construct from components
120  (
121  const volVectorField& U,
122  const surfaceScalarField& phi,
124  );
125 
126 
127  //- Destructor
129  {}
130 
131 
132  // Member Functions
133 
134  //- Return the turbulence viscosity
135  virtual tmp<volScalarField> nut() const
136  {
137  return nut_;
138  }
139 
140  //- Return the effective diffusivity for R
142  {
143  return tmp<volScalarField>
144  (
145  new volScalarField("DREff", nut_/sigmaR_ + nu())
146  );
147  }
148 
149  //- Return the effective diffusivity for epsilon
151  {
152  return tmp<volScalarField>
153  (
154  new volScalarField("DepsilonEff", nut_/sigmaEps_ + nu())
155  );
156  }
157 
158  //- Return the turbulence kinetic energy
159  virtual tmp<volScalarField> k() const
160  {
161  return k_;
162  }
163 
164  //- Return the turbulence kinetic energy dissipation rate
165  virtual tmp<volScalarField> epsilon() const
166  {
167  return epsilon_;
168  }
169 
170  //- Return the Reynolds stress tensor
171  virtual tmp<volSymmTensorField> R() const
172  {
173  return R_;
174  }
175 
176  //- Return the effective stress tensor including the laminar stress
177  virtual tmp<volSymmTensorField> devReff() const;
178 
179  //- Return the source term for the momentum equation
181 
182  //- Solve the turbulence equations and correct the turbulence viscosity
183  virtual void correct();
184 
185  //- Read RASProperties dictionary
186  virtual bool read();
187 };
188 
189 
190 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
191 
192 } // End namespace RASModels
193 } // End namespace incompressible
194 } // End namespace Foam
195 
196 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
197 
198 #endif
199 
200 // ************************ vim: set sw=4 sts=4 et: ************************ //