FreeFOAM The Cross-Platform CFD Toolkit
Smagorinsky.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::LESModels::Smagorinsky
26 
27 Description
28  The choric Smagorinsky Model for compressible flows.
29 
30  Algebraic eddy viscosity SGS model founded on the assumption that
31  local equilibrium prevails.
32  Thus,
33  @verbatim
34 
35  B = 2/3*k*I - 2*nuSgs*dev(D)
36 
37  where
38 
39  D = symm(grad(U));
40  k from rho*D:B + ce*rho*k^3/2/delta = 0
41  muSgs = ck*rho*sqrt(k)*delta
42  @endverbatim
43 
44 SourceFiles
45  Smagorinsky.C
46 
47 \*---------------------------------------------------------------------------*/
48 
49 #ifndef compressibleSmagorinsky_H
50 #define compressibleSmagorinsky_H
51 
53 
54 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
55 
56 namespace Foam
57 {
58 namespace compressible
59 {
60 namespace LESModels
61 {
62 
63 /*---------------------------------------------------------------------------*\
64  Class Smagorinsky Declaration
65 \*---------------------------------------------------------------------------*/
66 
68 :
69  public GenEddyVisc
70 {
71  // Private data
72 
74 
75 
76  // Private Member Functions
77 
78  //- Update sub-grid scale fields
79  void updateSubGridScaleFields(const volTensorField& gradU);
80 
81  // Disallow default bitwise copy construct and assignment
82  Smagorinsky(const Smagorinsky&);
83  Smagorinsky& operator=(const Smagorinsky&);
84 
85 
86 public:
87 
88  //- Runtime type information
89  TypeName("Smagorinsky");
90 
91  // Constructors
92 
93  //- Construct from components
95  (
96  const volScalarField& rho,
97  const volVectorField& U,
98  const surfaceScalarField& phi,
99  const basicThermo& thermoPhysicalModel
100  );
101 
102 
103  //- Destructor
104  virtual ~Smagorinsky()
105  {}
106 
107 
108  // Member Functions
109 
110  //- Correct Eddy-Viscosity and related properties
111  virtual void correct(const tmp<volTensorField>& gradU);
112 
113  //- Read LESProperties dictionary
114  virtual bool read();
115 };
116 
117 
118 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
119 
120 } // End namespace LESModels
121 } // End namespace compressible
122 } // End namespace Foam
123 
124 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
125 
126 #endif
127 
128 // ************************ vim: set sw=4 sts=4 et: ************************ //