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

LienCubicKELowRe.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::RASModels::LienCubicKELowRe
00026 
00027 Description
00028     Lien cubic non-linear low-Reynolds k-epsilon turbulence models for
00029     incompressible flows.
00030 
00031     References:
00032     @verbatim
00033         Lien, F.S., Chen, W.L., Leschziner, M.A.,
00034         "Low-Reynolds-number eddy-viscosity modeling based on non-linear
00035          stress-strain/vorticity relations"
00036         Engineering Turbulence Modelling and Experiments 3
00037         (Edited by Rodi, W. and Bergeles, G.), 91-100. 1996.
00038         Elsevier Science Publishers.
00039 
00040         Etemad, S., et al.,
00041         "Turbulent flow and heat transfer in a square-sectioned U bend"
00042         Progress in compuational fluid dynamics 6, 89-100. 2006.
00043     @endverbatim
00044 
00045 SourceFiles
00046     LienCubicKELowRe.C
00047 
00048 \*---------------------------------------------------------------------------*/
00049 
00050 #ifndef LienCubicKELowRe_H
00051 #define LienCubicKELowRe_H
00052 
00053 #include <incompressibleRASModels/RASModel.H>
00054 #include <finiteVolume/wallDist.H>
00055 
00056 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00057 
00058 namespace Foam
00059 {
00060 namespace incompressible
00061 {
00062 namespace RASModels
00063 {
00064 
00065 /*---------------------------------------------------------------------------*\
00066                            Class LienCubicKELowRe Declaration
00067 \*---------------------------------------------------------------------------*/
00068 
00069 class LienCubicKELowRe
00070 :
00071     public RASModel
00072 {
00073     // Private data
00074 
00075         // Model coefficients
00076 
00077             dimensionedScalar C1_;
00078             dimensionedScalar C2_;
00079             dimensionedScalar sigmak_;
00080             dimensionedScalar sigmaEps_;
00081             dimensionedScalar A1_;
00082             dimensionedScalar A2_;
00083             dimensionedScalar Ctau1_;
00084             dimensionedScalar Ctau2_;
00085             dimensionedScalar Ctau3_;
00086             dimensionedScalar alphaKsi_;
00087 
00088             dimensionedScalar CmuWall_;
00089             dimensionedScalar kappa_;
00090 
00091             dimensionedScalar Am_;
00092             dimensionedScalar Aepsilon_;
00093             dimensionedScalar Amu_;
00094 
00095 
00096         // Fields
00097 
00098             volScalarField k_;
00099             volScalarField epsilon_;
00100 
00101             wallDist y_;
00102 
00103             volTensorField gradU_;
00104             volScalarField eta_;
00105             volScalarField ksi_;
00106             volScalarField Cmu_;
00107             volScalarField fEta_;
00108             volScalarField C5viscosity_;
00109 
00110             volScalarField yStar_;
00111 
00112             volScalarField nut_;
00113 
00114             volSymmTensorField nonlinearStress_;
00115 
00116 
00117 public:
00118 
00119     //- Runtime type information
00120     TypeName("LienCubicKELowRe");
00121 
00122     // Constructors
00123 
00124         //- Construct from components
00125         LienCubicKELowRe
00126         (
00127             const volVectorField& U,
00128             const surfaceScalarField& phi,
00129             transportModel& transport
00130         );
00131 
00132 
00133     //- Destructor
00134     virtual ~LienCubicKELowRe()
00135     {}
00136 
00137 
00138     // Member Functions
00139 
00140         //- Return the turbulence viscosity
00141         virtual tmp<volScalarField> nut() const
00142         {
00143             return nut_;
00144         }
00145 
00146         //- Return the effective diffusivity for k
00147         tmp<volScalarField> DkEff() const
00148         {
00149             return tmp<volScalarField>
00150             (
00151                 new volScalarField("DkEff", nut_/sigmak_ + nu())
00152             );
00153         }
00154 
00155         //- Return the effective diffusivity for epsilon
00156         tmp<volScalarField> DepsilonEff() const
00157         {
00158             return tmp<volScalarField>
00159             (
00160                 new volScalarField("DepsilonEff", nut_/sigmaEps_ + nu())
00161             );
00162         }
00163 
00164         //- Return the turbulence kinetic energy
00165         virtual tmp<volScalarField> k() const
00166         {
00167             return k_;
00168         }
00169 
00170         //- Return the turbulence kinetic energy dissipation rate
00171         virtual tmp<volScalarField> epsilon() const
00172         {
00173             return epsilon_;
00174         }
00175 
00176         //- Return the Reynolds stress tensor
00177         virtual tmp<volSymmTensorField> R() const;
00178 
00179         //- Return the effective stress tensor including the laminar stress
00180         virtual tmp<volSymmTensorField> devReff() const;
00181 
00182         //- Return the source term for the momentum equation
00183         virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
00184 
00185         //- Solve the turbulence equations and correct the turbulence viscosity
00186         virtual void correct();
00187 
00188         //- Read RASProperties dictionary
00189         virtual bool read();
00190 };
00191 
00192 
00193 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00194 
00195 } // End namespace RASModels
00196 } // Edn namespace incompressible
00197 } // End namespace Foam
00198 
00199 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00200 
00201 #endif
00202 
00203 // ************************ vim: set sw=4 sts=4 et: ************************ //
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines