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::XiGModel 00026 00027 Description 00028 Base-class for all Xi generation models used by the b-Xi combustion model. 00029 See Technical Report SH/RE/01R for details on the PDR modelling. For details 00030 on the use of XiGModel see \link XiModel.H \endlink. The model available is 00031 \link instabilityG.H \endlink 00032 00033 SourceFiles 00034 XiGModel.C 00035 00036 \*---------------------------------------------------------------------------*/ 00037 00038 #ifndef XiGModel_H 00039 #define XiGModel_H 00040 00041 #include <OpenFOAM/IOdictionary.H> 00042 #include <reactionThermophysicalModels/hhuCombustionThermo.H> 00043 #include <compressibleRASModels/RASModel.H> 00044 #include <OpenFOAM/runTimeSelectionTables.H> 00045 00046 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00047 00048 namespace Foam 00049 { 00050 00051 /*---------------------------------------------------------------------------*\ 00052 Class XiGModel Declaration 00053 \*---------------------------------------------------------------------------*/ 00054 00055 class XiGModel 00056 { 00057 00058 protected: 00059 00060 // Protected data 00061 00062 dictionary XiGModelCoeffs_; 00063 00064 const hhuCombustionThermo& thermo_; 00065 const compressible::RASModel& turbulence_; 00066 const volScalarField& Su_; 00067 00068 00069 private: 00070 00071 // Private Member Functions 00072 00073 //- Disallow copy construct 00074 XiGModel(const XiGModel&); 00075 00076 //- Disallow default bitwise assignment 00077 void operator=(const XiGModel&); 00078 00079 00080 public: 00081 00082 //- Runtime type information 00083 TypeName("XiGModel"); 00084 00085 00086 // Declare run-time constructor selection table 00087 00088 declareRunTimeSelectionTable 00089 ( 00090 autoPtr, 00091 XiGModel, 00092 dictionary, 00093 ( 00094 const dictionary& XiGProperties, 00095 const hhuCombustionThermo& thermo, 00096 const compressible::RASModel& turbulence, 00097 const volScalarField& Su 00098 ), 00099 ( 00100 XiGProperties, 00101 thermo, 00102 turbulence, 00103 Su 00104 ) 00105 ); 00106 00107 00108 // Selectors 00109 00110 //- Return a reference to the selected XiG model 00111 static autoPtr<XiGModel> New 00112 ( 00113 const dictionary& XiGProperties, 00114 const hhuCombustionThermo& thermo, 00115 const compressible::RASModel& turbulence, 00116 const volScalarField& Su 00117 ); 00118 00119 00120 // Constructors 00121 00122 //- Construct from components 00123 XiGModel 00124 ( 00125 const dictionary& XiGProperties, 00126 const hhuCombustionThermo& thermo, 00127 const compressible::RASModel& turbulence, 00128 const volScalarField& Su 00129 ); 00130 00131 00132 // Destructor 00133 00134 virtual ~XiGModel(); 00135 00136 00137 // Member Functions 00138 00139 //- Return the flame-wrinking genration rate 00140 virtual tmp<volScalarField> G() const = 0; 00141 00142 //- Return the flame diffusivity 00143 virtual tmp<volScalarField> Db() const 00144 { 00145 return turbulence_.muEff(); 00146 } 00147 00148 //- Update properties from given dictionary 00149 virtual bool read(const dictionary& XiGProperties) = 0; 00150 }; 00151 00152 00153 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00154 00155 } // End namespace Foam 00156 00157 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00158 00159 #endif 00160 00161 // ************************ vim: set sw=4 sts=4 et: ************************ //