OpenFOAM logo
Open Source CFD Toolkit

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