BUG: UListIO: byteSize overflowing on really big faceLists
[OpenFOAM-2.0.x.git] / src / turbulenceModels / compressible / LES / lowReOneEqEddy / lowReOneEqEddy.H
blob42aca80291b0de45645b2cbf7568e3af6138fb32
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
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::lowReOneEqEddy
27 Description
28     One Equation Eddy Viscosity Model for compressible flow
30     \verbatim
31         d/dt(rho*k) + div(rho*U*k) - div(muEff*grad(k))
32         =
33         -rho*B*L - ce*rho*k^3/2/delta
35     and
37         B = 2/3*k*I - 2*nuSgs*dev(D)
39     where
41         nuSgsHiRe = ck*sqrt(k)*delta
42         nuSgs = (nu/beta)*(1 - exp(-beta*nuSgsHiRe/nu));
43     \endverbatim
45 SourceFiles
46     lowReOneEqEddy.C
48 \*---------------------------------------------------------------------------*/
50 #ifndef compressibleLowReOneEqEddy_H
51 #define compressibleLowReOneEqEddy_H
53 #include "GenEddyVisc.H"
55 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
57 namespace Foam
59 namespace compressible
61 namespace LESModels
64 /*---------------------------------------------------------------------------*\
65                            Class lowReOneEqEddy Declaration
66 \*---------------------------------------------------------------------------*/
68 class lowReOneEqEddy
70     public GenEddyVisc
72     // Private data
74         volScalarField k_;
76         dimensionedScalar ck_;
77         dimensionedScalar beta_;
79     // Private Member Functions
81         //- Update sub-grid scale fields
82         void updateSubGridScaleFields();
84         // Disallow default bitwise copy construct and assignment
85         lowReOneEqEddy(const lowReOneEqEddy&);
86         lowReOneEqEddy& operator=(const lowReOneEqEddy&);
89 public:
91     //- Runtime type information
92     TypeName("lowReOneEqEddy");
95     // Constructors
97         //- Constructor from components
98         lowReOneEqEddy
99         (
100             const volScalarField& rho,
101             const volVectorField& U,
102             const surfaceScalarField& phi,
103             const basicThermo& thermoPhysicalModel,
104             const word& turbulenceModelName = turbulenceModel::typeName,
105             const word& modelName = typeName
106         );
109     //- Destructor
110     virtual ~lowReOneEqEddy()
111     {}
114     // Member Functions
116         //- Return SGS kinetic energy
117         virtual tmp<volScalarField> k() const
118         {
119             return k_;
120         }
122         //- Return the effective diffusivity for k
123         tmp<volScalarField> DkEff() const
124         {
125             return tmp<volScalarField>
126             (
127                 new volScalarField("DkEff", muSgs_ + mu())
128             );
129         }
131         //- Correct Eddy-Viscosity and related properties
132         virtual void correct(const tmp<volTensorField>& gradU);
134         //- Read LESProperties dictionary
135         virtual bool read();
139 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
141 } // End namespace LESModels
142 } // End namespace compressible
143 } // End namespace Foam
145 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
147 #endif
149 // ************************************************************************* //