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::LRR 00026 00027 Description 00028 Launder, Reece and Rodi Reynolds-stress turbulence model for 00029 incompressible flows. 00030 00031 The default model coefficients correspond to the following: 00032 @verbatim 00033 LRRCoeffs 00034 { 00035 Cmu 0.09; 00036 Clrr1 1.8; 00037 Clrr2 0.6; 00038 C1 1.44; 00039 C2 1.92; 00040 Cs 0.25; 00041 Ceps 0.15; 00042 sigmaEps 1.3; 00043 couplingFactor 0.0; // only for incompressible 00044 } 00045 @endverbatim 00046 00047 SourceFiles 00048 LRR.C 00049 00050 \*---------------------------------------------------------------------------*/ 00051 00052 #ifndef LRR_H 00053 #define LRR_H 00054 00055 #include <incompressibleRASModels/RASModel.H> 00056 00057 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00058 00059 namespace Foam 00060 { 00061 namespace incompressible 00062 { 00063 namespace RASModels 00064 { 00065 00066 /*---------------------------------------------------------------------------*\ 00067 Class LRR Declaration 00068 \*---------------------------------------------------------------------------*/ 00069 00070 class LRR 00071 : 00072 public RASModel 00073 { 00074 // Private data 00075 00076 // Model coefficients 00077 00078 dimensionedScalar Cmu_; 00079 00080 dimensionedScalar Clrr1_; 00081 dimensionedScalar Clrr2_; 00082 00083 dimensionedScalar C1_; 00084 dimensionedScalar C2_; 00085 dimensionedScalar Cs_; 00086 dimensionedScalar Ceps_; 00087 dimensionedScalar sigmaEps_; 00088 00089 dimensionedScalar couplingFactor_; 00090 00091 00092 // Fields 00093 00094 volSymmTensorField R_; 00095 volScalarField k_; 00096 volScalarField epsilon_; 00097 volScalarField nut_; 00098 00099 00100 public: 00101 00102 //- Runtime type information 00103 TypeName("LRR"); 00104 00105 // Constructors 00106 00107 //- Construct from components 00108 LRR 00109 ( 00110 const volVectorField& U, 00111 const surfaceScalarField& phi, 00112 transportModel& transport 00113 ); 00114 00115 00116 //- Destructor 00117 virtual ~LRR() 00118 {} 00119 00120 00121 // Member Functions 00122 00123 //- Return the turbulence viscosity 00124 virtual tmp<volScalarField> nut() const 00125 { 00126 return nut_; 00127 } 00128 00129 //- Return the effective diffusivity for R 00130 tmp<volScalarField> DREff() const 00131 { 00132 return tmp<volScalarField> 00133 ( 00134 new volScalarField("DREff", nut_ + nu()) 00135 ); 00136 } 00137 00138 //- Return the effective diffusivity for epsilon 00139 tmp<volScalarField> DepsilonEff() const 00140 { 00141 return tmp<volScalarField> 00142 ( 00143 new volScalarField("DepsilonEff", nut_/sigmaEps_ + nu()) 00144 ); 00145 } 00146 00147 //- Return the turbulence kinetic energy 00148 virtual tmp<volScalarField> k() const 00149 { 00150 return k_; 00151 } 00152 00153 //- Return the turbulence kinetic energy dissipation rate 00154 virtual tmp<volScalarField> epsilon() const 00155 { 00156 return epsilon_; 00157 } 00158 00159 //- Return the Reynolds stress tensor 00160 virtual tmp<volSymmTensorField> R() const 00161 { 00162 return R_; 00163 } 00164 00165 //- Return the effective stress tensor including the laminar stress 00166 virtual tmp<volSymmTensorField> devReff() const; 00167 00168 //- Return the source term for the momentum equation 00169 virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const; 00170 00171 //- Solve the turbulence equations and correct the turbulence viscosity 00172 virtual void correct(); 00173 00174 //- Read RASProperties dictionary 00175 virtual bool read(); 00176 }; 00177 00178 00179 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00180 00181 } // End namespace RASModels 00182 } // End namespace incompressible 00183 } // End namespace Foam 00184 00185 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00186 00187 #endif 00188 00189 // ************************ vim: set sw=4 sts=4 et: ************************ //