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