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::spectEddyVisc
28 The Isochoric spectral Eddy Viscosity Model for incompressible flows.
30 Algebraic eddy viscosity SGS model founded on the assumption that
31 local equilibrium prevail and that viscous effects may be of importance.
35 B = 2/3*k*I - 2*nuSgs*dev(D)
36 Beff = 2/3*k*I - 2*nuEff*dev(D)
40 k = cK1*delta^(2/3)*eps^(2/3)*exp(-cK2*delta^(4/3)*nu*eps^(-1/3)) -
41 ck3*sqrt(eps*nu)*erfc(ck4*delta^(-2/3)*sqrt(nu)*eps^(-1/6)))
43 nuEff = nu/(1 - exp(-cB*pow((nu/nuEff), 1.0/3.0)*pow(Re, -2.0/3.0)))
46 Re = delta^2*mag(D)/nu
52 \*---------------------------------------------------------------------------*/
54 #ifndef spectEddyVisc_H
55 #define spectEddyVisc_H
57 #include "GenEddyVisc.H"
59 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
63 namespace incompressible
68 /*---------------------------------------------------------------------------*\
69 Class spectEddyVisc Declaration
70 \*---------------------------------------------------------------------------*/
78 dimensionedScalar cB_;
79 dimensionedScalar cK1_;
80 dimensionedScalar cK2_;
81 dimensionedScalar cK3_;
82 dimensionedScalar cK4_;
85 // Private Member Functions
87 //- Update sub-grid scale fields
88 void updateSubGridScaleFields(const volTensorField& gradU);
90 // Disallow default bitwise copy construct and assignment
91 spectEddyVisc(const spectEddyVisc&);
92 spectEddyVisc& operator=(const spectEddyVisc&);
97 //- Runtime type information
98 TypeName("spectEddyVisc");
102 // Construct from components
105 const volVectorField& U,
106 const surfaceScalarField& phi,
107 transportModel& transport
112 virtual ~spectEddyVisc()
118 //- Return SGS kinetic energy
119 virtual tmp<volScalarField> k() const;
121 //- Correct Eddy-Viscosity and related properties
122 virtual void correct(const tmp<volTensorField>&);
124 //- Read LESProperties dictionary
129 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
131 } // End namespace LESModels
132 } // End namespace incompressible
133 } // End namespace Foam
135 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
139 // ************************************************************************* //