FreeFOAM The Cross-Platform CFD Toolkit
Hosted by SourceForge:
Get FreeFOAM at SourceForge.net.
            Fast, secure and Free Open Source software downloads

scaleSimilarity.H

Go to the documentation of this file.
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: ************************ //
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines