00001 /*---------------------------------------------------------------------------*\ 00002 ========= | 00003 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox 00004 \\ / O peration | 00005 \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. 00006 \\/ M anipulation | 00007 ------------------------------------------------------------------------------- 00008 License 00009 This file is part of OpenFOAM. 00010 00011 OpenFOAM is free software: you can redistribute it and/or modify it 00012 under the terms of the GNU General Public License as published by 00013 the Free Software Foundation, either version 3 of the License, or 00014 (at your option) any later version. 00015 00016 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT 00017 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00018 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00019 for more details. 00020 00021 You should have received a copy of the GNU General Public License 00022 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. 00023 00024 Class 00025 Foam::incompressible::LESModels::spectEddyVisc 00026 00027 Description 00028 The Isochoric spectral Eddy Viscosity Model for incompressible flows. 00029 00030 Algebraic eddy viscosity SGS model founded on the assumption that 00031 local equilibrium prevail and that viscous effects may be of importance. 00032 00033 Thus, 00034 @verbatim 00035 B = 2/3*k*I - 2*nuSgs*dev(D) 00036 Beff = 2/3*k*I - 2*nuEff*dev(D) 00037 00038 where 00039 00040 k = cK1*delta^(2/3)*eps^(2/3)*exp(-cK2*delta^(4/3)*nu*eps^(-1/3)) - 00041 ck3*sqrt(eps*nu)*erfc(ck4*delta^(-2/3)*sqrt(nu)*eps^(-1/6))) 00042 00043 nuEff = nu/(1 - exp(-cB*pow((nu/nuEff), 1.0/3.0)*pow(Re, -2.0/3.0))) 00044 nuSgs = nuEff - nu 00045 00046 Re = delta^2*mag(D)/nu 00047 @endverbatim 00048 00049 SourceFiles 00050 spectEddyVisc.C 00051 00052 \*---------------------------------------------------------------------------*/ 00053 00054 #ifndef spectEddyVisc_H 00055 #define spectEddyVisc_H 00056 00057 #include <incompressibleLESModels/GenEddyVisc.H> 00058 00059 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00060 00061 namespace Foam 00062 { 00063 namespace incompressible 00064 { 00065 namespace LESModels 00066 { 00067 00068 /*---------------------------------------------------------------------------*\ 00069 Class spectEddyVisc Declaration 00070 \*---------------------------------------------------------------------------*/ 00071 00072 class spectEddyVisc 00073 : 00074 public GenEddyVisc 00075 { 00076 // Private data 00077 00078 dimensionedScalar cB_; 00079 dimensionedScalar cK1_; 00080 dimensionedScalar cK2_; 00081 dimensionedScalar cK3_; 00082 dimensionedScalar cK4_; 00083 00084 00085 // Private Member Functions 00086 00087 //- Update sub-grid scale fields 00088 void updateSubGridScaleFields(const volTensorField& gradU); 00089 00090 // Disallow default bitwise copy construct and assignment 00091 spectEddyVisc(const spectEddyVisc&); 00092 spectEddyVisc& operator=(const spectEddyVisc&); 00093 00094 00095 public: 00096 00097 //- Runtime type information 00098 TypeName("spectEddyVisc"); 00099 00100 // Constructors 00101 00102 // Construct from components 00103 spectEddyVisc 00104 ( 00105 const volVectorField& U, 00106 const surfaceScalarField& phi, 00107 transportModel& transport 00108 ); 00109 00110 00111 //- Destructor 00112 virtual ~spectEddyVisc() 00113 {} 00114 00115 00116 // Member Functions 00117 00118 //- Return SGS kinetic energy 00119 virtual tmp<volScalarField> k() const; 00120 00121 //- Correct Eddy-Viscosity and related properties 00122 virtual void correct(const tmp<volTensorField>&); 00123 00124 //- Read LESProperties dictionary 00125 virtual bool read(); 00126 }; 00127 00128 00129 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00130 00131 } // End namespace LESModels 00132 } // End namespace incompressible 00133 } // End namespace Foam 00134 00135 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00136 00137 #endif 00138 00139 // ************************ vim: set sw=4 sts=4 et: ************************ //