FreeFOAM The Cross-Platform CFD Toolkit
scaleSimilarity.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::LESModels::scaleSimilarity
26 
27 Description
28  General base class for all scale similarity models
29  for incompressible flows.
30 
31  Since such models do not work without additional eddy viscosity terms,
32  this class must be combined with an eddy viscosity model of some form.
33 
34 SourceFiles
35  scaleSimilarity.C
36 
37 \*---------------------------------------------------------------------------*/
38 
39 #ifndef scaleSimilarity_H
40 #define scaleSimilarity_H
41 
43 #include <LESfilters/LESfilter.H>
44 
45 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46 
47 namespace Foam
48 {
49 namespace incompressible
50 {
51 namespace LESModels
52 {
53 
54 /*---------------------------------------------------------------------------*\
55  Class scaleSimilarity Declaration
56 \*---------------------------------------------------------------------------*/
57 
59 :
60  virtual public LESModel
61 {
62  // Private data
63 
64  autoPtr<LESfilter> filterPtr_;
65  LESfilter& filter_;
66 
67 
68  // Private Member Functions
69 
70  // Disallow default bitwise copy construct and assignment
72  scaleSimilarity& operator=(const scaleSimilarity&);
73 
74 
75 public:
76 
77  //- Runtime type information
78  TypeName("scaleSimilarity");
79 
80  // Constructors
81 
82  //- Construct from components
84  (
85  const volVectorField& U,
86  const surfaceScalarField& phi,
88  );
89 
90 
91  //- Destructor
92  virtual ~scaleSimilarity()
93  {}
94 
95 
96  // Member Functions
97 
98  //- Return the SGS turbulent kinetic energy.
99  virtual tmp<volScalarField> k() const;
100 
101  //- Return the SGS turbulent dissipation.
102  virtual tmp<volScalarField> epsilon() const;
103 
104  //- Return the sub-grid stress tensor.
105  virtual tmp<volSymmTensorField> B() const;
106 
107  //- Return the deviatoric part of the effective sub-grid
108  // turbulence stress tensor including the laminar stress
109  virtual tmp<volSymmTensorField> devBeff() const;
110 
111  //- Return the deviatoric part of the divergence of Beff
112  // i.e. the additional term in the filtered NSE.
114 
115  //- Correct Eddy-Viscosity and related properties
116  virtual void correct(const tmp<volTensorField>&);
117 
118  //- Read LESProperties dictionary
119  virtual bool read();
120 };
121 
122 
123 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
124 
125 } // End namespace LESModels
126 } // End namespace incompressible
127 } // End namespace Foam
128 
129 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
130 
131 #endif
132 
133 // ************************ vim: set sw=4 sts=4 et: ************************ //