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::LRRDiffStress 00026 00027 Description 00028 Differential SGS Stress Equation Model for incompressible flows. 00029 00030 The DSEM uses a model version of the full balance equation for the SGS 00031 stress tensor to simulate the behaviour of B, hence, 00032 @verbatim 00033 d/dt(B) + div(U*B) - div(nuSgs*grad(B)) 00034 = 00035 P - c1*e/k*B - 0.667*(1 - c1)*e*I - c2*(P - 0.333*trP*I) 00036 where 00037 k = 0.5*trB, 00038 epsilon = ce*k^3/2/delta 00039 epsilon/k = ce*k^1/2/delta 00040 P = -(B'L + L'B) 00041 nuEff = ck*sqrt(k)*delta + nu 00042 @endverbatim 00043 00044 This version from Launder, Rece & Rodi 1975 00045 00046 SourceFiles 00047 LRRDiffStress.C 00048 00049 \*---------------------------------------------------------------------------*/ 00050 00051 #ifndef LRRDiffStress_H 00052 #define LRRDiffStress_H 00053 00054 #include <incompressibleLESModels/GenSGSStress.H> 00055 00056 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00057 00058 namespace Foam 00059 { 00060 namespace incompressible 00061 { 00062 namespace LESModels 00063 { 00064 00065 /*---------------------------------------------------------------------------*\ 00066 Class LRRDiffStress Declaration 00067 \*---------------------------------------------------------------------------*/ 00068 00069 class LRRDiffStress 00070 : 00071 public GenSGSStress 00072 { 00073 // Private data 00074 00075 dimensionedScalar ck_; 00076 dimensionedScalar c1_; 00077 dimensionedScalar c2_; 00078 00079 00080 // Private Member Functions 00081 00082 //- Update sub-grid scale fields 00083 void updateSubGridScaleFields(const volScalarField& K); 00084 00085 // Disallow default bitwise copy construct and assignment 00086 LRRDiffStress(const LRRDiffStress&); 00087 LRRDiffStress& operator=(const LRRDiffStress&); 00088 00089 00090 public: 00091 00092 //- Runtime type information 00093 TypeName("LRRDiffStress"); 00094 00095 // Constructors 00096 00097 //- Construct from components 00098 LRRDiffStress 00099 ( 00100 const volVectorField& U, 00101 const surfaceScalarField& phi, 00102 transportModel& transport 00103 ); 00104 00105 00106 //- Destructor 00107 virtual ~LRRDiffStress() 00108 {} 00109 00110 00111 // Member Functions 00112 00113 //- Return the effective diffusivity for B 00114 tmp<volScalarField> DBEff() const 00115 { 00116 return tmp<volScalarField> 00117 ( 00118 new volScalarField("DBEff", nuSgs_ + nu()) 00119 ); 00120 } 00121 00122 //- Correct Eddy-Viscosity and related properties 00123 virtual void correct(const tmp<volTensorField>& gradU); 00124 00125 //- Read LESProperties dictionary 00126 virtual bool read(); 00127 }; 00128 00129 00130 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00131 00132 } // End namespace LESModels 00133 } // End namespace incompressible 00134 } // End namespace Foam 00135 00136 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00137 00138 #endif 00139 00140 // ************************ vim: set sw=4 sts=4 et: ************************ //