![]() |
|
00001 /*---------------------------------------------------------------------------*\ 00002 ========= | 00003 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox 00004 \\ / O peration | 00005 \\ / A nd | Copyright (C) 1991-2005 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 the 00013 Free Software Foundation; either version 2 of the License, or (at your 00014 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, write to the Free Software Foundation, 00023 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00024 00025 Class 00026 spectEddyVisc 00027 00028 Description 00029 <pre> 00030 The Isochoric spectral Eddy Viscosity Model 00031 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00032 Algebraic eddy viscosity SGS model founded on the assumption that 00033 local equilibrium prevail and that viscous effects may be of importance, 00034 hence 00035 00036 B = 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 00045 Re = delta^2*mag(D)/nu 00046 </pre> 00047 00048 SourceFiles 00049 spectEddyVisc.C 00050 00051 \*---------------------------------------------------------------------------*/ 00052 00053 #ifndef spectEddyVisc_H 00054 #define spectEddyVisc_H 00055 00056 #include "GenEddyVisc.H" 00057 00058 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00059 00060 namespace Foam 00061 { 00062 namespace LESmodels 00063 { 00064 00065 /*---------------------------------------------------------------------------*\ 00066 Class spectEddyVisc Declaration 00067 \*---------------------------------------------------------------------------*/ 00068 00069 class spectEddyVisc 00070 : 00071 public GenEddyVisc 00072 { 00073 // Private data 00074 00075 dimensionedScalar cB_; 00076 dimensionedScalar cK1_; 00077 dimensionedScalar cK2_; 00078 dimensionedScalar cK3_; 00079 dimensionedScalar cK4_; 00080 00081 00082 // Private Member Functions 00083 00084 // Disallow default bitwise copy construct and assignment 00085 spectEddyVisc(const spectEddyVisc&); 00086 spectEddyVisc& operator=(const spectEddyVisc&); 00087 00088 00089 public: 00090 00091 //- Runtime type information 00092 TypeName("spectEddyVisc"); 00093 00094 // Constructors 00095 00096 // from components 00097 spectEddyVisc 00098 ( 00099 const volVectorField& U, 00100 const surfaceScalarField& phi, 00101 transportModel& transport 00102 ); 00103 00104 00105 // Destructor 00106 00107 ~spectEddyVisc() 00108 {} 00109 00110 00111 // Member Functions 00112 00113 //- Return SGS kinetic energy 00114 tmp<volScalarField> k() const; 00115 00116 //- Correct Eddy-Viscosity and related properties 00117 void correct(const tmp<volTensorField>&); 00118 00119 //- Read turbulenceProperties dictionary 00120 bool read(); 00121 }; 00122 00123 00124 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00125 00126 } // End namespace LESmodels 00127 } // End namespace Foam 00128 00129 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00130 00131 #endif 00132 00133 // ************************************************************************* //