greyMeanSolidAbsorptionEmission.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration |
5  \\ / A nd | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2011-2016 OpenFOAM Foundation
9  Copyright (C) 2015 OpenCFD Ltd.
10 -------------------------------------------------------------------------------
11 License
12  This file is part of OpenFOAM.
13 
14  OpenFOAM is free software: you can redistribute it and/or modify it
15  under the terms of the GNU General Public License as published by
16  the Free Software Foundation, either version 3 of the License, or
17  (at your option) any later version.
18 
19  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22  for more details.
23 
24  You should have received a copy of the GNU General Public License
25  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26 
27 Class
28  Foam::radiation::greyMeanSolidAbsorptionEmission
29 
30 Group
31  grpRadiationAbsorptionEmissionSubModels
32 
33 Description
34  greyMeanSolidAbsorptionEmission radiation absorption and emission
35  coefficients for solid mixture
36 
37 SourceFiles
38  greyMeanSolidAbsorptionEmission.C
39 
40 \*---------------------------------------------------------------------------*/
41 
42 #ifndef greyMeanSolidAbsorptionEmission_H
43 #define greyMeanSolidAbsorptionEmission_H
44 
46 #include "solidThermo.H"
47 #include "basicSpecieMixture.H"
49 
50 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
51 
52 namespace Foam
53 {
54 namespace radiation
55 {
56 
57 /*---------------------------------------------------------------------------*\
58  Class greyMeanSolidAbsorptionEmission Declaration
59 \*---------------------------------------------------------------------------*/
60 
62 :
64 {
65 private:
66 
67  // Private data
68 
69  //- Enumering of radiative properties
70  enum radiativeProperties
71  {
72  absorptivity,
73  emissivity
74  };
75 
76  //- Absorption model dictionary
77  dictionary coeffsDict_;
78 
79  //- SLG thermo package
80  const solidThermo& thermo_;
81 
82  //- Hash table of species names
83  HashTable<label> speciesNames_;
84 
85  //- Basic multicomponent mixture
86  const basicSpecieMixture& mixture_;
87 
88  //- List of solid species data
89  List<FixedList<scalar, 2>> solidData_;
90 
91 
92  // Private member functions
93 
94  //- Calculate the volumetric fraction of Yj
95  tmp<scalarField> X(const word specie) const;
96 
97  //- Calculate the property mixing
98  tmp<volScalarField> calc(const label) const;
99 
100 
101 public:
102 
103  //- Runtime type information
104  TypeName("greyMeanSolidAbsorptionEmission");
105 
106 
107  // Constructors
108 
109  //- Construct from components
111  (
112  const dictionary& dict,
113  const fvMesh& mesh
114  );
115 
116 
117  //- Destructor
118  virtual ~greyMeanSolidAbsorptionEmission() = default;
119 
120 
121  // Member Functions
122 
123  //- Absorption coefficient for continuous phase
124  tmp<volScalarField> aCont(const label bandI = 0) const;
125 
126  //- Emission coefficient for continuous phase
127  tmp<volScalarField> eCont(const label bandI = 0) const;
128 
129 
130  // Member Functions
131 
132  inline bool isGrey() const
133  {
134  return true;
135  }
136 };
137 
138 
139 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
140 
141 } // End namespace radiation
142 } // End namespace Foam
143 
144 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
145 
146 #endif
147 
148 // ************************************************************************* //
Foam::word
A class for handling words, derived from Foam::string.
Definition: word.H:65
Foam::radiation::absorptionEmissionModel::dict
const dictionary & dict() const
Reference to the dictionary.
Definition: absorptionEmissionModel.H:121
Foam::basicSpecieMixture
Specialization of basicMultiComponentMixture for a mixture consisting of a number for molecular speci...
Definition: basicSpecieMixture.H:58
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:61
Foam::radiation::absorptionEmissionModel::mesh
const fvMesh & mesh() const
Reference to the mesh.
Definition: absorptionEmissionModel.H:115
Foam::radiation::greyMeanSolidAbsorptionEmission::eCont
tmp< volScalarField > eCont(const label bandI=0) const
Emission coefficient for continuous phase.
Definition: greyMeanSolidAbsorptionEmission.C:180
Foam::radiation::greyMeanSolidAbsorptionEmission::TypeName
TypeName("greyMeanSolidAbsorptionEmission")
Runtime type information.
Foam::radiation::greyMeanSolidAbsorptionEmission::isGrey
bool isGrey() const
Flag for whether the absorption/emission is for a grey gas.
Definition: greyMeanSolidAbsorptionEmission.H:131
solidThermo.H
Foam::solidThermo
Fundamental solid thermodynamic properties.
Definition: solidThermo.H:52
Foam::specie
Base class of the thermophysical property types.
Definition: specie.H:67
radiation
autoPtr< radiation::radiationModel > radiation(radiation::radiationModel::New(T))
Foam::radiation::greyMeanSolidAbsorptionEmission::aCont
tmp< volScalarField > aCont(const label bandI=0) const
Absorption coefficient for continuous phase.
Definition: greyMeanSolidAbsorptionEmission.C:190
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:123
Foam::radiation::greyMeanSolidAbsorptionEmission::greyMeanSolidAbsorptionEmission
greyMeanSolidAbsorptionEmission(const dictionary &dict, const fvMesh &mesh)
Construct from components.
Definition: greyMeanSolidAbsorptionEmission.C:89
Foam::fvMesh
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:85
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::HashTable< label >
absorptionEmissionModel.H
Foam::List
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Definition: BitOps.H:63
Foam::radiation::greyMeanSolidAbsorptionEmission
greyMeanSolidAbsorptionEmission radiation absorption and emission coefficients for solid mixture
Definition: greyMeanSolidAbsorptionEmission.H:60
Foam::radiation::absorptionEmissionModel
Model to supply absorption and emission coefficients for radiation modelling.
Definition: absorptionEmissionModel.H:54
zeroGradientFvPatchFields.H
basicSpecieMixture.H
Foam::radiation::greyMeanSolidAbsorptionEmission::~greyMeanSolidAbsorptionEmission
virtual ~greyMeanSolidAbsorptionEmission()=default
Destructor.