1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
7 -------------------------------------------------------------------------------
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 the
13 Free Software Foundation; either version 2 of the License, or (at your
14 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
21 You should have received a copy of the GNU General Public License
22 along with OpenFOAM; if not, write to the Free Software Foundation,
23 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
26 Foam::incompressible::LESModels::spectEddyVisc
29 The Isochoric spectral Eddy Viscosity Model for incompressible flows.
31 Algebraic eddy viscosity SGS model founded on the assumption that
32 local equilibrium prevail and that viscous effects may be of importance.
36 B = 2/3*k*I - 2*nuSgs*dev(D)
37 Beff = 2/3*k*I - 2*nuEff*dev(D)
41 k = cK1*delta^(2/3)*eps^(2/3)*exp(-cK2*delta^(4/3)*nu*eps^(-1/3)) -
42 ck3*sqrt(eps*nu)*erfc(ck4*delta^(-2/3)*sqrt(nu)*eps^(-1/6)))
44 nuEff = nu/(1 - exp(-cB*pow((nu/nuEff), 1.0/3.0)*pow(Re, -2.0/3.0)))
47 Re = delta^2*mag(D)/nu
53 \*---------------------------------------------------------------------------*/
55 #ifndef spectEddyVisc_H
56 #define spectEddyVisc_H
58 #include "GenEddyVisc.H"
60 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
64 namespace incompressible
69 /*---------------------------------------------------------------------------*\
70 Class spectEddyVisc Declaration
71 \*---------------------------------------------------------------------------*/
79 dimensionedScalar cB_;
80 dimensionedScalar cK1_;
81 dimensionedScalar cK2_;
82 dimensionedScalar cK3_;
83 dimensionedScalar cK4_;
86 // Private Member Functions
88 //- Update sub-grid scale fields
89 void updateSubGridScaleFields(const volTensorField& gradU);
91 // Disallow default bitwise copy construct and assignment
92 spectEddyVisc(const spectEddyVisc&);
93 spectEddyVisc& operator=(const spectEddyVisc&);
98 //- Runtime type information
99 TypeName("spectEddyVisc");
103 // Construct from components
106 const volVectorField& U,
107 const surfaceScalarField& phi,
108 transportModel& transport
113 virtual ~spectEddyVisc()
119 //- Return SGS kinetic energy
120 virtual tmp<volScalarField> k() const;
122 //- Correct Eddy-Viscosity and related properties
123 virtual void correct(const tmp<volTensorField>&);
125 //- Read LESProperties dictionary
130 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
132 } // End namespace LESModels
133 } // End namespace incompressible
134 } // End namespace Foam
136 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
140 // ************************************************************************* //