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::scaleSimilarity 00026 00027 Description 00028 General base class for all scale similarity models 00029 for incompressible flows. 00030 00031 Since such models do not work without additional eddy viscosity terms, 00032 this class must be combined with an eddy viscosity model of some form. 00033 00034 SourceFiles 00035 scaleSimilarity.C 00036 00037 \*---------------------------------------------------------------------------*/ 00038 00039 #ifndef scaleSimilarity_H 00040 #define scaleSimilarity_H 00041 00042 #include <incompressibleLESModels/LESModel.H> 00043 #include <LESfilters/LESfilter.H> 00044 00045 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00046 00047 namespace Foam 00048 { 00049 namespace incompressible 00050 { 00051 namespace LESModels 00052 { 00053 00054 /*---------------------------------------------------------------------------*\ 00055 Class scaleSimilarity Declaration 00056 \*---------------------------------------------------------------------------*/ 00057 00058 class scaleSimilarity 00059 : 00060 virtual public LESModel 00061 { 00062 // Private data 00063 00064 autoPtr<LESfilter> filterPtr_; 00065 LESfilter& filter_; 00066 00067 00068 // Private Member Functions 00069 00070 // Disallow default bitwise copy construct and assignment 00071 scaleSimilarity(const scaleSimilarity&); 00072 scaleSimilarity& operator=(const scaleSimilarity&); 00073 00074 00075 public: 00076 00077 //- Runtime type information 00078 TypeName("scaleSimilarity"); 00079 00080 // Constructors 00081 00082 //- Construct from components 00083 scaleSimilarity 00084 ( 00085 const volVectorField& U, 00086 const surfaceScalarField& phi, 00087 transportModel& transport 00088 ); 00089 00090 00091 //- Destructor 00092 virtual ~scaleSimilarity() 00093 {} 00094 00095 00096 // Member Functions 00097 00098 //- Return the SGS turbulent kinetic energy. 00099 virtual tmp<volScalarField> k() const; 00100 00101 //- Return the SGS turbulent dissipation. 00102 virtual tmp<volScalarField> epsilon() const; 00103 00104 //- Return the sub-grid stress tensor. 00105 virtual tmp<volSymmTensorField> B() const; 00106 00107 //- Return the deviatoric part of the effective sub-grid 00108 // turbulence stress tensor including the laminar stress 00109 virtual tmp<volSymmTensorField> devBeff() const; 00110 00111 //- Return the deviatoric part of the divergence of Beff 00112 // i.e. the additional term in the filtered NSE. 00113 virtual tmp<fvVectorMatrix> divDevBeff(volVectorField& U) const; 00114 00115 //- Correct Eddy-Viscosity and related properties 00116 virtual void correct(const tmp<volTensorField>&); 00117 00118 //- Read LESProperties dictionary 00119 virtual bool read(); 00120 }; 00121 00122 00123 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00124 00125 } // End namespace LESModels 00126 } // End namespace incompressible 00127 } // End namespace Foam 00128 00129 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00130 00131 #endif 00132 00133 // ************************ vim: set sw=4 sts=4 et: ************************ //