ENH: patchCloud: return pTraits<Type>::max for unfound points
[OpenFOAM-1.7.x.git] / src / turbulenceModels / compressible / LES / Smagorinsky / Smagorinsky.H
blob61c9e9ad6741bf1dcca08400ff4796a7293a35be
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.
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.
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.
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/>.
24 Class
25     Foam::compressible::LESModels::Smagorinsky
27 Description
28     The choric Smagorinsky Model for compressible flows.
30     Algebraic eddy viscosity SGS model founded on the assumption that
31     local equilibrium prevails.
32     Thus,
33     @verbatim
35         B = 2/3*k*I - 2*nuSgs*dev(D)
37     where
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
44 SourceFiles
45     Smagorinsky.C
47 \*---------------------------------------------------------------------------*/
49 #ifndef compressibleSmagorinsky_H
50 #define compressibleSmagorinsky_H
52 #include "GenEddyVisc.H"
54 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
56 namespace Foam
58 namespace compressible
60 namespace LESModels
63 /*---------------------------------------------------------------------------*\
64                            Class Smagorinsky Declaration
65 \*---------------------------------------------------------------------------*/
67 class Smagorinsky
69     public GenEddyVisc
71     // Private data
73         dimensionedScalar ck_;
76     // Private Member Functions
78         //- Update sub-grid scale fields
79         void updateSubGridScaleFields(const volTensorField& gradU);
81         // Disallow default bitwise copy construct and assignment
82         Smagorinsky(const Smagorinsky&);
83         Smagorinsky& operator=(const Smagorinsky&);
86 public:
88     //- Runtime type information
89     TypeName("Smagorinsky");
91     // Constructors
93         //- Construct from components
94         Smagorinsky
95         (
96             const volScalarField& rho,
97             const volVectorField& U,
98             const surfaceScalarField& phi,
99             const basicThermo& thermoPhysicalModel
100         );
103     //- Destructor
104     virtual ~Smagorinsky()
105     {}
108     // Member Functions
110         //- Correct Eddy-Viscosity and related properties
111         virtual void correct(const tmp<volTensorField>& gradU);
113         //- Read LESProperties dictionary
114         virtual bool read();
118 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
120 } // End namespace LESModels
121 } // End namespace compressible
122 } // End namespace Foam
124 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
126 #endif
128 // ************************************************************************* //