1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
7 -------------------------------------------------------------------------------
9 This file is part of OpenFOAM.
11 OpenFOAM is free software: you can redistribute it and/or modify it
12 under the terms of the GNU General Public License as published by
13 the Free Software Foundation, either version 3 of the License, or
14 (at your option) any later version.
16 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 You should have received a copy of the GNU General Public License
22 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 Foam::radiation::greyMeanAbsorptionEmission
28 greyMeanAbsorptionEmission radiation absorption and emission coefficients
31 The coefficients for the species in the Look up table have to be specified
32 for use in moles x P [atm], i.e. (k[i] = species[i]*p*9.869231e-6).
34 The coefficients for CO and soot or any other added are multiplied by the
35 respective mass fraction being solved
37 All the species in the dictionary need either to be in the look-up table or
38 being solved. Conversely, all the species solved do not need to be included
39 in the calculation of the absorption coefficient
41 The names of the species in the absorption dictionary must match exactly the
42 name in the look-up table or the name of the field being solved
44 The look-up table ("speciesTable") file should be in constant
48 LookUpTableFileName "speciesTable";
54 Tcommon 300.; // Common Temp
55 invTemp true; // Is the polynomial using inverse temperature?
56 Tlow 300.; // Low Temp
57 Thigh 2500.; // High Temp
59 loTcoeffs // coeffs for T < Tcommon
68 hiTcoeffs // coeffs for T > Tcommon
81 greyMeanAbsorptionEmission.C
83 \*---------------------------------------------------------------------------*/
85 #ifndef greyMeanAbsorptionEmission_H
86 #define greyMeanAbsorptionEmission_H
88 #include "interpolationLookUpTable.H"
89 #include "absorptionEmissionModel.H"
90 #include "HashTable.H"
91 #include "absorptionCoeffs.H"
92 #include "basicThermo.H"
94 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
101 /*---------------------------------------------------------------------------*\
102 Class greyMeanAbsorptionEmission Declaration
103 \*---------------------------------------------------------------------------*/
105 class greyMeanAbsorptionEmission
107 public absorptionEmissionModel
113 // Maximum number of species considered for absorptivity
114 static const int nSpecies_ = 5;
116 // Absorption Coefficients
117 absorptionCoeffs coeffs_[nSpecies_];
124 //- Absorption model dictionary
125 dictionary coeffsDict_;
127 //- Hash table of species names
128 HashTable<label> speciesNames_;
130 //- Indices of species in the look-up table
131 FixedList<label, nSpecies_> specieIndex_;
133 //- Look-up table of species related to ft
134 mutable autoPtr<interpolationLookUpTable<scalar> > lookUpTablePtr_;
136 //- SLG thermo package
137 const basicThermo& thermo_;
139 //- Emission constant coefficient
140 const scalar EhrrCoeff_;
142 //- Pointer list of species in the registry involved in the absorption
143 UPtrList<volScalarField> Yj_;
148 //- Runtime type information
149 TypeName("greyMeanAbsorptionEmission");
154 //- Construct from components
155 greyMeanAbsorptionEmission
157 const dictionary& dict,
163 virtual ~greyMeanAbsorptionEmission();
170 // Absorption coefficient
172 //- Absorption coefficient for continuous phase
173 tmp<volScalarField> aCont(const label bandI = 0) const;
176 // Emission coefficient
178 //- Emission coefficient for continuous phase
179 tmp<volScalarField> eCont(const label bandI = 0) const;
182 // Emission contribution
184 //- Emission contribution for continuous phase
185 tmp<volScalarField> ECont(const label bandI = 0) const;
190 inline bool isGrey() const
197 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
199 } // End namespace radiation
200 } // End namespace Foam
202 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
206 // ************************************************************************* //