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::XiEqModels::basicSubGrid 00026 00027 Description 00028 Basic sub-grid obstacle flame-wrinking enhancement factor model. 00029 Details supplied by J Puttock 2/7/06. 00030 00031 <b> Sub-grid flame area generation </b> 00032 00033 \f$ n = N - \hat{\dwea{\vec{U}}}.n_{s}.\hat{\dwea{\vec{U}}} \f$ 00034 \f$ n_{r} = \sqrt{n} \f$ 00035 00036 where: 00037 00038 \f$ \hat{\dwea{\vec{U}}} = \dwea{\vec{U}} / \vert \dwea{\vec{U}} 00039 \vert \f$ 00040 00041 \f$ b = \hat{\dwea{\vec{U}}}.B.\hat{\dwea{\vec{U}}} / n_{r} \f$ 00042 00043 where: 00044 00045 \f$ B \f$ is the file "B". 00046 00047 \f$ N \f$ is the file "N". 00048 00049 \f$ n_{s} \f$ is the file "ns". 00050 00051 The flame area enhancement factor \f$ \Xi_{sub} \f$ is expected to 00052 approach: 00053 00054 \f[ 00055 \Xi_{{sub}_{eq}} = 00056 1 + max(2.2 \sqrt{b}, min(0.34 \frac{\vert \dwea{\vec{U}} 00057 \vert}{{\vec{U}}^{'}}, 1.6)) \times min(\frac{n}{4}, 1) 00058 \f] 00059 00060 00061 SourceFiles 00062 basicSubGrid.C 00063 00064 \*---------------------------------------------------------------------------*/ 00065 00066 #ifndef basicSubGrid_H 00067 #define basicSubGrid_H 00068 00069 #include "../../../XiModels/XiEqModels/XiEqModel/XiEqModel.H" 00070 00071 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00072 00073 namespace Foam 00074 { 00075 namespace XiEqModels 00076 { 00077 00078 /*---------------------------------------------------------------------------*\ 00079 Class basicSubGrid Declaration 00080 \*---------------------------------------------------------------------------*/ 00081 00082 class basicSubGrid 00083 : 00084 public XiEqModel 00085 { 00086 // Private data 00087 00088 //- Count 00089 volScalarField N_; 00090 00091 //- Sub-count 00092 volSymmTensorField ns_; 00093 00094 //- tblock 00095 volSymmTensorField B_; 00096 00097 //- Typical obstacle diameters per cell 00098 volScalarField Lobs_; 00099 00100 //- Equilibrium Xi model due to turbulence 00101 autoPtr<XiEqModel> XiEqModel_; 00102 00103 00104 // Private Member Functions 00105 00106 //- Disallow copy construct 00107 basicSubGrid(const basicSubGrid&); 00108 00109 //- Disallow default bitwise assignment 00110 void operator=(const basicSubGrid&); 00111 00112 00113 public: 00114 00115 //- Runtime type information 00116 TypeName("basicSubGrid"); 00117 00118 00119 // Constructors 00120 00121 //- Construct from components 00122 basicSubGrid 00123 ( 00124 const dictionary& XiEqProperties, 00125 const hhuCombustionThermo& thermo, 00126 const compressible::RASModel& turbulence, 00127 const volScalarField& Su 00128 ); 00129 00130 00131 // Destructor 00132 00133 virtual ~basicSubGrid(); 00134 00135 00136 // Member Functions 00137 00138 //- Return the flame-wrinking XiEq 00139 virtual tmp<volScalarField> XiEq() const; 00140 00141 //- Update properties from given dictionary 00142 virtual bool read(const dictionary& XiEqProperties); 00143 }; 00144 00145 00146 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00147 00148 } // End namespace XiEqModels 00149 } // End namespace Foam 00150 00151 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00152 00153 #endif 00154 00155 // ************************ vim: set sw=4 sts=4 et: ************************ //