solidAbsorption.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) 2015-2018 OpenCFD Ltd.
9-------------------------------------------------------------------------------
10License
11 This file is part of OpenFOAM.
12
13 OpenFOAM is free software: you can redistribute it and/or modify it
14 under the terms of the GNU General Public License as published by
15 the Free Software Foundation, either version 3 of the License, or
16 (at your option) any later version.
17
18 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 for more details.
22
23 You should have received a copy of the GNU General Public License
24 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
26Class
27 Foam::radiation::solidAbsorption
28
29
30Description
31 Radiation absorptivity-emissivity model to be used on walls on
32 inter-region patches when the solid opaque radiation model is used
33 in the solid and the wall emissivity and absorptivity are taken from
34 the solid radiation properties
35
36Usage
37 Example usage
38 \verbatim
39 wallAbsorptionEmissionModel
40 {
41 type solidAbsorption;
42 };
43 \endverbatim
44
45
46SourceFiles
47 solidAbsorption.C
48
49\*---------------------------------------------------------------------------*/
50
51#ifndef radiation_solidAbsorption_H
52#define radiation_solidAbsorption_H
53
55#include "fvMesh.H"
56
57// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
58
59namespace Foam
60{
61namespace radiation
62{
63
64/*---------------------------------------------------------------------------*\
65 Class solidAbsorption Declaration
66\*---------------------------------------------------------------------------*/
69:
71{
72
73 // Private members
74
75 //- Nbr region
76 const fvMesh& nbrRegion() const;
77
78 //- Nbr index patch
79 label nbrPatchIndex() const;
80
81public:
82
83 //- Runtime type information
84 TypeName("solidAbsorption");
85
86
87 // Constructors
88
89 //- Construct from components
90 solidAbsorption(const dictionary& dict, const polyPatch& pp);
91
92
93 //- Destructor
94 virtual ~solidAbsorption();
95
96
97 // Member Functions
98
99 //- absorptivity coefficient
101 (
102 const label bandI = 0,
103 vectorField* incomingDirection = nullptr,
104 scalarField* T = nullptr
105 ) const;
106
107 //- Return absorptivity on face
108 scalar a
109 (
110 const label faceI,
111 const label bandI = 0,
112 const vector dir = Zero,
113 const scalar T = 0
114 ) const;
115
116 //- Return emission coefficient
118 (
119 const label bandI = 0,
120 vectorField* incomingDirection = nullptr,
121 scalarField* T = nullptr
122 ) const;
123
124 //- Return emission coefficient
125 scalar e
126 (
127 const label faceI,
128 const label bandI = 0,
129 const vector dir = Zero,
130 const scalar T = 0
131 ) const;
132
133
134 //- Is Grey
135 inline bool isGrey() const
136 {
137 return true;
138 }
139
140 //- Number of bands
141 inline label nBands() const;
142};
143
144
145// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
146
147} // End namespace radiation
148} // End namespace Foam
149
150// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
151
152#endif
153
154// ************************************************************************* //
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:91
A patch is a list of labels that address the faces in the global face list.
Definition: polyPatch.H:75
Radiation absorptivity-emissivity model to be used on walls on inter-region patches when the solid op...
tmp< scalarField > a(const label bandI=0, vectorField *incomingDirection=nullptr, scalarField *T=nullptr) const
absorptivity coefficient
TypeName("solidAbsorption")
Runtime type information.
virtual ~solidAbsorption()
Destructor.
label nBands() const
Number of bands.
Based class for wall absorption emission models.
A class for managing temporary objects.
Definition: tmp.H:65
const volScalarField & T
autoPtr< radiation::radiationModel > radiation(radiation::radiationModel::New(T))
Namespace for OpenFOAM.
static constexpr const zero Zero
Global zero (0)
Definition: zero.H:131
dictionary dict
volScalarField & e
Definition: createFields.H:11
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73