1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | foam-extend: Open Source CFD
4 \\ / O peration | Version: 3.2
5 \\ / A nd | Web: http://www.foam-extend.org
6 \\/ M anipulation | For copyright notice see file Copyright
7 -------------------------------------------------------------------------------
9 This file is part of foam-extend.
11 foam-extend is free software: you can redistribute it and/or modify it
12 under the terms of the GNU General Public License as published by the
13 Free Software Foundation, either version 3 of the License, or (at your
14 option) any later version.
16 foam-extend is distributed in the hope that it will be useful, but
17 WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 General Public License for more details.
21 You should have received a copy of the GNU General Public License
22 along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
25 Foam::incompressible::LESModels::scaleSimilarity
28 General base class for all scale similarity models
29 for incompressible flows.
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.
37 \*---------------------------------------------------------------------------*/
39 #ifndef scaleSimilarity_H
40 #define scaleSimilarity_H
43 #include "LESfilter.H"
45 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
49 namespace incompressible
54 /*---------------------------------------------------------------------------*\
55 Class scaleSimilarity Declaration
56 \*---------------------------------------------------------------------------*/
60 virtual public LESModel
64 autoPtr<LESfilter> filterPtr_;
68 // Private Member Functions
70 // Disallow default bitwise copy construct and assignment
71 scaleSimilarity(const scaleSimilarity&);
72 scaleSimilarity& operator=(const scaleSimilarity&);
77 //- Runtime type information
78 TypeName("scaleSimilarity");
82 //- Construct from components
85 const volVectorField& U,
86 const surfaceScalarField& phi,
87 transportModel& transport
92 virtual ~scaleSimilarity()
98 //- Return the SGS turbulent kinetic energy.
99 virtual tmp<volScalarField> k() const;
101 //- Return the SGS turbulent dissipation.
102 virtual tmp<volScalarField> epsilon() const;
104 //- Return the sub-grid stress tensor.
105 virtual tmp<volSymmTensorField> B() const;
107 //- Return the deviatoric part of the effective sub-grid
108 // turbulence stress tensor including the laminar stress
109 virtual tmp<volSymmTensorField> devBeff() const;
111 //- Return the deviatoric part of the divergence of Beff
112 // i.e. the additional term in the filtered NSE.
113 virtual tmp<fvVectorMatrix> divDevBeff(volVectorField& U) const;
115 //- Correct Eddy-Viscosity and related properties
116 virtual void correct(const tmp<volTensorField>&);
118 //- Read LESProperties dictionary
123 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
125 } // End namespace LESModels
126 } // End namespace incompressible
127 } // End namespace Foam
129 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
133 // ************************************************************************* //