![]() |
|
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 QZeta 00027 00028 Description 00029 Gibson and Dafa'Alla's q-zeta two-equation low-Re turbulence model. 00030 00031 SourceFiles 00032 QZeta.C 00033 QZetaCorrect.C 00034 00035 \*---------------------------------------------------------------------------*/ 00036 00037 #ifndef QZeta_H 00038 #define QZeta_H 00039 00040 #include "turbulenceModel.H" 00041 00042 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00043 00044 namespace Foam 00045 { 00046 namespace turbulenceModels 00047 { 00048 00049 /*---------------------------------------------------------------------------*\ 00050 Class QZeta Declaration 00051 \*---------------------------------------------------------------------------*/ 00052 00053 class QZeta 00054 : 00055 public turbulenceModel 00056 { 00057 // Private data 00058 00059 dimensionedScalar Cmu; 00060 dimensionedScalar C1; 00061 dimensionedScalar C2; 00062 dimensionedScalar alphaZeta; 00063 Switch Anisotropic; 00064 00065 volScalarField k_; 00066 volScalarField epsilon_; 00067 00068 volScalarField q_; 00069 volScalarField zeta_; 00070 00071 volScalarField nut_; 00072 00073 00074 // Private member functions 00075 00076 tmp<volScalarField> fMu() const; 00077 tmp<volScalarField> f2() const; 00078 00079 00080 public: 00081 00082 //- Runtime type information 00083 TypeName("QZeta"); 00084 00085 // Constructors 00086 00087 //- from components 00088 QZeta 00089 ( 00090 const volVectorField& U, 00091 const surfaceScalarField& phi, 00092 transportModel& transport 00093 ); 00094 00095 00096 // Destructor 00097 00098 ~QZeta(){} 00099 00100 00101 // Member Functions 00102 00103 tmp<volScalarField> nut() const 00104 { 00105 return nut_; 00106 } 00107 00108 //- Return the effective diffusivity for q 00109 tmp<volScalarField> DqEff() const 00110 { 00111 return tmp<volScalarField> 00112 ( 00113 new volScalarField("DqEff", nut_ + nu()) 00114 ); 00115 } 00116 00117 //- Return the effective diffusivity for epsilon 00118 tmp<volScalarField> DzetaEff() const 00119 { 00120 return tmp<volScalarField> 00121 ( 00122 new volScalarField("DzetaEff", alphaZeta*nut_ + nu()) 00123 ); 00124 } 00125 00126 tmp<volScalarField> k() const 00127 { 00128 return k_; 00129 } 00130 00131 tmp<volScalarField> epsilon() const 00132 { 00133 return epsilon_; 00134 } 00135 00136 tmp<volTensorField> R() const; 00137 00138 const volScalarField& q() const 00139 { 00140 return q_; 00141 } 00142 00143 const volScalarField& zeta() const 00144 { 00145 return zeta_; 00146 } 00147 00148 tmp<fvVectorMatrix> divR(volVectorField& U) const; 00149 00150 void correct(); 00151 00152 //- Read turbulenceProperties dictionary 00153 bool read(); 00154 }; 00155 00156 00157 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00158 00159 } // End namespace turbulenceModels 00160 } // End namespace Foam 00161 00162 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00163 00164 #endif 00165 00166 // ************************************************************************* //